From 1a8c5c72d72787c1d6f50dae341f7eb96e47f815 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 26 Jun 2020 12:37:28 +0700 Subject: [PATCH] Init --- code.js | 139421 ++++++++++++++++++++++++++++++++++++++++++++++++ index.js | 375 + liqi.json | 10043 ++++ liqi.md | 3986 ++ liqi.proto | 3999 ++ package.json | 18 + res_list.txt | 9767 ++++ 7 files changed, 167609 insertions(+) create mode 100755 code.js create mode 100644 index.js create mode 100644 liqi.json create mode 100644 liqi.md create mode 100644 liqi.proto create mode 100644 package.json create mode 100644 res_list.txt diff --git a/code.js b/code.js new file mode 100755 index 0000000..2172836 --- /dev/null +++ b/code.js @@ -0,0 +1,139421 @@ +function __cons(t, a) { + return eval("new t(" + a.map(function(t, e) { + return "a[" + e + "]" + }).join(",") + ")") +} +var Laya = window.Laya = function(t, e) { + var i = { + __internals: [], + __packages: {}, + __classmap: { + Object: Object, + Function: Function, + Array: Array, + String: String + }, + __sysClass: { + object: "Object", + array: "Array", + string: "String", + dictionary: "Dictionary" + }, + __propun: { + writable: !0, + enumerable: !1, + configurable: !0 + }, + __presubstr: String.prototype.substr, + __substr: function(t, e) { + return 1 == arguments.length ? i.__presubstr.call(this, t) : i.__presubstr.call(this, t, e > 0 ? e : this.length + e) + }, + __init: function(t) { + t.forEach(function(t) { + t.__init$ && t.__init$() + }) + }, + __isClass: function(t) { + return t && (t.__isclass || t == Object || t == String || t == Array) + }, + __newvec: function(t, e) { + var i = []; + i.length = t; + for (var n = 0; n < t; n++) + i[n] = e; + return i + }, + __extend: function(t, e) { + function n() { + i.un(this, "constructor", t) + } + for (var a in e) + if (e.hasOwnProperty(a)) { + var r = Object.getOwnPropertyDescriptor(e, a) + , s = r.get + , o = r.set; + s || o ? s && o ? Object.defineProperty(t, a, r) : (s && Object.defineProperty(t, a, s), + o && Object.defineProperty(t, a, o)) : t[a] = e[a] + } + n.prototype = e.prototype, + t.prototype = new n, + i.un(t.prototype, "__imps", i.__copy({}, e.prototype.__imps)) + }, + __copy: function(t, e) { + if (!e) + return null; + t = t || {}; + for (var i in e) + t[i] = e[i]; + return t + }, + __package: function(e, n) { + if (!i.__packages[e]) { + i.__packages[e] = !0; + var a = t + , r = e.split("."); + if (r.length > 1) + for (var s = 0, o = r.length - 1; s < o; s++) { + var l = a[r[s]]; + a = l || (a[r[s]] = {}) + } + a[r[r.length - 1]] || (a[r[r.length - 1]] = n || {}) + } + }, + __hasOwnProperty: function(t, e) { + function i(t, e) { + if (Object.hasOwnProperty.call(e.prototype, t)) + return !0; + var n = e.prototype.__super; + return null == n ? null : i(t, n) + } + return e = e || this, + Object.hasOwnProperty.call(e, t) || i(t, e.__class) + }, + __typeof: function(t, e) { + if (!t || !e) + return !1; + if (e === String) + return "string" == typeof t; + if (e === Number) + return "number" == typeof t; + if (e.__interface__) + e = e.__interface__; + else if ("string" != typeof e) + return t instanceof e; + return t.__imps && t.__imps[e] || t.__class == e + }, + __as: function(t, e) { + return this.__typeof(t, e) ? t : null + }, + __int: function(t) { + return t ? parseInt(t) : 0 + }, + interface: function(e, n) { + i.__package(e, {}); + var a = i.__internals + , r = a[e] = a[e] || { + self: e + }; + if (n) { + var s = n.split(","); + r.extend = []; + for (c = 0; c < s.length; c++) { + var o = s[c]; + a[o] = a[o] || { + self: o + }, + r.extend.push(a[o]) + } + } + for (var l = t, h = e.split("."), c = 0; c < h.length - 1; c++) + l = l[h[c]]; + l[h[h.length - 1]] = { + __interface__: e + } + }, + class: function(e, n, a, r) { + if (a && i.__extend(e, a), + n) + if (i.__package(n, e), + i.__classmap[n] = e, + n.indexOf(".") > 0) { + if (0 == n.indexOf("laya.")) { + var s = n.split("."); + r = r || s[s.length - 1], + i[r] && console.log("Warning!,this class[" + r + "] already exist:", i[r]), + i[r] = e + } + } else + "Main" == n ? t.Main = e : (i[n] && console.log("Error!,this class[" + n + "] already exist:", i[n]), + i[n] = e); + var o = i.un + , l = e.prototype; + o(l, "hasOwnProperty", i.__hasOwnProperty), + o(l, "__class", e), + o(l, "__super", a), + o(l, "__className", n), + o(e, "__super", a), + o(e, "__className", n), + o(e, "__isclass", !0), + o(e, "super", function(t) { + this.__super.call(t) + }) + }, + imps: function(t, e) { + function n(t) { + var e, r; + if ((e = i.__internals[t]) && (a[t] = !0, + r = e.extend)) + for (var s = 0; s < r.length; s++) + n(r[s].self) + } + if (!e) + return null; + var a = t.__imps || i.un(t, "__imps", {}); + for (var r in e) + n(r) + }, + superSet: function(t, e, i, n) { + var a = t.prototype["_$set_" + i]; + a && a.call(e, n) + }, + superGet: function(t, e, i) { + var n = t.prototype["_$get_" + i]; + return n ? n.call(e) : null + }, + getset: function(t, e, n, a, r) { + t ? (a && (e["_$GET_" + n] = a), + r && (e["_$SET_" + n] = r)) : (a && i.un(e, "_$get_" + n, a), + r && i.un(e, "_$set_" + n, r)), + a && r ? Object.defineProperty(e, n, { + get: a, + set: r, + enumerable: !1, + configurable: !0 + }) : (a && Object.defineProperty(e, n, { + get: a, + enumerable: !1, + configurable: !0 + }), + r && Object.defineProperty(e, n, { + set: r, + enumerable: !1, + configurable: !0 + })) + }, + static: function(t, e) { + for (var i = 0, n = e.length; i < n; i += 2) + "length" == e[i] ? t.length = e[i + 1].call(t) : function() { + var n = e[i] + , a = e[i + 1]; + Object.defineProperty(t, n, { + get: function() { + return delete this[n], + this[n] = a.call(this) + }, + set: function(t) { + delete this[n], + this[n] = t + }, + enumerable: !0, + configurable: !0 + }) + }() + }, + un: function(t, e, n) { + return n || (n = t[e]), + i.__propun.value = n, + Object.defineProperty(t, e, i.__propun), + n + }, + uns: function(t, e) { + e.forEach(function(e) { + i.un(t, e) + }) + } + }; + return t.console = t.console || { + log: function() {} + }, + t.trace = t.console.log, + Error.prototype.throwError = function() { + throw arguments + } + , + Object.defineProperty(Array.prototype, "fixed", { + enumerable: !1 + }), + i +}(window, document); +!function(t, e, i) { + i.un, + i.uns, + i.static, + i.class, + i.getset, + i.__newvec +}(window, document, Laya), +function(t, e, i) { + i.un, + i.uns; + var n = i.static + , a = i.class + , r = i.getset; + i.__newvec; + i.interface("laya.runtime.IMarket"), + i.interface("laya.filters.IFilter"), + i.interface("laya.display.ILayout"), + i.interface("laya.resource.IDispose"), + i.interface("laya.runtime.IPlatform"), + i.interface("laya.resource.IDestroy"), + i.interface("laya.runtime.IConchNode"), + i.interface("laya.filters.IFilterAction"), + i.interface("laya.runtime.ICPlatformClass"), + i.interface("laya.resource.ICreateResource"), + i.interface("laya.runtime.IConchRenderObject"), + i.interface("laya.runtime.IPlatformClass", "laya.runtime.IPlatform"); + var s = function() { + function e() {} + return a(e, "laya.utils.RunDriver"), + e.FILTER_ACTIONS = [], + e.pixelRatio = -1, + e._charSizeTestDiv = null, + e.now = function() { + return Date.now() + } + , + e.getWindow = function() { + return t + } + , + e.getPixelRatio = function() { + if (e.pixelRatio < 0) { + var t = O.context + , i = t.backingStorePixelRatio || t.webkitBackingStorePixelRatio || t.mozBackingStorePixelRatio || t.msBackingStorePixelRatio || t.oBackingStorePixelRatio || t.backingStorePixelRatio || 1; + (e.pixelRatio = (O.window.devicePixelRatio || 1) / i) < 1 && (e.pixelRatio = 1) + } + return e.pixelRatio + } + , + e.getIncludeStr = function(t) { + return null + } + , + e.createShaderCondition = function(t) { + var e = "(function() {return " + t + ";})"; + return i._runScript(e) + } + , + e.fontMap = [], + e.measureText = function(t, i) { + var n = e.hanzi.test(t); + if (n && e.fontMap[i]) + return e.fontMap[i]; + var a = O.context; + a.font = i; + var r = a.measureText(t); + return n && (e.fontMap[i] = r), + r + } + , + e.getWebGLContext = function(t) {} + , + e.beginFlush = function() {} + , + e.endFinish = function() {} + , + e.addToAtlas = null, + e.flashFlushImage = function(t) {} + , + e.drawToCanvas = function(t, e, i, n, a, r) { + var s = bt.create("2D") + , o = new B(i,n,s); + return k.renders[e]._fun(t, o, a, r), + s + } + , + e.createParticleTemplate2D = null, + e.createGLTextur = null, + e.createWebGLContext2D = null, + e.changeWebGLSize = function(t, e) {} + , + e.createRenderSprite = function(t, e) { + return new k(t,e) + } + , + e.createFilterAction = function(t) { + return new w + } + , + e.createGraphics = function() { + return new f + } + , + e.clear = function(t) { + A._context.ctx.clear() + } + , + e.cancelLoadByUrl = function(t) {} + , + e.clearAtlas = function(t) {} + , + e.isAtlas = function(t) { + return !1 + } + , + e.addTextureToAtlas = function(t) {} + , + e.getTexturePixels = function(t, e, i, n, a) { + return null + } + , + e.skinAniSprite = function() { + return null + } + , + e.update3DLoop = function() {} + , + n(e, ["hanzi", function() { + return this.hanzi = new RegExp("^[一-龥]$") + } + ]), + e + }() + , o = (r(1, i, "alertGlobalError", null, function(t) { + var e = 0; + O.window.onerror = t ? function(t, i, n, a, r) { + e++ < 5 && r && alert("出错啦,请把此信息截图给研发商\n" + t + "\n" + r.stack || r) + } + : null + }), + i.init = function(t, e, n) { + for (var a = [], r = 2, s = arguments.length; r < s; r++) + a.push(arguments[r]); + if (!i._isinit) { + ArrayBuffer.prototype.slice || (ArrayBuffer.prototype.slice = i._arrayBufferSlice), + i._isinit = !0, + O.__init__(), + R.__init__(), + f.__init__(), + i.timer = new q, + i.scaleTimer = new q, + i.loader = new ot, + Z.__init__(); + for (var r = 0, o = a.length; r < o; r++) + a[r].enable && a[r].enable(); + return u.__init__(), + _.__init__(), + P.__init__(), + V.beginCheck(), + i._currentStage = i.stage = new yt, + i.stage.conchModel && i.stage.conchModel.setRootNode(), + i.getUrlPath(), + i.render = new A(0,0), + i.stage.size(t, e), + k.__init__(), + g.__init__(), + y.instance.__init__(i.stage, A.canvas), + xt.__init__(), + T.autoStopMusic = !0, + E.__init__(), + A.canvas + } + } + , + i.getUrlPath = function() { + var t = O.window.location + , e = t.pathname; + e = ":" == e.charAt(2) ? e.substring(1) : e, + N.rootPath = N.basePath = N.getPath("file:" == t.protocol ? e : t.protocol + "//" + t.host + t.pathname) + } + , + i._arrayBufferSlice = function(t, e) { + var i = new Uint8Array(this,t,e - t) + , n = new Uint8Array(i.length); + return n.set(i), + n.buffer + } + , + i._runScript = function(t) { + return O.window["e" + String.fromCharCode(118) + "al"](t) + } + , + i.stage = null, + i.timer = null, + i.scaleTimer = null, + i.loader = null, + i.version = "1.7.19.1beta", + i.render = null, + i._currentStage = null, + i._isinit = !1, + i.MiniAdpter = { + init: function() { + t.navigator && t.navigator.userAgent && t.navigator.userAgent.indexOf("MiniGame") > -1 && console.error("请先引用小游戏适配库laya.wxmini.js,详细教程:https://ldc.layabox.com/doc/?nav=zh-ts-5-0-0") + } + }, + n(i, ["conchMarket", function() { + return this.conchMarket = t.conch ? conchMarket : null + } + , "PlatformClass", function() { + return this.PlatformClass = t.PlatformClass + } + ]), + function() { + function t() {} + return a(t, "Config"), + t.WebGLTextCacheCount = 500, + t.atlasEnable = !1, + t.showCanvasMark = !1, + t.animationInterval = 50, + t.isAntialias = !1, + t.isAlpha = !1, + t.premultipliedAlpha = !0, + t.isStencil = !0, + t.preserveDrawingBuffer = !1, + t + }()) + , l = function() { + function t() { + this._events = null + } + var e; + a(t, "laya.events.EventDispatcher"); + var i = t.prototype; + return i.hasListener = function(t) { + return !!(this._events && this._events[t]) + } + , + i.event = function(t, e) { + if (!this._events || !this._events[t]) + return !1; + var i = this._events[t]; + if (i.run) + i.once && delete this._events[t], + null != e ? i.runWith(e) : i.run(); + else { + for (var n = 0, a = i.length; n < a; n++) { + var r = i[n]; + r && (null != e ? r.runWith(e) : r.run()), + r && !r.once || (i.splice(n, 1), + n--, + a--) + } + 0 === i.length && this._events && delete this._events[t] + } + return !0 + } + , + i.on = function(t, e, i, n) { + return this._createListener(t, e, i, n, !1) + } + , + i.once = function(t, e, i, n) { + return this._createListener(t, e, i, n, !0) + } + , + i._createListener = function(t, i, n, a, r, s) { + void 0 === s && (s = !0), + s && this.off(t, i, n, r); + var o = e.create(i || this, n, a, r); + this._events || (this._events = {}); + var l = this._events; + return l[t] ? l[t].run ? l[t] = [l[t], o] : l[t].push(o) : l[t] = o, + this + } + , + i.off = function(t, e, i, n) { + if (void 0 === n && (n = !1), + !this._events || !this._events[t]) + return this; + var a = this._events[t]; + if (null != i) + if (a.run) + e && a.caller !== e || a.method !== i || n && !a.once || (delete this._events[t], + a.recover()); + else { + for (var r = 0, s = 0, o = a.length; s < o; s++) { + var l = a[s]; + l ? !l || e && l.caller !== e || l.method !== i || n && !l.once || (r++, + a[s] = null, + l.recover()) : r++ + } + r === o && delete this._events[t] + } + return this + } + , + i.offAll = function(t) { + var e = this._events; + if (!e) + return this; + if (t) + this._recoverHandlers(e[t]), + delete e[t]; + else { + for (var i in e) + this._recoverHandlers(e[i]); + this._events = null + } + return this + } + , + i._recoverHandlers = function(t) { + if (t) + if (t.run) + t.recover(); + else + for (var e = t.length - 1; e > -1; e--) + t[e] && (t[e].recover(), + t[e] = null) + } + , + i.isMouseEvent = function(e) { + return t.MOUSE_EVENTS[e] + } + , + t.MOUSE_EVENTS = { + rightmousedown: !0, + rightmouseup: !0, + rightclick: !0, + mousedown: !0, + mouseup: !0, + mousemove: !0, + mouseover: !0, + mouseout: !0, + click: !0, + doubleclick: !0 + }, + t.__init$ = function() { + Object.defineProperty(laya.events.EventDispatcher.prototype, "_events", { + enumerable: !1, + writable: !0 + }), + e = function(t) { + function e(t, i, n, a) { + e.__super.call(this, t, i, n, a) + } + a(e, "", h); + return e.prototype.recover = function() { + this._id > 0 && (this._id = 0, + e._pool.push(this.clear())) + } + , + e.create = function(t, i, n, a) { + return void 0 === a && (a = !0), + e._pool.length ? e._pool.pop().setTo(t, i, n, a) : new e(t,i,n,a) + } + , + e._pool = [], + e + }() + } + , + t + }() + , h = function() { + function t(t, e, i, n) { + this.once = !1, + this._id = 0, + void 0 === n && (n = !1), + this.setTo(t, e, i, n) + } + a(t, "laya.utils.Handler"); + var e = t.prototype; + return e.setTo = function(e, i, n, a) { + return this._id = t._gid++, + this.caller = e, + this.method = i, + this.args = n, + this.once = a, + this + } + , + e.run = function() { + if (null == this.method) + return null; + var t = this._id + , e = this.method.apply(this.caller, this.args); + return this._id === t && this.once && this.recover(), + e + } + , + e.runWith = function(t) { + if (null == this.method) + return null; + var e = this._id; + if (null == t) + var i = this.method.apply(this.caller, this.args); + else + i = this.args || t.unshift ? this.args ? this.method.apply(this.caller, this.args.concat(t)) : this.method.apply(this.caller, t) : this.method.call(this.caller, t); + return this._id === e && this.once && this.recover(), + i + } + , + e.clear = function() { + return this.caller = null, + this.method = null, + this.args = null, + this + } + , + e.recover = function() { + this._id > 0 && (this._id = 0, + t._pool.push(this.clear())) + } + , + t.create = function(e, i, n, a) { + return void 0 === a && (a = !0), + t._pool.length ? t._pool.pop().setTo(e, i, n, a) : new t(e,i,n,a) + } + , + t._pool = [], + t._gid = 1, + t + }() + , c = function() { + function t() { + this._texture = null, + this._fontCharDic = {}, + this._fontWidthMap = {}, + this._complete = null, + this._path = null, + this._maxWidth = 0, + this._spaceWidth = 10, + this._padding = null, + this.fontSize = 12, + this.autoScaleSize = !1, + this.letterSpacing = 0 + } + a(t, "laya.display.BitmapFont"); + var e = t.prototype; + return e.loadFont = function(t, e) { + this._path = t, + this._complete = e, + i.loader.load([{ + url: this._path, + type: "xml" + }, { + url: this._path.replace(".fnt", ".png"), + type: "image" + }], h.create(this, this.onLoaded)) + } + , + e.onLoaded = function() { + this.parseFont(st.getRes(this._path), st.getRes(this._path.replace(".fnt", ".png"))), + this._complete && this._complete.runWith(this._texture ? this : null) + } + , + e.parseFont = function(t, e) { + if (null != t && null != e) { + this._texture = e; + var i = t.getElementsByTagName("info"); + if (!i[0].getAttributeNode) + return this.parseFont2(t, e); + this.fontSize = parseInt(i[0].getAttributeNode("size").nodeValue); + var n = i[0].getAttributeNode("padding").nodeValue.split(","); + this._padding = [parseInt(n[0]), parseInt(n[1]), parseInt(n[2]), parseInt(n[3])]; + var a; + a = t.getElementsByTagName("char"); + var r = 0; + for (r = 0; r < a.length; r++) { + var s = a[r] + , o = parseInt(s.getAttributeNode("id").nodeValue) + , l = parseInt(s.getAttributeNode("xoffset").nodeValue) / 1 + , h = parseInt(s.getAttributeNode("yoffset").nodeValue) / 1 + , c = parseInt(s.getAttributeNode("xadvance").nodeValue) / 1 + , _ = new L; + _.x = parseInt(s.getAttributeNode("x").nodeValue), + _.y = parseInt(s.getAttributeNode("y").nodeValue), + _.width = parseInt(s.getAttributeNode("width").nodeValue), + _.height = parseInt(s.getAttributeNode("height").nodeValue); + var u = ct.create(e, _.x, _.y, _.width, _.height, l, h); + this._maxWidth = Math.max(this._maxWidth, c + this.letterSpacing), + this._fontCharDic[o] = u, + this._fontWidthMap[o] = c + } + } + } + , + e.parseFont2 = function(t, e) { + if (null != t && null != e) { + this._texture = e; + var i = t.getElementsByTagName("info"); + this.fontSize = parseInt(i[0].attributes.size.nodeValue); + var n = i[0].attributes.padding.nodeValue.split(","); + this._padding = [parseInt(n[0]), parseInt(n[1]), parseInt(n[2]), parseInt(n[3])]; + var a = t.getElementsByTagName("char") + , r = 0; + for (r = 0; r < a.length; r++) { + var s = a[r].attributes + , o = parseInt(s.id.nodeValue) + , l = parseInt(s.xoffset.nodeValue) / 1 + , h = parseInt(s.yoffset.nodeValue) / 1 + , c = parseInt(s.xadvance.nodeValue) / 1 + , _ = new L; + _.x = parseInt(s.x.nodeValue), + _.y = parseInt(s.y.nodeValue), + _.width = parseInt(s.width.nodeValue), + _.height = parseInt(s.height.nodeValue); + var u = ct.create(e, _.x, _.y, _.width, _.height, l, h); + this._maxWidth = Math.max(this._maxWidth, c + this.letterSpacing), + this._fontCharDic[o] = u, + this._fontWidthMap[o] = c + } + } + } + , + e.getCharTexture = function(t) { + return this._fontCharDic[t.charCodeAt(0)] + } + , + e.destroy = function() { + if (this._texture) { + for (var t in this._fontCharDic) { + var e = this._fontCharDic[t]; + e && e.destroy() + } + this._texture.destroy(), + this._fontCharDic = null, + this._fontWidthMap = null, + this._texture = null + } + } + , + e.setSpaceWidth = function(t) { + this._spaceWidth = t + } + , + e.getCharWidth = function(t) { + var e = t.charCodeAt(0); + return this._fontWidthMap[e] ? this._fontWidthMap[e] + this.letterSpacing : " " == t ? this._spaceWidth + this.letterSpacing : 0 + } + , + e.getTextWidth = function(t) { + for (var e = 0, i = 0, n = t.length; i < n; i++) + e += this.getCharWidth(t.charAt(i)); + return e + } + , + e.getMaxWidth = function() { + return this._maxWidth + } + , + e.getMaxHeight = function() { + return this.fontSize + } + , + e.drawText = function(t, e, i, n, a, r) { + var s, o = this.getTextWidth(t), l = 0; + "center" === a && (l = (r - o) / 2), + "right" === a && (l = r - o); + for (var h = 0, c = 0, _ = t.length; c < _; c++) + (s = this.getCharTexture(t.charAt(c))) && (e.graphics.drawTexture(s, i + h + l, n), + h += this.getCharWidth(t.charAt(c))) + } + , + t + }() + , _ = function() { + function t() { + this.alpha = 1, + this.visible = !0, + this.scrollRect = null, + this.blendMode = null, + this._type = 0, + this._tf = t._TF_EMPTY + } + a(t, "laya.display.css.Style"); + var e = t.prototype; + return e.getTransform = function() { + return this._tf + } + , + e.setTransform = function(e) { + this._tf = "none" !== e && e ? e : t._TF_EMPTY + } + , + e.setTranslateX = function(e) { + this._tf === t._TF_EMPTY && (this._tf = new d), + this._tf.translateX = e + } + , + e.setTranslateY = function(e) { + this._tf === t._TF_EMPTY && (this._tf = new d), + this._tf.translateY = e + } + , + e.setScaleX = function(e) { + this._tf === t._TF_EMPTY && (this._tf = new d), + this._tf.scaleX = e + } + , + e.setScale = function(e, i) { + this._tf === t._TF_EMPTY && (this._tf = new d), + this._tf.scaleX = e, + this._tf.scaleY = i + } + , + e.setScaleY = function(e) { + this._tf === t._TF_EMPTY && (this._tf = new d), + this._tf.scaleY = e + } + , + e.setRotate = function(e) { + this._tf === t._TF_EMPTY && (this._tf = new d), + this._tf.rotate = e + } + , + e.setSkewX = function(e) { + this._tf === t._TF_EMPTY && (this._tf = new d), + this._tf.skewX = e + } + , + e.setSkewY = function(e) { + this._tf === t._TF_EMPTY && (this._tf = new d), + this._tf.skewY = e + } + , + e.destroy = function() { + this.scrollRect = null + } + , + e.render = function(t, e, i, n) {} + , + e.getCSSStyle = function() { + return tt.EMPTY + } + , + e._enableLayout = function() { + return !1 + } + , + r(0, e, "scaleX", function() { + return this._tf.scaleX + }, function(t) { + this.setScaleX(t) + }), + r(0, e, "transform", function() { + return this.getTransform() + }, function(t) { + this.setTransform(t) + }), + r(0, e, "translateX", function() { + return this._tf.translateX + }, function(t) { + this.setTranslateX(t) + }), + r(0, e, "translateY", function() { + return this._tf.translateY + }, function(t) { + this.setTranslateY(t) + }), + r(0, e, "scaleY", function() { + return this._tf.scaleY + }, function(t) { + this.setScaleY(t) + }), + r(0, e, "block", function() { + return 0 != (1 & this._type) + }), + r(0, e, "skewY", function() { + return this._tf.skewY + }, function(t) { + this.setSkewY(t) + }), + r(0, e, "rotate", function() { + return this._tf.rotate + }, function(t) { + this.setRotate(t) + }), + r(0, e, "skewX", function() { + return this._tf.skewX + }, function(t) { + this.setSkewX(t) + }), + r(0, e, "paddingLeft", function() { + return 0 + }), + r(0, e, "paddingTop", function() { + return 0 + }), + r(0, e, "absolute", function() { + return !0 + }), + t.__init__ = function() { + t._TF_EMPTY = new d, + t.EMPTY = new t + } + , + t.EMPTY = null, + t._TF_EMPTY = null, + t + }() + , u = function() { + function t(e) { + this._type = 0, + this._weight = 0, + this._decoration = null, + this._text = null, + this.indent = 0, + this._color = H.create(t.defaultColor), + this.family = t.defaultFamily, + this.stroke = t._STROKE, + this.size = t.defaultSize, + e && e !== t.EMPTY && e.copyTo(this) + } + a(t, "laya.display.css.Font"); + var e = t.prototype; + return e.set = function(t) { + this._text = null; + for (var e = t.split(" "), i = 0, n = e.length; i < n; i++) { + var a = e[i]; + switch (a) { + case "italic": + this.italic = !0; + continue; + case "bold": + this.bold = !0; + continue + } + a.indexOf("px") > 0 && (this.size = parseInt(a), + this.family = e[i + 1], + i++) + } + } + , + e.toString = function() { + return this._text = "", + this.italic && (this._text += "italic "), + this.bold && (this._text += "bold "), + this._text += this.size + "px " + this.family + } + , + e.copyTo = function(e) { + e._type = this._type, + e._text = this._text, + e._weight = this._weight, + e._color = this._color, + e.family = this.family, + e.stroke = this.stroke != t._STROKE ? this.stroke.slice() : t._STROKE, + e.indent = this.indent, + e.size = this.size + } + , + r(0, e, "password", function() { + return 0 != (1024 & this._type) + }, function(t) { + t ? this._type |= 1024 : this._type &= -1025 + }), + r(0, e, "color", function() { + return this._color.strColor + }, function(t) { + this._color = H.create(t) + }), + r(0, e, "italic", function() { + return 0 != (512 & this._type) + }, function(t) { + t ? this._type |= 512 : this._type &= -513 + }), + r(0, e, "bold", function() { + return 0 != (2048 & this._type) + }, function(t) { + t ? this._type |= 2048 : this._type &= -2049 + }), + r(0, e, "weight", function() { + return "" + this._weight + }, function(t) { + var e = 0; + switch (t) { + case "normal": + break; + case "bold": + this.bold = !0, + e = 700; + break; + case "bolder": + e = 800; + break; + case "lighter": + e = 100; + break; + default: + e = parseInt(t) + } + this._weight = e, + this._text = null + }), + r(0, e, "decoration", function() { + return this._decoration ? this._decoration.value : "none" + }, function(t) { + var e = t.split(" "); + switch (this._decoration || (this._decoration = {}), + e[0]) { + case "_": + this._decoration.type = "underline"; + break; + case "-": + this._decoration.type = "line-through"; + break; + case "overline": + this._decoration.type = "overline"; + break; + default: + this._decoration.type = e[0] + } + e[1] && (this._decoration.color = H.create(e)), + this._decoration.value = t + }), + t.__init__ = function() { + t.EMPTY = new t(null) + } + , + t.EMPTY = null, + t.defaultColor = "#000000", + t.defaultSize = 12, + t.defaultFamily = "Arial", + t.defaultFont = "12px Arial", + t._STROKE = [0, "#000000"], + t._ITALIC = 512, + t._PASSWORD = 1024, + t._BOLD = 2048, + t + }() + , d = function() { + function t() { + this.translateX = 0, + this.translateY = 0, + this.scaleX = 1, + this.scaleY = 1, + this.rotate = 0, + this.skewX = 0, + this.skewY = 0 + } + return a(t, "laya.display.css.TransformInfo"), + t + }() + , f = function() { + function e() { + if (this._one = null, + this._cmds = null, + this._render = this._renderEmpty, + A.isConchNode) { + this._nativeObj = new t._conchGraphics, + this.id = this._nativeObj.conchID + } + } + a(e, "laya.display.Graphics"); + var n = e.prototype; + return n.destroy = function() { + this.clear(), + this._graphicBounds && this._graphicBounds.destroy(), + this._graphicBounds = null, + this._vectorgraphArray = null, + this._sp && (this._sp._renderType = 0), + this._sp = null + } + , + n.clear = function(t) { + void 0 === t && (t = !1); + var i = 0 + , n = 0; + if (t) { + var a = this._one; + if (this._cmds) { + for (n = this._cmds.length, + i = 0; i < n; i++) + !(a = this._cmds[i]) || a.callee !== A._context._drawTexture && a.callee !== A._context._drawTextureWithTransform || (a[0] = null, + e._cache.push(a)); + this._cmds.length = 0 + } else + a && (!a || a.callee !== A._context._drawTexture && a.callee !== A._context._drawTextureWithTransform || (a[0] = null, + e._cache.push(a))) + } else + this._cmds = null; + if (this._one = null, + this._render = this._renderEmpty, + this._sp && (this._sp._renderType &= -514), + this._repaint(), + this._vectorgraphArray) { + for (i = 0, + n = this._vectorgraphArray.length; i < n; i++) + K.getInstance().deleteShape(this._vectorgraphArray[i]); + this._vectorgraphArray.length = 0 + } + } + , + n._clearBoundsCache = function() { + this._graphicBounds && this._graphicBounds.reset() + } + , + n._initGraphicBounds = function() { + this._graphicBounds || (this._graphicBounds = new p, + this._graphicBounds._graphics = this) + } + , + n._repaint = function() { + this._clearBoundsCache(), + this._sp && this._sp.repaint() + } + , + n._isOnlyOne = function() { + return !this._cmds || 0 === this._cmds.length + } + , + n.getBounds = function(t) { + return void 0 === t && (t = !1), + this._initGraphicBounds(), + this._graphicBounds.getBounds(t) + } + , + n.getBoundPoints = function(t) { + return void 0 === t && (t = !1), + this._initGraphicBounds(), + this._graphicBounds.getBoundPoints(t) + } + , + n._addCmd = function(t) { + this._cmds = this._cmds || [], + t.callee = t.shift(), + this._cmds.push(t) + } + , + n.setFilters = function(t) { + this._saveToCmd(A._context._setFilters, t) + } + , + n.drawTexture = function(t, i, n, a, r, s, o) { + if (void 0 === i && (i = 0), + void 0 === n && (n = 0), + void 0 === a && (a = 0), + void 0 === r && (r = 0), + void 0 === o && (o = 1), + !t || o < .01) + return null; + a || (a = t.sourceWidth), + r || (r = t.sourceHeight), + o = o < 0 ? 0 : o > 1 ? 1 : o; + var l = !A.isWebGL && (O.onFirefox || O.onEdge || O.onIE || O.onSafari) ? .5 : 0 + , h = a / t.sourceWidth + , c = r / t.sourceHeight; + if (a = t.width * h, + r = t.height * c, + t.loaded && (a <= 0 || r <= 0)) + return null; + i += t.offsetX * h, + n += t.offsetY * c, + this._sp && (this._sp._renderType |= 512); + var _; + return i -= l, + n -= l, + a += 2 * l, + r += 2 * l, + e._cache.length ? ((_ = e._cache.pop())[0] = t, + _[1] = i, + _[2] = n, + _[3] = a, + _[4] = r, + _[5] = s, + _[6] = o) : _ = [t, i, n, a, r, s, o], + _.callee = s || 1 != o ? A._context._drawTextureWithTransform : A._context._drawTexture, + null != this._one || s || 1 != o ? this._saveToCmd(_.callee, _) : (this._one = _, + this._render = this._renderOneImg), + t.loaded || t.once("loaded", this, this._textureLoaded, [t, _]), + this._repaint(), + _ + } + , + n.cleanByTexture = function(t, e, i, n, a) { + if (void 0 === n && (n = 0), + void 0 === a && (a = 0), + !t) + return this.clear(); + if (this._one && this._render === this._renderOneImg) { + n || (n = t.sourceWidth), + a || (a = t.sourceHeight); + var r = n / t.sourceWidth + , s = a / t.sourceHeight; + n = t.width * r, + a = t.height * s, + e += t.offsetX * r, + i += t.offsetY * s, + this._one[0] = t, + this._one[1] = e, + this._one[2] = i, + this._one[3] = n, + this._one[4] = a, + this._repaint() + } else + this.clear(), + t && this.drawTexture(t, e, i, n, a) + } + , + n.drawTextures = function(t, e) { + t && this._saveToCmd(A._context._drawTextures, [t, e]) + } + , + n.fillTexture = function(t, e, i, n, a, r, s) { + if (void 0 === n && (n = 0), + void 0 === a && (a = 0), + void 0 === r && (r = "repeat"), + t) { + var o = [t, e, i, n, a, r, s || M.EMPTY, {}]; + t.loaded || t.once("loaded", this, this._textureLoaded, [t, o]), + this._saveToCmd(A._context._fillTexture, o) + } + } + , + n._textureLoaded = function(t, e) { + e[3] = e[3] || t.width, + e[4] = e[4] || t.height, + this._repaint() + } + , + n.fillCircle = function(t, e, i, n, a, r, s) { + i.bitmap.enableMerageInAtlas = !1; + var o = new Float32Array(2 * (s + 1)) + , l = new Float32Array(2 * (s + 1)) + , h = new Uint16Array(3 * s) + , c = 2 * Math.PI / s + , _ = 0; + o[0] = n, + o[1] = a, + l[0] = n / i.width, + l[1] = a / i.height; + for (var u = 2, d = 0; d < s; d++) { + var f = r * Math.cos(_) + n + , p = r * Math.sin(_) + a; + o[u] = f, + o[u + 1] = p, + l[u] = f / i.width, + l[u + 1] = p / i.height, + _ += c, + u += 2 + } + for (u = 0, + d = 0; d < s; d++) + h[u++] = 0, + h[u++] = d + 1, + h[u++] = d + 2 >= s + 1 ? 1 : d + 2; + this.drawTriangles(i, t, e, o, l, h) + } + , + n.drawTriangles = function(t, e, i, n, a, r, s, o, l, h) { + void 0 === o && (o = 1), + this._saveToCmd(A._context.drawTriangles, [t, e, i, n, a, r, s, o, l, h]) + } + , + n._saveToCmd = function(t, e) { + return this._sp && (this._sp._renderType |= 512), + null == this._one ? (this._one = e, + this._render = this._renderOne) : (this._sp && (this._sp._renderType &= -2), + this._render = this._renderAll, + 0 === (this._cmds || (this._cmds = [])).length && this._cmds.push(this._one), + this._cmds.push(e)), + e.callee = t, + this._repaint(), + e + } + , + n.clipRect = function(t, e, i, n) { + this._saveToCmd(A._context._clipRect, [t, e, i, n]) + } + , + n.fillText = function(t, e, i, n, a, r, s) { + void 0 === s && (s = 0), + this._saveToCmd(A._context._fillText, [t, e, i, n || u.defaultFont, a, r]) + } + , + n.fillBorderText = function(t, e, i, n, a, r, s, o) { + this._saveToCmd(A._context._fillBorderText, [t, e, i, n || u.defaultFont, a, r, s, o]) + } + , + n.strokeText = function(t, e, i, n, a, r, s) { + this._saveToCmd(A._context._strokeText, [t, e, i, n || u.defaultFont, a, r, s]) + } + , + n.alpha = function(t) { + t = t < 0 ? 0 : t > 1 ? 1 : t, + this._saveToCmd(A._context._alpha, [t]) + } + , + n.setAlpha = function(t) { + t = t < 0 ? 0 : t > 1 ? 1 : t, + this._saveToCmd(A._context._setAlpha, [t]) + } + , + n.transform = function(t, e, i) { + void 0 === e && (e = 0), + void 0 === i && (i = 0), + this._saveToCmd(A._context._transform, [t, e, i]) + } + , + n.rotate = function(t, e, i) { + void 0 === e && (e = 0), + void 0 === i && (i = 0), + this._saveToCmd(A._context._rotate, [t, e, i]) + } + , + n.scale = function(t, e, i, n) { + void 0 === i && (i = 0), + void 0 === n && (n = 0), + this._saveToCmd(A._context._scale, [t, e, i, n]) + } + , + n.translate = function(t, e) { + this._saveToCmd(A._context._translate, [t, e]) + } + , + n.save = function() { + this._saveToCmd(A._context._save, []) + } + , + n.restore = function() { + this._saveToCmd(A._context._restore, []) + } + , + n.replaceText = function(t) { + this._repaint(); + var e = this._cmds; + if (e) { + for (var i = e.length - 1; i > -1; i--) + if (this._isTextCmd(e[i].callee)) + return e[i][0].toUpperCase ? e[i][0] = t : e[i][0].setText(t), + !0 + } else if (this._one && this._isTextCmd(this._one.callee)) + return this._one[0].toUpperCase ? this._one[0] = t : this._one[0].setText(t), + !0; + return !1 + } + , + n._isTextCmd = function(t) { + return t === A._context._fillText || t === A._context._fillBorderText || t === A._context._strokeText + } + , + n.replaceTextColor = function(t) { + this._repaint(); + var e = this._cmds; + if (e) + for (var i = e.length - 1; i > -1; i--) + this._isTextCmd(e[i].callee) && (e[i][4] = t, + e[i][0].toUpperCase || (e[i][0].changed = !0)); + else + this._one && this._isTextCmd(this._one.callee) && (this._one[4] = t, + this._one[0].toUpperCase || (this._one[0].changed = !0)) + } + , + n.loadImage = function(t, e, n, a, r, s) { + function o(t) { + t && (l.drawTexture(t, e, n, a, r), + null != s && s.call(l._sp, t)) + } + var l = this; + void 0 === e && (e = 0), + void 0 === n && (n = 0), + void 0 === a && (a = 0), + void 0 === r && (r = 0); + var c = st.getRes(t); + c ? o(c) : i.loader.load(t, h.create(null, o), null, "image") + } + , + n._renderEmpty = function(t, e, i, n) {} + , + n._renderAll = function(t, e, i, n) { + for (var a, r = this._cmds, s = 0, o = r.length; s < o; s++) + (a = r[s]).callee.call(e, i, n, a) + } + , + n._renderOne = function(t, e, i, n) { + this._one.callee.call(e, i, n, this._one) + } + , + n._renderOneImg = function(t, e, i, n) { + this._one.callee.call(e, i, n, this._one), + 2305 !== t._renderType && (t._renderType |= 1) + } + , + n.drawLine = function(t, e, i, n, a, r) { + void 0 === r && (r = 1); + var s = 0; + A.isWebGL && (s = K.getInstance().getId(), + null == this._vectorgraphArray && (this._vectorgraphArray = []), + this._vectorgraphArray.push(s)); + var o = r % 2 == 0 ? 0 : .5 + , l = [t + o, e + o, i + o, n + o, a, r, s]; + this._saveToCmd(A._context._drawLine, l) + } + , + n.drawLines = function(t, e, i, n, a) { + void 0 === a && (a = 1); + var r = 0; + if (i && !(i.length < 4)) { + A.isWebGL && (r = K.getInstance().getId(), + null == this._vectorgraphArray && (this._vectorgraphArray = []), + this._vectorgraphArray.push(r)); + var s = a % 2 == 0 ? 0 : .5 + , o = [t + s, e + s, i, n, a, r]; + this._saveToCmd(A._context._drawLines, o) + } + } + , + n.drawCurves = function(t, e, i, n, a) { + void 0 === a && (a = 1); + var r = [t, e, i, n, a]; + this._saveToCmd(A._context._drawCurves, r) + } + , + n.drawRect = function(t, e, i, n, a, r, s) { + void 0 === s && (s = 1); + var o = r ? s / 2 : 0 + , l = r ? s : 0 + , h = [t + o, e + o, i - l, n - l, a, r, s]; + this._saveToCmd(A._context._drawRect, h) + } + , + n.drawCircle = function(t, e, i, n, a, r) { + void 0 === r && (r = 1); + var s = a ? r / 2 : 0 + , o = 0; + A.isWebGL && (o = K.getInstance().getId(), + null == this._vectorgraphArray && (this._vectorgraphArray = []), + this._vectorgraphArray.push(o)); + var l = [t, e, i - s, n, a, r, o]; + this._saveToCmd(A._context._drawCircle, l) + } + , + n.drawPie = function(t, e, i, n, a, r, s, o) { + void 0 === o && (o = 1); + var l = s ? o / 2 : 0 + , h = s ? o : 0 + , c = 0; + A.isWebGL && (c = K.getInstance().getId(), + null == this._vectorgraphArray && (this._vectorgraphArray = []), + this._vectorgraphArray.push(c)); + var _ = [t + l, e + l, i - h, n, a, r, s, o, c]; + _[3] = J.toRadian(n), + _[4] = J.toRadian(a), + this._saveToCmd(A._context._drawPie, _) + } + , + n.drawPoly = function(t, e, i, n, a, r) { + void 0 === r && (r = 1); + var s = 0 + , o = !1; + A.isWebGL && (s = K.getInstance().getId(), + null == this._vectorgraphArray && (this._vectorgraphArray = []), + this._vectorgraphArray.push(s), + o = !(i.length > 6)); + var l = a ? r % 2 == 0 ? 0 : .5 : 0 + , h = [t + l, e + l, i, n, a, r, s, o]; + this._saveToCmd(A._context._drawPoly, h) + } + , + n.drawPath = function(t, e, i, n, a) { + var r = [t, e, i, n, a]; + this._saveToCmd(A._context._drawPath, r) + } + , + r(0, n, "cmds", function() { + return this._cmds + }, function(t) { + this._sp && (this._sp._renderType |= 512), + this._cmds = t, + this._render = this._renderAll, + this._repaint() + }), + e.__init__ = function() { + if (A.isConchNode) { + for (var t = laya.display.Graphics.prototype, e = O.window.ConchGraphics.prototype, i = ["clear", "destroy", "alpha", "rotate", "transform", "scale", "translate", "save", "restore", "clipRect", "blendMode", "fillText", "fillBorderText", "_fands", "drawRect", "drawCircle", "drawPie", "drawPoly", "drawPath", "drawImageM", "drawLine", "drawLines", "_drawPs", "drawCurves", "replaceText", "replaceTextColor", "_fillImage", "fillTexture", "setSkinMesh", "drawParticle", "drawImageS"], n = 0, a = i.length; n <= a; n++) { + var r = i[n]; + t[r] = e[r] + } + t._saveToCmd = null, + e.drawImageS && (t.drawTextures = function(t, e) { + if (t && t.loaded && t.bitmap && t.source) { + var i = t.uv + , n = t.bitmap.width + , a = t.bitmap.height; + this.drawImageS(t.bitmap.source, i[0] * n, i[1] * a, (i[2] - i[0]) * n, (i[5] - i[3]) * a, t.offsetX, t.offsetY, t.width, t.height, e) + } + } + ), + t.drawTexture = function(t, e, i, n, a, r, s) { + if (void 0 === e && (e = 0), + void 0 === i && (i = 0), + void 0 === n && (n = 0), + void 0 === a && (a = 0), + void 0 === s && (s = 1), + t) + if (t.loaded) { + if (t.loaded && t.bitmap && t.source && (n || (n = t.sourceWidth), + a || (a = t.sourceHeight), + s = s < 0 ? 0 : s > 1 ? 1 : s, + n = n - t.sourceWidth + t.width, + a = a - t.sourceHeight + t.height, + !(n <= 0 || a <= 0))) { + e += t.offsetX, + i += t.offsetY; + var o = t.uv + , l = t.bitmap.width + , h = t.bitmap.height; + this.drawImageM(t.bitmap.source, o[0] * l, o[1] * h, (o[2] - o[0]) * l, (o[5] - o[3]) * h, e, i, n, a, r, s), + this._repaint() + } + } else + t.once("loaded", this, function() { + this.drawTexture(t, e, i, n, a, r) + }) + } + , + t.fillTexture = function(t, e, i, n, a, r, s) { + if (void 0 === n && (n = 0), + void 0 === a && (a = 0), + void 0 === r && (r = "repeat"), + t && t.loaded) { + var o, l = A._context.ctx, h = t.bitmap.width, c = t.bitmap.height, _ = t.uv; + o = t.uv != ct.DEF_UV ? l.createPattern(t.bitmap.source, r, _[0] * h, _[1] * c, (_[2] - _[0]) * h, (_[5] - _[3]) * c) : l.createPattern(t.bitmap.source, r); + var u = 0 + , d = 0; + s && (e += s.x % t.width, + i += s.y % t.height, + u -= s.x % t.width, + d -= s.y % t.height), + this._fillImage(o, e, i, u, d, n, a) + } + } + } + } + , + e._cache = [], + e + }() + , p = function() { + function t() { + this._cacheBoundsType = !1 + } + a(t, "laya.display.GraphicsBounds"); + var e = t.prototype; + return e.destroy = function() { + this._graphics = null, + this._temp = null, + this._rstBoundPoints = null, + this._bounds = null + } + , + e.reset = function() { + this._temp && (this._temp.length = 0) + } + , + e.getBounds = function(t) { + return void 0 === t && (t = !1), + (!this._bounds || !this._temp || this._temp.length < 1 || t != this._cacheBoundsType) && (this._bounds = L._getWrapRec(this.getBoundPoints(t), this._bounds)), + this._cacheBoundsType = t, + this._bounds + } + , + e.getBoundPoints = function(t) { + return void 0 === t && (t = !1), + (!this._temp || this._temp.length < 1 || t != this._cacheBoundsType) && (this._temp = this._getCmdPoints(t)), + this._cacheBoundsType = t, + this._rstBoundPoints = J.copyArray(this._rstBoundPoints, this._temp) + } + , + e._getCmdPoints = function(e) { + void 0 === e && (e = !1); + var i, n = A._context, a = this._graphics.cmds; + if (i = this._temp || (this._temp = []), + i.length = 0, + a || null == this._graphics._one || (t._tempCmds.length = 0, + t._tempCmds.push(this._graphics._one), + a = t._tempCmds), + !a) + return i; + var r; + (r = t._tempMatrixArrays).length = 0; + var s = t._initMatrix; + s.identity(); + for (var o, l, h = t._tempMatrix, c = NaN, _ = NaN, u = NaN, d = NaN, f = NaN, p = NaN, m = 0, g = a.length; m < g; m++) + if ((o = a[m]).callee) + switch (o.callee) { + case n._save: + case 7: + r.push(s), + s = s.clone(); + break; + case n._restore: + case 8: + s = r.pop(); + break; + case n._scale: + case 5: + h.identity(), + h.translate(-o[2], -o[3]), + h.scale(o[0], o[1]), + h.translate(o[2], o[3]), + this._switchMatrix(s, h); + break; + case n._rotate: + case 3: + h.identity(), + h.translate(-o[1], -o[2]), + h.rotate(o[0]), + h.translate(o[1], o[2]), + this._switchMatrix(s, h); + break; + case n._translate: + case 6: + h.identity(), + h.translate(o[0], o[1]), + this._switchMatrix(s, h); + break; + case n._transform: + case 4: + h.identity(), + h.translate(-o[1], -o[2]), + h.concat(o[0]), + h.translate(o[1], o[2]), + this._switchMatrix(s, h); + break; + case 16: + case 24: + t._addPointArrToRst(i, L._getBoundPointS(o[0], o[1], o[2], o[3]), s); + break; + case 17: + s.copyTo(h), + h.concat(o[4]), + t._addPointArrToRst(i, L._getBoundPointS(o[0], o[1], o[2], o[3]), h); + break; + case n._drawTexture: + l = o[0], + e ? o[3] && o[4] ? t._addPointArrToRst(i, L._getBoundPointS(o[1], o[2], o[3], o[4]), s) : (l = o[0], + t._addPointArrToRst(i, L._getBoundPointS(o[1], o[2], l.width, l.height), s)) : (c = (o[3] || l.sourceWidth) / l.width, + _ = (o[4] || l.sourceHeight) / l.height, + u = c * l.sourceWidth, + d = _ * l.sourceHeight, + f = l.offsetX > 0 ? l.offsetX : 0, + p = l.offsetY > 0 ? l.offsetY : 0, + f *= c, + p *= _, + t._addPointArrToRst(i, L._getBoundPointS(o[1] - f, o[2] - p, u, d), s)); + break; + case n._fillTexture: + o[3] && o[4] ? t._addPointArrToRst(i, L._getBoundPointS(o[1], o[2], o[3], o[4]), s) : (l = o[0], + t._addPointArrToRst(i, L._getBoundPointS(o[1], o[2], l.width, l.height), s)); + break; + case n._drawTextureWithTransform: + var y; + o[5] ? (s.copyTo(h), + h.concat(o[5]), + y = h) : y = s, + e ? o[3] && o[4] ? t._addPointArrToRst(i, L._getBoundPointS(o[1], o[2], o[3], o[4]), y) : (l = o[0], + t._addPointArrToRst(i, L._getBoundPointS(o[1], o[2], l.width, l.height), y)) : (l = o[0], + c = (o[3] || l.sourceWidth) / l.width, + _ = (o[4] || l.sourceHeight) / l.height, + u = c * l.sourceWidth, + d = _ * l.sourceHeight, + f = l.offsetX > 0 ? l.offsetX : 0, + p = l.offsetY > 0 ? l.offsetY : 0, + f *= c, + p *= _, + t._addPointArrToRst(i, L._getBoundPointS(o[1] - f, o[2] - p, u, d), y)); + break; + case n._drawRect: + case 13: + t._addPointArrToRst(i, L._getBoundPointS(o[0], o[1], o[2], o[3]), s); + break; + case n._drawCircle: + case n._fillCircle: + case 14: + t._addPointArrToRst(i, L._getBoundPointS(o[0] - o[2], o[1] - o[2], o[2] + o[2], o[2] + o[2]), s); + break; + case n._drawLine: + case 20: + t._tempPoints.length = 0; + var v = NaN; + v = .5 * o[5], + o[0] == o[2] ? t._tempPoints.push(o[0] + v, o[1], o[2] + v, o[3], o[0] - v, o[1], o[2] - v, o[3]) : o[1] == o[3] ? t._tempPoints.push(o[0], o[1] + v, o[2], o[3] + v, o[0], o[1] - v, o[2], o[3] - v) : t._tempPoints.push(o[0], o[1], o[2], o[3]), + t._addPointArrToRst(i, t._tempPoints, s); + break; + case n._drawCurves: + case 22: + t._addPointArrToRst(i, x.I.getBezierPoints(o[2]), s, o[0], o[1]); + break; + case n._drawPoly: + case n._drawLines: + case 18: + t._addPointArrToRst(i, o[2], s, o[0], o[1]); + break; + case n._drawPath: + case 19: + t._addPointArrToRst(i, this._getPathPoints(o[2]), s, o[0], o[1]); + break; + case n._drawPie: + case 15: + t._addPointArrToRst(i, this._getPiePoints(o[0], o[1], o[2], o[3], o[4]), s) + } + return i.length > 200 ? i = J.copyArray(i, L._getWrapRec(i)._getBoundPoints()) : i.length > 8 && (i = I.scanPList(i)), + i + } + , + e._switchMatrix = function(t, e) { + e.concat(t), + e.copyTo(t) + } + , + e._getPiePoints = function(e, i, n, a, r) { + var s = t._tempPoints; + t._tempPoints.length = 0, + s.push(e, i); + var o = (r - a) % (2 * Math.PI) / 10 + , l = NaN + , h = a; + for (l = 0; l <= 10; l++) + s.push(e + n * Math.cos(h), i + n * Math.sin(h)), + h += o; + return s + } + , + e._getPathPoints = function(e) { + var i = 0 + , n = 0 + , a = t._tempPoints; + a.length = 0, + n = e.length; + var r; + for (i = 0; i < n; i++) + (r = e[i]).length > 1 && (a.push(r[1], r[2]), + r.length > 3 && a.push(r[3], r[4])); + return a + } + , + t._addPointArrToRst = function(e, i, n, a, r) { + void 0 === a && (a = 0), + void 0 === r && (r = 0); + var s = 0 + , o = 0; + for (o = i.length, + s = 0; s < o; s += 2) + t._addPointToRst(e, i[s] + a, i[s + 1] + r, n) + } + , + t._addPointToRst = function(t, e, i, n) { + var a = M.TEMP; + a.setTo(e || 0, i || 0), + n.transformPoint(a), + t.push(a.x, a.y) + } + , + t._tempPoints = [], + t._tempMatrixArrays = [], + t._tempCmds = [], + n(t, ["_tempMatrix", function() { + return this._tempMatrix = new S + } + , "_initMatrix", function() { + return this._initMatrix = new S + } + ]), + t + }() + , m = function() { + function t() {} + a(t, "laya.events.Event"); + var e = t.prototype; + return e.setTo = function(t, e, i) { + return this.type = t, + this.currentTarget = e, + this.target = i, + this + } + , + e.stopPropagation = function() { + this._stoped = !0 + } + , + r(0, e, "stageY", function() { + return i.stage.mouseY + }), + r(0, e, "charCode", function() { + return this.nativeEvent.charCode + }), + r(0, e, "touches", function() { + var t = this.nativeEvent.touches; + if (t) + for (var e = i.stage, n = 0, a = t.length; n < a; n++) { + var r = t[n] + , s = M.TEMP; + s.setTo(r.clientX, r.clientY), + e._canvasTransform.invertTransformPoint(s), + e.transform.invertTransformPoint(s), + r.stageX = s.x, + r.stageY = s.y + } + return t + }), + r(0, e, "keyLocation", function() { + return this.nativeEvent.keyLocation + }), + r(0, e, "ctrlKey", function() { + return this.nativeEvent.ctrlKey + }), + r(0, e, "altKey", function() { + return this.nativeEvent.altKey + }), + r(0, e, "shiftKey", function() { + return this.nativeEvent.shiftKey + }), + r(0, e, "stageX", function() { + return i.stage.mouseX + }), + t.EMPTY = new t, + t.MOUSE_DOWN = "mousedown", + t.MOUSE_UP = "mouseup", + t.CLICK = "click", + t.RIGHT_MOUSE_DOWN = "rightmousedown", + t.RIGHT_MOUSE_UP = "rightmouseup", + t.RIGHT_CLICK = "rightclick", + t.MOUSE_MOVE = "mousemove", + t.MOUSE_OVER = "mouseover", + t.MOUSE_OUT = "mouseout", + t.MOUSE_WHEEL = "mousewheel", + t.ROLL_OVER = "mouseover", + t.ROLL_OUT = "mouseout", + t.DOUBLE_CLICK = "doubleclick", + t.CHANGE = "change", + t.CHANGED = "changed", + t.RESIZE = "resize", + t.ADDED = "added", + t.REMOVED = "removed", + t.DISPLAY = "display", + t.UNDISPLAY = "undisplay", + t.ERROR = "error", + t.COMPLETE = "complete", + t.LOADED = "loaded", + t.PROGRESS = "progress", + t.INPUT = "input", + t.RENDER = "render", + t.OPEN = "open", + t.MESSAGE = "message", + t.CLOSE = "close", + t.KEY_DOWN = "keydown", + t.KEY_PRESS = "keypress", + t.KEY_UP = "keyup", + t.FRAME = "enterframe", + t.DRAG_START = "dragstart", + t.DRAG_MOVE = "dragmove", + t.DRAG_END = "dragend", + t.ENTER = "enter", + t.SELECT = "select", + t.BLUR = "blur", + t.FOCUS = "focus", + t.VISIBILITY_CHANGE = "visibilitychange", + t.FOCUS_CHANGE = "focuschange", + t.PLAYED = "played", + t.PAUSED = "paused", + t.STOPPED = "stopped", + t.START = "start", + t.END = "end", + t.ENABLE_CHANGED = "enablechanged", + t.ACTIVE_IN_HIERARCHY_CHANGED = "activeinhierarchychanged", + t.COMPONENT_ADDED = "componentadded", + t.COMPONENT_REMOVED = "componentremoved", + t.LAYER_CHANGED = "layerchanged", + t.HIERARCHY_LOADED = "hierarchyloaded", + t.RECOVERED = "recovered", + t.RELEASED = "released", + t.LINK = "link", + t.LABEL = "label", + t.FULL_SCREEN_CHANGE = "fullscreenchange", + t.DEVICE_LOST = "devicelost", + t.MESH_CHANGED = "meshchanged", + t.MATERIAL_CHANGED = "materialchanged", + t.WORLDMATRIX_NEEDCHANGE = "worldmatrixneedchanged", + t.ANIMATION_CHANGED = "animationchanged", + t.TRIGGER_ENTER = "triggerenter", + t.TRIGGER_STAY = "triggerstay", + t.TRIGGER_EXIT = "triggerexit", + t.TRAIL_FILTER_CHANGE = "trailfilterchange", + t.DOMINO_FILTER_CHANGE = "dominofilterchange", + t + }() + , g = (function() { + function t() {} + a(t, "laya.events.Keyboard"), + t.NUMBER_0 = 48, + t.NUMBER_1 = 49, + t.NUMBER_2 = 50, + t.NUMBER_3 = 51, + t.NUMBER_4 = 52, + t.NUMBER_5 = 53, + t.NUMBER_6 = 54, + t.NUMBER_7 = 55, + t.NUMBER_8 = 56, + t.NUMBER_9 = 57, + t.A = 65, + t.B = 66, + t.C = 67, + t.D = 68, + t.E = 69, + t.F = 70, + t.G = 71, + t.H = 72, + t.I = 73, + t.J = 74, + t.K = 75, + t.L = 76, + t.M = 77, + t.N = 78, + t.O = 79, + t.P = 80, + t.Q = 81, + t.R = 82, + t.S = 83, + t.T = 84, + t.U = 85, + t.V = 86, + t.W = 87, + t.X = 88, + t.Y = 89, + t.Z = 90, + t.F1 = 112, + t.F2 = 113, + t.F3 = 114, + t.F4 = 115, + t.F5 = 116, + t.F6 = 117, + t.F7 = 118, + t.F8 = 119, + t.F9 = 120, + t.F10 = 121, + t.F11 = 122, + t.F12 = 123, + t.F13 = 124, + t.F14 = 125, + t.F15 = 126, + t.NUMPAD = 21, + t.NUMPAD_0 = 96, + t.NUMPAD_1 = 97, + t.NUMPAD_2 = 98, + t.NUMPAD_3 = 99, + t.NUMPAD_4 = 100, + t.NUMPAD_5 = 101, + t.NUMPAD_6 = 102, + t.NUMPAD_7 = 103, + t.NUMPAD_8 = 104, + t.NUMPAD_9 = 105, + t.NUMPAD_ADD = 107, + t.NUMPAD_DECIMAL = 110, + t.NUMPAD_DIVIDE = 111, + t.NUMPAD_ENTER = 108, + t.NUMPAD_MULTIPLY = 106, + t.NUMPAD_SUBTRACT = 109, + t.SEMICOLON = 186, + t.EQUAL = 187, + t.COMMA = 188, + t.MINUS = 189, + t.PERIOD = 190, + t.SLASH = 191, + t.BACKQUOTE = 192, + t.LEFTBRACKET = 219, + t.BACKSLASH = 220, + t.RIGHTBRACKET = 221, + t.QUOTE = 222, + t.ALTERNATE = 18, + t.BACKSPACE = 8, + t.CAPS_LOCK = 20, + t.COMMAND = 15, + t.CONTROL = 17, + t.DELETE = 46, + t.ENTER = 13, + t.ESCAPE = 27, + t.PAGE_UP = 33, + t.PAGE_DOWN = 34, + t.END = 35, + t.HOME = 36, + t.LEFT = 37, + t.UP = 38, + t.RIGHT = 39, + t.DOWN = 40, + t.SHIFT = 16, + t.SPACE = 32, + t.TAB = 9, + t.INSERT = 45 + }(), + function() { + function t() {} + return a(t, "laya.events.KeyBoardManager"), + t.__init__ = function() { + t._addEvent("keydown"), + t._addEvent("keypress"), + t._addEvent("keyup") + } + , + t._addEvent = function(t) { + O.document.addEventListener(t, function(e) { + laya.events.KeyBoardManager._dispatch(e, t) + }, !0) + } + , + t._dispatch = function(e, n) { + if (t.enabled) { + t._event._stoped = !1, + t._event.nativeEvent = e, + t._event.keyCode = e.keyCode || e.which || e.charCode, + "keydown" === n ? t._pressKeys[t._event.keyCode] = !0 : "keyup" === n && (t._pressKeys[t._event.keyCode] = null); + for (var a = i.stage.focus && null != i.stage.focus.event && i.stage.focus.displayedInStage ? i.stage.focus : i.stage, r = a; r; ) + r.event(n, t._event.setTo(n, r, a)), + r = r.parent + } + } + , + t.hasKeyDown = function(e) { + return t._pressKeys[e] + } + , + t._pressKeys = {}, + t.enabled = !0, + n(t, ["_event", function() { + return this._event = new m + } + ]), + t + }()) + , y = (function() { + function t() {} + a(t, "laya.events.KeyLocation"), + t.STANDARD = 0, + t.LEFT = 1, + t.RIGHT = 2, + t.NUM_PAD = 3 + }(), + function() { + function t() { + this.mouseX = 0, + this.mouseY = 0, + this.disableMouseEvent = !1, + this.mouseDownTime = 0, + this.mouseMoveAccuracy = 2, + this._stage = null, + this._target = null, + this._lastMoveTimer = 0, + this._isLeftMouse = !1, + this._eventList = [], + this._touchIDs = {}, + this._id = 1, + this._tTouchID = 0, + this._event = new m, + this._matrix = new S, + this._point = new M, + this._rect = new L, + this._prePoint = new M, + this._curTouchID = NaN + } + a(t, "laya.events.MouseManager"); + var e = t.prototype; + return e.__init__ = function(e, i) { + var n = this; + this._stage = e; + var a = this + , r = this._eventList; + i.oncontextmenu = function(e) { + if (t.enabled) + return !1 + } + , + i.addEventListener("mousedown", function(e) { + t.enabled && (O.onIE || e.preventDefault(), + r.push(e), + a.mouseDownTime = O.now()) + }), + i.addEventListener("mouseup", function(e) { + t.enabled && (e.preventDefault(), + r.push(e), + a.mouseDownTime = -O.now()) + }, !0), + i.addEventListener("mousemove", function(e) { + if (t.enabled) { + e.preventDefault(); + var i = O.now(); + if (i - a._lastMoveTimer < 10) + return; + a._lastMoveTimer = i, + r.push(e) + } + }, !0), + i.addEventListener("mouseout", function(e) { + t.enabled && r.push(e) + }), + i.addEventListener("mouseover", function(e) { + t.enabled && r.push(e) + }), + i.addEventListener("touchstart", function(e) { + t.enabled && (r.push(e), + t._isFirstTouch || xt.isInputting || e.preventDefault(), + a.mouseDownTime = O.now()) + }), + i.addEventListener("touchend", function(e) { + t.enabled ? (t._isFirstTouch || xt.isInputting || e.preventDefault(), + t._isFirstTouch = !1, + r.push(e), + a.mouseDownTime = -O.now()) : n._curTouchID = NaN + }, !0), + i.addEventListener("touchmove", function(e) { + t.enabled && (e.preventDefault(), + r.push(e)) + }, !0), + i.addEventListener("touchcancel", function(e) { + t.enabled ? (e.preventDefault(), + r.push(e)) : n._curTouchID = NaN + }, !0), + i.addEventListener("mousewheel", function(e) { + t.enabled && r.push(e) + }), + i.addEventListener("DOMMouseScroll", function(e) { + t.enabled && r.push(e) + }) + } + , + e.initEvent = function(t, e) { + this._event._stoped = !1, + this._event.nativeEvent = e || t, + this._target = null, + this._point.setTo(t.pageX || t.clientX, t.pageY || t.clientY), + this._stage._canvasTransform.invertTransformPoint(this._point), + this.mouseX = this._point.x, + this.mouseY = this._point.y, + this._event.touchId = t.identifier || 0, + this._tTouchID = this._event.touchId; + var i; + (i = v.I._event)._stoped = !1, + i.nativeEvent = this._event.nativeEvent, + i.touchId = this._event.touchId + } + , + e.checkMouseWheel = function(t) { + this._event.delta = t.wheelDelta ? .025 * t.wheelDelta : -t.detail; + for (var e = v.I.getLastOvers(), i = 0, n = e.length; i < n; i++) { + var a = e[i]; + a.event("mousewheel", this._event.setTo("mousewheel", a, this._target)) + } + } + , + e.onMouseMove = function(t) { + v.I.onMouseMove(t, this._tTouchID) + } + , + e.onMouseDown = function(t) { + if (xt.isInputting && i.stage.focus && i.stage.focus.focus && !i.stage.focus.contains(this._target)) { + var e = i.stage.focus._tf || i.stage.focus + , n = t._tf || t; + n instanceof laya.display.Input && n.multiline == e.multiline ? e._focusOut() : e.focus = !1 + } + v.I.onMouseDown(t, this._tTouchID, this._isLeftMouse) + } + , + e.onMouseUp = function(t) { + v.I.onMouseUp(t, this._tTouchID, this._isLeftMouse) + } + , + e.check = function(t, e, i, n) { + this._point.setTo(e, i), + t.fromParentPoint(this._point), + e = this._point.x, + i = this._point.y; + var a = t.scrollRect; + if (a && (this._rect.setTo(a.x, a.y, a.width, a.height), + !this._rect.contains(e, i))) + return !1; + if (!this.disableMouseEvent) { + if (t.hitTestPrior && !t.mouseThrough && !this.hitTest(t, e, i)) + return !1; + for (var r = t._childs.length - 1; r > -1; r--) { + var s = t._childs[r]; + if (!s.destroyed && s.mouseEnabled && s.visible && this.check(s, e, i, n)) + return !0 + } + } + var o = !(!t.hitTestPrior || t.mouseThrough || this.disableMouseEvent) || this.hitTest(t, e, i); + return o ? (this._target = t, + n.call(this, t)) : n === this.onMouseUp && t === this._stage && (this._target = this._stage, + n.call(this, this._target)), + o + } + , + e.hitTest = function(t, e, i) { + var n = !1; + if (t.scrollRect && (e -= t.scrollRect.x, + i -= t.scrollRect.y), + t.hitArea instanceof laya.utils.HitArea) + return t.hitArea.isHit(e, i); + if (t.width > 0 && t.height > 0 || t.mouseThrough || t.hitArea) + if (t.mouseThrough) + n = t.getGraphicBounds().contains(e, i); + else { + var a = this._rect; + t.hitArea ? a = t.hitArea : a.setTo(0, 0, t.width, t.height), + n = a.contains(e, i) + } + return n + } + , + e.runEvent = function() { + var e = this._eventList.length; + if (e) { + for (var i, n = 0, a = 0, r = 0; n < e; ) { + var s = this._eventList[n]; + switch ("mousemove" !== s.type && (this._prePoint.x = this._prePoint.y = -1e6), + s.type) { + case "mousedown": + this._touchIDs[0] = this._id++, + t._isTouchRespond ? t._isTouchRespond = !1 : (this._isLeftMouse = 0 === s.button, + this.initEvent(s), + this.check(this._stage, this.mouseX, this.mouseY, this.onMouseDown)); + break; + case "mouseup": + this._isLeftMouse = 0 === s.button, + this.initEvent(s), + this.check(this._stage, this.mouseX, this.mouseY, this.onMouseUp); + break; + case "mousemove": + Math.abs(this._prePoint.x - s.clientX) + Math.abs(this._prePoint.y - s.clientY) >= this.mouseMoveAccuracy && (this._prePoint.x = s.clientX, + this._prePoint.y = s.clientY, + this.initEvent(s), + this.check(this._stage, this.mouseX, this.mouseY, this.onMouseMove)); + break; + case "touchstart": + t._isTouchRespond = !0, + this._isLeftMouse = !0; + var o = s.changedTouches; + for (a = 0, + r = o.length; a < r; a++) + i = o[a], + (t.multiTouchEnabled || isNaN(this._curTouchID)) && (this._curTouchID = i.identifier, + this._id % 200 == 0 && (this._touchIDs = {}), + this._touchIDs[i.identifier] = this._id++, + this.initEvent(i, s), + this.check(this._stage, this.mouseX, this.mouseY, this.onMouseDown)); + break; + case "touchend": + case "touchcancel": + t._isTouchRespond = !0, + this._isLeftMouse = !0; + var l = s.changedTouches; + for (a = 0, + r = l.length; a < r; a++) + if (i = l[a], + t.multiTouchEnabled || i.identifier == this._curTouchID) { + this._curTouchID = NaN, + this.initEvent(i, s); + this.check(this._stage, this.mouseX, this.mouseY, this.onMouseUp) || this.onMouseUp(null) + } + break; + case "touchmove": + var h = s.changedTouches; + for (a = 0, + r = h.length; a < r; a++) + i = h[a], + (t.multiTouchEnabled || i.identifier == this._curTouchID) && (this.initEvent(i, s), + this.check(this._stage, this.mouseX, this.mouseY, this.onMouseMove)); + break; + case "wheel": + case "mousewheel": + case "DOMMouseScroll": + this.checkMouseWheel(s); + break; + case "mouseout": + v.I.stageMouseOut(); + break; + case "mouseover": + this._stage.event("mouseover", this._event.setTo("mouseover", this._stage, this._stage)) + } + n++ + } + this._eventList.length = 0 + } + } + , + t.enabled = !0, + t.multiTouchEnabled = !0, + t._isTouchRespond = !1, + t._isFirstTouch = !0, + n(t, ["instance", function() { + return this.instance = new t + } + ]), + t + }()) + , v = function() { + function t() { + this.preOvers = [], + this.preDowns = [], + this.preRightDowns = [], + this.enable = !0, + this._lastClickTime = 0, + this._event = new m + } + a(t, "laya.events.TouchManager"); + var e = t.prototype; + return e._clearTempArrs = function() { + t._oldArr.length = 0, + t._newArr.length = 0, + t._tEleArr.length = 0 + } + , + e.getTouchFromArr = function(t, e) { + var i = 0 + , n = 0; + n = e.length; + var a; + for (i = 0; i < n; i++) + if ((a = e[i]).id == t) + return a; + return null + } + , + e.removeTouchFromArr = function(t, e) { + var i = 0; + for (i = e.length - 1; i >= 0; i--) + e[i].id == t && e.splice(i, 1) + } + , + e.createTouchO = function(t, e) { + var i; + return i = W.getItem("TouchData") || {}, + i.id = e, + i.tar = t, + i + } + , + e.onMouseDown = function(e, i, n) { + if (void 0 === n && (n = !1), + this.enable) { + var a, r, s; + a = this.getTouchFromArr(i, this.preOvers), + s = this.getEles(e, null, t._tEleArr), + a ? a.tar = e : (r = this.createTouchO(e, i), + this.preOvers.push(r)), + O.onMobile && this.sendEvents(s, "mouseover", i); + var o; + o = n ? this.preDowns : this.preRightDowns, + (a = this.getTouchFromArr(i, o)) ? a.tar = e : (r = this.createTouchO(e, i), + o.push(r)), + this.sendEvents(s, n ? "mousedown" : "rightmousedown", i), + this._clearTempArrs() + } + } + , + e.sendEvents = function(t, e, i) { + void 0 === i && (i = 0); + var n = 0 + , a = 0; + a = t.length, + this._event._stoped = !1; + var r; + r = t[0]; + var s; + for (n = 0; n < a; n++) { + if ((s = t[n]).destroyed) + return; + if (s.event(e, this._event.setTo(e, s, r)), + this._event._stoped) + break + } + } + , + e.getEles = function(t, e, i) { + for (i ? i.length = 0 : i = []; t && t != e; ) + i.push(t), + t = t.parent; + return i + } + , + e.checkMouseOutAndOverOfMove = function(e, i, n) { + if (void 0 === n && (n = 0), + i != e) { + var a, r, s = 0, o = 0; + if (i.contains(e)) + r = this.getEles(e, i, t._tEleArr), + this.sendEvents(r, "mouseover", n); + else if (e.contains(i)) + r = this.getEles(i, e, t._tEleArr), + this.sendEvents(r, "mouseout", n); + else { + (r = t._tEleArr).length = 0; + var l; + l = this.getEles(i, null, t._oldArr); + var h; + h = this.getEles(e, null, t._newArr), + o = l.length; + var c = 0; + for (s = 0; s < o; s++) { + if (a = l[s], + (c = h.indexOf(a)) >= 0) { + h.splice(c, h.length - c); + break + } + r.push(a) + } + r.length > 0 && this.sendEvents(r, "mouseout", n), + h.length > 0 && this.sendEvents(h, "mouseover", n) + } + } + } + , + e.onMouseMove = function(e, i) { + if (this.enable) { + var n, a; + (n = this.getTouchFromArr(i, this.preOvers)) ? (this.checkMouseOutAndOverOfMove(e, n.tar), + n.tar = e, + a = this.getEles(e, null, t._tEleArr)) : (a = this.getEles(e, null, t._tEleArr), + this.sendEvents(a, "mouseover", i), + this.preOvers.push(this.createTouchO(e, i))), + this.sendEvents(a, "mousemove", i), + this._clearTempArrs() + } + } + , + e.getLastOvers = function() { + return t._tEleArr.length = 0, + this.preOvers.length > 0 && this.preOvers[0].tar ? this.getEles(this.preOvers[0].tar, null, t._tEleArr) : (t._tEleArr.push(i.stage), + t._tEleArr) + } + , + e.stageMouseOut = function() { + var t; + t = this.getLastOvers(), + this.preOvers.length = 0, + this.sendEvents(t, "mouseout", 0) + } + , + e.onMouseUp = function(e, i, n) { + if (void 0 === n && (n = !1), + this.enable) { + var a, r, s, o, l, h = 0, c = 0, _ = O.onMobile; + r = this.getEles(e, null, t._tEleArr), + this.sendEvents(r, n ? "mouseup" : "rightmouseup", i); + var u; + if (u = n ? this.preDowns : this.preRightDowns, + a = this.getTouchFromArr(i, u)) { + var d = !1 + , f = O.now(); + if (d = f - this._lastClickTime < 300, + this._lastClickTime = f, + e == a.tar) + l = r; + else + for (s = this.getEles(a.tar, null, t._oldArr), + (l = t._newArr).length = 0, + c = s.length, + h = 0; h < c; h++) + o = s[h], + r.indexOf(o) >= 0 && l.push(o); + l.length > 0 && this.sendEvents(l, n ? "click" : "rightclick", i), + n && d && this.sendEvents(l, "doubleclick", i), + this.removeTouchFromArr(i, u), + a.tar = null, + W.recover("TouchData", a) + } else + ;(a = this.getTouchFromArr(i, this.preOvers)) && _ && ((l = this.getEles(a.tar, null, l)) && l.length > 0 && this.sendEvents(l, "mouseout", i), + this.removeTouchFromArr(i, this.preOvers), + a.tar = null, + W.recover("TouchData", a)), + this._clearTempArrs() + } + } + , + t._oldArr = [], + t._newArr = [], + t._tEleArr = [], + n(t, ["I", function() { + return this.I = new t + } + ]), + t + }() + , b = function() { + function t() { + this._action = null + } + a(t, "laya.filters.Filter"); + var e = t.prototype; + return i.imps(e, { + "laya.filters.IFilter": !0 + }), + e.callNative = function(t) {} + , + r(0, e, "type", function() { + return -1 + }), + r(0, e, "action", function() { + return this._action + }), + t.BLUR = 16, + t.COLOR = 32, + t.GLOW = 8, + t._filterStart = null, + t._filterEnd = null, + t._EndTarget = null, + t._recycleScope = null, + t._filter = null, + t._useSrc = null, + t._endSrc = null, + t._useOut = null, + t._endOut = null, + t + }() + , w = function() { + function t() { + this.data = null + } + a(t, "laya.filters.ColorFilterAction"); + var e = t.prototype; + return i.imps(e, { + "laya.filters.IFilterAction": !0 + }), + e.apply = function(t) { + var e = t.ctx.ctx + , i = t.ctx.ctx.canvas; + if (0 == i.width || 0 == i.height) + return i; + for (var n, a = e.getImageData(0, 0, i.width, i.height), r = a.data, s = 0, o = r.length; s < o; s += 4) + n = this.getColor(r[s], r[s + 1], r[s + 2], r[s + 3]), + 0 != r[s + 3] && (r[s] = n[0], + r[s + 1] = n[1], + r[s + 2] = n[2], + r[s + 3] = n[3]); + return e.putImageData(a, 0, 0), + t + } + , + e.getColor = function(t, e, i, n) { + var a = []; + if (this.data._mat && this.data._alpha) { + var r = this.data._mat + , s = this.data._alpha; + a[0] = r[0] * t + r[1] * e + r[2] * i + r[3] * n + s[0], + a[1] = r[4] * t + r[5] * e + r[6] * i + r[7] * n + s[1], + a[2] = r[8] * t + r[9] * e + r[10] * i + r[11] * n + s[2], + a[3] = r[12] * t + r[13] * e + r[14] * i + r[15] * n + s[3] + } + return a + } + , + t + }() + , x = (function() { + function t() {} + a(t, "laya.maths.Arith"), + t.formatR = function(t) { + return t > Math.PI && (t -= 2 * Math.PI), + t < -Math.PI && (t += 2 * Math.PI), + t + } + , + t.isPOT = function(t, e) { + return t > 0 && 0 == (t & t - 1) && e > 0 && 0 == (e & e - 1) + } + , + t.setMatToArray = function(t, e) { + t.a, + t.b, + t.c, + t.d, + t.tx, + t.ty, + e[0] = t.a, + e[1] = t.b, + e[4] = t.c, + e[5] = t.d, + e[12] = t.tx, + e[13] = t.ty + } + }(), + function() { + function t() { + this._controlPoints = [new M, new M, new M], + this._calFun = this.getPoint2 + } + a(t, "laya.maths.Bezier"); + var e = t.prototype; + return e._switchPoint = function(t, e) { + var i = this._controlPoints.shift(); + i.setTo(t, e), + this._controlPoints.push(i) + } + , + e.getPoint2 = function(t, e) { + var i = this._controlPoints[0] + , n = this._controlPoints[1] + , a = this._controlPoints[2] + , r = Math.pow(1 - t, 2) * i.x + 2 * t * (1 - t) * n.x + Math.pow(t, 2) * a.x + , s = Math.pow(1 - t, 2) * i.y + 2 * t * (1 - t) * n.y + Math.pow(t, 2) * a.y; + e.push(r, s) + } + , + e.getPoint3 = function(t, e) { + var i = this._controlPoints[0] + , n = this._controlPoints[1] + , a = this._controlPoints[2] + , r = this._controlPoints[3] + , s = Math.pow(1 - t, 3) * i.x + 3 * n.x * t * (1 - t) * (1 - t) + 3 * a.x * t * t * (1 - t) + r.x * Math.pow(t, 3) + , o = Math.pow(1 - t, 3) * i.y + 3 * n.y * t * (1 - t) * (1 - t) + 3 * a.y * t * t * (1 - t) + r.y * Math.pow(t, 3); + e.push(s, o) + } + , + e.insertPoints = function(t, e) { + var i = NaN + , n = NaN; + for (n = 1 / (t = t > 0 ? t : 5), + i = 0; i <= 1; i += n) + this._calFun(i, e) + } + , + e.getBezierPoints = function(t, e, i) { + void 0 === e && (e = 5), + void 0 === i && (i = 2); + var n = 0 + , a = 0; + if ((a = t.length) < 2 * (i + 1)) + return []; + var r; + switch (r = [], + i) { + case 2: + this._calFun = this.getPoint2; + break; + case 3: + this._calFun = this.getPoint3; + break; + default: + return [] + } + for (; this._controlPoints.length <= i; ) + this._controlPoints.push(new M); + for (n = 0; n < 2 * i; n += 2) + this._switchPoint(t[n], t[n + 1]); + for (n = 2 * i; n < a; n += 2) + this._switchPoint(t[n], t[n + 1]), + n / 2 % i == 0 && this.insertPoints(e, r); + return r + } + , + n(t, ["I", function() { + return this.I = new t + } + ]), + t + }()) + , I = function() { + function t() {} + return a(t, "laya.maths.GrahamScan"), + t.multiply = function(t, e, i) { + return (t.x - i.x) * (e.y - i.y) - (e.x - i.x) * (t.y - i.y) + } + , + t.dis = function(t, e) { + return (t.x - e.x) * (t.x - e.x) + (t.y - e.y) * (t.y - e.y) + } + , + t._getPoints = function(e, i, n) { + for (void 0 === i && (i = !1), + t._mPointList || (t._mPointList = []); t._mPointList.length < e; ) + t._mPointList.push(new M); + return n || (n = []), + n.length = 0, + i ? t.getFrom(n, t._mPointList, e) : t.getFromR(n, t._mPointList, e), + n + } + , + t.getFrom = function(t, e, i) { + var n = 0; + for (n = 0; n < i; n++) + t.push(e[n]); + return t + } + , + t.getFromR = function(t, e, i) { + var n = 0; + for (n = 0; n < i; n++) + t.push(e.pop()); + return t + } + , + t.pListToPointList = function(e, i) { + void 0 === i && (i = !1); + var n = 0 + , a = e.length / 2 + , r = t._getPoints(a, i, t._tempPointList); + for (n = 0; n < a; n++) + r[n].setTo(e[n + n], e[n + n + 1]); + return r + } + , + t.pointListToPlist = function(e) { + var i, n = 0, a = e.length, r = t._temPList; + for (r.length = 0, + n = 0; n < a; n++) + i = e[n], + r.push(i.x, i.y); + return r + } + , + t.scanPList = function(e) { + return J.copyArray(e, t.pointListToPlist(t.scan(t.pListToPointList(e, !0)))) + } + , + t.scan = function(e) { + var i, n, a, r = 0, s = 0, o = 0, l = e.length, h = {}; + for ((n = t._temArr).length = 0, + r = (l = e.length) - 1; r >= 0; r--) + a = (i = e[r]).x + "_" + i.y, + h.hasOwnProperty(a) || (h[a] = !0, + n.push(i)); + for (l = n.length, + J.copyArray(e, n), + r = 1; r < l; r++) + (e[r].y < e[o].y || e[r].y == e[o].y && e[r].x < e[o].x) && (o = r); + for (i = e[0], + e[0] = e[o], + e[o] = i, + r = 1; r < l - 1; r++) { + for (o = r, + s = r + 1; s < l; s++) + (t.multiply(e[s], e[o], e[0]) > 0 || 0 == t.multiply(e[s], e[o], e[0]) && t.dis(e[0], e[s]) < t.dis(e[0], e[o])) && (o = s); + i = e[r], + e[r] = e[o], + e[o] = i + } + if (n = t._temArr, + n.length = 0, + e.length < 3) + return J.copyArray(n, e); + for (n.push(e[0], e[1], e[2]), + r = 3; r < l; r++) { + for (; n.length >= 2 && t.multiply(e[r], n[n.length - 1], n[n.length - 2]) >= 0; ) + n.pop(); + e[r] && n.push(e[r]) + } + return n + } + , + t._mPointList = null, + t._tempPointList = [], + t._temPList = [], + t._temArr = [], + t + }() + , C = function() { + function t() {} + return a(t, "laya.maths.MathUtil"), + t.subtractVector3 = function(t, e, i) { + i[0] = t[0] - e[0], + i[1] = t[1] - e[1], + i[2] = t[2] - e[2] + } + , + t.lerp = function(t, e, i) { + return t * (1 - i) + e * i + } + , + t.scaleVector3 = function(t, e, i) { + i[0] = t[0] * e, + i[1] = t[1] * e, + i[2] = t[2] * e + } + , + t.lerpVector3 = function(t, e, i, n) { + var a = t[0] + , r = t[1] + , s = t[2]; + n[0] = a + i * (e[0] - a), + n[1] = r + i * (e[1] - r), + n[2] = s + i * (e[2] - s) + } + , + t.lerpVector4 = function(t, e, i, n) { + var a = t[0] + , r = t[1] + , s = t[2] + , o = t[3]; + n[0] = a + i * (e[0] - a), + n[1] = r + i * (e[1] - r), + n[2] = s + i * (e[2] - s), + n[3] = o + i * (e[3] - o) + } + , + t.slerpQuaternionArray = function(t, e, i, n, a, r, s) { + var o, l, h, c, _, u = t[e + 0], d = t[e + 1], f = t[e + 2], p = t[e + 3], m = i[n + 0], g = i[n + 1], y = i[n + 2], v = i[n + 3]; + return (l = u * m + d * g + f * y + p * v) < 0 && (l = -l, + m = -m, + g = -g, + y = -y, + v = -v), + 1 - l > 1e-6 ? (o = Math.acos(l), + h = Math.sin(o), + c = Math.sin((1 - a) * o) / h, + _ = Math.sin(a * o) / h) : (c = 1 - a, + _ = a), + r[s + 0] = c * u + _ * m, + r[s + 1] = c * d + _ * g, + r[s + 2] = c * f + _ * y, + r[s + 3] = c * p + _ * v, + r + } + , + t.getRotation = function(t, e, i, n) { + return Math.atan2(n - e, i - t) / Math.PI * 180 + } + , + t.sortBigFirst = function(t, e) { + return t == e ? 0 : e > t ? 1 : -1 + } + , + t.sortSmallFirst = function(t, e) { + return t == e ? 0 : e > t ? -1 : 1 + } + , + t.sortNumBigFirst = function(t, e) { + return parseFloat(e) - parseFloat(t) + } + , + t.sortNumSmallFirst = function(t, e) { + return parseFloat(t) - parseFloat(e) + } + , + t.sortByKey = function(e, i, n) { + void 0 === i && (i = !1), + void 0 === n && (n = !0); + var a; + return a = i ? n ? t.sortNumBigFirst : t.sortBigFirst : n ? t.sortNumSmallFirst : t.sortSmallFirst, + function(t, i) { + return a(t[e], i[e]) + } + } + , + t + }() + , S = function() { + function t(t, e, i, n, a, r) { + this.inPool = !1, + this.bTransform = !1, + void 0 === t && (t = 1), + void 0 === e && (e = 0), + void 0 === i && (i = 0), + void 0 === n && (n = 1), + void 0 === a && (a = 0), + void 0 === r && (r = 0), + this.a = t, + this.b = e, + this.c = i, + this.d = n, + this.tx = a, + this.ty = r, + this._checkTransform() + } + a(t, "laya.maths.Matrix"); + var e = t.prototype; + return e.identity = function() { + return this.a = this.d = 1, + this.b = this.tx = this.ty = this.c = 0, + this.bTransform = !1, + this + } + , + e._checkTransform = function() { + return this.bTransform = 1 !== this.a || 0 !== this.b || 0 !== this.c || 1 !== this.d + } + , + e.setTranslate = function(t, e) { + return this.tx = t, + this.ty = e, + this + } + , + e.translate = function(t, e) { + return this.tx += t, + this.ty += e, + this + } + , + e.scale = function(t, e) { + this.a *= t, + this.d *= e, + this.c *= t, + this.b *= e, + this.tx *= t, + this.ty *= e, + this.bTransform = !0 + } + , + e.rotate = function(t) { + var e = Math.cos(t) + , i = Math.sin(t) + , n = this.a + , a = this.c + , r = this.tx; + this.a = n * e - this.b * i, + this.b = n * i + this.b * e, + this.c = a * e - this.d * i, + this.d = a * i + this.d * e, + this.tx = r * e - this.ty * i, + this.ty = r * i + this.ty * e, + this.bTransform = !0 + } + , + e.skew = function(t, e) { + var i = Math.tan(t) + , n = Math.tan(e) + , a = this.a + , r = this.b; + return this.a += n * this.c, + this.b += n * this.d, + this.c += i * a, + this.d += i * r, + this + } + , + e.invertTransformPoint = function(t) { + var e = this.a + , i = this.b + , n = this.c + , a = this.d + , r = this.tx + , s = e * a - i * n + , o = a / s + , l = -i / s + , h = -n / s + , c = e / s + , _ = (n * this.ty - a * r) / s + , u = -(e * this.ty - i * r) / s; + return t.setTo(o * t.x + h * t.y + _, l * t.x + c * t.y + u) + } + , + e.transformPoint = function(t) { + return t.setTo(this.a * t.x + this.c * t.y + this.tx, this.b * t.x + this.d * t.y + this.ty) + } + , + e.transformPointN = function(t) { + return t.setTo(this.a * t.x + this.c * t.y, this.b * t.x + this.d * t.y) + } + , + e.transformPointArray = function(t, e) { + for (var i = t.length, n = 0; n < i; n += 2) { + var a = t[n] + , r = t[n + 1]; + e[n] = this.a * a + this.c * r + this.tx, + e[n + 1] = this.b * a + this.d * r + this.ty + } + return e + } + , + e.transformPointArrayScale = function(t, e) { + for (var i = t.length, n = 0; n < i; n += 2) { + var a = t[n] + , r = t[n + 1]; + e[n] = this.a * a + this.c * r, + e[n + 1] = this.b * a + this.d * r + } + return e + } + , + e.getScaleX = function() { + return 0 === this.b ? this.a : Math.sqrt(this.a * this.a + this.b * this.b) + } + , + e.getScaleY = function() { + return 0 === this.c ? this.d : Math.sqrt(this.c * this.c + this.d * this.d) + } + , + e.invert = function() { + var t = this.a + , e = this.b + , i = this.c + , n = this.d + , a = this.tx + , r = t * n - e * i; + return this.a = n / r, + this.b = -e / r, + this.c = -i / r, + this.d = t / r, + this.tx = (i * this.ty - n * a) / r, + this.ty = -(t * this.ty - e * a) / r, + this + } + , + e.setTo = function(t, e, i, n, a, r) { + return this.a = t, + this.b = e, + this.c = i, + this.d = n, + this.tx = a, + this.ty = r, + this + } + , + e.concat = function(t) { + var e = this.a + , i = this.c + , n = this.tx; + return this.a = e * t.a + this.b * t.c, + this.b = e * t.b + this.b * t.d, + this.c = i * t.a + this.d * t.c, + this.d = i * t.b + this.d * t.d, + this.tx = n * t.a + this.ty * t.c + t.tx, + this.ty = n * t.b + this.ty * t.d + t.ty, + this + } + , + e.scaleEx = function(t, e) { + var i = this.a + , n = this.b + , a = this.c + , r = this.d; + 0 !== n || 0 !== a ? (this.a = t * i, + this.b = t * n, + this.c = e * a, + this.d = e * r) : (this.a = t * i, + this.b = 0 * r, + this.c = 0 * i, + this.d = e * r), + this.bTransform = !0 + } + , + e.rotateEx = function(t) { + var e = Math.cos(t) + , i = Math.sin(t) + , n = this.a + , a = this.b + , r = this.c + , s = this.d; + 0 !== a || 0 !== r ? (this.a = e * n + i * r, + this.b = e * a + i * s, + this.c = -i * n + e * r, + this.d = -i * a + e * s) : (this.a = e * n, + this.b = i * s, + this.c = -i * n, + this.d = e * s), + this.bTransform = !0 + } + , + e.clone = function() { + var e = t.create(); + return 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.bTransform = this.bTransform, + e + } + , + e.copyTo = function(t) { + return t.a = this.a, + t.b = this.b, + t.c = this.c, + t.d = this.d, + t.tx = this.tx, + t.ty = this.ty, + t.bTransform = this.bTransform, + t + } + , + e.toString = function() { + return this.a + "," + this.b + "," + this.c + "," + this.d + "," + this.tx + "," + this.ty + } + , + e.destroy = function() { + if (!this.inPool) { + var e = t._cache; + this.inPool = !0, + e._length || (e._length = 0), + e[e._length++] = this, + this.a = this.d = 1, + this.b = this.c = this.tx = this.ty = 0, + this.bTransform = !1 + } + } + , + t.mul = function(t, e, i) { + var n = t.a + , a = t.b + , r = t.c + , s = t.d + , o = t.tx + , l = t.ty + , h = e.a + , c = e.b + , _ = e.c + , u = e.d + , d = e.tx + , f = e.ty; + return 0 !== c || 0 !== _ ? (i.a = n * h + a * _, + i.b = n * c + a * u, + i.c = r * h + s * _, + i.d = r * c + s * u, + i.tx = h * o + _ * l + d, + i.ty = c * o + u * l + f) : (i.a = n * h, + i.b = a * u, + i.c = r * h, + i.d = s * u, + i.tx = h * o + d, + i.ty = u * l + f), + i + } + , + t.mul16 = function(t, e, i) { + var n = t.a + , a = t.b + , r = t.c + , s = t.d + , o = t.tx + , l = t.ty + , h = e.a + , c = e.b + , _ = e.c + , u = e.d + , d = e.tx + , f = e.ty; + return 0 !== c || 0 !== _ ? (i[0] = n * h + a * _, + i[1] = n * c + a * u, + i[4] = r * h + s * _, + i[5] = r * c + s * u, + i[12] = h * o + _ * l + d, + i[13] = c * o + u * l + f) : (i[0] = n * h, + i[1] = a * u, + i[4] = r * h, + i[5] = s * u, + i[12] = h * o + d, + i[13] = u * l + f), + i + } + , + t.mulPre = function(t, e, i, n, a, r, s, o) { + var l = t.a + , h = t.b + , c = t.c + , _ = t.d + , u = t.tx + , d = t.ty; + return 0 !== i || 0 !== n ? (o.a = l * e + h * n, + o.b = l * i + h * a, + o.c = c * e + _ * n, + o.d = c * i + _ * a, + o.tx = e * u + n * d + r, + o.ty = i * u + a * d + s) : (o.a = l * e, + o.b = h * a, + o.c = c * e, + o.d = _ * a, + o.tx = e * u + r, + o.ty = a * d + s), + o + } + , + t.mulPos = function(t, e, i, n, a, r, s, o) { + var l = t.a + , h = t.b + , c = t.c + , _ = t.d + , u = t.tx + , d = t.ty; + return 0 !== h || 0 !== c ? (o.a = e * l + i * c, + o.b = e * h + i * _, + o.c = n * l + a * c, + o.d = n * h + a * _, + o.tx = l * r + c * s + u, + o.ty = h * r + _ * s + d) : (o.a = e * l, + o.b = i * _, + o.c = n * l, + o.d = a * _, + o.tx = l * r + u, + o.ty = _ * s + d), + o + } + , + t.preMul = function(t, e, i) { + var n = t.a + , a = t.b + , r = t.c + , s = t.d + , o = e.a + , l = e.b + , h = e.c + , c = e.d + , _ = e.tx + , u = e.ty; + return i.a = o * n, + i.b = i.c = 0, + i.d = c * s, + i.tx = _ * n + t.tx, + i.ty = u * s + t.ty, + 0 === l && 0 === h && 0 === a && 0 === r || (i.a += l * r, + i.d += h * a, + i.b += o * a + l * s, + i.c += h * n + c * r, + i.tx += u * r, + i.ty += _ * a), + i + } + , + t.preMulXY = function(t, e, i, n) { + var a = t.a + , r = t.b + , s = t.c + , o = t.d; + return n.a = a, + n.b = r, + n.c = s, + n.d = o, + n.tx = e * a + t.tx + i * s, + n.ty = i * o + t.ty + e * r, + n + } + , + t.create = function() { + var e = t._cache + , i = e._length ? e[--e._length] : new t; + return i.inPool = !1, + i + } + , + t.EMPTY = new t, + t.TEMP = new t, + t._cache = [], + t + }() + , M = function() { + function t(t, e) { + void 0 === t && (t = 0), + void 0 === e && (e = 0), + this.x = t, + this.y = e + } + a(t, "laya.maths.Point"); + var e = t.prototype; + return e.setTo = function(t, e) { + return this.x = t, + this.y = e, + this + } + , + e.distance = function(t, e) { + return Math.sqrt((this.x - t) * (this.x - t) + (this.y - e) * (this.y - e)) + } + , + e.toString = function() { + return this.x + "," + this.y + } + , + e.normalize = function() { + var t = Math.sqrt(this.x * this.x + this.y * this.y); + if (t > 0) { + var e = 1 / t; + this.x *= e, + this.y *= e + } + } + , + t.TEMP = new t, + t.EMPTY = new t, + t + }() + , L = function() { + function t(t, e, i, n) { + void 0 === t && (t = 0), + void 0 === e && (e = 0), + void 0 === i && (i = 0), + void 0 === n && (n = 0), + this.x = t, + this.y = e, + this.width = i, + this.height = n + } + a(t, "laya.maths.Rectangle"); + var e = t.prototype; + return e.setTo = function(t, e, i, n) { + return this.x = t, + this.y = e, + this.width = i, + this.height = n, + this + } + , + e.copyFrom = function(t) { + return this.x = t.x, + this.y = t.y, + this.width = t.width, + this.height = t.height, + this + } + , + e.contains = function(t, e) { + return !(this.width <= 0 || this.height <= 0) && (t >= this.x && t < this.right && e >= this.y && e < this.bottom) + } + , + e.intersects = function(t) { + return !(t.x > this.x + this.width || t.x + t.width < this.x || t.y > this.y + this.height || t.y + t.height < this.y) + } + , + e.intersection = function(e, i) { + return this.intersects(e) ? (i || (i = new t), + i.x = Math.max(this.x, e.x), + i.y = Math.max(this.y, e.y), + i.width = Math.min(this.right, e.right) - i.x, + i.height = Math.min(this.bottom, e.bottom) - i.y, + i) : null + } + , + e.union = function(e, i) { + return i || (i = new t), + this.clone(i), + e.width <= 0 || e.height <= 0 ? i : (i.addPoint(e.x, e.y), + i.addPoint(e.right, e.bottom), + this) + } + , + e.clone = function(e) { + return e || (e = new t), + e.x = this.x, + e.y = this.y, + e.width = this.width, + e.height = this.height, + e + } + , + e.toString = function() { + return this.x + "," + this.y + "," + this.width + "," + this.height + } + , + e.equals = function(t) { + return !(!t || t.x !== this.x || t.y !== this.y || t.width !== this.width || t.height !== this.height) + } + , + e.addPoint = function(t, e) { + return this.x > t && (this.width += this.x - t, + this.x = t), + this.y > e && (this.height += this.y - e, + this.y = e), + this.width < t - this.x && (this.width = t - this.x), + this.height < e - this.y && (this.height = e - this.y), + this + } + , + e._getBoundPoints = function() { + var e = t._temB; + return e.length = 0, + 0 == this.width || 0 == this.height ? e : (e.push(this.x, this.y, this.x + this.width, this.y, this.x, this.y + this.height, this.x + this.width, this.y + this.height), + e) + } + , + e.isEmpty = function() { + return this.width <= 0 || this.height <= 0 + } + , + r(0, e, "right", function() { + return this.x + this.width + }), + r(0, e, "bottom", function() { + return this.y + this.height + }), + t._getBoundPointS = function(e, i, n, a) { + var r = t._temA; + return r.length = 0, + 0 == n || 0 == a ? r : (r.push(e, i, e + n, i, e, i + a, e + n, i + a), + r) + } + , + t._getWrapRec = function(e, i) { + if (!e || e.length < 1) + return i ? i.setTo(0, 0, 0, 0) : t.TEMP.setTo(0, 0, 0, 0); + i = i || new t; + var n, a, r, s, o, l = e.length, h = M.TEMP; + for (r = o = -(a = s = 99999), + n = 0; n < l; n += 2) + h.x = e[n], + h.y = e[n + 1], + a = a < h.x ? a : h.x, + s = s < h.y ? s : h.y, + r = r > h.x ? r : h.x, + o = o > h.y ? o : h.y; + return i.setTo(a, s, r - a, o - s) + } + , + t.EMPTY = new t, + t.TEMP = new t, + t._temB = [], + t._temA = [], + t + }() + , T = function() { + function t() {} + return a(t, "laya.media.SoundManager"), + r(1, t, "useAudioMusic", function() { + return t._useAudioMusic + }, function(e) { + t._useAudioMusic = e, + t._musicClass = e ? et : null + }), + r(1, t, "autoStopMusic", function() { + return t._autoStopMusic + }, function(e) { + i.stage.off("blur", null, t._stageOnBlur), + i.stage.off("focus", null, t._stageOnFocus), + i.stage.off("visibilitychange", null, t._visibilityChange), + t._autoStopMusic = e, + e && (i.stage.on("blur", null, t._stageOnBlur), + i.stage.on("focus", null, t._stageOnFocus), + i.stage.on("visibilitychange", null, t._visibilityChange)) + }), + r(1, t, "muted", function() { + return t._muted + }, function(e) { + e != t._muted && (e && t.stopAllSound(), + t.musicMuted = e, + t._muted = e) + }), + r(1, t, "musicMuted", function() { + return t._musicMuted + }, function(e) { + e != t._musicMuted && (e ? (t._tMusic && t._musicChannel && !t._musicChannel.isStopped ? t._musicChannel.pause() : t._musicChannel = null, + t._musicMuted = e) : (t._musicMuted = e, + t._tMusic && t._musicChannel && t._musicChannel.resume())) + }), + r(1, t, "soundMuted", function() { + return t._soundMuted + }, function(e) { + t._soundMuted = e + }), + t.addChannel = function(e) { + t._channels.indexOf(e) >= 0 || t._channels.push(e) + } + , + t.removeChannel = function(e) { + var i = 0; + for (i = t._channels.length - 1; i >= 0; i--) + t._channels[i] == e && t._channels.splice(i, 1) + } + , + t.disposeSoundIfNotUsed = function(e) { + var i = 0; + for (i = t._channels.length - 1; i >= 0; i--) + if (t._channels[i].url == e) + return; + t.destroySound(e) + } + , + t._visibilityChange = function() { + i.stage.isVisibility ? t._stageOnFocus() : t._stageOnBlur() + } + , + t._stageOnBlur = function() { + t._isActive = !1, + t._musicChannel && (t._musicChannel.isStopped || (t._blurPaused = !0, + t._musicChannel.pause())), + t.stopAllSound(), + i.stage.once("mousedown", null, t._stageOnFocus) + } + , + t._recoverWebAudio = function() { + at.ctx && "running" != at.ctx.state && at.ctx.resume() + } + , + t._stageOnFocus = function() { + t._isActive = !0, + t._recoverWebAudio(), + i.stage.off("mousedown", null, t._stageOnFocus), + t._blurPaused && t._musicChannel && t._musicChannel.isStopped && (t._blurPaused = !1, + t._musicChannel.resume()) + } + , + t.playSound = function(e, n, a, r, s) { + if (void 0 === n && (n = 1), + void 0 === s && (s = 0), + !t._isActive || !e) + return null; + if (t._muted) + return null; + if (t._recoverWebAudio(), + (e = N.formatURL(e)) == t._tMusic) { + if (t._musicMuted) + return null + } else { + if (A.isConchApp) { + var o = J.getFileExtension(e); + if ("wav" != o && "ogg" != o) + return alert("The sound only supports wav or ogg format,for optimal performance reason,please refer to the official website document."), + null + } + if (t._soundMuted) + return null + } + var l; + O.onMiniGame || (l = i.loader.getRes(e)), + r || (r = t._soundClass), + l || ((l = new r).load(e), + st.cacheRes(e, l)); + var h; + return (h = l.play(s, n)) ? (h.url = e, + h.volume = e == t._tMusic ? t.musicVolume : t.soundVolume, + h.completeHandler = a, + h) : null + } + , + t.destroySound = function(t) { + var e = i.loader.getRes(t); + e && (st.clearRes(t), + e.dispose()) + } + , + t.playMusic = function(e, i, n, a) { + return void 0 === i && (i = 0), + void 0 === a && (a = 0), + e = N.formatURL(e), + t._tMusic = e, + t._musicChannel && t._musicChannel.stop(), + t._musicChannel = t.playSound(e, i, n, t._musicClass, a) + } + , + t.stopSound = function(e) { + e = N.formatURL(e); + var i, n = 0; + for (n = t._channels.length - 1; n >= 0; n--) + (i = t._channels[n]).url == e && i.stop() + } + , + t.stopAll = function() { + t._tMusic = null; + var e = 0; + for (e = t._channels.length - 1; e >= 0; e--) + t._channels[e].stop() + } + , + t.stopAllSound = function() { + var e, i = 0; + for (i = t._channels.length - 1; i >= 0; i--) + (e = t._channels[i]).url != t._tMusic && e.stop() + } + , + t.stopMusic = function() { + t._musicChannel && t._musicChannel.stop(), + t._tMusic = null + } + , + t.setSoundVolume = function(e, i) { + if (i) + i = N.formatURL(i), + t._setVolume(i, e); + else { + t.soundVolume = e; + var n, a = 0; + for (a = t._channels.length - 1; a >= 0; a--) + (n = t._channels[a]).url != t._tMusic && (n.volume = e) + } + } + , + t.setMusicVolume = function(e) { + t.musicVolume = e, + t._setVolume(t._tMusic, e) + } + , + t._setVolume = function(e, i) { + e = N.formatURL(e); + var n, a = 0; + for (a = t._channels.length - 1; a >= 0; a--) + (n = t._channels[a]).url == e && (n.volume = i) + } + , + t.musicVolume = 1, + t.soundVolume = 1, + t.playbackRate = 1, + t._useAudioMusic = !0, + t._muted = !1, + t._soundMuted = !1, + t._musicMuted = !1, + t._tMusic = null, + t._musicChannel = null, + t._channels = [], + t._autoStopMusic = !1, + t._blurPaused = !1, + t._isActive = !0, + t._soundClass = null, + t._musicClass = null, + t.autoReleaseSound = !0, + t + }() + , E = function() { + function e() {} + var i; + return a(e, "laya.net.LocalStorage"), + e.__init__ = function() { + e._baseClass || (e._baseClass = i, + i.init()), + e.items = e._baseClass.items, + e.support = e._baseClass.support + } + , + e.setItem = function(t, i) { + e._baseClass.setItem(t, i) + } + , + e.getItem = function(t) { + return e._baseClass.getItem(t) + } + , + e.setJSON = function(t, i) { + e._baseClass.setJSON(t, i) + } + , + e.getJSON = function(t) { + return e._baseClass.getJSON(t) + } + , + e.removeItem = function(t) { + e._baseClass.removeItem(t) + } + , + e.clear = function() { + e._baseClass.clear() + } + , + e._baseClass = null, + e.items = null, + e.support = !1, + e.__init$ = function() { + i = function() { + function e() {} + return a(e, ""), + e.init = function() { + try { + e.items = t.localStorage, + e.setItem("laya", "1"), + e.removeItem("laya"), + e.support = !0 + } catch (t) {} + e.support || console.log("LocalStorage is not supprot or browser is private mode.") + } + , + e.setItem = function(t, i) { + try { + e.support && e.items.setItem(t, i) + } catch (t) { + console.warn("set localStorage failed", t) + } + } + , + e.getItem = function(t) { + return e.support ? e.items.getItem(t) : null + } + , + e.setJSON = function(t, i) { + try { + e.support && e.items.setItem(t, JSON.stringify(i)) + } catch (t) { + console.warn("set localStorage failed", t) + } + } + , + e.getJSON = function(t) { + return JSON.parse(e.support ? e.items.getItem(t) : null) + } + , + e.removeItem = function(t) { + e.support && e.items.removeItem(t) + } + , + e.clear = function() { + e.support && e.items.clear() + } + , + e.items = null, + e.support = !1, + e + }() + } + , + e + }() + , D = (function() { + function t() {} + a(t, "laya.net.ResourceVersion"), + t.enable = function(e, n, a) { + void 0 === a && (a = 2), + laya.net.ResourceVersion.type = a, + i.loader.load(e, h.create(null, t.onManifestLoaded, [n]), null, "json"), + N.customFormat = t.addVersionPrefix + } + , + t.onManifestLoaded = function(e, i) { + t.manifest = i, + e.run(), + i || console.warn("资源版本清单文件不存在,不使用资源版本管理。忽略ERR_FILE_NOT_FOUND错误。") + } + , + t.addVersionPrefix = function(e) { + return t.manifest && t.manifest[e] ? 2 == t.type ? t.manifest[e] : t.manifest[e] + "/" + e : e + } + , + t.FOLDER_VERSION = 1, + t.FILENAME_VERSION = 2, + t.manifest = null, + t.type = 1 + }(), + function() { + function t() { + this.fontName = null, + this.complete = null, + this.err = null, + this._fontTxt = null, + this._url = null, + this._div = null, + this._txtWidth = NaN, + this._http = null + } + a(t, "laya.net.TTFLoader"); + var e = t.prototype; + return e.load = function(t) { + this._url = t; + var e = t.split(".ttf")[0].split("/"); + this.fontName = e[e.length - 1], + O.window.conch ? this._loadConch() : O.window.FontFace ? this._loadWithFontFace() : this._loadWithCSS() + } + , + e._loadConch = function() { + this._http = new rt, + this._http.on("error", this, this._onErr), + this._http.on("complete", this, this._onHttpLoaded), + this._http.send(this._url, null, "get", "arraybuffer") + } + , + e._onHttpLoaded = function(t) { + O.window.conch.setFontFaceFromBuffer(this.fontName, t), + this._clearHttp(), + this._complete() + } + , + e._clearHttp = function() { + this._http && (this._http.off("error", this, this._onErr), + this._http.off("complete", this, this._onHttpLoaded), + this._http = null) + } + , + e._onErr = function() { + this._clearHttp(), + this.err && (this.err.runWith("fail:" + this._url), + this.err = null) + } + , + e._complete = function() { + i.timer.clear(this, this._complete), + i.timer.clear(this, this._checkComplete), + this._div && this._div.parentNode && (this._div.parentNode.removeChild(this._div), + this._div = null), + this.complete && (this.complete.runWith(this), + this.complete = null) + } + , + e._checkComplete = function() { + s.measureText("LayaTTFFont", this._fontTxt).width != this._txtWidth && this._complete() + } + , + e._loadWithFontFace = function() { + var t = new O.window.FontFace(this.fontName,"url('" + this._url + "')"); + O.window.document.fonts.add(t); + var e = this; + t.loaded.then(function() { + e._complete() + }), + t.load() + } + , + e._createDiv = function() { + this._div = O.createElement("div"), + this._div.innerHTML = "laya"; + var t = this._div.style; + t.fontFamily = this.fontName, + t.position = "absolute", + t.left = "-100px", + t.top = "-100px", + O.document.body.appendChild(this._div) + } + , + e._loadWithCSS = function() { + var t = this + , e = O.createElement("style"); + e.type = "text/css", + O.document.body.appendChild(e), + e.textContent = "@font-face { font-family:'" + this.fontName + "'; src:url('" + this._url + "');}", + this._fontTxt = "40px " + this.fontName, + this._txtWidth = s.measureText("LayaTTFFont", this._fontTxt).width; + var n = this; + e.onload = function() { + i.timer.once(1e4, n, t._complete) + } + , + i.timer.loop(20, this, this._checkComplete), + this._createDiv() + } + , + t._testString = "LayaTTFFont", + t + }()) + , N = function() { + function t(e) { + this._url = null, + this._path = null, + this._url = t.formatURL(e), + this._path = t.getPath(e) + } + a(t, "laya.net.URL"); + var e = t.prototype; + return r(0, e, "path", function() { + return this._path + }), + r(0, e, "url", function() { + return this._url + }), + t.formatURL = function(e, i) { + if (!e) + return "null path"; + if (e.indexOf(":") > 0) + return e; + null != t.customFormat && (e = t.customFormat(e, i)); + var n = e.charAt(0); + if ("." === n) + return t.formatRelativePath((i || t.basePath) + e); + if ("~" === n) + return t.rootPath + e.substring(1); + if ("d" === n) { + if (0 === e.indexOf("data:image")) + return e + } else if ("/" === n) + return e; + return (i || t.basePath) + e + } + , + t.formatRelativePath = function(t) { + for (var e = t.split("/"), i = 0, n = e.length; i < n; i++) + ".." == e[i] && (e.splice(i - 1, 2), + i -= 2); + return e.join("/") + } + , + t.isAbsolute = function(t) { + return t.indexOf(":") > 0 || "/" == t.charAt(0) + } + , + t.getPath = function(t) { + var e = t.lastIndexOf("/"); + return e > 0 ? t.substr(0, e + 1) : "" + } + , + t.getPathcaps = function(t) { + var e = t.indexOf("/"); + if (e > 0) { + var i = t.substr(0, e); + return "v" == i[0] && i.indexOf(".") > 0 && ("a" == i[i.length - 1] || "w" == i[i.length - 1]) ? this.getPath(t.substr(e + 1)) : this.getPath(t) + } + return this.getPath(t) + } + , + t.getFileName = function(t) { + var e = t.lastIndexOf("/"); + return e > 0 ? t.substr(e + 1) : t + } + , + t.version = {}, + t.basePath = "", + t.rootPath = "", + t.customFormat = function(e) { + var i = t.version[e]; + return !A.isConchApp && i && (e += "?v=" + i), + e + } + , + t + }() + , A = function() { + function e(t, n) { + function a() { + i.stage._loop(), + O.window.requestAnimationFrame(a) + } + this._timeId = 0; + var r = e._mainCanvas.source.style; + r.position = "absolute", + r.top = r.left = "0px", + r.background = "#000000", + e._mainCanvas.source.id = "layaCanvas"; + var s = laya.renders.Render.isWebGL; + e._mainCanvas.source.width = t, + e._mainCanvas.source.height = n, + s && e.WebGL.init(e._mainCanvas, t, n), + O.container.appendChild(e._mainCanvas.source), + (e._context = new B(t,n,s ? null : e._mainCanvas)).ctx.setIsMainContext(), + O.window.requestAnimationFrame(a), + i.stage.on("visibilitychange", this, this._onVisibilitychange) + } + a(e, "laya.renders.Render"); + var n = e.prototype; + return n._onVisibilitychange = function() { + i.stage.isVisibility ? 0 != this._timeId && O.window.clearInterval(this._timeId) : this._timeId = O.window.setInterval(this._enterFrame, 1e3) + } + , + n._enterFrame = function(t) { + i.stage._loop() + } + , + r(1, e, "context", function() { + return e._context + }), + r(1, e, "canvas", function() { + return e._mainCanvas.source + }), + e._context = null, + e._mainCanvas = null, + e.WebGL = null, + e.isConchNode = !1, + e.isConchApp = !1, + e.isConchWebGL = !1, + e.isWebGL = !1, + e.is3DMode = !1, + e.optimizeTextureMemory = function(t, e) { + return !0 + } + , + e.__init$ = function() { + t.ConchRenderType = t.ConchRenderType || 1, + t.ConchRenderType |= t.conch ? 4 : 0, + e.isConchNode = 5 == (5 & t.ConchRenderType), + e.isConchApp = 4 == (4 & t.ConchRenderType), + e.isConchWebGL = 6 == t.ConchRenderType + } + , + e + }() + , B = function() { + function t(e, i, n) { + this.x = 0, + this.y = 0, + this._drawTexture = function(t, e, i) { + i[0].loaded && this.ctx.drawTexture(i[0], i[1], i[2], i[3], i[4], t, e) + } + , + this._fillTexture = function(t, e, i) { + i[0].loaded && this.ctx.fillTexture(i[0], i[1] + t, i[2] + e, i[3], i[4], i[5], i[6], i[7]) + } + , + this._drawTextureWithTransform = function(t, e, i) { + i[0].loaded && this.ctx.drawTextureWithTransform(i[0], i[1], i[2], i[3], i[4], i[5], t, e, i[6]) + } + , + this._fillQuadrangle = function(t, e, i) { + this.ctx.fillQuadrangle(i[0], i[1], i[2], i[3], i[4]) + } + , + this._drawRect = function(t, e, i) { + var n = this.ctx; + null != i[4] && (n.fillStyle = i[4], + n.fillRect(t + i[0], e + i[1], i[2], i[3], null)), + null != i[5] && (n.strokeStyle = i[5], + n.lineWidth = i[6], + n.strokeRect(t + i[0], e + i[1], i[2], i[3], i[6])) + } + , + this._drawPie = function(t, e, i) { + var n = this.ctx; + A.isWebGL && n.setPathId(i[8]), + n.beginPath(), + A.isWebGL ? (n.movePath(i[0] + t, i[1] + e), + n.moveTo(0, 0)) : n.moveTo(t + i[0], e + i[1]), + n.arc(t + i[0], e + i[1], i[2], i[3], i[4]), + n.closePath(), + this._fillAndStroke(i[5], i[6], i[7], !0) + } + , + this._clipRect = function(t, e, i) { + this.ctx.clipRect(t + i[0], e + i[1], i[2], i[3]) + } + , + this._fillRect = function(t, e, i) { + this.ctx.fillRect(t + i[0], e + i[1], i[2], i[3], i[4]) + } + , + this._drawCircle = function(e, i, n) { + var a = this.ctx; + A.isWebGL && a.setPathId(n[6]), + X.drawCall++, + a.beginPath(), + A.isWebGL && a.movePath(n[0] + e, n[1] + i), + a.arc(n[0] + e, n[1] + i, n[2], 0, t.PI2), + a.closePath(), + this._fillAndStroke(n[3], n[4], n[5], !0) + } + , + this._fillCircle = function(e, i, n) { + X.drawCall++; + var a = this.ctx; + a.beginPath(), + a.fillStyle = n[3], + a.arc(n[0] + e, n[1] + i, n[2], 0, t.PI2), + a.fill() + } + , + this._setShader = function(t, e, i) { + this.ctx.setShader(i[0]) + } + , + this._drawLine = function(t, e, i) { + var n = this.ctx; + A.isWebGL && n.setPathId(i[6]), + n.beginPath(), + n.strokeStyle = i[4], + n.lineWidth = i[5], + A.isWebGL ? (n.movePath(t, e), + n.moveTo(i[0], i[1]), + n.lineTo(i[2], i[3])) : (n.moveTo(t + i[0], e + i[1]), + n.lineTo(t + i[2], e + i[3])), + n.stroke() + } + , + this._drawLines = function(t, e, i) { + var n = this.ctx; + A.isWebGL && n.setPathId(i[5]), + n.beginPath(), + t += i[0], + e += i[1], + A.isWebGL && n.movePath(t, e), + n.strokeStyle = i[3], + n.lineWidth = i[4]; + var a = i[2] + , r = 2 + , s = a.length; + if (A.isWebGL) + for (n.moveTo(a[0], a[1]); r < s; ) + n.lineTo(a[r++], a[r++]); + else + for (n.moveTo(t + a[0], e + a[1]); r < s; ) + n.lineTo(t + a[r++], e + a[r++]); + n.stroke() + } + , + this._drawLinesWebGL = function(t, e, i) { + this.ctx.drawLines(t + this.x + i[0], e + this.y + i[1], i[2], i[3], i[4]) + } + , + this._drawCurves = function(t, e, i) { + this.ctx.drawCurves(t, e, i) + } + , + this._draw = function(t, e, i) { + i[0].call(null, this, t, e) + } + , + this._transformByMatrix = function(t, e, i) { + this.ctx.transformByMatrix(i[0]) + } + , + this._setTransform = function(t, e, i) { + this.ctx.setTransform(i[0], i[1], i[2], i[3], i[4], i[5]) + } + , + this._setTransformByMatrix = function(t, e, i) { + this.ctx.setTransformByMatrix(i[0]) + } + , + this._save = function(t, e, i) { + this.ctx.save() + } + , + this._restore = function(t, e, i) { + this.ctx.restore() + } + , + this._translate = function(t, e, i) { + this.ctx.translate(i[0], i[1]) + } + , + this._transform = function(t, e, i) { + this.ctx.translate(i[1] + t, i[2] + e); + var n = i[0]; + this.ctx.transform(n.a, n.b, n.c, n.d, n.tx, n.ty), + this.ctx.translate(-t - i[1], -e - i[2]) + } + , + this._rotate = function(t, e, i) { + this.ctx.translate(i[1] + t, i[2] + e), + this.ctx.rotate(i[0]), + this.ctx.translate(-t - i[1], -e - i[2]) + } + , + this._scale = function(t, e, i) { + this.ctx.translate(i[2] + t, i[3] + e), + this.ctx.scale(i[0], i[1]), + this.ctx.translate(-t - i[2], -e - i[3]) + } + , + this._alpha = function(t, e, i) { + this.ctx.globalAlpha *= i[0] + } + , + this._setAlpha = function(t, e, i) { + this.ctx.globalAlpha = i[0] + } + , + this._fillText = function(t, e, i) { + this.ctx.fillText(i[0], i[1] + t, i[2] + e, i[3], i[4], i[5]) + } + , + this._strokeText = function(t, e, i) { + this.ctx.strokeText(i[0], i[1] + t, i[2] + e, i[3], i[4], i[5], i[6]) + } + , + this._fillBorderText = function(t, e, i) { + this.ctx.fillBorderText(i[0], i[1] + t, i[2] + e, i[3], i[4], i[5], i[6], i[7]) + } + , + this._blendMode = function(t, e, i) { + this.ctx.globalCompositeOperation = i[0] + } + , + this._beginClip = function(t, e, i) { + this.ctx.beginClip && this.ctx.beginClip(t + i[0], e + i[1], i[2], i[3]) + } + , + this._setIBVB = function(t, e, i) { + this.ctx.setIBVB(i[0] + t, i[1] + e, i[2], i[3], i[4], i[5], i[6], i[7]) + } + , + this._fillTrangles = function(t, e, i) { + this.ctx.fillTrangles(i[0], i[1] + t, i[2] + e, i[3], i[4]) + } + , + this._drawPath = function(t, e, i) { + var n = this.ctx; + A.isWebGL && n.setPathId(-1), + n.beginPath(), + t += i[0], + e += i[1], + A.isWebGL && n.movePath(t, e); + for (var a = i[2], r = 0, s = a.length; r < s; r++) { + var o = a[r]; + switch (o[0]) { + case "moveTo": + A.isWebGL ? n.moveTo(o[1], o[2]) : n.moveTo(t + o[1], e + o[2]); + break; + case "lineTo": + A.isWebGL ? n.lineTo(o[1], o[2]) : n.lineTo(t + o[1], e + o[2]); + break; + case "arcTo": + A.isWebGL ? n.arcTo(o[1], o[2], o[3], o[4], o[5]) : n.arcTo(t + o[1], e + o[2], t + o[3], e + o[4], o[5]); + break; + case "closePath": + n.closePath() + } + } + var l = i[3]; + null != l && (n.fillStyle = l.fillStyle, + n.fill()); + var h = i[4]; + null != h && (n.strokeStyle = h.strokeStyle, + n.lineWidth = h.lineWidth || 1, + n.lineJoin = h.lineJoin, + n.lineCap = h.lineCap, + n.miterLimit = h.miterLimit, + n.stroke()) + } + , + this.drawPoly = function(t, e, i) { + this.ctx.drawPoly(t + this.x + i[0], e + this.y + i[1], i[2], i[3], i[4], i[5], i[6]) + } + , + this._drawPoly = function(t, e, i) { + var n = this.ctx + , a = i[2] + , r = 2 + , s = a.length; + if (A.isWebGL) + for (n.setPathId(i[6]), + n.beginPath(), + t += i[0], + e += i[1], + n.movePath(t, e), + n.moveTo(a[0], a[1]); r < s; ) + n.lineTo(a[r++], a[r++]); + else + for (n.beginPath(), + t += i[0], + e += i[1], + n.moveTo(t + a[0], e + a[1]); r < s; ) + n.lineTo(t + a[r++], e + a[r++]); + n.closePath(), + this._fillAndStroke(i[3], i[4], i[5], i[7]) + } + , + this._drawSkin = function(t, e, i) { + var n = i[0]; + if (n) { + var a = this.ctx; + n.render(a, t, e) + } + } + , + this._drawParticle = function(t, e, i) { + this.ctx.drawParticle(t + this.x, e + this.y, i[0]) + } + , + this._setFilters = function(t, e, i) { + this.ctx.setFilters(i) + } + , + n ? this.ctx = n.getContext("2d") : (n = bt.create("3D"), + this.ctx = s.createWebGLContext2D(n), + n._setContext(this.ctx)), + n.size(e, i), + this.canvas = n + } + a(t, "laya.renders.RenderContext"); + var e = t.prototype; + return e.destroy = function() { + this.canvas && (this.canvas.destroy(), + this.canvas = null, + this.ctx = null), + this.ctx && (this.ctx.destroy(), + this.ctx = null) + } + , + e.drawTexture = function(t, e, i, n, a) { + t.loaded && this.ctx.drawTexture(t, e, i, n, a, this.x, this.y) + } + , + e._drawTextures = function(t, e, i) { + i[0].loaded && this.ctx.drawTextures(i[0], i[1], t + this.x, e + this.y) + } + , + e.drawTextureWithTransform = function(t, e, i, n, a, r, s) { + t.loaded && this.ctx.drawTextureWithTransform(t, e, i, n, a, r, this.x, this.y, s) + } + , + e.fillQuadrangle = function(t, e, i, n, a) { + this.ctx.fillQuadrangle(t, e, i, n, a) + } + , + e.drawCanvas = function(t, e, i, n, a) { + this.ctx.drawCanvas(t, e + this.x, i + this.y, n, a) + } + , + e.drawRect = function(t, e, i, n, a, r) { + void 0 === r && (r = 1); + var s = this.ctx; + s.strokeStyle = a, + s.lineWidth = r, + s.strokeRect(t + this.x, e + this.y, i, n, r) + } + , + e._fillAndStroke = function(t, e, i, n) { + void 0 === n && (n = !1); + var a = this.ctx; + null != t && (a.fillStyle = t, + A.isWebGL ? a.fill(n) : a.fill()), + null != e && i > 0 && (a.strokeStyle = e, + a.lineWidth = i, + a.stroke()) + } + , + e.clipRect = function(t, e, i, n) { + this.ctx.clipRect(t + this.x, e + this.y, i, n) + } + , + e.fillRect = function(t, e, i, n, a) { + this.ctx.fillRect(t + this.x, e + this.y, i, n, a) + } + , + e.drawCircle = function(e, i, n, a, r) { + void 0 === r && (r = 1), + X.drawCall++; + var s = this.ctx; + s.beginPath(), + s.strokeStyle = a, + s.lineWidth = r, + s.arc(e + this.x, i + this.y, n, 0, t.PI2), + s.stroke() + } + , + e.drawTriangles = function(t, e, i) { + if (A.isWebGL) + this.ctx.drawTriangles(i[0], t + i[1], e + i[2], i[3], i[4], i[5], i[6], i[7], i[8], i[9]); + else { + var n = i[5] + , a = 0 + , r = n.length + , s = this.ctx; + for (a = 0; a < r; a += 3) { + var o = 2 * n[a] + , l = 2 * n[a + 1] + , h = 2 * n[a + 2]; + s.drawTriangle(i[0], i[3], i[4], o, l, h, i[6], !0) + } + } + } + , + e.fillCircle = function(e, i, n, a) { + X.drawCall++; + var r = this.ctx; + r.beginPath(), + r.fillStyle = a, + r.arc(e + this.x, i + this.y, n, 0, t.PI2), + r.fill() + } + , + e.setShader = function(t) { + this.ctx.setShader(t) + } + , + e.drawLine = function(t, e, i, n, a, r) { + void 0 === r && (r = 1); + var s = this.ctx; + s.beginPath(), + s.strokeStyle = a, + s.lineWidth = r, + s.moveTo(this.x + t, this.y + e), + s.lineTo(this.x + i, this.y + n), + s.stroke() + } + , + e.clear = function() { + this.ctx.clear() + } + , + e.transformByMatrix = function(t) { + this.ctx.transformByMatrix(t) + } + , + e.setTransform = function(t, e, i, n, a, r) { + this.ctx.setTransform(t, e, i, n, a, r) + } + , + e.setTransformByMatrix = function(t) { + this.ctx.setTransformByMatrix(t) + } + , + e.save = function() { + this.ctx.save() + } + , + e.restore = function() { + this.ctx.restore() + } + , + e.translate = function(t, e) { + this.ctx.translate(t, e) + } + , + e.transform = function(t, e, i, n, a, r) { + this.ctx.transform(t, e, i, n, a, r) + } + , + e.rotate = function(t) { + this.ctx.rotate(t) + } + , + e.scale = function(t, e) { + this.ctx.scale(t, e) + } + , + e.alpha = function(t) { + this.ctx.globalAlpha *= t + } + , + e.setAlpha = function(t) { + this.ctx.globalAlpha = t + } + , + e.fillWords = function(t, e, i, n, a, r) { + void 0 === r && (r = 0), + this.ctx.fillWords(t, e, i, n, a, r) + } + , + e.fillBorderWords = function(t, e, i, n, a, r, s) { + this.ctx.fillBorderWords(t, e, i, n, a, r, s) + } + , + e.fillText = function(t, e, i, n, a, r) { + this.ctx.fillText(t, e + this.x, i + this.y, n, a, r) + } + , + e.strokeText = function(t, e, i, n, a, r, s) { + this.ctx.strokeText(t, e + this.x, i + this.y, n, a, r, s) + } + , + e.blendMode = function(t) { + this.ctx.globalCompositeOperation = t + } + , + e.flush = function() { + this.ctx.flush && this.ctx.flush() + } + , + e.addRenderObject = function(t) { + this.ctx.addRenderObject(t) + } + , + e.beginClip = function(t, e, i, n) { + this.ctx.beginClip && this.ctx.beginClip(t, e, i, n) + } + , + e.endClip = function() { + this.ctx.endClip && this.ctx.endClip() + } + , + e.fillTrangles = function(t, e, i) { + this.ctx.fillTrangles(i[0], i[1], i[2], i[3], i.length > 4 ? i[4] : null) + } + , + t.PI2 = 2 * Math.PI, + t + }() + , k = function() { + function t(e, i) { + switch (this._next = i || t.NORENDER, + e) { + case 0: + return void (this._fun = this._no); + case 1: + return void (this._fun = this._image); + case 2: + return void (this._fun = this._alpha); + case 4: + return void (this._fun = this._transform); + case 8: + return void (this._fun = this._blend); + case 16: + return void (this._fun = this._canvas); + case 64: + return void (this._fun = this._mask); + case 128: + return void (this._fun = this._clip); + case 256: + return void (this._fun = this._style); + case 512: + return void (this._fun = this._graphics); + case 2048: + return void (this._fun = this._childs); + case 1024: + return void (this._fun = this._custom); + case 513: + case 517: + return void (this._fun = this._image2); + case 32: + return void (this._fun = b._filter); + case 69905: + return void (this._fun = t._initRenderFun) + } + this.onCreate(e) + } + a(t, "laya.renders.RenderSprite"); + var e = t.prototype; + return e.onCreate = function(t) {} + , + e._style = function(t, e, i, n) { + t._style.render(t, e, i, n); + var a = this._next; + a._fun.call(a, t, e, i, n) + } + , + e._no = function(t, e, i, n) {} + , + e._custom = function(t, e, i, n) { + t.customRender(e, i, n); + var a = t._style._tf; + this._next._fun.call(this._next, t, e, i - a.translateX, n - a.translateY) + } + , + e._clip = function(e, i, n, a) { + var r = this._next; + if (r != t.NORENDER) { + var s = e._style.scrollRect; + i.ctx.save(), + i.ctx.clipRect(n, a, s.width, s.height), + r._fun.call(r, e, i, n - s.x, a - s.y), + i.ctx.restore() + } + } + , + e._blend = function(t, e, i, n) { + var a = t._style; + a.blendMode && (e.ctx.globalCompositeOperation = a.blendMode); + var r = this._next; + r._fun.call(r, t, e, i, n), + e.ctx.globalCompositeOperation = "source-over" + } + , + e._mask = function(t, e, i, n) { + var a = this._next; + a._fun.call(a, t, e, i, n); + var r = t.mask; + r && (e.ctx.globalCompositeOperation = "destination-in", + (r.numChildren > 0 || !r.graphics._isOnlyOne()) && (r.cacheAsBitmap = !0), + r.render(e, i - t.pivotX, n - t.pivotY)), + e.ctx.globalCompositeOperation = "source-over" + } + , + e._graphics = function(t, e, i, n) { + var a = t._style._tf; + t._graphics && t._graphics._render(t, e, i - a.translateX, n - a.translateY); + var r = this._next; + r._fun.call(r, t, e, i, n) + } + , + e._image = function(t, e, i, n) { + var a = t._style; + e.ctx.drawTexture2(i, n, a._tf.translateX, a._tf.translateY, t.transform, a.alpha, a.blendMode, t._graphics._one) + } + , + e._image2 = function(t, e, i, n) { + var a = t._style._tf; + e.ctx.drawTexture2(i, n, a.translateX, a.translateY, t.transform, 1, null, t._graphics._one) + } + , + e._alpha = function(t, e, i, n) { + var a; + if ((a = t._style.alpha) > .01 || t._needRepaint()) { + var r = e.ctx.globalAlpha; + e.ctx.globalAlpha *= a; + var s = this._next; + s._fun.call(s, t, e, i, n), + e.ctx.globalAlpha = r + } + } + , + e._transform = function(e, i, n, a) { + var r = e.transform + , s = this._next; + r && s != t.NORENDER ? (i.save(), + i.transform(r.a, r.b, r.c, r.d, r.tx + n, r.ty + a), + s._fun.call(s, e, i, 0, 0), + i.restore()) : s._fun.call(s, e, i, n, a) + } + , + e._childs = function(t, e, i, n) { + var a = t._style + , r = a._tf; + if (i = i - r.translateX + a.paddingLeft, + n = n - r.translateY + a.paddingTop, + a._calculation) { + var s = t._getWords(); + if (s) { + var o = a; + o && (o.stroke ? e.fillBorderWords(s, i, n, o.font, o.color, o.strokeColor, o.stroke) : e.fillWords(s, i, n, o.font, o.color, "none" != o.textDecoration && o.underLine ? 1 : 0)) + } + } + var l, h = t._childs, c = h.length; + if (t.viewport || t.optimizeScrollRect && t._style.scrollRect) { + var _ = t.viewport || t._style.scrollRect + , u = _.x + , d = _.y + , f = _.right + , p = _.bottom + , m = NaN + , g = NaN; + for (y = 0; y < c; ++y) + (l = h[y]).visible && (m = l._x) < f && m + l.width > u && (g = l._y) < p && g + l.height > d && l.render(e, i, n) + } else + for (var y = 0; y < c; ++y) + (l = h[y])._style.visible && l.render(e, i, n) + } + , + e._canvas = function(t, e, i, n) { + var a = t._$P.cacheCanvas; + if (a) { + "bitmap" === a.type ? X.canvasBitmap++ : X.canvasNormal++; + var r = a.ctx; + if (t._needRepaint() || !r) + this._canvas_repaint(t, e, i, n); + else { + var s = a._cacheRec; + e.drawCanvas(r.canvas, i + s.x, n + s.y, s.width, s.height) + } + } else + this._next._fun.call(this._next, t, e, i, n) + } + , + e._canvas_repaint = function(t, e, n, a) { + var r = t._$P.cacheCanvas + , s = this._next; + if (r) { + var o, l, h, c, _ = r.ctx, u = t._needRepaint() || !_, d = r.type; + if ("bitmap" === d ? X.canvasBitmap++ : X.canvasNormal++, + u) { + r._cacheRec || (r._cacheRec = new L); + var f, p; + A.isWebGL && "bitmap" !== d ? r._cacheRec.setTo(-t.pivotX, -t.pivotY, 1, 1) : ((c = t.getSelfBounds()).x = c.x - t.pivotX, + c.y = c.y - t.pivotY, + c.x = c.x - 16, + c.y = c.y - 16, + c.width = c.width + 32, + c.height = c.height + 32, + c.x = Math.floor(c.x + n) - n, + c.y = Math.floor(c.y + a) - a, + c.width = Math.floor(c.width), + c.height = Math.floor(c.height), + r._cacheRec.copyFrom(c)), + c = r._cacheRec; + var m = A.isWebGL ? 1 : O.pixelRatio * i.stage.clientScaleX + , g = A.isWebGL ? 1 : O.pixelRatio * i.stage.clientScaleY; + if (!A.isWebGL) { + var y, v = 1, b = 1; + for (y = t; y && y != i.stage; ) + v *= y.scaleX, + b *= y.scaleY, + y = y.parent; + A.isWebGL ? (v < 1 && (m *= v), + b < 1 && (g *= b)) : (v > 1 && (m *= v), + b > 1 && (g *= b)) + } + if (t.scrollRect) { + var w = t.scrollRect; + c.x -= w.x, + c.y -= w.y + } + if (f = c.width * m, + p = c.height * g, + l = c.x, + h = c.y, + A.isWebGL && "bitmap" === d && (f > 2048 || p > 2048)) + return console.warn("cache bitmap size larger than 2048,cache ignored"), + r.ctx && (W.recover("RenderContext", r.ctx), + r.ctx.canvas.size(0, 0), + r.ctx = null), + void s._fun.call(s, t, e, n, a); + _ || (_ = r.ctx = W.getItem("RenderContext") || new B(f,p,bt.create("AUTO"))), + _.ctx.sprite = t, + (o = _.canvas).clear(), + (o.width != f || o.height != p) && o.size(f, p), + "bitmap" === d ? o.context.asBitmap = !0 : "normal" === d && (o.context.asBitmap = !1); + var x; + if (1 != m || 1 != g) { + var I = _.ctx; + I.save(), + I.scale(m, g), + !A.isConchWebGL && A.isConchApp && (x = t._$P.cf) && I.setFilterMatrix && I.setFilterMatrix(x._mat, x._alpha), + s._fun.call(s, t, _, -l, -h), + I.restore(), + A.isConchApp && !A.isConchWebGL || t._applyFilters() + } else + I = _.ctx, + !A.isConchWebGL && A.isConchApp && (x = t._$P.cf) && I.setFilterMatrix && I.setFilterMatrix(x._mat, x._alpha), + s._fun.call(s, t, _, -l, -h), + A.isConchApp && !A.isConchWebGL || t._applyFilters(); + t._$P.staticCache && (r.reCache = !1), + X.canvasReCache++ + } else + l = (c = r._cacheRec).x, + h = c.y, + o = _.canvas; + e.drawCanvas(o, n + l, a + h, c.width, c.height) + } else + s._fun.call(s, t, _, n, a) + } + , + t.__init__ = function() { + var e, i = 0, n = 0; + for (e = s.createRenderSprite(69905, null), + n = t.renders.length = 4096, + i = 0; i < n; i++) + t.renders[i] = e; + t.renders[0] = s.createRenderSprite(0, null), + function(e, i) { + for (var n = 0, a = 0; a < e.length; a++) + n |= e[a], + t.renders[n] = i + }([1, 512, 4, 2], new t(1,null)), + t.renders[513] = s.createRenderSprite(513, null), + t.renders[517] = new t(517,null) + } + , + t._initRenderFun = function(e, i, n, a) { + var r = e._renderType; + (t.renders[r] = t._getTypeRender(r))._fun(e, i, n, a) + } + , + t._getTypeRender = function(t) { + for (var e = null, i = 2048; i > 1; ) + i & t && (e = s.createRenderSprite(i, e)), + i >>= 1; + return e + } + , + t.IMAGE = 1, + t.ALPHA = 2, + t.TRANSFORM = 4, + t.BLEND = 8, + t.CANVAS = 16, + t.FILTERS = 32, + t.MASK = 64, + t.CLIP = 128, + t.STYLE = 256, + t.GRAPHICS = 512, + t.CUSTOM = 1024, + t.CHILDS = 2048, + t.INIT = 69905, + t.renders = [], + t.NORENDER = new t(0,null), + t + }() + , R = function() { + function t() { + this._repaint = !1 + } + a(t, "laya.resource.Context"); + var e = t.prototype; + return e.replaceReset = function() { + var e = 0 + , i = 0; + i = t.replaceKeys.length; + var n; + for (e = 0; e < i; e++) + n = t.replaceKeys[e], + this[t.newKeys[e]] = this[n] + } + , + e.replaceResotre = function() { + this.__restore(), + this.__reset() + } + , + e.setIsMainContext = function() {} + , + e.drawTextures = function(t, e, i, n) { + X.drawCall += e.length / 2; + for (var a = t.width, r = t.height, s = 0, o = e.length; s < o; s += 2) + this.drawTexture(t, e[s], e[s + 1], a, r, i, n) + } + , + e.drawCanvas = function(t, e, i, n, a) { + X.drawCall++, + this.drawImage(t.source, e, i, n, a) + } + , + e.fillRect = function(t, e, i, n, a) { + X.drawCall++, + a && (this.fillStyle = a), + this.__fillRect(t, e, i, n) + } + , + e.fillText = function(t, e, i, n, a, r) { + X.drawCall++, + arguments.length > 3 && null != n && (this.font = n, + this.fillStyle = a, + this.textAlign = r, + this.textBaseline = "top"), + this.__fillText(t, e, i) + } + , + e.fillBorderText = function(t, e, i, n, a, r, s, o) { + X.drawCall++, + this.font = n, + this.fillStyle = a, + this.textBaseline = "top", + this.strokeStyle = r, + this.lineWidth = s, + this.textAlign = o, + this.__strokeText(t, e, i), + this.__fillText(t, e, i) + } + , + e.strokeText = function(t, e, i, n, a, r, s) { + X.drawCall++, + arguments.length > 3 && null != n && (this.font = n, + this.strokeStyle = a, + this.lineWidth = r, + this.textAlign = s, + this.textBaseline = "top"), + this.__strokeText(t, e, i) + } + , + e.transformByMatrix = function(t) { + this.transform(t.a, t.b, t.c, t.d, t.tx, t.ty) + } + , + e.setTransformByMatrix = function(t) { + this.setTransform(t.a, t.b, t.c, t.d, t.tx, t.ty) + } + , + e.clipRect = function(t, e, i, n) { + X.drawCall++, + this.beginPath(), + this.rect(t, e, i, n), + this.clip() + } + , + e.drawTexture = function(t, e, i, n, a, r, s) { + X.drawCall++; + var o = t.uv + , l = t.bitmap.width + , h = t.bitmap.height; + this.drawImage(t.source, o[0] * l, o[1] * h, (o[2] - o[0]) * l, (o[5] - o[3]) * h, e + r, i + s, n, a) + } + , + e.drawTextureWithTransform = function(t, e, i, n, a, r, s, o, l) { + X.drawCall++; + var h = t.uv + , c = t.bitmap.width + , _ = t.bitmap.height; + this.save(), + 1 != l && (this.globalAlpha *= l), + r ? (this.transform(r.a, r.b, r.c, r.d, r.tx + s, r.ty + o), + this.drawImage(t.source, h[0] * c, h[1] * _, (h[2] - h[0]) * c, (h[5] - h[3]) * _, e, i, n, a)) : this.drawImage(t.source, h[0] * c, h[1] * _, (h[2] - h[0]) * c, (h[5] - h[3]) * _, e + s, i + o, n, a), + this.restore() + } + , + e.drawTexture2 = function(t, e, i, n, a, r, s, o) { + var l = o[0]; + if (l.loaded && l.bitmap && l.source) { + X.drawCall++; + var h = 1 !== r; + if (h) { + var c = this.globalAlpha; + this.globalAlpha *= r + } + var _ = l.uv + , u = l.bitmap.width + , d = l.bitmap.height; + a ? (this.save(), + this.transform(a.a, a.b, a.c, a.d, a.tx + t, a.ty + e), + this.drawImage(l.source, _[0] * u, _[1] * d, (_[2] - _[0]) * u, (_[5] - _[3]) * d, o[1] - i, o[2] - n, o[3], o[4]), + this.restore()) : this.drawImage(l.source, _[0] * u, _[1] * d, (_[2] - _[0]) * u, (_[5] - _[3]) * d, o[1] - i + t, o[2] - n + e, o[3], o[4]), + h && (this.globalAlpha = c) + } + } + , + e.fillTexture = function(t, e, i, n, a, r, s, o) { + if (!o.pat) { + if (t.uv != ct.DEF_UV) { + var l = new bt("2D"); + l.getContext("2d"), + l.size(t.width, t.height), + l.context.drawTexture(t, 0, 0, t.width, t.height, 0, 0), + t = new ct(l) + } + o.pat = this.createPattern(t.bitmap.source, r) + } + var h = e + , c = i + , _ = 0 + , u = 0; + s && (h += s.x % t.width, + c += s.y % t.height, + _ -= s.x % t.width, + u -= s.y % t.height), + this.translate(h, c), + this.fillRect(_, u, n, a, o.pat), + this.translate(-h, -c) + } + , + e.drawTriangle = function(t, e, i, n, a, r, s, o) { + var l = t.bitmap + , h = l.source + , c = t.width + , _ = t.height + , u = l.width + , d = l.height + , f = i[n] * u + , p = i[a] * u + , m = i[r] * u + , g = i[n + 1] * d + , y = i[a + 1] * d + , v = i[r + 1] * d + , b = e[n] + , w = e[a] + , x = e[r] + , I = e[n + 1] + , C = e[a + 1] + , S = e[r + 1]; + if (o) { + var M = (b + w + x) / 3 + , L = (I + C + S) / 3 + , T = b - M + , E = I - L + , D = Math.sqrt(T * T + E * E); + b = M + T / D * (D + 1), + I = L + E / D * (D + 1), + E = C - L, + w = M + (T = w - M) / (D = Math.sqrt(T * T + E * E)) * (D + 1), + C = L + E / D * (D + 1), + E = S - L, + x = M + (T = x - M) / (D = Math.sqrt(T * T + E * E)) * (D + 1), + S = L + E / D * (D + 1) + } + this.save(), + s && this.transform(s.a, s.b, s.c, s.d, s.tx, s.ty), + this.beginPath(), + this.moveTo(b, I), + this.lineTo(w, C), + this.lineTo(x, S), + this.closePath(), + this.clip(); + var N = 1 / (f * y + g * m + p * v - y * m - g * p - f * v) + , A = b * y + g * x + w * v - y * x - g * w - b * v + , B = f * w + b * m + p * x - w * m - b * p - f * x + , k = f * y * x + g * w * m + b * p * v - b * y * m - g * p * x - f * w * v + , R = I * y + g * S + C * v - y * S - g * C - I * v + , P = f * C + I * m + p * S - C * m - I * p - f * S + , O = f * y * S + g * C * m + I * p * v - I * y * m - g * p * S - f * C * v; + this.transform(A * N, R * N, B * N, P * N, k * N, O * N), + this.drawImage(h, t.uv[0] * u, t.uv[1] * d, c, _, t.uv[0] * u, t.uv[1] * d, c, _), + this.restore() + } + , + e.flush = function() { + return 0 + } + , + e.fillWords = function(t, e, i, n, a, r) { + n && (this.font = n), + a && (this.fillStyle = a); + this.textBaseline = "top", + this.textAlign = "left"; + for (var s = 0, o = t.length; s < o; s++) { + var l = t[s]; + if (this.__fillText(l.char, l.x + e, l.y + i), + 1 === r) { + var h = l.height + , c = .5 * l.style.letterSpacing; + c || (c = 0), + this.beginPath(), + this.strokeStyle = a, + this.lineWidth = 1, + this.moveTo(e + l.x - c + .5, i + l.y + h + .5), + this.lineTo(e + l.x + l.width + c + .5, i + l.y + h + .5), + this.stroke() + } + } + } + , + e.fillBorderWords = function(t, e, i, n, a, r, s) { + n && (this.font = n), + a && (this.fillStyle = a), + this.textBaseline = "top", + this.lineWidth = s, + this.textAlign = "left", + this.strokeStyle = r; + for (var o = 0, l = t.length; o < l; o++) { + var h = t[o]; + this.__strokeText(h.char, h.x + e, h.y + i), + this.__fillText(h.char, h.x + e, h.y + i) + } + } + , + e.destroy = function() { + this.canvas.width = this.canvas.height = 0 + } + , + e.clear = function() { + this.clearRect(0, 0, this._canvas.width, this._canvas.height), + this._repaint = !1 + } + , + e.drawCurves = function(t, e, i) { + this.beginPath(), + this.strokeStyle = i[3], + this.lineWidth = i[4]; + var n = i[2]; + t += i[0], + e += i[1], + this.moveTo(t + n[0], e + n[1]); + for (var a = 2, r = n.length; a < r; ) + this.quadraticCurveTo(t + n[a++], e + n[a++], t + n[a++], e + n[a++]); + this.stroke() + } + , + t.__init__ = function(t) { + var e = laya.resource.Context.prototype; + if (!(t = t || CanvasRenderingContext2D.prototype).inited) { + t.inited = !0, + t.__fillText = t.fillText, + t.__fillRect = t.fillRect, + t.__strokeText = t.strokeText; + ["drawTextures", "drawTriangle", "fillWords", "fillBorderWords", "setIsMainContext", "fillRect", "strokeText", "fillTexture", "fillText", "transformByMatrix", "setTransformByMatrix", "clipRect", "drawTexture", "drawTexture2", "drawTextureWithTransform", "flush", "clear", "destroy", "drawCanvas", "fillBorderText", "drawCurves"].forEach(function(i) { + t[i] = e[i] + }) + } + } + , + t.replaceCanvasGetSet = function(t, e) { + var i = Object.getOwnPropertyDescriptor(t, e); + if (!i || !i.configurable) + return !1; + var n, a = {}; + for (n in i) + "set" != n && (a[n] = i[n]); + var r = i.set; + return a.set = function(t) { + r.call(this, t); + var e = this.getContext("2d"); + e && "__reset"in e && e.__reset() + } + , + Object.defineProperty(t, e, a), + !0 + } + , + t.replaceGetSet = function(e, i) { + var n = Object.getOwnPropertyDescriptor(e, i); + if (!n || !n.configurable) + return !1; + var a, r = {}; + for (a in n) + "set" != a && (r[a] = n[a]); + var s = n.set + , o = "___" + i + "__"; + return t.newKeys.push(o), + r.set = function(t) { + t != this[o] && (this[o] = t, + s.call(this, t)) + } + , + Object.defineProperty(e, i, r), + !0 + } + , + t._default = new t, + t.newKeys = [], + n(t, ["replaceKeys", function() { + return this.replaceKeys = ["font", "fillStyle", "textBaseline"] + } + ]), + t + }() + , P = function() { + function t(e) { + this._id = 0, + this._name = null, + this._resources = null, + this._memorySize = 0, + this._garbageCollectionRate = NaN, + this._isOverflow = !1, + this.autoRelease = !1, + this.autoReleaseMaxSize = 0, + this._id = ++t._uniqueIDCounter, + this._name = e || "Content Manager", + t._isResourceManagersSorted = !1, + this._memorySize = 0, + this._isOverflow = !1, + this.autoRelease = !1, + this.autoReleaseMaxSize = 536870912, + this._garbageCollectionRate = .2, + t._resourceManagers.push(this), + this._resources = [] + } + a(t, "laya.resource.ResourceManager"); + var e = t.prototype; + return i.imps(e, { + "laya.resource.IDispose": !0 + }), + e.getResourceByIndex = function(t) { + return this._resources[t] + } + , + e.getResourcesLength = function() { + return this._resources.length + } + , + e.addResource = function(t) { + t.resourceManager && t.resourceManager.removeResource(t); + return -1 === this._resources.indexOf(t) && (t._resourceManager = this, + this._resources.push(t), + this.addSize(t.memorySize), + !0) + } + , + e.removeResource = function(t) { + var e = this._resources.indexOf(t); + return -1 !== e && (this._resources.splice(e, 1), + t._resourceManager = null, + this._memorySize -= t.memorySize, + !0) + } + , + e.unload = function() { + for (var t = this._resources.slice(0, this._resources.length), e = 0; e < t.length; e++) { + t[e].destroy() + } + t.length = 0 + } + , + e.dispose = function() { + if (this === t._systemResourceManager) + throw new Error("systemResourceManager不能被释放!"); + t._resourceManagers.splice(t._resourceManagers.indexOf(this), 1), + t._isResourceManagersSorted = !1; + for (var e = this._resources.slice(0, this._resources.length), i = 0; i < e.length; i++) { + var n = e[i]; + n.resourceManager.removeResource(n), + n.destroy() + } + e.length = 0 + } + , + e.addSize = function(t) { + t && (this.autoRelease && t > 0 && this._memorySize + t > this.autoReleaseMaxSize && this.garbageCollection((1 - this._garbageCollectionRate) * this.autoReleaseMaxSize), + this._memorySize += t) + } + , + e.garbageCollection = function(t) { + var e = this._resources; + (e = e.slice()).sort(function(t, e) { + if (!t || !e) + throw new Error("a或b不能为空!"); + return t.released && e.released ? 0 : t.released ? 1 : e.released ? -1 : t._lastUseFrameCount - e._lastUseFrameCount + }); + for (var i = X.loopCount, n = 0, a = e.length; n < a; n++) { + var r = e[n]; + if (!(i - r._lastUseFrameCount > 1)) + return void (this._memorySize >= t && (this._isOverflow = !0)); + if (r.releaseResource(), + this._memorySize < t) + return void (this._isOverflow = !1) + } + } + , + r(0, e, "id", function() { + return this._id + }), + r(0, e, "name", function() { + return this._name + }, function(e) { + !e && "" === e || this._name === e || (this._name = e, + t._isResourceManagersSorted = !1) + }), + r(0, e, "memorySize", function() { + return this._memorySize + }), + r(1, t, "systemResourceManager", function() { + return t._systemResourceManager + }), + t.__init__ = function() { + t.currentResourceManager = t.systemResourceManager + } + , + t.getLoadedResourceManagerByIndex = function(e) { + return t._resourceManagers[e] + } + , + t.getLoadedResourceManagersCount = function() { + return t._resourceManagers.length + } + , + t.recreateContentManagers = function(e) { + void 0 === e && (e = !1); + for (var i = t.currentResourceManager, n = 0; n < t._resourceManagers.length; n++) { + t.currentResourceManager = t._resourceManagers[n]; + for (var a = 0; a < t.currentResourceManager._resources.length; a++) + t.currentResourceManager._resources[a].releaseResource(e), + t.currentResourceManager._resources[a].activeResource(e) + } + t.currentResourceManager = i + } + , + t.releaseContentManagers = function(e) { + void 0 === e && (e = !1); + for (var i = t.currentResourceManager, n = 0; n < t._resourceManagers.length; n++) { + t.currentResourceManager = t._resourceManagers[n]; + for (var a = 0; a < t.currentResourceManager._resources.length; a++) { + var r = t.currentResourceManager._resources[a]; + !r.released && r.releaseResource(e) + } + } + t.currentResourceManager = i + } + , + t._uniqueIDCounter = 0, + t._isResourceManagersSorted = !1, + t._resourceManagers = [], + n(t, ["_systemResourceManager", function() { + return this._systemResourceManager = new t("System Resource Manager") + } + , "currentResourceManager", function() { + return this.currentResourceManager = t._systemResourceManager + } + ]), + t + }() + , O = (function() { + function t() {} + a(t, "laya.system.System"), + t.changeDefinition = function(t, e) { + i[t] = e; + var n = t + "=classObj"; + i._runScript(n) + } + , + t.__init__ = function() { + A.isConchApp && (conch.disableConchResManager(), + conch.disableConchAutoRestoreLostedDevice()) + } + }(), + function() { + function n() {} + return a(n, "laya.utils.Browser"), + r(1, n, "pixelRatio", function() { + return n.__init__(), + n.userAgent.indexOf("Mozilla/6.0(Linux; Android 6.0; HUAWEI NXT-AL10 Build/HUAWEINXT-AL10)") > -1 ? 2 : s.getPixelRatio() + }), + r(1, n, "height", function() { + return n.__init__(), + (i.stage && i.stage.canvasRotation ? n.clientWidth : n.clientHeight) * n.pixelRatio + }), + r(1, n, "clientWidth", function() { + return n.__init__(), + n.window.innerWidth || n.document.body.clientWidth + }), + r(1, n, "window", function() { + return n.__init__(), + n._window + }), + r(1, n, "clientHeight", function() { + n.__init__(); + var t = n.window.innerHeight || n.document.body.clientHeight || n.document.documentElement.clientHeight + , e = n.document.getElementById("dmm_ntgnavi"); + return e && (t -= e.getBoundingClientRect().height), + t + }), + r(1, n, "width", function() { + return n.__init__(), + (i.stage && i.stage.canvasRotation ? n.clientHeight : n.clientWidth) * n.pixelRatio + }), + r(1, n, "container", function() { + return n.__init__(), + n._container || ((n._container = n.createElement("div")).id = "layaContainer", + n.document.body.appendChild(n._container)), + n._container + }, function(t) { + n._container = t + }), + r(1, n, "document", function() { + return n.__init__(), + n._document + }), + n.__init__ = function() { + if (!n._window) { + n._window = s.getWindow(), + n._document = n.window.document, + n._window.addEventListener("message", function(t) { + laya.utils.Browser._onMessage(t) + }, !1), + n.document.__createElement = n.document.createElement, + t.requestAnimationFrame = t.requestAnimationFrame || t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || t.oRequestAnimationFrame || t.msRequestAnimationFrame || function(e) { + return t.setTimeout(e, 1e3 / 60) + } + ; + var i = t.document.body.style; + i["-webkit-user-select"] = "none", + i["-webkit-tap-highlight-color"] = "rgba(200,200,200,0)", + n.userAgent = n.window.navigator.userAgent, + n.onIOS = !!(n.u = n.userAgent).match(/\(i[^;]+;(U;)? CPU.+Mac OS X/), + n.onMobile = n.u.indexOf("Mobile") > -1, + n.onIPhone = n.u.indexOf("iPhone") > -1, + n.onMac = n.u.indexOf("Mac OS X") > -1, + n.onIPad = n.u.indexOf("iPad") > -1, + n.onAndroid = n.u.indexOf("Android") > -1 || n.u.indexOf("Adr") > -1, + n.onWP = n.u.indexOf("Windows Phone") > -1, + n.onQQBrowser = n.u.indexOf("QQBrowser") > -1, + n.onMQQBrowser = n.u.indexOf("MQQBrowser") > -1 || n.u.indexOf("Mobile") > -1 && n.u.indexOf("QQ") > -1, + n.onIE = !!n.window.ActiveXObject || "ActiveXObject"in n.window, + n.onWeiXin = n.u.indexOf("MicroMessenger") > -1, + n.onPC = !n.onMobile, + n.onSafari = n.u.indexOf("Safari") > -1, + n.onFirefox = n.u.indexOf("Firefox") > -1, + n.onEdge = n.u.indexOf("Edge") > -1, + n.onMiniGame = n.u.indexOf("MiniGame") > -1, + n.onLimixiu = n.u.indexOf("limixiu") > -1, + n.httpProtocol = "http:" == n.window.location.protocol, + n.onMiniGame && null == n.window.focus && console.error("请先初始化小游戏适配库,详细教程https://ldc.layabox.com/doc/?nav=zh-ts-5-0-0"), + n.webAudioEnabled = !!(n.window.AudioContext || n.window.webkitAudioContext || n.window.mozAudioContext), + n.soundType = n.webAudioEnabled ? "WEBAUDIOSOUND" : "AUDIOSOUND", + nt = n.webAudioEnabled ? at : et, + n.webAudioEnabled && at.initWebAudio(), + et._initMusicAudio(), + n.enableTouch = "ontouchstart"in t || t.DocumentTouch && e instanceof DocumentTouch, + t.focus(), + T._soundClass = nt, + T._musicClass = et, + A._mainCanvas = A._mainCanvas || bt.create("2D"), + n.canvas || (n.canvas = bt.create("2D"), + n.context = n.canvas.getContext("2d")) + } + } + , + n._onMessage = function(t) { + if (t.data && "size" == t.data.name) { + if (n.window.innerWidth = t.data.width, + n.window.innerHeight = t.data.height, + n.window.__innerHeight = t.data.clientHeight, + !n.document.createEvent) + return void console.warn("no document.createEvent"); + var e = n.document.createEvent("HTMLEvents"); + return e.initEvent("resize", !1, !1), + void n.window.dispatchEvent(e) + } + } + , + n.createElement = function(t) { + return n.__init__(), + n.document.__createElement(t) + } + , + n.getElementById = function(t) { + return n.__init__(), + n.document.getElementById(t) + } + , + n.removeElement = function(t) { + t && t.parentNode && t.parentNode.removeChild(t) + } + , + n.now = function() { + return s.now() + } + , + n._window = null, + n._document = null, + n._container = null, + n.userAgent = null, + n.u = null, + n.onIOS = !1, + n.onMac = !1, + n.onMobile = !1, + n.onIPhone = !1, + n.onIPad = !1, + n.onAndroid = !1, + n.onWP = !1, + n.onQQBrowser = !1, + n.onMQQBrowser = !1, + n.onSafari = !1, + n.onFirefox = !1, + n.onEdge = !1, + n.onIE = !1, + n.onWeiXin = !1, + n.onMiniGame = !1, + n.onLimixiu = !1, + n.onPC = !1, + n.httpProtocol = !1, + n.webAudioEnabled = !1, + n.soundType = null, + n.enableTouch = !1, + n.canvas = null, + n.context = null, + n.__init$ = function() {} + , + n + }()) + , U = function() { + function t(t) { + this._xd_ = !0, + this._allocated_ = 8, + this._pos_ = 0, + this._length = 0, + t ? (this._u8d_ = new Uint8Array(t), + this._d_ = new DataView(this._u8d_.buffer), + this._length = this._d_.byteLength) : this.___resizeBuffer(this._allocated_) + } + a(t, "laya.utils.Byte"); + var e = t.prototype; + return e.___resizeBuffer = function(t) { + try { + var e = new Uint8Array(t); + null != this._u8d_ && (this._u8d_.length <= t ? e.set(this._u8d_) : e.set(this._u8d_.subarray(0, t))), + this._u8d_ = e, + this._d_ = new DataView(e.buffer) + } catch (e) { + throw "___resizeBuffer err:" + t + } + } + , + e.getString = function() { + return this.rUTF(this.getUint16()) + } + , + e.getFloat32Array = function(t, e) { + var i = t + e; + i = i > this._length ? this._length : i; + var n = new Float32Array(this._d_.buffer.slice(t, i)); + return this._pos_ = i, + n + } + , + e.getUint8Array = function(t, e) { + var i = t + e; + i = i > this._length ? this._length : i; + var n = new Uint8Array(this._d_.buffer.slice(t, i)); + return this._pos_ = i, + n + } + , + e.getInt16Array = function(t, e) { + var i = t + e; + i = i > this._length ? this._length : i; + var n = new Int16Array(this._d_.buffer.slice(t, i)); + return this._pos_ = i, + n + } + , + e.getFloat32 = function() { + if (this._pos_ + 4 > this._length) + throw "getFloat32 error - Out of bounds"; + var t = this._d_.getFloat32(this._pos_, this._xd_); + return this._pos_ += 4, + t + } + , + e.getFloat64 = function() { + if (this._pos_ + 8 > this._length) + throw "getFloat64 error - Out of bounds"; + var t = this._d_.getFloat64(this._pos_, this._xd_); + return this._pos_ += 8, + t + } + , + e.writeFloat32 = function(t) { + this.ensureWrite(this._pos_ + 4), + this._d_.setFloat32(this._pos_, t, this._xd_), + this._pos_ += 4 + } + , + e.writeFloat64 = function(t) { + this.ensureWrite(this._pos_ + 8), + this._d_.setFloat64(this._pos_, t, this._xd_), + this._pos_ += 8 + } + , + e.getInt32 = function() { + if (this._pos_ + 4 > this._length) + throw "getInt32 error - Out of bounds"; + var t = this._d_.getInt32(this._pos_, this._xd_); + return this._pos_ += 4, + t + } + , + e.getUint32 = function() { + if (this._pos_ + 4 > this._length) + throw "getUint32 error - Out of bounds"; + var t = this._d_.getUint32(this._pos_, this._xd_); + return this._pos_ += 4, + t + } + , + e.writeInt32 = function(t) { + this.ensureWrite(this._pos_ + 4), + this._d_.setInt32(this._pos_, t, this._xd_), + this._pos_ += 4 + } + , + e.writeUint32 = function(t) { + this.ensureWrite(this._pos_ + 4), + this._d_.setUint32(this._pos_, t, this._xd_), + this._pos_ += 4 + } + , + e.getInt16 = function() { + if (this._pos_ + 2 > this._length) + throw "getInt16 error - Out of bounds"; + var t = this._d_.getInt16(this._pos_, this._xd_); + return this._pos_ += 2, + t + } + , + e.getUint16 = function() { + if (this._pos_ + 2 > this._length) + throw "getUint16 error - Out of bounds"; + var t = this._d_.getUint16(this._pos_, this._xd_); + return this._pos_ += 2, + t + } + , + e.writeUint16 = function(t) { + this.ensureWrite(this._pos_ + 2), + this._d_.setUint16(this._pos_, t, this._xd_), + this._pos_ += 2 + } + , + e.writeInt16 = function(t) { + this.ensureWrite(this._pos_ + 2), + this._d_.setInt16(this._pos_, t, this._xd_), + this._pos_ += 2 + } + , + e.getUint8 = function() { + if (this._pos_ + 1 > this._length) + throw "getUint8 error - Out of bounds"; + return this._d_.getUint8(this._pos_++) + } + , + e.writeUint8 = function(t) { + this.ensureWrite(this._pos_ + 1), + this._d_.setUint8(this._pos_, t), + this._pos_++ + } + , + e._getUInt8 = function(t) { + return this._d_.getUint8(t) + } + , + e._getUint16 = function(t) { + return this._d_.getUint16(t, this._xd_) + } + , + e._getMatrix = function() { + return new S(this.getFloat32(),this.getFloat32(),this.getFloat32(),this.getFloat32(),this.getFloat32(),this.getFloat32()) + } + , + e.rUTF = function(t) { + for (var e = "", i = this._pos_ + t, n = 0, a = String.fromCharCode, r = this._u8d_; this._pos_ < i; ) + (n = r[this._pos_++]) < 128 ? 0 != n && (e += a(n)) : e += a(n < 224 ? (63 & n) << 6 | 127 & r[this._pos_++] : n < 240 ? (31 & n) << 12 | (127 & r[this._pos_++]) << 6 | 127 & r[this._pos_++] : (15 & n) << 18 | (127 & r[this._pos_++]) << 12 | r[this._pos_++] << 6 & 127 | 127 & r[this._pos_++]), + 0; + return e + } + , + e.getCustomString = function(t) { + for (var e = "", i = 0, n = 0, a = String.fromCharCode, r = this._u8d_; t > 0; ) + if ((n = r[this._pos_]) < 128) + e += a(n), + this._pos_++, + t--; + else + for (i = n - 128, + this._pos_++, + t -= i; i > 0; ) + n = r[this._pos_++], + e += a(r[this._pos_++] << 8 | n), + i--; + return e + } + , + e.clear = function() { + this._pos_ = 0, + this.length = 0 + } + , + e.__getBuffer = function() { + return this._d_.buffer + } + , + e.writeUTFBytes = function(t) { + for (var e = 0, i = (t += "").length; e < i; e++) { + var n = t.charCodeAt(e); + n <= 127 ? this.writeByte(n) : n <= 2047 ? (this.ensureWrite(this._pos_ + 2), + this._u8d_.set([192 | n >> 6, 128 | 63 & n], this._pos_), + this._pos_ += 2) : n <= 65535 ? (this.ensureWrite(this._pos_ + 3), + this._u8d_.set([224 | n >> 12, 128 | n >> 6 & 63, 128 | 63 & n], this._pos_), + this._pos_ += 3) : (this.ensureWrite(this._pos_ + 4), + this._u8d_.set([240 | n >> 18, 128 | n >> 12 & 63, 128 | n >> 6 & 63, 128 | 63 & n], this._pos_), + this._pos_ += 4) + } + } + , + e.writeUTFString = function(t) { + var e = this.pos; + this.writeUint16(1), + this.writeUTFBytes(t); + var i = this.pos - e - 2; + if (i >= 65536) + throw "writeUTFString byte len more than 65536"; + this._d_.setUint16(e, i, this._xd_) + } + , + e.readUTFString = function() { + return this.readUTFBytes(this.getUint16()) + } + , + e.getUTFString = function() { + return this.readUTFString() + } + , + e.readUTFBytes = function(t) { + if (void 0 === t && (t = -1), + 0 == t) + return ""; + var e = this.bytesAvailable; + if (t > e) + throw "readUTFBytes error - Out of bounds"; + return t = t > 0 ? t : e, + this.rUTF(t) + } + , + e.getUTFBytes = function(t) { + return void 0 === t && (t = -1), + this.readUTFBytes(t) + } + , + e.writeByte = function(t) { + this.ensureWrite(this._pos_ + 1), + this._d_.setInt8(this._pos_, t), + this._pos_ += 1 + } + , + e.readByte = function() { + if (this._pos_ + 1 > this._length) + throw "readByte error - Out of bounds"; + return this._d_.getInt8(this._pos_++) + } + , + e.getByte = function() { + return this.readByte() + } + , + e.ensureWrite = function(t) { + this._length < t && (this._length = t), + this._allocated_ < t && (this.length = t) + } + , + e.writeArrayBuffer = function(t, e, i) { + if (void 0 === e && (e = 0), + void 0 === i && (i = 0), + e < 0 || i < 0) + throw "writeArrayBuffer error - Out of bounds"; + 0 == i && (i = t.byteLength - e), + this.ensureWrite(this._pos_ + i); + var n = new Uint8Array(t); + this._u8d_.set(n.subarray(e, e + i), this._pos_), + this._pos_ += i + } + , + r(0, e, "buffer", function() { + var t = this._d_.buffer; + return t.byteLength == this.length ? t : t.slice(0, this.length) + }), + r(0, e, "endian", function() { + return this._xd_ ? "littleEndian" : "bigEndian" + }, function(t) { + this._xd_ = "littleEndian" == t + }), + r(0, e, "length", function() { + return this._length + }, function(t) { + this._allocated_ < t ? this.___resizeBuffer(this._allocated_ = Math.floor(Math.max(t, 2 * this._allocated_))) : this._allocated_ > t && this.___resizeBuffer(this._allocated_ = t), + this._length = t + }), + r(0, e, "pos", function() { + return this._pos_ + }, function(t) { + this._pos_ = t + }), + r(0, e, "bytesAvailable", function() { + return this._length - this._pos_ + }), + t.getSystemEndian = function() { + if (!t._sysEndian) { + var e = new ArrayBuffer(2); + new DataView(e).setInt16(0, 256, !0), + t._sysEndian = 256 === new Int16Array(e)[0] ? "littleEndian" : "bigEndian" + } + return t._sysEndian + } + , + t.BIG_ENDIAN = "bigEndian", + t.LITTLE_ENDIAN = "littleEndian", + t._sysEndian = null, + t + }() + , V = function() { + function t() {} + return a(t, "laya.utils.CacheManager"), + t.regCacheByFunction = function(e, i) { + t.unRegCacheByFunction(e, i); + var n; + n = { + tryDispose: e, + getCacheList: i + }, + t._cacheList.push(n) + } + , + t.unRegCacheByFunction = function(e, i) { + var n = 0 + , a = 0; + for (a = t._cacheList.length, + n = 0; n < a; n++) + if (t._cacheList[n].tryDispose == e && t._cacheList[n].getCacheList == i) + return void t._cacheList.splice(n, 1) + } + , + t.forceDispose = function() { + var e = 0 + , i = t._cacheList.length; + for (e = 0; e < i; e++) + t._cacheList[e].tryDispose(!0) + } + , + t.beginCheck = function(e) { + void 0 === e && (e = 15e3), + i.timer.loop(e, null, t._checkLoop) + } + , + t.stopCheck = function() { + i.timer.clear(null, t._checkLoop) + } + , + t._checkLoop = function() { + var e = t._cacheList; + if (!(e.length < 1)) { + var i = O.now() + , n = 0 + , a = 0; + for (a = n = e.length; n > 0 && (t._index++, + t._index = t._index % a, + e[t._index].tryDispose(!1), + !(O.now() - i > t.loopTimeLimit)); ) + n-- + } + } + , + t.loopTimeLimit = 2, + t._cacheList = [], + t._index = 0, + t + }() + , F = function() { + function t() {} + return a(t, "laya.utils.ClassUtils"), + t.regClass = function(e, i) { + t._classMap[e] = i + } + , + t.getRegClass = function(e) { + return t._classMap[e] + } + , + t.getInstance = function(e) { + var i = t.getClass(e); + return i ? new i : (console.warn("[error] Undefined class:", e), + null) + } + , + t.createByJson = function(e, i, n, a, r) { + "string" == typeof e && (e = JSON.parse(e)); + var s = e.props; + if (!i && !(i = r ? r.runWith(e) : t.getInstance(s.runtime || e.type))) + return null; + var o = e.child; + if (o) + for (var l = 0, h = o.length; l < h; l++) { + var c = o[l]; + if ("render" !== c.props.name && "render" !== c.props.renderType || !i._$set_itemRender) + if ("Graphic" == c.type) + t.addGraphicsToSprite(c, i); + else if (t.isDrawType(c.type)) + t.addGraphicToSprite(c, i, !0); + else { + var _ = t.createByJson(c, null, n, a, r); + "Script" == c.type ? _.hasOwnProperty("owner") ? _.owner = i : _.hasOwnProperty("target") && (_.target = i) : "mask" == c.props.renderType ? i.mask = _ : i.addChild(_) + } + else + i.itemRender = c + } + if (s) + for (var u in s) { + var d = s[u]; + "var" === u && n ? n[d] = i : d instanceof Array && "function" == typeof i[u] ? i[u].apply(i, d) : i[u] = d + } + return a && e.customProps && a.runWith([i, e]), + i.created && i.created(), + i + } + , + t.addGraphicsToSprite = function(e, i) { + var n; + if ((n = e.child) && !(n.length < 1)) { + var a; + a = t._getGraphicsFromSprite(e, i); + var r = 0 + , s = 0; + e.props && (r = t._getObjVar(e.props, "x", 0), + s = t._getObjVar(e.props, "y", 0)), + 0 != r && 0 != s && a.translate(r, s); + var o = 0 + , l = 0; + for (l = n.length, + o = 0; o < l; o++) + t._addGraphicToGraphics(n[o], a); + 0 != r && 0 != s && a.translate(-r, -s) + } + } + , + t.addGraphicToSprite = function(e, i, n) { + void 0 === n && (n = !1); + var a; + a = n ? t._getGraphicsFromSprite(e, i) : i.graphics, + t._addGraphicToGraphics(e, a) + } + , + t._getGraphicsFromSprite = function(t, e) { + var i; + if (!t || !t.props) + return e.graphics; + var n; + switch (n = t.props.renderType) { + case "hit": + case "unHit": + var a; + e.hitArea || (e.hitArea = new j), + (a = e.hitArea)[n] || (a[n] = new f), + i = a[n] + } + return i || (i = e.graphics), + i + } + , + t._getTransformData = function(e) { + var i; + (e.hasOwnProperty("pivotX") || e.hasOwnProperty("pivotY")) && (i = i || new S).translate(-t._getObjVar(e, "pivotX", 0), -t._getObjVar(e, "pivotY", 0)); + var n = t._getObjVar(e, "scaleX", 1) + , a = t._getObjVar(e, "scaleY", 1) + , r = t._getObjVar(e, "rotation", 0); + t._getObjVar(e, "skewX", 0), + t._getObjVar(e, "skewY", 0); + return 1 == n && 1 == a && 0 == r || ((i = i || new S).scale(n, a), + i.rotate(.0174532922222222 * r)), + i + } + , + t._addGraphicToGraphics = function(e, i) { + var n; + if (n = e.props) { + var a; + if (a = t.DrawTypeDic[e.type]) { + var r; + r = i; + var s, o = t._getParams(n, a[1], a[2], a[3]); + ((s = t._tM) || 1 != t._alpha) && (r.save(), + s && r.transform(s), + 1 != t._alpha && r.alpha(t._alpha)), + r[a[0]].apply(r, o), + (s || 1 != t._alpha) && r.restore() + } + } + } + , + t._adptLineData = function(t) { + return t[2] = parseFloat(t[0]) + parseFloat(t[2]), + t[3] = parseFloat(t[1]) + parseFloat(t[3]), + t + } + , + t._adptTextureData = function(t) { + return t[0] = st.getRes(t[0]), + t + } + , + t._adptLinesData = function(e) { + return e[2] = t._getPointListByStr(e[2]), + e + } + , + t.isDrawType = function(e) { + return "Image" != e && t.DrawTypeDic.hasOwnProperty(e) + } + , + t._getParams = function(e, i, n, a) { + void 0 === n && (n = 0); + var r; + (r = t._temParam).length = i.length; + var s = 0 + , o = 0; + for (o = i.length, + s = 0; s < o; s++) + r[s] = t._getObjVar(e, i[s][0], i[s][1]); + t._alpha = t._getObjVar(e, "alpha", 1); + var l; + return (l = t._getTransformData(e)) ? (n || (n = 0), + l.translate(r[n], r[n + 1]), + r[n] = r[n + 1] = 0, + t._tM = l) : t._tM = null, + a && t[a] && (r = t[a](r)), + r + } + , + t._getPointListByStr = function(t) { + var e, i = 0, n = 0; + for (n = (e = t.split(",")).length, + i = 0; i < n; i++) + e[i] = parseFloat(e[i]); + return e + } + , + t._getObjVar = function(t, e, i) { + return t.hasOwnProperty(e) ? t[e] : i + } + , + t._temParam = [], + t._classMap = { + Sprite: "laya.display.Sprite", + Text: "laya.display.Text", + Animation: "laya.display.Animation", + Skeleton: "laya.ani.bone.Skeleton", + Particle2D: "laya.particle.Particle2D", + div: "laya.html.dom.HTMLDivElement", + p: "laya.html.dom.HTMLElement", + img: "laya.html.dom.HTMLImageElement", + span: "laya.html.dom.HTMLElement", + br: "laya.html.dom.HTMLBrElement", + style: "laya.html.dom.HTMLStyleElement", + font: "laya.html.dom.HTMLElement", + a: "laya.html.dom.HTMLElement", + "#text": "laya.html.dom.HTMLElement" + }, + t.getClass = function(e) { + var n = t._classMap[e] || e; + return "string" == typeof n ? i.__classmap[n] : n + } + , + t._tM = null, + t._alpha = NaN, + n(t, ["DrawTypeDic", function() { + return this.DrawTypeDic = { + Rect: ["drawRect", [["x", 0], ["y", 0], ["width", 0], ["height", 0], ["fillColor", null], ["lineColor", null], ["lineWidth", 1]]], + Circle: ["drawCircle", [["x", 0], ["y", 0], ["radius", 0], ["fillColor", null], ["lineColor", null], ["lineWidth", 1]]], + Pie: ["drawPie", [["x", 0], ["y", 0], ["radius", 0], ["startAngle", 0], ["endAngle", 0], ["fillColor", null], ["lineColor", null], ["lineWidth", 1]]], + Image: ["drawTexture", [["x", 0], ["y", 0], ["width", 0], ["height", 0]]], + Texture: ["drawTexture", [["skin", null], ["x", 0], ["y", 0], ["width", 0], ["height", 0]], 1, "_adptTextureData"], + FillTexture: ["fillTexture", [["skin", null], ["x", 0], ["y", 0], ["width", 0], ["height", 0], ["repeat", null]], 1, "_adptTextureData"], + FillText: ["fillText", [["text", ""], ["x", 0], ["y", 0], ["font", null], ["color", null], ["textAlign", null]], 1], + Line: ["drawLine", [["x", 0], ["y", 0], ["toX", 0], ["toY", 0], ["lineColor", null], ["lineWidth", 0]], 0, "_adptLineData"], + Lines: ["drawLines", [["x", 0], ["y", 0], ["points", ""], ["lineColor", null], ["lineWidth", 0]], 0, "_adptLinesData"], + Curves: ["drawCurves", [["x", 0], ["y", 0], ["points", ""], ["lineColor", null], ["lineWidth", 0]], 0, "_adptLinesData"], + Poly: ["drawPoly", [["x", 0], ["y", 0], ["points", ""], ["fillColor", null], ["lineColor", null], ["lineWidth", 1]], 0, "_adptLinesData"] + } + } + ]), + t + }() + , H = function() { + function t(e) { + if (this._color = [], + "string" == typeof e) { + this.strColor = e, + null === e && (e = "#000000"), + "#" == e.charAt(0) && (e = e.substr(1)); + var i = e.length; + if (3 == i || 4 == i) { + for (var n = "", a = 0; a < i; a++) + n += e[a] + e[a]; + e = n + } + var r = this.numColor = parseInt(e, 16); + if (8 == e.length) + return void (this._color = [parseInt(e.substr(0, 2), 16) / 255, ((16711680 & r) >> 16) / 255, ((65280 & r) >> 8) / 255, (255 & r) / 255]) + } else + r = this.numColor = e, + this.strColor = J.toHexColor(r); + this._color = [((16711680 & r) >> 16) / 255, ((65280 & r) >> 8) / 255, (255 & r) / 255, 1], + this._color.__id = ++t._COLODID + } + return a(t, "laya.utils.Color"), + t._initDefault = function() { + t._DEFAULT = {}; + for (var e in t._COLOR_MAP) + t._SAVE[e] = t._DEFAULT[e] = new t(t._COLOR_MAP[e]); + return t._DEFAULT + } + , + t._initSaveMap = function() { + t._SAVE_SIZE = 0, + t._SAVE = {}; + for (var e in t._DEFAULT) + t._SAVE[e] = t._DEFAULT[e] + } + , + t.create = function(e) { + var i = t._SAVE[e + ""]; + return null != i ? i : (t._SAVE_SIZE < 1e3 || t._initSaveMap(), + t._SAVE[e + ""] = new t(e)) + } + , + t._SAVE = {}, + t._SAVE_SIZE = 0, + t._COLOR_MAP = { + white: "#FFFFFF", + red: "#FF0000", + green: "#00FF00", + blue: "#0000FF", + black: "#000000", + yellow: "#FFFF00", + gray: "#AAAAAA" + }, + t._DEFAULT = t._initDefault(), + t._COLODID = 1, + t + }() + , G = (function() { + function t() { + this._values = [], + this._keys = [] + } + a(t, "laya.utils.Dictionary"); + var e = t.prototype; + e.set = function(t, e) { + var i = this.indexOf(t); + i >= 0 ? this._values[i] = e : (this._keys.push(t), + this._values.push(e)) + } + , + e.indexOf = function(t) { + var e = this._keys.indexOf(t); + return e >= 0 ? e : (t = "string" == typeof t ? Number(t) : "number" == typeof t ? t.toString() : t, + this._keys.indexOf(t)) + } + , + e.get = function(t) { + var e = this.indexOf(t); + return e < 0 ? null : this._values[e] + } + , + e.remove = function(t) { + var e = this.indexOf(t); + return e >= 0 && (this._keys.splice(e, 1), + this._values.splice(e, 1), + !0) + } + , + e.clear = function() { + this._values.length = 0, + this._keys.length = 0 + } + , + r(0, e, "values", function() { + return this._values + }), + r(0, e, "keys", function() { + return this._keys + }) + }(), + function() { + function t() { + this.ratio = .92, + this.maxOffset = 60, + this._dragging = !1, + this._clickOnly = !0 + } + a(t, "laya.utils.Dragging"); + var e = t.prototype; + return e.start = function(t, e, n, a, r, s, o, l) { + void 0 === l && (l = .92), + this.clearTimer(), + this.target = t, + this.area = e, + this.hasInertia = n, + this.elasticDistance = e ? a : 0, + this.elasticBackTime = r, + this.data = s, + this._disableMouseEvent = o, + this.ratio = l, + 1 != t.globalScaleX || 1 != t.globalScaleY ? this._parent = t.parent : this._parent = i.stage, + this._clickOnly = !0, + this._dragging = !0, + this._elasticRateX = this._elasticRateY = 1, + this._lastX = this._parent.mouseX, + this._lastY = this._parent.mouseY, + i.stage.on("mouseup", this, this.onStageMouseUp), + i.stage.on("mouseout", this, this.onStageMouseUp), + i.timer.frameLoop(1, this, this.loop) + } + , + e.clearTimer = function() { + i.timer.clear(this, this.loop), + i.timer.clear(this, this.tweenMove), + this._tween && (this._tween.recover(), + this._tween = null) + } + , + e.stop = function() { + this._dragging && (y.instance.disableMouseEvent = !1, + i.stage.off("mouseup", this, this.onStageMouseUp), + i.stage.off("mouseout", this, this.onStageMouseUp), + this._dragging = !1, + this.target && this.area && this.backToArea(), + this.clear()) + } + , + e.loop = function() { + var t = this._parent.getMousePoint() + , e = t.x + , n = t.y + , a = e - this._lastX + , r = n - this._lastY; + if (this._clickOnly) { + if (!(Math.abs(a * i.stage._canvasTransform.getScaleX()) > 1 || Math.abs(r * i.stage._canvasTransform.getScaleY()) > 1)) + return; + this._clickOnly = !1, + this._offsets || (this._offsets = []), + this._offsets.length = 0, + this.target.event("dragstart", this.data), + y.instance.disableMouseEvent = this._disableMouseEvent, + this.target._set$P("$_MOUSEDOWN", !1) + } else + this._offsets.push(a, r); + 0 === a && 0 === r || (this._lastX = e, + this._lastY = n, + this.target.x += a * this._elasticRateX, + this.target.y += r * this._elasticRateY, + this.area && this.checkArea(), + this.target.event("dragmove", this.data)) + } + , + e.checkArea = function() { + if (this.elasticDistance <= 0) + this.backToArea(); + else { + if (this.target.x < this.area.x) + var t = this.area.x - this.target.x; + else + t = this.target.x > this.area.x + this.area.width ? this.target.x - this.area.x - this.area.width : 0; + if (this._elasticRateX = Math.max(0, 1 - t / this.elasticDistance), + this.target.y < this.area.y) + var e = this.area.y - this.target.y; + else + e = this.target.y > this.area.y + this.area.height ? this.target.y - this.area.y - this.area.height : 0; + this._elasticRateY = Math.max(0, 1 - e / this.elasticDistance) + } + } + , + e.backToArea = function() { + this.target.x = Math.min(Math.max(this.target.x, this.area.x), this.area.x + this.area.width), + this.target.y = Math.min(Math.max(this.target.y, this.area.y), this.area.y + this.area.height) + } + , + e.onStageMouseUp = function(t) { + if (y.instance.disableMouseEvent = !1, + i.stage.off("mouseup", this, this.onStageMouseUp), + i.stage.off("mouseout", this, this.onStageMouseUp), + i.timer.clear(this, this.loop), + !this._clickOnly && this.target) + if (this.hasInertia) { + this._offsets.length < 1 && this._offsets.push(this._parent.mouseX - this._lastX, this._parent.mouseY - this._lastY), + this._offsetX = this._offsetY = 0; + for (var e = this._offsets.length, n = Math.min(e, 6), a = this._offsets.length - n, r = e - 1; r > a; r--) + this._offsetY += this._offsets[r--], + this._offsetX += this._offsets[r]; + this._offsetX = this._offsetX / n * 2, + this._offsetY = this._offsetY / n * 2, + Math.abs(this._offsetX) > this.maxOffset && (this._offsetX = this._offsetX > 0 ? this.maxOffset : -this.maxOffset), + Math.abs(this._offsetY) > this.maxOffset && (this._offsetY = this._offsetY > 0 ? this.maxOffset : -this.maxOffset), + i.timer.frameLoop(1, this, this.tweenMove) + } else + this.elasticDistance > 0 ? this.checkElastic() : this.clear() + } + , + e.checkElastic = function() { + var t = NaN + , e = NaN; + if (this.target.x < this.area.x ? t = this.area.x : this.target.x > this.area.x + this.area.width && (t = this.area.x + this.area.width), + this.target.y < this.area.y ? e = this.area.y : this.target.y > this.area.y + this.area.height && (e = this.area.y + this.area.height), + isNaN(t) && isNaN(e)) + this.clear(); + else { + var i = {}; + isNaN(t) || (i.x = t), + isNaN(e) || (i.y = e), + this._tween = Y.to(this.target, i, this.elasticBackTime, z.sineOut, h.create(this, this.clear), 0, !1, !1) + } + } + , + e.tweenMove = function() { + this._offsetX *= this.ratio * this._elasticRateX, + this._offsetY *= this.ratio * this._elasticRateY, + this.target.x += this._offsetX, + this.target.y += this._offsetY, + this.area && this.checkArea(), + this.target.event("dragmove", this.data), + (Math.abs(this._offsetX) < 1 && Math.abs(this._offsetY) < 1 || this._elasticRateX < .5 || this._elasticRateY < .5) && (i.timer.clear(this, this.tweenMove), + this.elasticDistance > 0 ? this.checkElastic() : this.clear()) + } + , + e.clear = function() { + if (this.target) { + this.clearTimer(); + var t = this.target; + this.target = null, + this._parent = null, + t.event("dragend", this.data) + } + } + , + t + }()) + , z = function() { + function t() {} + return a(t, "laya.utils.Ease"), + t.linearNone = function(t, e, i, n) { + return i * t / n + e + } + , + t.linearIn = function(t, e, i, n) { + return i * t / n + e + } + , + t.linearInOut = function(t, e, i, n) { + return i * t / n + e + } + , + t.linearOut = function(t, e, i, n) { + return i * t / n + e + } + , + t.bounceIn = function(e, i, n, a) { + return n - t.bounceOut(a - e, 0, n, a) + i + } + , + t.bounceInOut = function(e, i, n, a) { + return e < .5 * a ? .5 * t.bounceIn(2 * e, 0, n, a) + i : .5 * t.bounceOut(2 * e - a, 0, n, a) + .5 * n + i + } + , + t.bounceOut = function(t, e, i, n) { + return (t /= n) < 1 / 2.75 ? i * (7.5625 * t * t) + e : t < 2 / 2.75 ? i * (7.5625 * (t -= 1.5 / 2.75) * t + .75) + e : t < 2.5 / 2.75 ? i * (7.5625 * (t -= 2.25 / 2.75) * t + .9375) + e : i * (7.5625 * (t -= 2.625 / 2.75) * t + .984375) + e + } + , + t.backIn = function(t, e, i, n, a) { + return void 0 === a && (a = 1.70158), + i * (t /= n) * t * ((a + 1) * t - a) + e + } + , + t.backInOut = function(t, e, i, n, a) { + return void 0 === a && (a = 1.70158), + (t /= .5 * n) < 1 ? .5 * i * (t * t * ((1 + (a *= 1.525)) * t - a)) + e : i / 2 * ((t -= 2) * t * ((1 + (a *= 1.525)) * t + a) + 2) + e + } + , + t.backOut = function(t, e, i, n, a) { + return void 0 === a && (a = 1.70158), + i * ((t = t / n - 1) * t * ((a + 1) * t + a) + 1) + e + } + , + t.elasticIn = function(e, i, n, a, r, s) { + void 0 === r && (r = 0), + void 0 === s && (s = 0); + var o; + return 0 == e ? i : 1 == (e /= a) ? i + n : (s || (s = .3 * a), + !r || n > 0 && r < n || n < 0 && r < -n ? (r = n, + o = s / 4) : o = s / t.PI2 * Math.asin(n / r), + -r * Math.pow(2, 10 * (e -= 1)) * Math.sin((e * a - o) * t.PI2 / s) + i) + } + , + t.elasticInOut = function(e, i, n, a, r, s) { + void 0 === r && (r = 0), + void 0 === s && (s = 0); + var o; + return 0 == e ? i : 2 == (e /= .5 * a) ? i + n : (s || (s = a * (.3 * 1.5)), + !r || n > 0 && r < n || n < 0 && r < -n ? (r = n, + o = s / 4) : o = s / t.PI2 * Math.asin(n / r), + e < 1 ? r * Math.pow(2, 10 * (e -= 1)) * Math.sin((e * a - o) * t.PI2 / s) * -.5 + i : r * Math.pow(2, -10 * (e -= 1)) * Math.sin((e * a - o) * t.PI2 / s) * .5 + n + i) + } + , + t.elasticOut = function(e, i, n, a, r, s) { + void 0 === r && (r = 0), + void 0 === s && (s = 0); + var o; + return 0 == e ? i : 1 == (e /= a) ? i + n : (s || (s = .3 * a), + !r || n > 0 && r < n || n < 0 && r < -n ? (r = n, + o = s / 4) : o = s / t.PI2 * Math.asin(n / r), + r * Math.pow(2, -10 * e) * Math.sin((e * a - o) * t.PI2 / s) + n + i) + } + , + t.strongIn = function(t, e, i, n) { + return i * (t /= n) * t * t * t * t + e + } + , + t.strongInOut = function(t, e, i, n) { + return (t /= .5 * n) < 1 ? .5 * i * t * t * t * t * t + e : .5 * i * ((t -= 2) * t * t * t * t + 2) + e + } + , + t.strongOut = function(t, e, i, n) { + return i * ((t = t / n - 1) * t * t * t * t + 1) + e + } + , + t.sineInOut = function(t, e, i, n) { + return .5 * -i * (Math.cos(Math.PI * t / n) - 1) + e + } + , + t.sineIn = function(e, i, n, a) { + return -n * Math.cos(e / a * t.HALF_PI) + n + i + } + , + t.sineOut = function(e, i, n, a) { + return n * Math.sin(e / a * t.HALF_PI) + i + } + , + t.quintIn = function(t, e, i, n) { + return i * (t /= n) * t * t * t * t + e + } + , + t.quintInOut = function(t, e, i, n) { + return (t /= .5 * n) < 1 ? .5 * i * t * t * t * t * t + e : .5 * i * ((t -= 2) * t * t * t * t + 2) + e + } + , + t.quintOut = function(t, e, i, n) { + return i * ((t = t / n - 1) * t * t * t * t + 1) + e + } + , + t.quartIn = function(t, e, i, n) { + return i * (t /= n) * t * t * t + e + } + , + t.quartInOut = function(t, e, i, n) { + return (t /= .5 * n) < 1 ? .5 * i * t * t * t * t + e : .5 * -i * ((t -= 2) * t * t * t - 2) + e + } + , + t.quartOut = function(t, e, i, n) { + return -i * ((t = t / n - 1) * t * t * t - 1) + e + } + , + t.cubicIn = function(t, e, i, n) { + return i * (t /= n) * t * t + e + } + , + t.cubicInOut = function(t, e, i, n) { + return (t /= .5 * n) < 1 ? .5 * i * t * t * t + e : .5 * i * ((t -= 2) * t * t + 2) + e + } + , + t.cubicOut = function(t, e, i, n) { + return i * ((t = t / n - 1) * t * t + 1) + e + } + , + t.quadIn = function(t, e, i, n) { + return i * (t /= n) * t + e + } + , + t.quadInOut = function(t, e, i, n) { + return (t /= .5 * n) < 1 ? .5 * i * t * t + e : .5 * -i * (--t * (t - 2) - 1) + e + } + , + t.quadOut = function(t, e, i, n) { + return -i * (t /= n) * (t - 2) + e + } + , + t.expoIn = function(t, e, i, n) { + return 0 == t ? e : i * Math.pow(2, 10 * (t / n - 1)) + e - .001 * i + } + , + t.expoInOut = function(t, e, i, n) { + return 0 == t ? e : t == n ? e + i : (t /= .5 * n) < 1 ? .5 * i * Math.pow(2, 10 * (t - 1)) + e : .5 * i * (2 - Math.pow(2, -10 * --t)) + e + } + , + t.expoOut = function(t, e, i, n) { + return t == n ? e + i : i * (1 - Math.pow(2, -10 * t / n)) + e + } + , + t.circIn = function(t, e, i, n) { + return -i * (Math.sqrt(1 - (t /= n) * t) - 1) + e + } + , + t.circInOut = function(t, e, i, n) { + return (t /= .5 * n) < 1 ? .5 * -i * (Math.sqrt(1 - t * t) - 1) + e : .5 * i * (Math.sqrt(1 - (t -= 2) * t) + 1) + e + } + , + t.circOut = function(t, e, i, n) { + return i * Math.sqrt(1 - (t = t / n - 1) * t) + e + } + , + t.HALF_PI = .5 * Math.PI, + t.PI2 = 2 * Math.PI, + t + }() + , j = function() { + function t() { + this._hit = null, + this._unHit = null + } + a(t, "laya.utils.HitArea"); + var e = t.prototype; + return e.isHit = function(e, i) { + return !!t.isHitGraphic(e, i, this.hit) && !t.isHitGraphic(e, i, this.unHit) + } + , + e.contains = function(t, e) { + return this.isHit(t, e) + } + , + r(0, e, "hit", function() { + return this._hit || (this._hit = new f), + this._hit + }, function(t) { + this._hit = t + }), + r(0, e, "unHit", function() { + return this._unHit || (this._unHit = new f), + this._unHit + }, function(t) { + this._unHit = t + }), + t.isHitGraphic = function(e, i, n) { + if (!n) + return !1; + var a; + if (!(a = n.cmds) && n._one && ((a = t._cmds).length = 1, + a[0] = n._one), + !a) + return !1; + var r = 0 + , s = 0; + s = a.length; + var o; + for (r = 0; r < s; r++) + if (o = a[r]) { + var l = A._context; + switch (o.callee) { + case l._translate: + case 6: + e -= o[0], + i -= o[1] + } + if (t.isHitCmd(e, i, o)) + return !0 + } + return !1 + } + , + t.isHitCmd = function(e, i, n) { + if (!n) + return !1; + var a = A._context + , r = !1; + switch (n.callee) { + case a._drawRect: + case 13: + t._rec.setTo(n[0], n[1], n[2], n[3]), + r = t._rec.contains(e, i); + break; + case a._drawCircle: + case a._fillCircle: + case 14: + r = (e -= n[0]) * e + (i -= n[1]) * i < n[2] * n[2]; + break; + case a._drawPoly: + case 18: + e -= n[0], + i -= n[1], + r = t.ptInPolygon(e, i, n[2]) + } + return r + } + , + t.ptInPolygon = function(e, i, n) { + var a; + (a = t._ptPoint).setTo(e, i); + var r = 0 + , s = NaN + , o = NaN + , l = NaN + , h = NaN + , c = 0; + c = n.length; + for (var _ = 0; _ < c; _ += 2) + if (s = n[_], + o = n[_ + 1], + l = n[(_ + 2) % c], + h = n[(_ + 3) % c], + o != h && !(a.y < Math.min(o, h) || a.y >= Math.max(o, h))) { + (a.y - o) * (l - s) / (h - o) + s > a.x && r++ + } + return r % 2 == 1 + } + , + t._cmds = [], + n(t, ["_rec", function() { + return this._rec = new L + } + , "_ptPoint", function() { + return this._ptPoint = new M + } + ]), + t + }() + , W = (function() { + function t(e, i, n, a) { + this.char = e, + this.charNum = e.charCodeAt(0), + this._x = this._y = 0, + this.width = i, + this.height = n, + this.style = a, + this.isWord = !t._isWordRegExp.test(e) + } + a(t, "laya.utils.HTMLChar"); + var e = t.prototype; + i.imps(e, { + "laya.display.ILayout": !0 + }), + e.setSprite = function(t) { + this._sprite = t + } + , + e.getSprite = function() { + return this._sprite + } + , + e._isChar = function() { + return !0 + } + , + e._getCSSStyle = function() { + return this.style + } + , + r(0, e, "width", function() { + return this._w + }, function(t) { + this._w = t + }), + r(0, e, "x", function() { + return this._x + }, function(t) { + this._sprite && (this._sprite.x = t), + this._x = t + }), + r(0, e, "y", function() { + return this._y + }, function(t) { + this._sprite && (this._sprite.y = t), + this._y = t + }), + r(0, e, "height", function() { + return this._h + }, function(t) { + this._h = t + }), + t._isWordRegExp = new RegExp("[\\w.]","") + }(), + function() { + function t() {} + a(t, "laya.utils.Log"), + t.enable = function() { + t._logdiv || (t._logdiv = O.window.document.createElement("div"), + O.window.document.body.appendChild(t._logdiv), + t._logdiv.style.cssText = "pointer-events:none;border:white;overflow:hidden;z-index:1000000;background:rgba(100,100,100,0.6);color:white;position: absolute;left:0px;top:0px;width:50%;height:50%;") + } + , + t.toggle = function() { + var e = t._logdiv.style; + "1px" == e.width ? e.width = e.height = "50%" : e.width = e.height = "1px" + } + , + t.print = function(e) { + t._logdiv && (t._count >= t.maxCount && t.clear(), + t._count++, + t._logdiv.innerText += e + "\n", + t._logdiv.scrollTop = t._logdiv.scrollHeight) + } + , + t.clear = function() { + t._logdiv.innerText = "", + t._count = 0 + } + , + t._logdiv = null, + t._count = 0, + t.maxCount = 20 + }(), + function() { + function t() {} + a(t, "laya.utils.Mouse"), + r(1, t, "cursor", function() { + return t._style.cursor + }, function(e) { + t._style.cursor = e + }), + t.hide = function() { + "none" != t.cursor && (t._preCursor = t.cursor, + t.cursor = "none") + } + , + t.show = function() { + "none" == t.cursor && (t.cursor = t._preCursor ? t._preCursor : "auto") + } + , + t._preCursor = null, + n(t, ["_style", function() { + return this._style = O.document.body.style + } + ]) + }(), + function() { + function t() {} + return a(t, "laya.utils.Pool"), + t.getPoolBySign = function(e) { + return t._poolDic[e] || (t._poolDic[e] = []) + } + , + t.clearBySign = function(e) { + t._poolDic[e] && (t._poolDic[e].length = 0) + } + , + t.recover = function(e, i) { + i.__InPool || (i.__InPool = !0, + t.getPoolBySign(e).push(i)) + } + , + t.getItemByClass = function(e, i) { + var n = t.getPoolBySign(e) + , a = n.length ? n.pop() : new i; + return a.__InPool = !1, + a + } + , + t.getItemByCreateFun = function(e, i) { + var n = t.getPoolBySign(e) + , a = n.length ? n.pop() : i(); + return a.__InPool = !1, + a + } + , + t.getItem = function(e) { + var i = t.getPoolBySign(e) + , n = i.length ? i.pop() : null; + return n && (n.__InPool = !1), + n + } + , + t._poolDic = {}, + t.InPoolSign = "__InPool", + t + }()) + , X = (function() { + function t() { + this.sign = null, + this.maxCount = 1e3 + } + a(t, "laya.utils.PoolCache"); + var e = t.prototype; + e.getCacheList = function() { + return W.getPoolBySign(this.sign) + } + , + e.tryDispose = function(t) { + var e; + (e = W.getPoolBySign(this.sign)).length > this.maxCount && e.splice(this.maxCount, e.length - this.maxCount) + } + , + t.addPoolCacheManager = function(e, i) { + void 0 === i && (i = 100); + var n; + (n = new t).sign = e, + n.maxCount = i, + V.regCacheByFunction(J.bind(n.tryDispose, n), J.bind(n.getCacheList, n)) + } + }(), + function() { + function t() {} + return a(t, "laya.utils.Stat"), + r(1, t, "onclick", null, function(e) { + t._sp && t._sp.on("click", t._sp, e), + t._canvas && (t._canvas.source.onclick = e, + t._canvas.source.style.pointerEvents = "") + }), + t.show = function(e, i) { + void 0 === e && (e = 0), + void 0 === i && (i = 0), + !A.isConchApp || A.isConchWebGL ? (A.isConchWebGL || O.onMiniGame || O.onLimixiu || (t._useCanvas = !0), + t._show = !0, + t._fpsData.length = 60, + t._view[0] = { + title: "FPS(Canvas)", + value: "_fpsStr", + color: "yellow", + units: "int" + }, + t._view[1] = { + title: "Sprite", + value: "_spriteStr", + color: "white", + units: "int" + }, + t._view[2] = { + title: "DrawCall", + value: "drawCall", + color: "white", + units: "int" + }, + t._view[3] = { + title: "CurMem", + value: "currentMemorySize", + color: "yellow", + units: "M" + }, + A.isWebGL ? (t._view[4] = { + title: "Shader", + value: "shaderCall", + color: "white", + units: "int" + }, + A.is3DMode ? (t._view[0].title = "FPS(3D)", + t._view[5] = { + title: "TriFaces", + value: "trianglesFaces", + color: "white", + units: "int" + }, + t._view[6] = { + title: "treeNodeColl", + value: "treeNodeCollision", + color: "white", + units: "int" + }, + t._view[7] = { + title: "treeSpriteColl", + value: "treeSpriteCollision", + color: "white", + units: "int" + }) : (t._view[0].title = "FPS(WebGL)", + t._view[5] = { + title: "Canvas", + value: "_canvasStr", + color: "white", + units: "int" + })) : t._view[4] = { + title: "Canvas", + value: "_canvasStr", + color: "white", + units: "int" + }, + t._useCanvas ? t.createUIPre(e, i) : t.createUI(e, i), + t.enable()) : O.window.conch.showFPS && O.window.conch.showFPS(e, i) + } + , + t.createUIPre = function(e, i) { + var n = O.pixelRatio; + t._width = 130 * n, + t._vx = 75 * n, + t._height = n * (12 * t._view.length + 3 * n) + 4, + t._fontSize = 12 * n; + for (var a = 0; a < t._view.length; a++) + t._view[a].x = 4, + t._view[a].y = a * t._fontSize + 2 * n; + t._canvas || ((t._canvas = new bt("2D")).size(t._width, t._height), + (t._ctx = t._canvas.getContext("2d")).textBaseline = "top", + t._ctx.font = t._fontSize + "px Sans-serif", + t._canvas.source.style.cssText = "pointer-events:none;background:rgba(150,150,150,0.8);z-index:100000;position: absolute;direction:ltr;left:" + e + "px;top:" + i + "px;width:" + t._width / n + "px;height:" + t._height / n + "px;"), + t._first = !0, + t.loop(), + t._first = !1, + O.container.appendChild(t._canvas.source) + } + , + t.createUI = function(e, i) { + var n = t._sp + , a = O.pixelRatio; + n || (n = new ut, + (t._leftText = new gt).pos(5, 5), + t._leftText.color = "#ffffff", + n.addChild(t._leftText), + (t._txt = new gt).pos(80 * a, 5), + t._txt.color = "#ffffff", + n.addChild(t._txt), + t._sp = n), + n.pos(e, i); + for (var r = "", s = 0; s < t._view.length; s++) { + r += t._view[s].title + "\n" + } + t._leftText.text = r; + var o = 138 * a + , l = a * (12 * t._view.length + 3 * a) + 4; + t._txt.fontSize = t._fontSize * a, + t._leftText.fontSize = t._fontSize * a, + n.size(o, l), + n.graphics.clear(), + n.graphics.setAlpha(.5), + n.graphics.drawRect(0, 0, o, l, "#999999"), + n.graphics.setAlpha(1), + t.loop() + } + , + t.enable = function() { + i.timer.frameLoop(1, t, t.loop) + } + , + t.hide = function() { + t._show = !1, + i.timer.clear(t, t.loop), + t._canvas && O.removeElement(t._canvas.source) + } + , + t.clear = function() { + t.trianglesFaces = t.drawCall = t.shaderCall = t.spriteCount = t.spriteRenderUseCacheCount = t.treeNodeCollision = t.treeSpriteCollision = t.canvasNormal = t.canvasBitmap = t.canvasReCache = 0 + } + , + t.loop = function() { + t._count++; + var e = O.now(); + if (!(e - t._timer < 1e3)) { + var i = t._count; + if (t.FPS = Math.round(1e3 * i / (e - t._timer)), + t._show) { + t.trianglesFaces = Math.round(t.trianglesFaces / i), + t._useCanvas ? (t.drawCall = Math.round(t.drawCall / i) - 2, + t.shaderCall = Math.round(t.shaderCall / i), + t.spriteCount = Math.round(t.spriteCount / i) - 1) : (t.drawCall = Math.round(t.drawCall / i) - 2, + t.shaderCall = Math.round(t.shaderCall / i) - 4, + t.spriteCount = Math.round(t.spriteCount / i) - 4), + t.spriteRenderUseCacheCount = Math.round(t.spriteRenderUseCacheCount / i), + t.canvasNormal = Math.round(t.canvasNormal / i), + t.canvasBitmap = Math.round(t.canvasBitmap / i), + t.canvasReCache = Math.ceil(t.canvasReCache / i), + t.treeNodeCollision = Math.round(t.treeNodeCollision / i), + t.treeSpriteCollision = Math.round(t.treeSpriteCollision / i); + var n = t.FPS > 0 ? Math.floor(1e3 / t.FPS).toString() : " "; + t._fpsStr = t.FPS + (t.renderSlow ? " slow" : "") + " " + n, + t._spriteStr = t.spriteCount + (t.spriteRenderUseCacheCount ? "/" + t.spriteRenderUseCacheCount : ""), + t._canvasStr = t.canvasReCache + "/" + t.canvasNormal + "/" + t.canvasBitmap, + t.currentMemorySize = P.systemResourceManager.memorySize, + t._useCanvas ? t.renderInfoPre() : t.renderInfo(), + t.clear() + } + t._count = 0, + t._timer = e + } + } + , + t.renderInfoPre = function() { + if (t._canvas) { + var e = t._ctx; + e.clearRect(t._first ? 0 : t._vx, 0, t._width, t._height); + for (var i = 0; i < t._view.length; i++) { + var n = t._view[i]; + t._first && (e.fillStyle = "white", + e.fillText(n.title, n.x, n.y, null, null, null)), + e.fillStyle = n.color; + var a = t[n.value]; + "M" == n.units && (a = Math.floor(a / 1048576 * 100) / 100 + " M"), + e.fillText(a + "", n.x + t._vx, n.y, null, null, null) + } + } + } + , + t.renderInfo = function() { + for (var e = "", i = 0; i < t._view.length; i++) { + var n = t._view[i] + , a = t[n.value]; + "M" == n.units && (a = Math.floor(a / 1048576 * 100) / 100 + " M"), + "K" == n.units && (a = Math.floor(a / 1024 * 100) / 100 + " K"), + e += a + "\n" + } + t._txt.text = e + } + , + t.FPS = 0, + t.loopCount = 0, + t.shaderCall = 0, + t.drawCall = 0, + t.trianglesFaces = 0, + t.spriteCount = 0, + t.spriteRenderUseCacheCount = 0, + t.treeNodeCollision = 0, + t.treeSpriteCollision = 0, + t.canvasNormal = 0, + t.canvasBitmap = 0, + t.canvasReCache = 0, + t.renderSlow = !1, + t.currentMemorySize = 0, + t._fpsStr = null, + t._canvasStr = null, + t._spriteStr = null, + t._fpsData = [], + t._timer = 0, + t._count = 0, + t._view = [], + t._fontSize = 12, + t._txt = null, + t._leftText = null, + t._sp = null, + t._show = !1, + t._useCanvas = !1, + t._canvas = null, + t._ctx = null, + t._first = !1, + t._vx = NaN, + t._width = 0, + t._height = 100, + t + }()) + , q = (function() { + function t() { + this._strsToID = {}, + this._idToStrs = [], + this._length = 0 + } + a(t, "laya.utils.StringKey"); + var e = t.prototype; + e.add = function(t) { + var e = this._strsToID[t]; + return null != e ? e : (this._idToStrs[this._length] = t, + this._strsToID[t] = this._length++) + } + , + e.getID = function(t) { + var e = this._strsToID[t]; + return null == e ? -1 : e + } + , + e.getName = function(t) { + var e = this._idToStrs[t]; + return null == e ? void 0 : e + } + }(), + function() { + function t() { + this._delta = 0, + this.scale = 1, + this.currFrame = 0, + this._mid = 1, + this._map = [], + this._laters = [], + this._handlers = [], + this._temp = [], + this._count = 0, + this.currTimer = this._now(), + this._lastTimer = this._now(), + this._init() + } + var e; + a(t, "laya.utils.Timer"); + var n = t.prototype; + return n._init = function() { + i.timer && i.timer.frameLoop(1, this, this._update) + } + , + n._now = function() { + return Date.now() + } + , + n._update = function() { + if (this.scale <= 0) + this._lastTimer = this._now(); + else { + var t = this.currFrame = this.currFrame + this.scale + , e = this._now(); + this._delta = (e - this._lastTimer) * this.scale; + var i = this.currTimer = this.currTimer + this._delta; + this._lastTimer = e; + var n = this._handlers; + for (this._count = 0, + s = 0, + o = n.length; s < o; s++) + if (null !== (l = n[s]).method) { + var a = l.userFrame ? t : i; + if (a >= l.exeTime) + if (l.repeat) + if (l.jumpFrame) + for (; a >= l.exeTime; ) + l.exeTime += l.delay, + l.run(!1); + else + l.exeTime += l.delay, + l.run(!1), + a > l.exeTime && (l.exeTime += Math.ceil((a - l.exeTime) / l.delay) * l.delay); + else + l.run(!0) + } else + this._count++; + (this._count > 30 || t % 200 == 0) && this._clearHandlers(); + for (var r = this._laters, s = 0, o = r.length - 1; s <= o; s++) { + var l = r[s]; + null !== l.method && (this._map[l.key] = null, + l.run(!1)), + this._recoverHandler(l), + s === o && (o = r.length - 1) + } + r.length = 0 + } + } + , + n._clearHandlers = function() { + for (var t = this._handlers, e = 0, i = t.length; e < i; e++) { + var n = t[e]; + null !== n.method ? this._temp.push(n) : this._recoverHandler(n) + } + this._handlers = this._temp, + this._temp = t, + this._temp.length = 0 + } + , + n._recoverHandler = function(e) { + this._map[e.key] == e && (this._map[e.key] = null), + e.clear(), + t._pool.push(e) + } + , + n._create = function(i, n, a, r, s, o, l) { + if (!a) + return s.apply(r, o), + null; + if (l) { + var h = this._getHandler(r, s); + if (h) + return h.repeat = n, + h.userFrame = i, + h.delay = a, + h.caller = r, + h.method = s, + h.args = o, + h.exeTime = a + (i ? this.currFrame : this.currTimer + this._now() - this._lastTimer), + h + } + return h = t._pool.length > 0 ? t._pool.pop() : new e, + h.repeat = n, + h.userFrame = i, + h.delay = a, + h.caller = r, + h.method = s, + h.args = o, + h.exeTime = a + (i ? this.currFrame : this.currTimer + this._now() - this._lastTimer) + 1, + this._indexHandler(h), + this._handlers.push(h), + h + } + , + n._indexHandler = function(t) { + var e = t.caller + , i = t.method + , n = e ? e.$_GID || (e.$_GID = J.getGID()) : 0 + , a = i.$_TID || (i.$_TID = 1e5 * this._mid++); + t.key = n + a, + this._map[t.key] = t + } + , + n.once = function(t, e, i, n, a) { + void 0 === a && (a = !0), + this._create(!1, !1, t, e, i, n, a) + } + , + n.loop = function(t, e, i, n, a, r) { + void 0 === a && (a = !0), + void 0 === r && (r = !1); + var s = this._create(!1, !0, t, e, i, n, a); + s && (s.jumpFrame = r) + } + , + n.frameOnce = function(t, e, i, n, a) { + void 0 === a && (a = !0), + this._create(!0, !1, t, e, i, n, a) + } + , + n.frameLoop = function(t, e, i, n, a) { + void 0 === a && (a = !0), + this._create(!0, !0, t, e, i, n, a) + } + , + n.toString = function() { + return "callLater:" + this._laters.length + " handlers:" + this._handlers.length + " pool:" + t._pool.length + } + , + n.clear = function(t, e) { + var i = this._getHandler(t, e); + i && (this._map[i.key] = null, + i.key = 0, + i.clear()) + } + , + n.clearAll = function(t) { + if (t) + for (var e = 0, i = this._handlers.length; e < i; e++) { + var n = this._handlers[e]; + n.caller === t && (this._map[n.key] = null, + n.key = 0, + n.clear()) + } + } + , + n._getHandler = function(t, e) { + var i = t ? t.$_GID || (t.$_GID = J.getGID()) : 0 + , n = e.$_TID || (e.$_TID = 1e5 * this._mid++); + return this._map[i + n] + } + , + n.callLater = function(i, n, a) { + if (null == this._getHandler(i, n)) { + if (t._pool.length) + var r = t._pool.pop(); + else + r = new e; + r.caller = i, + r.method = n, + r.args = a, + this._indexHandler(r), + this._laters.push(r) + } + } + , + n.runCallLater = function(t, e) { + var i = this._getHandler(t, e); + i && null != i.method && (this._map[i.key] = null, + i.run(!0)) + } + , + n.runTimer = function(t, e) { + this.runCallLater(t, e) + } + , + r(0, n, "delta", function() { + return this._delta + }), + t._pool = [], + t.__init$ = function() { + e = function() { + function t() { + this.key = 0, + this.repeat = !1, + this.delay = 0, + this.userFrame = !1, + this.exeTime = 0, + this.caller = null, + this.method = null, + this.args = null, + this.jumpFrame = !1 + } + a(t, ""); + var e = t.prototype; + return e.clear = function() { + this.caller = null, + this.method = null, + this.args = null + } + , + e.run = function(t) { + var e = this.caller; + if (e && e.destroyed) + return this.clear(); + var i = this.method + , n = this.args; + t && this.clear(), + null != i && (n ? i.apply(e, n) : i.call(e)) + } + , + t + }() + } + , + t + }()) + , Y = function() { + function t() { + this.gid = 0 + } + a(t, "laya.utils.Tween"); + var e = t.prototype; + return e.to = function(t, e, i, n, a, r, s) { + return void 0 === r && (r = 0), + void 0 === s && (s = !1), + this._create(t, e, i, n, a, r, s, !0, !1, !0) + } + , + e.from = function(t, e, i, n, a, r, s) { + return void 0 === r && (r = 0), + void 0 === s && (s = !1), + this._create(t, e, i, n, a, r, s, !1, !1, !0) + } + , + e._create = function(e, n, a, r, s, o, l, h, c, _) { + if (!e) + throw new Error("Tween:target is null"); + this._target = e, + this._duration = a, + this._ease = r || n.ease || t.easeNone, + this._complete = s || n.complete, + this._delay = o, + this._props = [], + this._usedTimer = 0, + this._startTimer = O.now(), + this._usedPool = c, + this._delayParam = null, + this.update = n.update; + var u = e.$_GID || (e.$_GID = J.getGID()); + return t.tweenMap[u] ? (l && t.clearTween(e), + t.tweenMap[u].push(this)) : t.tweenMap[u] = [this], + _ ? o <= 0 ? this.firstStart(e, n, h) : (this._delayParam = [e, n, h], + i.scaleTimer.once(o, this, this.firstStart, this._delayParam)) : this._initProps(e, n, h), + this + } + , + e.firstStart = function(t, e, i) { + this._delayParam = null, + t.destroyed ? this.clear() : (this._initProps(t, e, i), + this._beginLoop()) + } + , + e._initProps = function(t, e, i) { + for (var n in e) + if ("number" == typeof t[n]) { + var a = i ? t[n] : e[n] + , r = i ? e[n] : t[n]; + this._props.push([n, a, r - a]), + i || (t[n] = a) + } + } + , + e._beginLoop = function() { + i.scaleTimer.frameLoop(1, this, this._doEase) + } + , + e._doEase = function() { + this._updateEase(O.now()) + } + , + e._updateEase = function(e) { + var i = this._target; + if (i) { + if (i.destroyed) + return t.clearTween(i); + var n = this._usedTimer = e - this._startTimer - this._delay; + if (!(n < 0)) { + if (n >= this._duration) + return this.complete(); + for (var a = n > 0 ? this._ease(n, 0, 1, this._duration) : 0, r = this._props, s = 0, o = r.length; s < o; s++) { + var l = r[s]; + i[l[0]] = l[1] + a * l[2] + } + this.update && this.update.run() + } + } + } + , + e.complete = function() { + if (this._target) { + i.scaleTimer.runTimer(this, this.firstStart); + for (var t = this._target, e = this._props, n = this._complete, a = 0, r = e.length; a < r; a++) { + var s = e[a]; + t[s[0]] = s[1] + s[2] + } + this.update && this.update.run(), + this.clear(), + n && n.run() + } + } + , + e.pause = function() { + i.scaleTimer.clear(this, this._beginLoop), + i.scaleTimer.clear(this, this._doEase), + i.scaleTimer.clear(this, this.firstStart); + var t = NaN; + (t = O.now() - this._startTimer - this._delay) < 0 && (this._usedTimer = t) + } + , + e.setStartTime = function(t) { + this._startTimer = t + } + , + e.clear = function() { + this._target && (this._remove(), + this._clear()) + } + , + e._clear = function() { + this.pause(), + i.scaleTimer.clear(this, this.firstStart), + this._complete = null, + this._target = null, + this._ease = null, + this._props = null, + this._delayParam = null, + this._usedPool && (this.update = null, + W.recover("tween", this)) + } + , + e.recover = function() { + this._usedPool = !0, + this._clear() + } + , + e._remove = function() { + var e = t.tweenMap[this._target.$_GID]; + if (e) + for (var i = 0, n = e.length; i < n; i++) + if (e[i] === this) { + e.splice(i, 1); + break + } + } + , + e.restart = function() { + if (this.pause(), + this._usedTimer = 0, + this._startTimer = O.now(), + this._delayParam) + i.scaleTimer.once(this._delay, this, this.firstStart, this._delayParam); + else { + for (var t = this._props, e = 0, n = t.length; e < n; e++) { + var a = t[e]; + this._target[a[0]] = a[1] + } + i.scaleTimer.once(this._delay, this, this._beginLoop) + } + } + , + e.resume = function() { + this._usedTimer >= this._duration || (this._startTimer = O.now() - this._usedTimer - this._delay, + this._delayParam ? this._usedTimer < 0 ? i.scaleTimer.once(-this._usedTimer, this, this.firstStart, this._delayParam) : this.firstStart.apply(this, this._delayParam) : this._beginLoop()) + } + , + r(0, e, "progress", null, function(t) { + var e = t * this._duration; + this._startTimer = O.now() - this._delay - e + }), + t.to = function(e, i, n, a, r, s, o, l) { + return void 0 === s && (s = 0), + void 0 === o && (o = !1), + void 0 === l && (l = !0), + W.getItemByClass("tween", t)._create(e, i, n, a, r, s, o, !0, l, !0) + } + , + t.from = function(e, i, n, a, r, s, o, l) { + return void 0 === s && (s = 0), + void 0 === o && (o = !1), + void 0 === l && (l = !0), + W.getItemByClass("tween", t)._create(e, i, n, a, r, s, o, !1, l, !0) + } + , + t.clearAll = function(e) { + if (e && e.$_GID) { + var i = t.tweenMap[e.$_GID]; + if (i) { + for (var n = 0, a = i.length; n < a; n++) + i[n]._clear(); + i.length = 0 + } + } + } + , + t.clear = function(t) { + t.clear() + } + , + t.clearTween = function(e) { + t.clearAll(e) + } + , + t.easeNone = function(t, e, i, n) { + return i * t / n + e + } + , + t.tweenMap = {}, + t + }() + , J = function() { + function t() {} + return a(t, "laya.utils.Utils"), + t.toRadian = function(e) { + return e * t._pi2 + } + , + t.toAngle = function(e) { + return e * t._pi + } + , + t.toHexColor = function(t) { + if (t < 0 || isNaN(t)) + return null; + for (var e = t.toString(16); e.length < 6; ) + e = "0" + e; + return "#" + e + } + , + t.getGID = function() { + return t._gid++ + } + , + t.concatArray = function(t, e) { + if (!e) + return t; + if (!t) + return e; + var i = 0 + , n = e.length; + for (i = 0; i < n; i++) + t.push(e[i]); + return t + } + , + t.clearArray = function(t) { + return t ? (t.length = 0, + t) : t + } + , + t.copyArray = function(t, e) { + if (t || (t = []), + !e) + return t; + t.length = e.length; + var i = 0 + , n = e.length; + for (i = 0; i < n; i++) + t[i] = e[i]; + return t + } + , + t.getGlobalRecByPoints = function(t, e, i, n, a) { + var r; + r = new M(e,i), + r = t.localToGlobal(r); + var s; + return s = new M(n,a), + s = t.localToGlobal(s), + L._getWrapRec([r.x, r.y, s.x, s.y]) + } + , + t.getGlobalPosAndScale = function(e) { + return t.getGlobalRecByPoints(e, 0, 0, 1, 1) + } + , + t.bind = function(t, e) { + return t.bind(e) + } + , + t.measureText = function(t, e) { + return s.measureText(t, e) + } + , + t.updateOrder = function(t) { + if (!t || t.length < 2) + return !1; + for (var e, i = 1, n = 0, a = t.length, r = NaN; i < a; ) { + for (e = t[n = i], + r = t[n]._zOrder; --n > -1 && t[n]._zOrder > r; ) + t[n + 1] = t[n]; + t[n + 1] = e, + i++ + } + var s = e.parent.conchModel; + if (s) + if (null != s.updateZOrder) + s.updateZOrder(); + else { + for (i = 0; i < a; i++) + s.removeChild(t[i].conchModel); + for (i = 0; i < a; i++) + s.addChildAt(t[i].conchModel, i) + } + return !0 + } + , + t.transPointList = function(t, e, i) { + var n = 0 + , a = t.length; + for (n = 0; n < a; n += 2) + t[n] += e, + t[n + 1] += i + } + , + t.parseInt = function(t, e) { + void 0 === e && (e = 0); + var i = O.window.parseInt(t, e); + return isNaN(i) ? 0 : i + } + , + t.getFileExtension = function(e) { + t._extReg.lastIndex = e.lastIndexOf("."); + var i = t._extReg.exec(e); + return i && i.length > 1 ? i[1].toLowerCase() : null + } + , + t.getTransformRelativeToWindow = function(t, e, n) { + var a = i.stage + , r = laya.utils.Utils.getGlobalPosAndScale(t) + , s = a._canvasTransform.clone() + , o = s.tx + , l = s.ty; + s.rotate(-Math.PI / 180 * i.stage.canvasDegree), + s.scale(i.stage.clientScaleX, i.stage.clientScaleY); + var h = i.stage.canvasDegree % 180 != 0 + , c = NaN + , _ = NaN; + h ? (c = n + r.y, + _ = e + r.x, + c *= s.d, + _ *= s.a, + 90 == i.stage.canvasDegree ? (c = o - c, + _ += l) : (c += o, + _ = l - _)) : (c = e + r.x, + _ = n + r.y, + c *= s.a, + _ *= s.d, + c += o, + _ += l); + var u = NaN + , d = NaN; + return h ? (u = s.d * r.height, + d = s.a * r.width) : (u = s.a * r.width, + d = s.d * r.height), + { + x: c, + y: _, + scaleX: u, + scaleY: d + } + } + , + t.fitDOMElementInArea = function(e, n, a, r, s, o) { + e._fitLayaAirInitialized || (e._fitLayaAirInitialized = !0, + e.style.transformOrigin = e.style.webKittransformOrigin = "left top", + e.style.position = "absolute"); + var l = t.getTransformRelativeToWindow(n, a, r); + e.style.transform = e.style.webkitTransform = "scale(" + l.scaleX + "," + l.scaleY + ") rotate(" + i.stage.canvasDegree + "deg)", + e.style.width = s + "px", + e.style.height = o + "px", + e.style.left = l.x + "px", + e.style.top = l.y + "px" + } + , + t.isOkTextureList = function(t) { + if (!t) + return !1; + var e, i = 0, n = t.length; + for (i = 0; i < n; i++) + if (!(e = t[i]) || !e.source) + return !1; + return !0 + } + , + t.isOKCmdList = function(t) { + if (!t) + return !1; + var e, i, n = 0, a = t.length, r = A._context; + for (n = 0; n < a; n++) + switch ((e = t[n]).callee) { + case r._drawTexture: + case r._fillTexture: + case r._drawTextureWithTransform: + if (!(i = e[0]) || !i.source) + return !1 + } + return !0 + } + , + t._gid = 1, + t._pi = 180 / Math.PI, + t._pi2 = Math.PI / 180, + t._extReg = /\.(\w+)\??/g, + t.parseXMLFromString = function(t) { + var e; + if (t = t.replace(/>\s+<"), + (e = (new DOMParser).parseFromString(t, "text/xml")).firstChild.textContent.indexOf("This page contains the following errors") > -1) + throw new Error(e.firstChild.firstChild.textContent); + return e + } + , + t + }() + , K = function() { + function t() { + this.useDic = {}, + this.shapeDic = {}, + this.shapeLineDic = {}, + this._id = 0, + this._checkKey = !1, + this._freeIdArray = [], + A.isWebGL && V.regCacheByFunction(J.bind(this.startDispose, this), J.bind(this.getCacheList, this)) + } + a(t, "laya.utils.VectorGraphManager"); + var e = t.prototype; + return e.getId = function() { + return this._id++ + } + , + e.addShape = function(t, e) { + this.shapeDic[t] = e, + this.useDic[t] || (this.useDic[t] = !0) + } + , + e.addLine = function(t, e) { + this.shapeLineDic[t] = e, + this.shapeLineDic[t] || (this.shapeLineDic[t] = !0) + } + , + e.getShape = function(t) { + this._checkKey && null != this.useDic[t] && (this.useDic[t] = !0) + } + , + e.deleteShape = function(t) { + this.shapeDic[t] && (this.shapeDic[t] = null, + delete this.shapeDic[t]), + this.shapeLineDic[t] && (this.shapeLineDic[t] = null, + delete this.shapeLineDic[t]), + null != this.useDic[t] && delete this.useDic[t] + } + , + e.getCacheList = function() { + var t, e = []; + for (t in this.shapeDic) + e.push(this.shapeDic[t]); + for (t in this.shapeLineDic) + e.push(this.shapeLineDic[t]); + return e + } + , + e.startDispose = function(t) { + var e; + for (e in this.useDic) + this.useDic[e] = !1; + this._checkKey = !0 + } + , + e.endDispose = function() { + if (this._checkKey) { + var t; + for (t in this.useDic) + this.useDic[t] || this.deleteShape(t); + this._checkKey = !1 + } + } + , + t.getInstance = function() { + return t.instance = t.instance || new t + } + , + t.instance = null, + t + }() + , Z = function() { + function t() { + this._obj = null, + this._obj = t.supportWeakMap ? new O.window.WeakMap : {}, + t.supportWeakMap || t._maps.push(this) + } + a(t, "laya.utils.WeakObject"); + var e = t.prototype; + return e.set = function(e, i) { + if (null != e) + if (t.supportWeakMap) { + var n = e; + "string" != typeof e && "number" != typeof e || (n = t._keys[e]) || (n = t._keys[e] = { + k: e + }), + this._obj.set(n, i) + } else + "string" == typeof e || "number" == typeof e ? this._obj[e] = i : (e.$_GID || (e.$_GID = J.getGID()), + this._obj[e.$_GID] = i) + } + , + e.get = function(e) { + if (null == e) + return null; + if (t.supportWeakMap) { + var i = "string" == typeof e || "number" == typeof e ? t._keys[e] : e; + return i ? this._obj.get(i) : null + } + return "string" == typeof e || "number" == typeof e ? this._obj[e] : this._obj[e.$_GID] + } + , + e.del = function(e) { + if (null != e) + if (t.supportWeakMap) { + var i = "string" == typeof e || "number" == typeof e ? t._keys[e] : e; + if (!i) + return; + this._obj.delete(i) + } else + "string" == typeof e || "number" == typeof e ? delete this._obj[e] : delete this._obj[this._obj.$_GID] + } + , + e.has = function(e) { + if (null == e) + return !1; + if (t.supportWeakMap) { + var i = "string" == typeof e || "number" == typeof e ? t._keys[e] : e; + return this._obj.has(i) + } + return "string" == typeof e || "number" == typeof e ? null != this._obj[e] : null != this._obj[this._obj.$_GID] + } + , + t.__init__ = function() { + (t.supportWeakMap = null != O.window.WeakMap) || i.timer.loop(t.delInterval, null, t.clearCache) + } + , + t.clearCache = function() { + for (var e = 0, i = t._maps.length; e < i; e++) { + t._maps[e]._obj = {} + } + } + , + t.supportWeakMap = !1, + t.delInterval = 3e5, + t._keys = {}, + t._maps = [], + n(t, ["I", function() { + return this.I = new t + } + ]), + t + }() + , Q = function() { + function t() { + this.id = NaN, + this.save = [], + this.toUpperCase = null, + this.changed = !1, + this._text = null + } + a(t, "laya.utils.WordText"); + var e = t.prototype; + return e.setText = function(t) { + this.changed = !0, + this._text = t + } + , + e.toString = function() { + return this._text + } + , + e.charCodeAt = function(t) { + return this._text ? this._text.charCodeAt(t) : NaN + } + , + e.charAt = function(t) { + return this._text ? this._text.charAt(t) : null + } + , + r(0, e, "length", function() { + return this._text ? this._text.length : 0 + }), + t + }() + , $ = function(t) { + function e() { + this._bits = 0, + this._displayedInStage = !1, + this._parent = null, + this.conchModel = null, + this.name = "", + this._destroyed = !1, + e.__super.call(this), + this._childs = e.ARRAY_EMPTY, + this._$P = e.PROP_EMPTY, + this.timer = i.scaleTimer, + this.conchModel = A.isConchNode ? this.createConchModel() : null + } + a(e, "laya.display.Node", l); + var n = e.prototype; + return n._setBit = function(t, e) { + if (1 == t) { + this._getBit(t) != e && this._updateDisplayedInstage() + } + e ? this._bits |= t : this._bits &= ~t + } + , + n._getBit = function(t) { + return 0 != (this._bits & t) + } + , + n._setUpNoticeChain = function() { + this._getBit(1) && this._setUpNoticeType(1) + } + , + n._setUpNoticeType = function(t) { + var e = this; + for (e._setBit(t, !0), + e = e.parent; e; ) { + if (e._getBit(t)) + return; + e._setBit(t, !0), + e = e.parent + } + } + , + n.on = function(t, e, i, n) { + return "display" !== t && "undisplay" !== t || this._getBit(1) || this._setUpNoticeType(1), + this._createListener(t, e, i, n, !1) + } + , + n.once = function(t, e, i, n) { + return "display" !== t && "undisplay" !== t || this._getBit(1) || this._setUpNoticeType(1), + this._createListener(t, e, i, n, !0) + } + , + n.createConchModel = function() { + return null + } + , + n.destroy = function(t) { + void 0 === t && (t = !0), + this._destroyed = !0, + this._parent && this._parent.removeChild(this), + this._childs && (t ? this.destroyChildren() : this.removeChildren()), + this._childs = null, + this._$P = null, + this.offAll(), + this.timer.clearAll(this) + } + , + n.destroyChildren = function() { + if (this._childs) + for (var t = this._childs.length - 1; t > -1; t--) + this._childs[t].destroy(!0) + } + , + n.addChild = function(t) { + if (!t || this.destroyed || t === this) + return t; + if (t.zOrder && this._set$P("hasZorder", !0), + t._parent === this) { + var i = this.getChildIndex(t); + i !== this._childs.length - 1 && (this._childs.splice(i, 1), + this._childs.push(t), + this.conchModel && (this.conchModel.removeChild(t.conchModel), + this.conchModel.addChildAt(t.conchModel, this._childs.length - 1)), + this._childChanged()) + } else + t.parent && t.parent.removeChild(t), + this._childs === e.ARRAY_EMPTY && (this._childs = []), + this._childs.push(t), + this.conchModel && this.conchModel.addChildAt(t.conchModel, this._childs.length - 1), + t.parent = this, + this._childChanged(); + return t + } + , + n.addChildren = function(t) { + for (var e = arguments, i = 0, n = e.length; i < n; ) + this.addChild(e[i++]) + } + , + n.addChildAt = function(t, i) { + if (!t || this.destroyed || t === this) + return t; + if (t.zOrder && this._set$P("hasZorder", !0), + i >= 0 && i <= this._childs.length) { + if (t._parent === this) { + var n = this.getChildIndex(t); + this._childs.splice(n, 1), + this._childs.splice(i, 0, t), + this.conchModel && (this.conchModel.removeChild(t.conchModel), + this.conchModel.addChildAt(t.conchModel, i)), + this._childChanged() + } else + t.parent && t.parent.removeChild(t), + this._childs === e.ARRAY_EMPTY && (this._childs = []), + this._childs.splice(i, 0, t), + this.conchModel && this.conchModel.addChildAt(t.conchModel, i), + t.parent = this; + return t + } + throw new Error("appendChildAt:The index is out of bounds") + } + , + n.getChildIndex = function(t) { + return this._childs.indexOf(t) + } + , + n.getChildByName = function(t) { + var e = this._childs; + if (e) + for (var i = 0, n = e.length; i < n; i++) { + var a = e[i]; + if (a.name === t) + return a + } + return null + } + , + n._get$P = function(t) { + return this._$P[t] + } + , + n._set$P = function(t, i) { + return this.destroyed || (this._$P === e.PROP_EMPTY && (this._$P = {}), + this._$P[t] = i), + i + } + , + n.getChildAt = function(t) { + return this._childs[t] + } + , + n.setChildIndex = function(t, e) { + var i = this._childs; + if (e < 0 || e >= i.length) + throw new Error("setChildIndex:The index is out of bounds."); + var n = this.getChildIndex(t); + if (n < 0) + throw new Error("setChildIndex:node is must child of this object."); + return i.splice(n, 1), + i.splice(e, 0, t), + this.conchModel && (this.conchModel.removeChild(t.conchModel), + this.conchModel.addChildAt(t.conchModel, e)), + this._childChanged(), + t + } + , + n._childChanged = function(t) {} + , + n.removeChild = function(t) { + if (!this._childs) + return t; + var e = this._childs.indexOf(t); + return this.removeChildAt(e) + } + , + n.removeSelf = function() { + return this._parent && this._parent.removeChild(this), + this + } + , + n.removeChildByName = function(t) { + var e = this.getChildByName(t); + return e && this.removeChild(e), + e + } + , + n.removeChildAt = function(t) { + var e = this.getChildAt(t); + return e && (this._childs.splice(t, 1), + this.conchModel && this.conchModel.removeChild(e.conchModel), + e.parent = null), + e + } + , + n.removeChildren = function(t, i) { + if (void 0 === t && (t = 0), + void 0 === i && (i = 2147483647), + this._childs && this._childs.length > 0) { + var n = this._childs; + if (0 === t && i >= s) { + var a = n; + this._childs = e.ARRAY_EMPTY + } else + a = n.splice(t, i - t); + for (var r = 0, s = a.length; r < s; r++) + a[r].parent = null, + this.conchModel && this.conchModel.removeChild(a[r].conchModel) + } + return this + } + , + n.replaceChild = function(t, e) { + var i = this._childs.indexOf(e); + return i > -1 ? (this._childs.splice(i, 1, t), + this.conchModel && (this.conchModel.removeChild(e.conchModel), + this.conchModel.addChildAt(t.conchModel, i)), + e.parent = null, + t.parent = this, + t) : null + } + , + n._updateDisplayedInstage = function() { + var t; + t = this; + var e = i.stage; + for (this._displayedInStage = !1; t; ) { + if (t._getBit(1)) { + this._displayedInStage = t._displayedInStage; + break + } + if (t == e || t._displayedInStage) { + this._displayedInStage = !0; + break + } + t = t.parent + } + } + , + n._setDisplay = function(t) { + this._displayedInStage !== t && (this._displayedInStage = t, + t ? this.event("display") : this.event("undisplay")) + } + , + n._displayChild = function(t, e) { + var i = t._childs; + if (i) + for (var n = 0, a = i.length; n < a; n++) { + var r = i[n]; + r._getBit(1) && (r._childs.length > 0 ? this._displayChild(r, e) : r._setDisplay(e)) + } + t._setDisplay(e) + } + , + n.contains = function(t) { + if (t === this) + return !0; + for (; t; ) { + if (t.parent === this) + return !0; + t = t.parent + } + return !1 + } + , + n.timerLoop = function(t, e, i, n, a, r) { + void 0 === a && (a = !0), + void 0 === r && (r = !1), + this.timer.loop(t, e, i, n, a, r) + } + , + n.timerOnce = function(t, e, i, n, a) { + void 0 === a && (a = !0), + this.timer._create(!1, !1, t, e, i, n, a) + } + , + n.frameLoop = function(t, e, i, n, a) { + void 0 === a && (a = !0), + this.timer._create(!0, !0, t, e, i, n, a) + } + , + n.frameOnce = function(t, e, i, n, a) { + void 0 === a && (a = !0), + this.timer._create(!0, !1, t, e, i, n, a) + } + , + n.clearTimer = function(t, e) { + this.timer.clear(t, e) + } + , + r(0, n, "numChildren", function() { + return this._childs.length + }), + r(0, n, "destroyed", function() { + return this._destroyed + }), + r(0, n, "parent", function() { + return this._parent + }, function(t) { + this._parent !== t && (t ? (this._parent = t, + this.event("added"), + this._getBit(1) && (this._setUpNoticeChain(), + t.displayedInStage && this._displayChild(this, !0)), + t._childChanged(this)) : (this.event("removed"), + this._parent._childChanged(), + this._getBit(1) && this._displayChild(this, !1), + this._parent = t)) + }), + r(0, n, "displayedInStage", function() { + return this._getBit(1) ? this._displayedInStage : (this._setUpNoticeType(1), + this._displayedInStage) + }), + e.ARRAY_EMPTY = [], + e.PROP_EMPTY = {}, + e.NOTICE_DISPLAY = 1, + e.MOUSEENABLE = 2, + e + }() + , tt = function(t) { + function e(t) { + this._bgground = null, + this._border = null, + this._rect = null, + this.underLine = 0, + this.lineHeight = 0, + e.__super.call(this), + this._padding = e._PADDING, + this._spacing = e._SPACING, + this._aligns = e._ALIGNS, + this._font = u.EMPTY, + this._ower = t + } + a(e, "laya.display.css.CSSStyle", t); + var i = e.prototype; + return i.destroy = function() { + this._ower = null, + this._font = null, + this._rect = null + } + , + i.inherit = function(t) { + this._font = t._font, + this._spacing = t._spacing === e._SPACING ? e._SPACING : t._spacing.slice(), + this.lineHeight = t.lineHeight + } + , + i._widthAuto = function() { + return 0 != (262144 & this._type) + } + , + i.widthed = function(t) { + return 0 != (8 & this._type) + } + , + i._calculation = function(t, e) { + function i(t, e, i) { + return t * i[0] + e * i[1] + i[2] + } + function n(t) { + var e = r.width + , n = a.width; + s.width && (a.width = i(e, n, s.width)), + s.height && (a.height = i(e, n, s.height)), + s.left && (a.x = i(e, n, s.left)), + s.top && (a.y = i(e, n, s.top)) + } + if (e.indexOf("%") < 0) + return !1; + var a = this._ower + , r = a.parent + , s = this._rect; + null === s && (r._getCSSStyle()._type |= 524288, + r.on("resize", this, n), + this._rect = s = { + input: {} + }); + var o = e.split(" "); + return o[0] = parseFloat(o[0]) / 100, + 1 == o.length ? o[1] = o[2] = 0 : (o[1] = parseFloat(o[1]) / 100, + o[2] = parseFloat(o[2])), + s[t] = o, + s.input[t] = e, + n(), + !0 + } + , + i.heighted = function(t) { + return 0 != (8192 & this._type) + } + , + i.size = function(t, e) { + var i = this._ower + , n = !1; + -1 !== t && t != this._ower.width && (this._type |= 8, + this._ower.width = t, + n = !0), + -1 !== e && e != this._ower.height && (this._type |= 8192, + this._ower.height = e, + n = !0), + n && (i._layoutLater(), + 524288 & this._type && i.event("resize", this)) + } + , + i._getAlign = function() { + return this._aligns[0] + } + , + i._getValign = function() { + return this._aligns[1] + } + , + i._getCssFloat = function() { + return 0 != (32768 & this._type) ? 32768 : 0 + } + , + i._createFont = function() { + return 4096 & this._type ? this._font : (this._type |= 4096, + this._font = new u(this._font)) + } + , + i.render = function(t, e, i, n) { + var a = t.width + , r = t.height; + i -= t.pivotX, + n -= t.pivotY, + this._bgground && null != this._bgground.color && e.ctx.fillRect(i, n, a, r, this._bgground.color), + this._border && this._border.color && e.drawRect(i, n, a, r, this._border.color.strColor, this._border.size) + } + , + i.getCSSStyle = function() { + return this + } + , + i.cssText = function(t) { + this.attrs(e.parseOneCSS(t, ";")) + } + , + i.attrs = function(t) { + if (t) + for (var e = 0, i = t.length; e < i; e++) { + var n = t[e]; + this[n[0]] = n[1] + } + } + , + i.setTransform = function(t) { + "none" === t ? this._tf = _._TF_EMPTY : this.attrs(e.parseOneCSS(t, ",")) + } + , + i.translate = function(t, e) { + this._tf === _._TF_EMPTY && (this._tf = new d), + this._tf.translateX = t, + this._tf.translateY = e + } + , + i.scale = function(t, e) { + this._tf === _._TF_EMPTY && (this._tf = new d), + this._tf.scaleX = t, + this._tf.scaleY = e + } + , + i._enableLayout = function() { + return 0 == (2 & this._type) && 0 == (4 & this._type) + } + , + r(0, i, "block", t.prototype._$get_block, function(t) { + t ? this._type |= 1 : this._type &= -2 + }), + r(0, i, "valign", function() { + return e._valigndef[this._aligns[1]] + }, function(t) { + this._aligns === e._ALIGNS && (this._aligns = [0, 0, 0]), + this._aligns[1] = e._valigndef[t] + }), + r(0, i, "height", null, function(t) { + if (this._type |= 8192, + "string" == typeof t) { + if (this._calculation("height", t)) + return; + t = parseInt(t) + } + this.size(-1, t) + }), + r(0, i, "width", null, function(t) { + if (this._type |= 8, + "string" == typeof t) { + var e = t.indexOf("auto"); + if (e >= 0 && (this._type |= 262144, + t = t.substr(0, e)), + this._calculation("width", t)) + return; + t = parseInt(t) + } + this.size(t, -1) + }), + r(0, i, "fontWeight", function() { + return this._font.weight + }, function(t) { + this._createFont().weight = t + }), + r(0, i, "left", null, function(t) { + var e = this._ower; + if ("string" == typeof t) { + if ("center" === t ? t = "50% -50% 0" : "right" === t && (t = "100% -100% 0"), + this._calculation("left", t)) + return; + t = parseInt(t) + } + e.x = t + }), + r(0, i, "_translate", null, function(t) { + this.translate(t[0], t[1]) + }), + r(0, i, "absolute", function() { + return 0 != (4 & this._type) + }), + r(0, i, "top", null, function(t) { + var e = this._ower; + if ("string" == typeof t) { + if ("middle" === t ? t = "50% -50% 0" : "bottom" === t && (t = "100% -100% 0"), + this._calculation("top", t)) + return; + t = parseInt(t) + } + e.y = t + }), + r(0, i, "align", function() { + return e._aligndef[this._aligns[0]] + }, function(t) { + this._aligns === e._ALIGNS && (this._aligns = [0, 0, 0]), + this._aligns[0] = e._aligndef[t] + }), + r(0, i, "bold", function() { + return this._font.bold + }, function(t) { + this._createFont().bold = t + }), + r(0, i, "padding", function() { + return this._padding + }, function(t) { + this._padding = t + }), + r(0, i, "leading", function() { + return this._spacing[1] + }, function(t) { + "string" == typeof t && (t = parseInt(t + "")), + this._spacing === e._SPACING && (this._spacing = [0, 0]), + this._spacing[1] = t + }), + r(0, i, "lineElement", function() { + return 0 != (65536 & this._type) + }, function(t) { + t ? this._type |= 65536 : this._type &= -65537 + }), + r(0, i, "cssFloat", function() { + return 0 != (32768 & this._type) ? "right" : "left" + }, function(t) { + this.lineElement = !1, + "right" === t ? this._type |= 32768 : this._type &= -32769 + }), + r(0, i, "textDecoration", function() { + return this._font.decoration + }, function(t) { + this._createFont().decoration = t + }), + r(0, i, "whiteSpace", function() { + return 131072 & this._type ? "nowrap" : "" + }, function(t) { + "nowrap" === t && (this._type |= 131072), + "none" === t && (this._type &= -131073) + }), + r(0, i, "background", null, function(t) { + t ? (this._bgground || (this._bgground = {}), + this._bgground.color = t, + this._ower.conchModel && this._ower.conchModel.bgColor(t), + this._type |= 16384, + this._ower._renderType |= 256) : this._bgground = null + }), + r(0, i, "wordWrap", function() { + return 0 == (131072 & this._type) + }, function(t) { + t ? this._type &= -131073 : this._type |= 131072 + }), + r(0, i, "color", function() { + return this._font.color + }, function(t) { + this._createFont().color = t + }), + r(0, i, "password", function() { + return this._font.password + }, function(t) { + this._createFont().password = t + }), + r(0, i, "backgroundColor", function() { + return this._bgground ? this._bgground.color : null + }, function(t) { + "none" === t ? this._bgground = null : (this._bgground || (this._bgground = {}), + this._bgground.color = t), + this._ower.conchModel && this._ower.conchModel.bgColor(t), + this._ower._renderType |= 256 + }), + r(0, i, "font", function() { + return this._font.toString() + }, function(t) { + this._createFont().set(t) + }), + r(0, i, "weight", null, function(t) { + this._createFont().weight = t + }), + r(0, i, "letterSpacing", function() { + return this._spacing[0] + }, function(t) { + "string" == typeof t && (t = parseInt(t + "")), + this._spacing === e._SPACING && (this._spacing = [0, 0]), + this._spacing[0] = t + }), + r(0, i, "fontSize", function() { + return this._font.size + }, function(t) { + this._createFont().size = t + }), + r(0, i, "italic", function() { + return this._font.italic + }, function(t) { + this._createFont().italic = t + }), + r(0, i, "fontFamily", function() { + return this._font.family + }, function(t) { + this._createFont().family = t + }), + r(0, i, "stroke", function() { + return this._font.stroke[0] + }, function(t) { + this._createFont().stroke === u._STROKE && (this._font.stroke = [0, "#000000"]), + this._font.stroke[0] = t + }), + r(0, i, "strokeColor", function() { + return this._font.stroke[1] + }, function(t) { + this._createFont().stroke === u._STROKE && (this._font.stroke = [0, "#000000"]), + this._font.stroke[1] = t + }), + r(0, i, "border", function() { + return this._border ? this._border.value : "" + }, function(t) { + if ("none" != t) { + this._border || (this._border = {}), + this._border.value = t; + var e = t.split(" "); + if (this._border.color = H.create(e[e.length - 1]), + 1 == e.length) + return this._border.size = 1, + void (this._border.type = "solid"); + var i = 0; + e[0].indexOf("px") > 0 ? (this._border.size = parseInt(e[0]), + i++) : this._border.size = 1, + this._border.type = e[i], + this._ower._renderType |= 256 + } else + this._border = null + }), + r(0, i, "borderColor", function() { + return this._border && this._border.color ? this._border.color.strColor : null + }, function(t) { + t ? (this._border || (this._border = { + size: 1, + type: "solid" + }), + this._border.color = null == t ? null : H.create(t), + this._ower.conchModel && this._ower.conchModel.border(this._border.color.strColor), + this._ower._renderType |= 256) : this._border = null + }), + r(0, i, "position", function() { + return 4 & this._type ? "absolute" : "" + }, function(t) { + "absolute" == t ? this._type |= 4 : this._type &= -5 + }), + r(0, i, "display", null, function(t) { + switch (t) { + case "": + this._type &= -3, + this.visible = !0; + break; + case "none": + this._type |= 2, + this.visible = !1, + this._ower._layoutLater() + } + }), + r(0, i, "paddingLeft", function() { + return this.padding[3] + }), + r(0, i, "paddingTop", function() { + return this.padding[0] + }), + r(0, i, "_scale", null, function(t) { + this._ower.scale(t[0], t[1]) + }), + r(0, i, "_rotate", null, function(t) { + this._ower.rotation = t + }), + e.parseOneCSS = function(t, i) { + for (var n, a = [], r = t.split(i), s = 0, o = r.length; s < o; s++) { + var l = r[s] + , h = l.indexOf(":") + , c = l.substr(0, h).replace(/^\s+|\s+$/g, ""); + if (0 != c.length) { + var _ = l.substr(h + 1).replace(/^\s+|\s+$/g, "") + , u = [c, _]; + switch (c) { + case "italic": + case "bold": + u[1] = "true" == _; + break; + case "line-height": + u[0] = "lineHeight", + u[1] = parseInt(_); + break; + case "font-size": + u[0] = "fontSize", + u[1] = parseInt(_); + break; + case "padding": + (n = _.split(" ")).length > 1 || (n[1] = n[2] = n[3] = n[0]), + u[1] = [parseInt(n[0]), parseInt(n[1]), parseInt(n[2]), parseInt(n[3])]; + break; + case "rotate": + u[0] = "_rotate", + u[1] = parseFloat(_); + break; + case "scale": + n = _.split(" "), + u[0] = "_scale", + u[1] = [parseFloat(n[0]), parseFloat(n[1])]; + break; + case "translate": + n = _.split(" "), + u[0] = "_translate", + u[1] = [parseInt(n[0]), parseInt(n[1])]; + break; + default: + (u[0] = e._CSSTOVALUE[c]) || (u[0] = c) + } + a.push(u) + } + } + return a + } + , + e.parseCSS = function(t, i) { + for (var n; null != (n = e._parseCSSRegExp.exec(t)); ) + e.styleSheets[n[1]] = e.parseOneCSS(n[2], ";") + } + , + e.EMPTY = new e(null), + e._CSSTOVALUE = { + "letter-spacing": "letterSpacing", + "line-spacing": "lineSpacing", + "white-space": "whiteSpace", + "line-height": "lineHeight", + "scale-x": "scaleX", + "scale-y": "scaleY", + "translate-x": "translateX", + "translate-y": "translateY", + "font-family": "fontFamily", + "font-weight": "fontWeight", + "vertical-align": "valign", + "text-decoration": "textDecoration", + "background-color": "backgroundColor", + "border-color": "borderColor", + float: "cssFloat" + }, + e._parseCSSRegExp = new RegExp("([.#]\\w+)\\s*{([\\s\\S]*?)}","g"), + e._aligndef = { + left: 0, + center: 1, + right: 2, + 0: "left", + 1: "center", + 2: "right" + }, + e._valigndef = { + top: 0, + middle: 1, + bottom: 2, + 0: "top", + 1: "middle", + 2: "bottom" + }, + e.styleSheets = {}, + e.ALIGN_CENTER = 1, + e.ALIGN_RIGHT = 2, + e.VALIGN_MIDDLE = 1, + e.VALIGN_BOTTOM = 2, + e._CSS_BLOCK = 1, + e._DISPLAY_NONE = 2, + e._ABSOLUTE = 4, + e._WIDTH_SET = 8, + e._PADDING = [0, 0, 0, 0], + e._RECT = [-1, -1, -1, -1], + e._SPACING = [0, 0], + e._ALIGNS = [0, 0, 0], + e.ADDLAYOUTED = 512, + e._NEWFONT = 4096, + e._HEIGHT_SET = 8192, + e._BACKGROUND_SET = 16384, + e._FLOAT_RIGHT = 32768, + e._LINE_ELEMENT = 65536, + e._NOWARP = 131072, + e._WIDTHAUTO = 262144, + e._LISTERRESZIE = 524288, + e + }(_) + , et = function(t) { + function e() { + this.url = null, + this.audio = null, + this.loaded = !1, + e.__super.call(this) + } + a(e, "laya.media.h5audio.AudioSound", l); + var i = e.prototype; + return i.dispose = function() { + var t = e._audioCache[this.url]; + t && (t.src = "", + delete e._audioCache[this.url]) + } + , + i.load = function(t) { + function i() { + a(), + s.loaded = !0, + s.event("complete") + } + function n() { + r.load = null, + a(), + s.event("error") + } + function a() { + r.removeEventListener("canplaythrough", i), + r.removeEventListener("error", n) + } + t = N.formatURL(t), + this.url = t; + var r; + if (t == T._tMusic ? (e._initMusicAudio(), + (r = e._musicAudio).src != t && (e._audioCache[r.src] = null, + r = null)) : r = e._audioCache[t], + r && r.readyState >= 2) + this.event("complete"); + else { + r || (t == T._tMusic ? (e._initMusicAudio(), + r = e._musicAudio) : r = O.createElement("audio"), + e._audioCache[t] = r, + r.src = t), + r.addEventListener("canplaythrough", i), + r.addEventListener("error", n); + var s = this; + this.audio = r, + r.load ? r.load() : n() + } + } + , + i.play = function(t, i) { + if (void 0 === t && (t = 0), + void 0 === i && (i = 0), + !this.url) + return null; + var n; + if (!(n = this.url == T._tMusic ? e._musicAudio : e._audioCache[this.url])) + return null; + var a; + a = W.getItem("audio:" + this.url), + A.isConchApp ? a || ((a = O.createElement("audio")).src = this.url) : this.url == T._tMusic ? (e._initMusicAudio(), + (a = e._musicAudio).src = this.url) : a = a || n.cloneNode(!0); + var r = new dt(a); + return r.url = this.url, + r.loops = i, + r.startTime = t, + r.play(), + T.addChannel(r), + r + } + , + r(0, i, "duration", function() { + var t; + return (t = e._audioCache[this.url]) ? t.duration : 0 + }), + e._initMusicAudio = function() { + e._musicAudio || (e._musicAudio || (e._musicAudio = O.createElement("audio")), + A.isConchApp || O.document.addEventListener("mousedown", e._makeMusicOK)) + } + , + e._makeMusicOK = function() { + O.document.removeEventListener("mousedown", e._makeMusicOK), + e._musicAudio.src ? e._musicAudio.play() : (e._musicAudio.src = "", + e._musicAudio.load()) + } + , + e._audioCache = {}, + e._musicAudio = null, + e + }() + , it = function(t) { + function e() { + this.url = null, + this.loops = 0, + this.startTime = NaN, + this.isStopped = !1, + this.completeHandler = null, + e.__super.call(this) + } + a(e, "laya.media.SoundChannel", l); + var i = e.prototype; + return i.play = function() {} + , + i.stop = function() {} + , + i.pause = function() {} + , + i.resume = function() {} + , + i.__runComplete = function(t) { + t && t.run() + } + , + r(0, i, "volume", function() { + return 1 + }, function(t) {}), + r(0, i, "position", function() { + return 0 + }), + r(0, i, "duration", function() { + return 0 + }), + e + }() + , nt = function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.media.Sound", l); + var i = e.prototype; + return i.load = function(t) {} + , + i.play = function(t, e) { + return void 0 === t && (t = 0), + void 0 === e && (e = 0), + null + } + , + i.dispose = function() {} + , + r(0, i, "duration", function() { + return 0 + }), + e + }() + , at = function(t) { + function e() { + this.url = null, + this.loaded = !1, + this.data = null, + this.audioBuffer = null, + this.__toPlays = null, + this._disposed = !1, + e.__super.call(this) + } + a(e, "laya.media.webaudio.WebAudioSound", l); + var i = e.prototype; + return i.load = function(t) { + var i = this; + if (t = N.formatURL(t), + this.url = t, + this.audioBuffer = e._dataCache[t], + this.audioBuffer) + this._loaded(this.audioBuffer); + else if (e.e.on("loaded:" + t, this, this._loaded), + e.e.on("err:" + t, this, this._err), + !e.__loadingSound[t]) { + e.__loadingSound[t] = !0; + var n = new O.window.XMLHttpRequest; + n.open("GET", t, !0), + n.responseType = "arraybuffer", + n.onload = function() { + i._disposed ? i._removeLoadEvents() : (i.data = n.response, + e.buffs.push({ + buffer: i.data, + url: i.url + }), + e.decode()) + } + , + n.onerror = function(t) { + i._err() + } + , + n.send() + } + } + , + i._err = function() { + this._removeLoadEvents(), + e.__loadingSound[this.url] = !1, + this.event("error") + } + , + i._loaded = function(t) { + this._removeLoadEvents(), + this._disposed || (this.audioBuffer = t, + e._dataCache[this.url] = this.audioBuffer, + this.loaded = !0, + this.event("complete")) + } + , + i._removeLoadEvents = function() { + e.e.off("loaded:" + this.url, this, this._loaded), + e.e.off("err:" + this.url, this, this._err) + } + , + i.__playAfterLoaded = function() { + if (this.__toPlays) { + var t, e = 0, i = 0; + i = (t = this.__toPlays).length; + var n; + for (e = 0; e < i; e++) + (n = t[e])[2] && !n[2].isStopped && this.play(n[0], n[1], n[2]); + this.__toPlays.length = 0 + } + } + , + i.play = function(t, e, i) { + return void 0 === t && (t = 0), + void 0 === e && (e = 0), + i = i || new ft, + this.audioBuffer || this.url && (this.__toPlays || (this.__toPlays = []), + this.__toPlays.push([t, e, i]), + this.once("complete", this, this.__playAfterLoaded), + this.load(this.url)), + i.url = this.url, + i.loops = e, + i.audioBuffer = this.audioBuffer, + i.startTime = t, + i.play(), + T.addChannel(i), + i + } + , + i.dispose = function() { + this._disposed = !0, + delete e._dataCache[this.url], + delete e.__loadingSound[this.url], + this.audioBuffer = null, + this.data = null, + this.__toPlays = [] + } + , + r(0, i, "duration", function() { + return this.audioBuffer ? this.audioBuffer.duration : 0 + }), + e.decode = function() { + e.buffs.length <= 0 || e.isDecoding || (e.isDecoding = !0, + e.tInfo = e.buffs.shift(), + e.ctx.decodeAudioData(e.tInfo.buffer, e._done, e._fail)) + } + , + e._done = function(t) { + e.e.event("loaded:" + e.tInfo.url, t), + e.isDecoding = !1, + e.decode() + } + , + e._fail = function() { + e.e.event("err:" + e.tInfo.url, null), + e.isDecoding = !1, + e.decode() + } + , + e._playEmptySound = function() { + if (null != e.ctx) { + var t = e.ctx.createBufferSource(); + t.buffer = e._miniBuffer, + t.connect(e.ctx.destination), + t.start(0, 0, 0) + } + } + , + e._unlock = function() { + e._unlocked || (e._playEmptySound(), + "running" == e.ctx.state && (O.document.removeEventListener("mousedown", e._unlock, !0), + O.document.removeEventListener("touchend", e._unlock, !0), + e._unlocked = !0)) + } + , + e.initWebAudio = function() { + "running" != e.ctx.state && (e._unlock(), + O.document.addEventListener("mousedown", e._unlock, !0), + O.document.addEventListener("touchend", e._unlock, !0)) + } + , + e._dataCache = {}, + e.buffs = [], + e.isDecoding = !1, + e._unlocked = !1, + e.tInfo = null, + e.__loadingSound = {}, + n(e, ["window", function() { + return this.window = O.window + } + , "webAudioEnabled", function() { + return this.webAudioEnabled = e.window.AudioContext || e.window.webkitAudioContext || e.window.mozAudioContext + } + , "ctx", function() { + return this.ctx = e.webAudioEnabled ? new (e.window.AudioContext || e.window.webkitAudioContext || e.window.mozAudioContext) : void 0 + } + , "_miniBuffer", function() { + return this._miniBuffer = e.ctx.createBuffer(1, 1, 22050) + } + , "e", function() { + return this.e = new l + } + ]), + e + }() + , rt = function(t) { + function e() { + this._responseType = null, + this._data = null, + e.__super.call(this), + this._http = new O.window.XMLHttpRequest + } + a(e, "laya.net.HttpRequest", l); + var i = e.prototype; + return i.send = function(t, e, i, n, a) { + void 0 === i && (i = "get"), + void 0 === n && (n = "text"), + this._responseType = n, + this._data = null; + var r = this + , s = this._http; + if (s.open(i, t, !0), + a) + for (var o = 0; o < a.length; o++) + s.setRequestHeader(a[o++], a[o]); + else + A.isConchApp || (e && "string" != typeof e ? s.setRequestHeader("Content-Type", "application/json") : s.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")); + s.responseType = "arraybuffer" !== n ? "text" : "arraybuffer", + s.onerror = function(t) { + r._onError(t) + } + , + s.onabort = function(t) { + r._onAbort(t) + } + , + s.onprogress = function(t) { + r._onProgress(t) + } + , + s.onload = function(t) { + r._onLoad(t) + } + , + s.send(e) + } + , + i._onProgress = function(t) { + t && t.lengthComputable && this.event("progress", t.loaded / t.total) + } + , + i._onAbort = function(t) { + this.error("Request was aborted by user") + } + , + i._onError = function(t) { + this.error("Request failed Status:" + this._http.status + " text:" + this._http.statusText) + } + , + i._onLoad = function(t) { + var e = this._http + , i = void 0 !== e.status ? e.status : 200; + 200 === i || 204 === i || 0 === i ? this.complete() : this.error("[" + e.status + "]" + e.statusText + ":" + e.responseURL) + } + , + i.error = function(t) { + this.clear(), + this.event("error", t) + } + , + i.complete = function() { + this.clear(); + var t = !0; + try { + "json" === this._responseType ? this._data = JSON.parse(this._http.responseText) : "xml" === this._responseType ? this._data = J.parseXMLFromString(this._http.responseText) : this._data = this._http.response || this._http.responseText + } catch (e) { + t = !1, + this.error(e.message) + } + t && this.event("complete", this._data instanceof Array ? [this._data] : this._data) + } + , + i.clear = function() { + var t = this._http; + t.onerror = t.onabort = t.onprogress = t.onload = null + } + , + r(0, i, "url", function() { + return this._http.responseURL + }), + r(0, i, "http", function() { + return this._http + }), + r(0, i, "data", function() { + return this._data + }), + e + }() + , st = function(t) { + function e() { + this._data = null, + this._class = null, + this._url = null, + this._type = null, + this._cache = !1, + this._http = null, + this._customParse = !1, + e.__super.call(this) + } + a(e, "laya.net.Loader", l); + var n = e.prototype; + return n.load = function(t, i, n, a, r) { + if (void 0 === n && (n = !0), + void 0 === r && (r = !1), + this._url = t, + 0 === t.indexOf("data:image") ? this._type = i = "image" : (this._type = i || (i = this.getTypeFromUrl(t)), + t = N.formatURL(t)), + this._cache = n, + this._data = null, + !r && e.loadedMap[t]) + return this._data = e.loadedMap[t], + this.event("progress", 1), + void this.event("complete", this._data); + if (a && e.setGroup(t, a), + null != e.parserMap[i]) + return this._customParse = !0, + void (e.parserMap[i]instanceof laya.utils.Handler ? e.parserMap[i].runWith(this) : e.parserMap[i].call(null, this)); + if ("image" === i || "htmlimage" === i || "nativeimage" === i) + return this._loadImage(t); + if ("sound" === i) + return this._loadSound(t); + if ("ttf" === i) + return this._loadTTF(t); + var s; + switch (i) { + case "atlas": + case "plf": + s = "json"; + break; + case "font": + s = "xml"; + break; + case "pkm": + s = "arraybuffer"; + break; + default: + s = i + } + e.preLoadedMap[t] ? this.onLoaded(e.preLoadedMap[t]) : (this._http || (this._http = new rt, + this._http.on("progress", this, this.onProgress), + this._http.on("error", this, this.onError), + this._http.on("complete", this, this.onLoaded)), + this._http.send(t, null, "get", s)) + } + , + n.getTypeFromUrl = function(t) { + var i = J.getFileExtension(t); + return i ? e.typeMap[i] : (console.warn("Not recognize the resources suffix", t), + "text") + } + , + n._loadTTF = function(t) { + t = N.formatURL(t); + var e = new D; + e.complete = h.create(this, this.onLoaded), + e.load(t) + } + , + n._loadImage = function(t) { + function i() { + n.onload = null, + n.onerror = null, + delete e.imgCache[t] + } + t = N.formatURL(t); + var n, a = this, r = function() { + i(), + a.onLoaded(n) + }, s = function() { + i(), + a.event("error", "Load image failed") + }; + "nativeimage" === this._type ? ((n = new O.window.Image).crossOrigin = "", + n.onload = r, + n.onerror = s, + n.src = t, + e.imgCache[t] = n) : new It.create(t,{ + onload: r, + onerror: s, + onCreate: function(i) { + n = i, + e.imgCache[t] = i + } + }) + } + , + n._loadSound = function(t) { + function e() { + i.offAll() + } + var i = new T._soundClass + , n = this; + i.on("complete", this, function() { + e(), + n.onLoaded(i) + }), + i.on("error", this, function() { + e(), + i.dispose(), + n.event("error", "Load sound failed") + }), + i.load(t) + } + , + n.onProgress = function(t) { + "atlas" === this._type ? this.event("progress", .3 * t) : this.event("progress", t) + } + , + n.onError = function(t) { + this.event("error", t) + } + , + n.onLoaded = function(t) { + var i = this._type; + if ("plf" == i) + this.parsePLFData(t), + this.complete(t); + else if ("image" === i) { + var n = new ct(t); + n.url = this._url, + this.complete(n) + } else if ("sound" === i || "htmlimage" === i || "nativeimage" === i) + this.complete(t); + else if ("atlas" === i) { + if (!t.src && !t._setContext) { + if (!this._data) { + if (this._data = t, + t.meta && t.meta.image) + for (var a = t.meta.image.split(","), r = this._url.indexOf("/") >= 0 ? "/" : "\\", s = this._url.lastIndexOf(r), o = s >= 0 ? this._url.substr(0, s + 1) : "", l = 0, h = a.length; l < h; l++) + a[l] = o + a[l]; + else + a = [this._url.replace(".json", ".png")]; + a.reverse(), + t.toLoads = a, + t.pics = [] + } + return this.event("progress", .3 + 1 / a.length * .6), + this._loadImage(a.pop()) + } + if (this._data.pics.push(t), + this._data.toLoads.length > 0) + return this.event("progress", .3 + 1 / this._data.toLoads.length * .6), + this._loadImage(this._data.toLoads.pop()); + var _ = this._data.frames + , u = this._url.split("?")[0] + , d = this._data.meta && this._data.meta.prefix ? this._data.meta.prefix : u.substring(0, u.lastIndexOf(".")) + "/" + , f = this._data.pics + , p = N.formatURL(this._url) + , m = e.atlasMap[p] || (e.atlasMap[p] = []); + m.dir = d; + var g = 1; + if (this._data.meta && this._data.meta.scale && 1 != this._data.meta.scale) { + g = parseFloat(this._data.meta.scale); + for (var y in _) { + var v = _[y] + , b = f[v.frame.idx ? v.frame.idx : 0] + , w = N.formatURL(d + y); + b.scaleRate = g, + e.cacheRes(w, ct.create(b, v.frame.x, v.frame.y, v.frame.w, v.frame.h, v.spriteSourceSize.x, v.spriteSourceSize.y, v.sourceSize.w, v.sourceSize.h)), + e.loadedMap[w].url = w, + m.push(w) + } + } else + for (y in _) + b = f[(v = _[y]).frame.idx ? v.frame.idx : 0], + w = N.formatURL(d + y), + e.cacheRes(w, ct.create(b, v.frame.x, v.frame.y, v.frame.w, v.frame.h, v.spriteSourceSize.x, v.spriteSourceSize.y, v.sourceSize.w, v.sourceSize.h)), + e.loadedMap[w].url = w, + m.push(w); + delete this._data.pics, + this.complete(this._data) + } else if ("font" == i) { + if (!t.src) + return this._data = t, + this.event("progress", .5), + this._loadImage(this._url.replace(".fnt", ".png")); + var x = new c; + x.parseFont(this._data, t); + var I = this._url.split(".fnt")[0].split("/") + , C = I[I.length - 1]; + gt.registerBitmapFont(C, x), + this._data = x, + this.complete(this._data) + } else if ("pkm" == i) { + var S = It.create(t, this._url) + , M = new ct(S); + M.url = this._url, + this.complete(M) + } else + this.complete(t) + } + , + n.parsePLFData = function(t) { + var i, n, a; + for (i in t) + switch (a = t[i], + i) { + case "json": + case "text": + for (n in a) + e.preLoadedMap[N.formatURL(n)] = a[n]; + break; + default: + for (n in a) + e.preLoadedMap[N.formatURL(n)] = a[n] + } + } + , + n.complete = function(t) { + this._data = t, + this._customParse ? this.event("loaded", t instanceof Array ? [t] : t) : (e._loaders.push(this), + e._isWorking || e.checkNext()) + } + , + n.endLoad = function(t) { + t && (this._data = t), + this._cache && e.cacheRes(this._url, this._data), + this.event("progress", 1), + this.event("complete", this.data instanceof Array ? [this.data] : this.data) + } + , + r(0, n, "url", function() { + return this._url + }), + r(0, n, "data", function() { + return this._data + }), + r(0, n, "cache", function() { + return this._cache + }), + r(0, n, "type", function() { + return this._type + }), + e.checkNext = function() { + e._isWorking = !0; + for (var t = O.now(); e._startIndex < e._loaders.length; ) + if (O.now(), + e._loaders[e._startIndex].endLoad(), + e._startIndex++, + O.now() - t > e.maxTimeOut) + return console.warn("loader callback cost a long time:" + (O.now() - t) + " url=" + e._loaders[e._startIndex - 1].url), + void i.timer.frameOnce(1, null, e.checkNext); + e._loaders.length = 0, + e._startIndex = 0, + e._isWorking = !1 + } + , + e.clearRes = function(t, i) { + void 0 === i && (i = !1), + t = N.formatURL(t); + var n = e.getAtlas(t); + if (n) { + for (var a = 0, r = n.length; a < r; a++) { + var s = n[a] + , o = e.getRes(s); + delete e.loadedMap[s], + o && o.destroy(i) + } + n.length = 0, + delete e.atlasMap[t], + delete e.loadedMap[t] + } else { + var l = e.loadedMap[t]; + l && (delete e.loadedMap[t], + l instanceof laya.resource.Texture && l.bitmap && l.destroy(i)) + } + } + , + e.clearTextureRes = function(t) { + t = N.formatURL(t); + var e = laya.net.Loader.getAtlas(t); + if (e && e.length > 0) + for (var i = 0; i < e.length; i++) { + (n = laya.net.Loader.getRes(e[i])) && n.bitmap && (A.isConchApp && !A.isConchWebGL ? n.bitmap.source.releaseTexture && n.bitmap.source.releaseTexture() : null == n.bitmap._atlaser && n.bitmap.releaseResource(!0)) + } + else { + var n = laya.net.Loader.getRes(t); + n && n.bitmap && (A.isConchApp && !A.isConchWebGL ? n.bitmap.source.releaseTexture && n.bitmap.source.releaseTexture() : null == n.bitmap._atlaser && n.bitmap.releaseResource(!0)) + } + } + , + e.getRes = function(t) { + return e.loadedMap[N.formatURL(t)] + } + , + e.getAtlas = function(t) { + return e.atlasMap[N.formatURL(t)] + } + , + e.cacheRes = function(t, i) { + t = N.formatURL(t), + null != e.loadedMap[t] ? console.warn("Resources already exist,is repeated loading:", t) : e.loadedMap[t] = i + } + , + e.setGroup = function(t, i) { + e.groupMap[i] || (e.groupMap[i] = []), + e.groupMap[i].push(t) + } + , + e.clearResByGroup = function(t) { + if (e.groupMap[t]) { + var i = e.groupMap[t] + , n = 0 + , a = i.length; + for (n = 0; n < a; n++) + e.clearRes(i[n]); + i.length = 0 + } + } + , + e.TEXT = "text", + e.JSON = "json", + e.XML = "xml", + e.BUFFER = "arraybuffer", + e.IMAGE = "image", + e.SOUND = "sound", + e.ATLAS = "atlas", + e.FONT = "font", + e.TTF = "ttf", + e.PLF = "plf", + e.PKM = "pkm", + e.typeMap = { + png: "image", + jpg: "image", + jpeg: "image", + txt: "text", + json: "json", + xml: "xml", + als: "atlas", + atlas: "atlas", + mp3: "sound", + ogg: "sound", + wav: "sound", + part: "json", + fnt: "font", + pkm: "pkm", + ttf: "ttf", + plf: "plf" + }, + e.parserMap = {}, + e.groupMap = {}, + e.maxTimeOut = 100, + e.loadedMap = {}, + e.preLoadedMap = {}, + e.atlasMap = {}, + e._loaders = [], + e._isWorking = !1, + e._startIndex = 0, + e.imgCache = {}, + e + }() + , ot = function(t) { + function e() { + this.retryNum = 1, + this.retryDelay = 0, + this.maxLoader = 5, + this._loaders = [], + this._loaderCount = 0, + this._resInfos = [], + this._infoPool = [], + this._maxPriority = 5, + this._failRes = {}, + e.__super.call(this); + for (var t = 0; t < this._maxPriority; t++) + this._resInfos[t] = [] + } + var r; + a(e, "laya.net.LoaderManager", l); + var s = e.prototype; + return s.create = function(t, e, i, n, a, r, s, o) { + if (void 0 === r && (r = 1), + void 0 === s && (s = !0), + t instanceof Array) { + var l = t + , c = l.length + , _ = 0; + if (i) + var u = h.create(i.caller, i.method, i.args, !1); + for (var d = 0; d < c; d++) { + var f = l[d]; + "string" == typeof f && (f = l[d] = { + url: f + }), + f.progress = 0 + } + for (d = 0; d < c; d++) { + f = l[d]; + var p = i ? h.create(null, function(t, e) { + t.progress = e; + for (var i = 0, n = 0; n < c; n++) + i += l[n].progress; + var a = i / c; + u.runWith(a) + }, [f], !1) : null + , m = i || e ? h.create(null, function(t, i) { + _++, + t.progress = 1, + _ === c && e && e.run() + }, [f]) : null; + this._create(f.url, m, p, f.clas || n, f.params || a, f.priority || r, s, f.group || o) + } + return !0 + } + return this._create(t, e, i, n, a, r, s, o) + } + , + s._create = function(t, n, a, r, s, o, l, c) { + void 0 === o && (o = 1), + void 0 === l && (l = !0); + var _ = N.formatURL(t) + , u = this.getRes(_); + if (u) + !u.hasOwnProperty("loaded") || u.loaded ? (a && a.runWith(1), + n && n.run()) : n && i.loader._createListener(t, n.caller, n.method, n.args, !0, !1); + else { + var d = J.getFileExtension(t) + , f = e.createMap[d]; + if (!f) + throw new Error("LoaderManager:unknown file(" + t + ") extension with: " + d + "."); + r || (r = f[0]); + var p = f[1]; + "atlas" == d ? this.load(t, n, a, p, o, l) : (r === ct && (p = "htmlimage"), + (u = r ? new r : null).hasOwnProperty("_loaded") && (u._loaded = !1), + u._setUrl(t), + c && u._setGroup(c), + this._createLoad(u, t, h.create(null, function(e) { + u && !u.destroyed && e && u.onAsynLoaded.call(u, t, e, s), + n && n.run(), + i.loader.event(t) + }), a, p, o, !1, c, !0), + l && this.cacheRes(_, u)) + } + return u + } + , + s.load = function(t, n, a, s, o, l, h, c) { + var _ = this; + if (void 0 === o && (o = 1), + void 0 === l && (l = !0), + void 0 === c && (c = !1), + t instanceof Array) + return this._loadAssets(t, n, a, s, o, l, h); + var u = st.getRes(t); + if (null != u) + i.timer.frameOnce(1, null, function() { + a && a.runWith(1), + n && n.runWith(u), + _._loaderCount || _.event("complete") + }); + else { + var d = e._resMap[t]; + d ? (n && d._createListener("complete", n.caller, n.method, n.args, !1, !1), + a && d._createListener("progress", a.caller, a.method, a.args, !1, !1)) : ((d = this._infoPool.length ? this._infoPool.pop() : new r).url = t, + d.type = s, + d.cache = l, + d.group = h, + d.ignoreCache = c, + n && d.on("complete", n.caller, n.method, n.args), + a && d.on("progress", a.caller, a.method, a.args), + e._resMap[t] = d, + o = o < this._maxPriority ? o : this._maxPriority - 1, + this._resInfos[o].push(d), + this._next()) + } + return this + } + , + s._createLoad = function(t, n, a, s, o, l, h, c, _) { + var u = this; + if (void 0 === l && (l = 1), + void 0 === h && (h = !0), + void 0 === _ && (_ = !1), + n instanceof Array) + return this._loadAssets(n, a, s, o, l, h, c); + var d = st.getRes(n); + if (null != d) + i.timer.frameOnce(1, null, function() { + s && s.runWith(1), + a && a.runWith(d), + u._loaderCount || u.event("complete") + }); + else { + var f = e._resMap[n]; + f ? (a && f._createListener("complete", a.caller, a.method, a.args, !1, !1), + s && f._createListener("progress", s.caller, s.method, s.args, !1, !1)) : ((f = this._infoPool.length ? this._infoPool.pop() : new r).url = n, + f.clas = t, + f.type = o, + f.cache = h, + f.group = c, + f.ignoreCache = _, + a && f.on("complete", a.caller, a.method, a.args), + s && f.on("progress", s.caller, s.method, s.args), + e._resMap[n] = f, + l = l < this._maxPriority ? l : this._maxPriority - 1, + this._resInfos[l].push(f), + this._next()) + } + return this + } + , + s._next = function() { + if (!(this._loaderCount >= this.maxLoader)) { + for (var t = 0; t < this._maxPriority; t++) + for (var e = this._resInfos[t]; e.length > 0; ) { + var i = e.shift(); + if (i) + return this._doLoad(i) + } + this._loaderCount || this.event("complete") + } + } + , + s._doLoad = function(t) { + function e(e) { + i.offAll(), + i._data = null, + i._customParse = !1, + n._loaders.push(i), + n._endLoad(t, e instanceof Array ? [e] : e), + n._loaderCount--, + n._next() + } + this._loaderCount++; + var i = this._loaders.length ? this._loaders.pop() : new st; + i.on("complete", null, e), + i.on("progress", null, function(e) { + t.event("progress", e) + }), + i.on("error", null, function(t) { + e(null) + }); + var n = this; + i._class = t.clas, + i.load(t.url, t.type, t.cache, t.group, t.ignoreCache) + } + , + s._endLoad = function(t, n) { + var a = t.url; + if (null == n) { + var r = this._failRes[a] || 0; + if (r < this.retryNum) + return console.warn("[warn]Retry to load:", a), + this._failRes[a] = r + 1, + void i.timer.once(this.retryDelay, this, this._addReTry, [t], !1); + console.warn("[error]Failed to load:", a), + this.event("error", a) + } + this._failRes[a] && (this._failRes[a] = 0), + delete e._resMap[a], + t.event("complete", n), + t.offAll(), + this._infoPool.push(t) + } + , + s._addReTry = function(t) { + this._resInfos[this._maxPriority - 1].push(t), + this._next() + } + , + s.clearRes = function(t, e) { + void 0 === e && (e = !1), + st.clearRes(t, e) + } + , + s.getRes = function(t) { + return st.getRes(t) + } + , + s.cacheRes = function(t, e) { + st.cacheRes(t, e) + } + , + s.clearTextureRes = function(t) { + st.clearTextureRes(t) + } + , + s.setGroup = function(t, e) { + st.setGroup(t, e) + } + , + s.clearResByGroup = function(t) { + st.clearResByGroup(t) + } + , + s.clearUnLoaded = function() { + for (var t = 0; t < this._maxPriority; t++) { + for (var i = this._resInfos[t], n = i.length - 1; n > -1; n--) { + var a = i[n]; + a && (a.offAll(), + this._infoPool.push(a)) + } + i.length = 0 + } + this._loaderCount = 0, + e._resMap = {} + } + , + s.cancelLoadByUrls = function(t) { + if (t) + for (var e = 0, i = t.length; e < i; e++) + this.cancelLoadByUrl(t[e]) + } + , + s.cancelLoadByUrl = function(t) { + for (var i = 0; i < this._maxPriority; i++) + for (var n = this._resInfos[i], a = n.length - 1; a > -1; a--) { + var r = n[a]; + r && r.url === t && (n[a] = null, + r.offAll(), + this._infoPool.push(r)) + } + e._resMap[t] && delete e._resMap[t] + } + , + s._loadAssets = function(t, e, i, n, a, r, s) { + void 0 === a && (a = 1), + void 0 === r && (r = !0); + for (var o = t.length, l = 0, c = 0, _ = [], u = !0, d = 0; d < o; d++) { + var f = t[d]; + "string" == typeof f && (f = { + url: f, + type: n, + size: 1, + priority: a + }), + f.size || (f.size = 1), + f.progress = 0, + c += f.size, + _.push(f); + var p = i ? h.create(null, function(t, e) { + if (null != i) { + t.progress = e; + for (var n = 0, a = 0; a < _.length; a++) { + var r = _[a]; + n += r.size * r.progress + } + var s = n / c; + i.runWith(s) + } + }, [f], !1) : null + , m = e || i ? h.create(null, function(t, i) { + l++, + t.progress = 1, + i || (u = !1), + l === o && e && e.runWith(u) + }, [f]) : null; + this.load(f.url, m, p, f.type, f.priority || 1, r, f.group || s) + } + return this + } + , + e.cacheRes = function(t, e) { + st.cacheRes(t, e) + } + , + e._resMap = {}, + n(e, ["createMap", function() { + return this.createMap = { + atlas: [null, "atlas"] + } + } + ]), + e.__init$ = function() { + r = function(t) { + function e() { + this.url = null, + this.type = null, + this.cache = !1, + this.group = null, + this.ignoreCache = !1, + this.clas = null, + e.__super.call(this) + } + return a(e, "", l), + e + }() + } + , + e + }() + , lt = function(t) { + function e(t) { + e.__super.call(this), + t || (t = [.3, .59, .11, 0, 0, .3, .59, .11, 0, 0, .3, .59, .11, 0, 0, 0, 0, 0, 1, 0]), + this._mat = new Float32Array(16), + this._alpha = new Float32Array(4); + for (var i = 0, n = 0, a = 0; a < 20; a++) + a % 5 != 4 ? this._mat[i++] = t[a] : this._alpha[n++] = t[a]; + this._action = s.createFilterAction(32), + this._action.data = this + } + a(e, "laya.filters.ColorFilter", b); + var n = e.prototype; + return i.imps(n, { + "laya.filters.IFilter": !0 + }), + n.callNative = function(t) { + t._$P.cf = this; + t.conchModel && t.conchModel.setFilterMatrix && t.conchModel.setFilterMatrix(this._mat, this._alpha) + } + , + r(0, n, "type", function() { + return 32 + }), + r(0, n, "action", function() { + return this._action + }), + e + }() + , ht = (function(t) { + function e(t, i, n) { + this._endian = null, + this._stamp = NaN, + this._socket = null, + this._connected = !1, + this._addInputPosition = 0, + this._input = null, + this._output = null, + this.timeout = 0, + this.objectEncoding = 0, + this.disableInput = !1, + this._byteClass = null, + this.protocols = [], + void 0 === i && (i = 0), + e.__super.call(this), + this._byteClass = n || U, + this.endian = "bigEndian", + this.timeout = 2e4, + this._addInputPosition = 0, + t && i > 0 && i < 65535 && this.connect(t, i) + } + a(e, "laya.net.Socket", l); + var i = e.prototype; + i.connect = function(t, e) { + var i = "ws://" + t + ":" + e; + i = "https:" == O.window.location.protocol ? "wss://" + t + ":" + e : "ws://" + t + ":" + e, + this.connectByUrl(i) + } + , + i.connectByUrl = function(t) { + var e = this; + null != this._socket && this.close(), + this._socket && this.cleanSocket(), + this.protocols && 0 != this.protocols.length ? this._socket = new O.window.WebSocket(t,this.protocols) : this._socket = new O.window.WebSocket(t), + this._socket.binaryType = "arraybuffer", + this._output = new this._byteClass, + this._output.endian = this.endian, + this._input = new this._byteClass, + this._input.endian = this.endian, + this._addInputPosition = 0, + this._socket.onopen = function(t) { + e._onOpen(t) + } + , + this._socket.onmessage = function(t) { + e._onMessage(t) + } + , + this._socket.onclose = function(t) { + e._onClose(t) + } + , + this._socket.onerror = function(t) { + e._onError(t) + } + } + , + i.cleanSocket = function() { + try { + this._socket.close() + } catch (t) {} + this._connected = !1, + this._socket.onopen = null, + this._socket.onmessage = null, + this._socket.onclose = null, + this._socket.onerror = null, + this._socket = null + } + , + i.close = function() { + if (null != this._socket) + try { + this._socket.close() + } catch (t) {} + } + , + i._onOpen = function(t) { + this._connected = !0, + this.event("open", t) + } + , + i._onMessage = function(t) { + if (t && t.data) { + var e = t.data; + if (this.disableInput && e) + this.event("message", e); + else { + this._input.length > 0 && this._input.bytesAvailable < 1 && (this._input.clear(), + this._addInputPosition = 0); + var i = this._input.pos; + !this._addInputPosition && (this._addInputPosition = 0), + this._input.pos = this._addInputPosition, + e && ("string" == typeof e ? this._input.writeUTFBytes(e) : this._input.writeArrayBuffer(e), + this._addInputPosition = this._input.pos, + this._input.pos = i), + this.event("message", e) + } + } + } + , + i._onClose = function(t) { + this._connected = !1, + this.event("close", t) + } + , + i._onError = function(t) { + this.event("error", t) + } + , + i.send = function(t) { + this._socket.send(t) + } + , + i.flush = function() { + if (this._output && this._output.length > 0) { + var t; + try { + this._socket && this._socket.send(this._output.__getBuffer().slice(0, this._output.length)) + } catch (e) { + t = e + } + this._output.endian = this.endian, + this._output.clear(), + t && this.event("error", t) + } + } + , + r(0, i, "input", function() { + return this._input + }), + r(0, i, "output", function() { + return this._output + }), + r(0, i, "connected", function() { + return this._connected + }), + r(0, i, "endian", function() { + return this._endian + }, function(t) { + this._endian = t, + null != this._input && (this._input.endian = t), + null != this._output && (this._output.endian = t) + }), + e.LITTLE_ENDIAN = "littleEndian", + e.BIG_ENDIAN = "bigEndian" + }(), + function(t) { + function e() { + this.worker = null, + e.__super.call(this); + var t = this; + this.worker = new O.window.Worker(e.workerPath), + this.worker.onmessage = function(e) { + t.workerMessage(e.data) + } + } + a(e, "laya.net.WorkerLoader", l); + var i = e.prototype; + i.workerMessage = function(t) { + if (t) + switch (t.type) { + case "Image": + this.imageLoaded(t); + break; + case "Msg": + this.event("image_msg", t.msg) + } + } + , + i.imageLoaded = function(t) { + if (t && t.buffer && t.buffer.length < 10) + return e._enable = !1, + this._myTrace("buffer lost when postmessage ,disable workerloader"), + this.event(t.url, null), + void this.event("image_err", t.url + "\n" + t.msg); + if (!t.dataType) + return this.event(t.url, null), + void this.event("image_err", t.url + "\n" + t.msg); + var i, n, a; + switch (t.dataType) { + case "buffer": + (a = (n = (i = new bt("2D")).source.getContext("2d")).createImageData(t.width, t.height)).data.set(t.buffer), + i.size(a.width, a.height), + n.putImageData(a, 0, 0), + i.memorySize = 0; + break; + case "imagedata": + n = (i = new bt("2D")).source.getContext("2d"), + a = t.imagedata, + i.size(a.width, a.height), + n.putImageData(a, 0, 0), + a = t.imagedata, + i.memorySize = 0; + break; + case "imageBitmap": + a = t.imageBitmap, + A.isWebGL ? i = a : (n = (i = new bt("2D")).source.getContext("2d"), + i.size(a.width, a.height), + n.drawImage(a, 0, 0), + i.src = t.url) + } + A.isWebGL && (i = new laya.webgl.resource.WebGLImage(i,t.url)), + this.event(t.url, i) + } + , + i._myTrace = function(t) { + var e = arguments + , i = [] + , n = 0 + , a = e.length; + for (n = 0; n < a; n++) + i.push(e[n]); + this.event("image_msg", i.join(" ")) + } + , + i.loadImage = function(t) { + var e; + (e = {}).type = "load", + e.url = t, + this.worker.postMessage(e) + } + , + i._loadImage = function(t) { + var i = this; + if (!e._enable || t.toLowerCase().indexOf(".png") < 0) + e._preLoadFun.call(i, t); + else { + t = N.formatURL(t); + var n = function(a) { + laya.net.WorkerLoader.I.off(t, i, n), + a ? i.onLoaded(a) : e._preLoadFun.call(i, t) + }; + laya.net.WorkerLoader.I.on(t, i, n), + laya.net.WorkerLoader.I.loadImage(t) + } + } + , + r(1, e, "enable", function() { + return e._enable + }, function(t) { + e.disableJSDecode && !O.window.createImageBitmap || (e._enable = t) && null == e._preLoadFun && (e._enable = e.__init__()) + }), + e.__init__ = function() { + return null == e._preLoadFun && (!!O.window.Worker && (e._preLoadFun = st.prototype._loadImage, + st.prototype._loadImage = e.prototype._loadImage, + e.I || (e.I = new e), + !0)) + } + , + e.workerSupported = function() { + return !!O.window.Worker + } + , + e.IMAGE_LOADED = "image_loaded", + e.IMAGE_ERR = "image_err", + e.IMAGE_MSG = "image_msg", + e.I = null, + e._preLoadFun = null, + e._enable = !1, + e.workerPath = "libs/worker.js", + e.disableJSDecode = !0 + }(), + function(t) { + function e() { + e.__super.call(this), + this._$1__id = ++e._uniqueIDCounter, + this.__loaded = !0, + this._destroyed = !1, + this._referenceCount = 0, + e._idResourcesMap[this.id] = this, + this._released = !0, + this.lock = !1, + this._memorySize = 0, + this._lastUseFrameCount = -1, + P.currentResourceManager && P.currentResourceManager.addResource(this) + } + a(e, "laya.resource.Resource", l); + var n = e.prototype; + return i.imps(n, { + "laya.resource.ICreateResource": !0, + "laya.resource.IDispose": !0 + }), + n._setUrl = function(t) { + if (this._url !== t) { + var i; + this._url && ((i = e._urlResourcesMap[this._url]).splice(i.indexOf(this), 1), + 0 === i.length && delete e._urlResourcesMap[this._url]), + t && ((i = e._urlResourcesMap[t]) || (e._urlResourcesMap[t] = i = []), + i.push(this)), + this._url = t + } + } + , + n._getGroup = function() { + return this._group + } + , + n._setGroup = function(t) { + if (this._group !== t) { + var i; + this._group && ((i = e._groupResourcesMap[this._group]).splice(i.indexOf(this), 1), + 0 === i.length && delete e._groupResourcesMap[this._group]), + t && ((i = e._groupResourcesMap[t]) || (e._groupResourcesMap[t] = i = []), + i.push(this)), + this._group = t + } + } + , + n._addReference = function() { + this._referenceCount++ + } + , + n._removeReference = function() { + this._referenceCount-- + } + , + n._clearReference = function() { + this._referenceCount = 0 + } + , + n._endLoaded = function() { + this.__loaded = !0, + this.event("loaded", this) + } + , + n.recreateResource = function() { + this.completeCreate() + } + , + n.disposeResource = function() {} + , + n.activeResource = function(t) { + void 0 === t && (t = !1), + this._lastUseFrameCount = X.loopCount, + !this._destroyed && this.__loaded && (this._released || t) && this.recreateResource() + } + , + n.releaseResource = function(t) { + return void 0 === t && (t = !1), + !(!t && this.lock) && (!(this._released && !t) && (this.disposeResource(), + this._released = !0, + this._lastUseFrameCount = -1, + this.event("released", this), + !0)) + } + , + n.onAsynLoaded = function(t, e, i) { + throw new Error("Resource: must override this function!") + } + , + n.destroy = function() { + if (!this._destroyed) { + null !== this._resourceManager && this._resourceManager.removeResource(this), + this._destroyed = !0, + this.lock = !1, + this.releaseResource(), + delete e._idResourcesMap[this.id]; + var t; + this._url && ((t = e._urlResourcesMap[this._url]) && (t.splice(t.indexOf(this), 1), + 0 === t.length && delete e._urlResourcesMap[this.url]), + st.clearRes(this._url), + this.__loaded || s.cancelLoadByUrl(this._url)), + this._group && ((t = e._groupResourcesMap[this._group]).splice(t.indexOf(this), 1), + 0 === t.length && delete e._groupResourcesMap[this.url]) + } + } + , + n.completeCreate = function() { + this._released = !1, + this.event("recovered", this) + } + , + n.dispose = function() { + this.destroy() + } + , + r(0, n, "memorySize", function() { + return this._memorySize + }, function(t) { + var e = t - this._memorySize; + this._memorySize = t, + this.resourceManager && this.resourceManager.addSize(e) + }), + r(0, n, "_loaded", null, function(t) { + this.__loaded = t + }), + r(0, n, "loaded", function() { + return this.__loaded + }), + r(0, n, "id", function() { + return this._$1__id + }), + r(0, n, "destroyed", function() { + return this._destroyed + }), + r(0, n, "group", function() { + return this._getGroup() + }, function(t) { + this._setGroup(t) + }), + r(0, n, "resourceManager", function() { + return this._resourceManager + }), + r(0, n, "url", function() { + return this._url + }), + r(0, n, "released", function() { + return this._released + }), + r(0, n, "referenceCount", function() { + return this._referenceCount + }), + e.getResourceByID = function(t) { + return e._idResourcesMap[t] + } + , + e.getResourceByURL = function(t, i) { + return void 0 === i && (i = 0), + e._urlResourcesMap[t][i] + } + , + e.getResourceCountByURL = function(t) { + return e._urlResourcesMap[t].length + } + , + e.destroyUnusedResources = function(t) { + var i; + if (t) { + var n = e._groupResourcesMap[t]; + if (n) + for (var a = n.slice(), r = 0, s = a.length; r < s; r++) + (i = a[r]).lock || 0 !== i._referenceCount || i.destroy() + } else + for (var o in e._idResourcesMap) + (i = e._idResourcesMap[o]).lock || 0 !== i._referenceCount || i.destroy() + } + , + e._uniqueIDCounter = 0, + e._idResourcesMap = {}, + e._urlResourcesMap = {}, + e._groupResourcesMap = {}, + e + }()) + , ct = function(e) { + function n(t, e) { + this.offsetX = 0, + this.offsetY = 0, + this.sourceWidth = 0, + this.sourceHeight = 0, + this._w = 0, + this._h = 0, + this._uvID = 0, + this._atlasID = -1, + this.scaleRate = 1, + n.__super.call(this), + t && null != t._addReference && t._addReference(), + this.setTo(t, e) + } + a(n, "laya.resource.Texture", l); + var o = n.prototype; + return o._setUrl = function(t) { + this.url = t + } + , + o.setTo = function(e, i) { + if (e instanceof t.HTMLElement) { + var a = bt.create("2D", e); + this.bitmap = a + } else + this.bitmap = e; + if (this.uv = i || n.DEF_UV, + e) { + this._w = e.width, + this._h = e.height, + this.sourceWidth = this.sourceWidth || this._w, + this.sourceHeight = this.sourceHeight || this._h, + this._loaded = this._w > 0; + var r = this; + if (this._loaded) + s.addToAtlas && s.addToAtlas(r); + else { + var o = e; + o instanceof laya.resource.HTMLImage && o.image && o.image.addEventListener("load", function(t) { + s.addToAtlas && s.addToAtlas(r) + }, !1) + } + } + } + , + o.active = function() { + this.bitmap && this.bitmap.activeResource() + } + , + o.destroy = function(t) { + if (void 0 === t && (t = !1), + this.bitmap && this.bitmap.referenceCount > 0) { + var e = this.bitmap; + t ? (A.isConchApp && e.source && e.source.conchDestroy && this.bitmap.source.conchDestroy(), + this.bitmap = null, + e.dispose(), + e._clearReference()) : (e._removeReference(), + 0 == e.referenceCount && (A.isConchApp && e.source && e.source.conchDestroy && this.bitmap.source.conchDestroy(), + this.bitmap = null, + e.dispose())), + this.url && this === i.loader.getRes(this.url) && i.loader.clearRes(this.url, t), + this._loaded = !1 + } + } + , + o.load = function(t) { + var e = this; + this._loaded = !1, + t = N.customFormat(t); + var i = this.bitmap || (this.bitmap = It.create(t)); + i && i._addReference(); + var n = this; + i.onload = function() { + i.onload = null, + n._loaded = !0, + e.sourceWidth = e._w = i.width, + e.sourceHeight = e._h = i.height, + n.event("loaded", this), + s.addToAtlas && s.addToAtlas(n) + } + } + , + o.addTextureToAtlas = function(t) { + s.addTextureToAtlas(this) + } + , + o.getPixels = function(t, e, i, n) { + if (A.isConchApp) { + var a = this.bitmap; + if (a.source && a.source.getImageData) { + var r = a.source.getImageData(t, e, i, n) + , o = new Uint8Array(r); + return Array.from(o) + } + return null + } + if (A.isWebGL) + return s.getTexturePixels(this, t, e, i, n); + O.canvas.size(i, n), + O.canvas.clear(), + O.context.drawTexture(this, -t, -e, this.width, this.height, 0, 0); + return O.context.getImageData(0, 0, i, n).data + } + , + o.onAsynLoaded = function(t, e) { + e && e._addReference(), + this.setTo(e, this.uv) + } + , + r(0, o, "source", function() { + return this.bitmap ? (this.bitmap.activeResource(), + this.bitmap.source) : null + }), + r(0, o, "loaded", function() { + return this._loaded + }), + r(0, o, "released", function() { + return !this.bitmap || this.bitmap.released + }), + r(0, o, "width", function() { + return this._w ? this._w : this.uv && this.uv !== n.DEF_UV ? (this.uv[2] - this.uv[0]) * this.bitmap.width : this.bitmap.width + }, function(t) { + this._w = t, + this.sourceWidth || (this.sourceWidth = t) + }), + r(0, o, "repeat", function() { + return !A.isWebGL || !this.bitmap || this.bitmap.repeat + }, function(t) { + t && A.isWebGL && this.bitmap && (this.bitmap.repeat = t, + t && (this.bitmap.enableMerageInAtlas = !1)) + }), + r(0, o, "height", function() { + return this._h ? this._h : this.uv && this.uv !== n.DEF_UV ? (this.uv[5] - this.uv[1]) * this.bitmap.height : this.bitmap.height + }, function(t) { + this._h = t, + this.sourceHeight || (this.sourceHeight = t) + }), + r(0, o, "isLinearSampling", function() { + return !A.isWebGL || 9728 != this.bitmap.minFifter + }, function(t) { + !t && A.isWebGL && (t || -1 != this.bitmap.minFifter || -1 != this.bitmap.magFifter || (this.bitmap.minFifter = 9728, + this.bitmap.magFifter = 9728, + this.bitmap.enableMerageInAtlas = !1)) + }), + n.moveUV = function(t, e, i) { + for (var n = 0; n < 8; n += 2) + i[n] += t, + i[n + 1] += e; + return i + } + , + n.create = function(t, e, i, a, r, o, l, h, c) { + void 0 === o && (o = 0), + void 0 === l && (l = 0), + void 0 === h && (h = 0), + void 0 === c && (c = 0); + var _ = t instanceof laya.resource.Texture + , u = _ ? t.uv : n.DEF_UV + , d = _ ? t.bitmap : t + , f = s.isAtlas(d); + if (f) { + var p = d._atlaser + , m = t._atlasID; + if (-1 == m) + throw new Error("create texture error"); + d = p._inAtlasTextureBitmapValue[m], + u = p._inAtlasTextureOriUVValue[m] + } + var g = new n(d,null); + d.width && e + a > d.width && (a = d.width - e), + d.height && i + r > d.height && (r = d.height - i), + g.width = a, + g.height = r, + g.offsetX = o, + g.offsetY = l, + g.sourceWidth = h || a, + g.sourceHeight = c || r; + var y = 1 / d.width + , v = 1 / d.height; + e *= y, + i *= v, + a *= y, + r *= v; + var b = g.uv[0] + , w = g.uv[1] + , x = g.uv[4] + , I = g.uv[5] + , C = x - b + , S = I - w + , M = n.moveUV(u[0], u[1], [e, i, e + a, i, e + a, i + r, e, i + r]); + g.uv = [b + M[0] * C, w + M[1] * S, x - (1 - M[2]) * C, w + M[3] * S, x - (1 - M[4]) * C, I - (1 - M[5]) * S, b + M[6] * C, I - (1 - M[7]) * S], + f && g.addTextureToAtlas(); + var L = d.scaleRate; + return L && 1 != L ? (g.sourceWidth /= L, + g.sourceHeight /= L, + g.width /= L, + g.height /= L, + g.scaleRate = L, + g.offsetX /= L, + g.offsetY /= L) : g.scaleRate = 1, + g + } + , + n.createFromTexture = function(t, e, i, a, r) { + var s = t.scaleRate; + 1 != s && (e *= s, + i *= s, + a *= s, + r *= s); + var o = L.TEMP.setTo(e - t.offsetX, i - t.offsetY, a, r) + , l = o.intersection(n._rect1.setTo(0, 0, t.width, t.height), n._rect2); + if (!l) + return null; + var h = n.create(t, l.x, l.y, l.width, l.height, l.x - o.x, l.y - o.y, a, r); + return h.bitmap._removeReference(), + h + } + , + n.DEF_UV = [0, 0, 1, 0, 1, 1, 0, 1], + n.INV_UV = [0, 1, 1, 1, 1, 0, 0, 0], + n._rect1 = new L, + n._rect2 = new L, + n + }() + , _t = function(t) { + function e() { + this._labelDic = null, + this._tweenDic = {}, + this._tweenDataList = [], + this._endTweenDataList = null, + this._currTime = 0, + this._lastTime = 0, + this._startTime = 0, + this._index = 0, + this._gidIndex = 0, + this._firstTweenDic = {}, + this._startTimeSort = !1, + this._endTimeSort = !1, + this._loopKey = !1, + this.scale = 1, + this._frameRate = 60, + this._frameIndex = 0, + this._total = 0, + e.__super.call(this) + } + var n; + a(e, "laya.utils.TimeLine", l); + var s = e.prototype; + return s.to = function(t, e, i, n, a) { + return void 0 === a && (a = 0), + this._create(t, e, i, n, a, !0) + } + , + s.from = function(t, e, i, n, a) { + return void 0 === a && (a = 0), + this._create(t, e, i, n, a, !1) + } + , + s._create = function(t, e, i, a, r, s) { + var o = W.getItemByClass("tweenData", n); + return o.isTo = s, + o.type = 0, + o.target = t, + o.duration = i, + o.data = e, + o.startTime = this._startTime + r, + o.endTime = o.startTime + o.duration, + o.ease = a, + this._startTime = Math.max(o.endTime, this._startTime), + this._tweenDataList.push(o), + this._startTimeSort = !0, + this._endTimeSort = !0, + this + } + , + s.addLabel = function(t, e) { + var i = W.getItemByClass("tweenData", n); + return i.type = 1, + i.data = t, + i.endTime = i.startTime = this._startTime + e, + this._labelDic || (this._labelDic = {}), + this._labelDic[t] = i, + this._tweenDataList.push(i), + this + } + , + s.removeLabel = function(t) { + if (this._labelDic && this._labelDic[t]) { + var e = this._labelDic[t]; + if (e) { + var i = this._tweenDataList.indexOf(e); + i > -1 && this._tweenDataList.splice(i, 1) + } + delete this._labelDic[t] + } + } + , + s.gotoTime = function(t) { + if (null != this._tweenDataList && 0 != this._tweenDataList.length) { + var e, i; + for (var n in this._firstTweenDic) + if (i = this._firstTweenDic[n]) + for (var a in i) + i.diyTarget.hasOwnProperty(a) && (i.diyTarget[a] = i[a]); + for (n in this._tweenDic) + (e = this._tweenDic[n]).clear(), + delete this._tweenDic[n]; + this._index = 0, + this._gidIndex = 0, + this._currTime = t, + this._lastTime = O.now(); + var r; + null == this._endTweenDataList || this._endTimeSort ? (this._endTimeSort = !1, + this._endTweenDataList = r = this._tweenDataList.concat(), + r.sort(function(t, e) { + return t.endTime > e.endTime ? 1 : t.endTime < e.endTime ? -1 : 0 + })) : r = this._endTweenDataList; + for (var s, o = 0, l = r.length; o < l; o++) + if (0 == (s = r[o]).type) { + if (!(t >= s.endTime)) + break; + this._index = Math.max(this._index, o + 1); + var c = s.data; + if (s.isTo) + for (var _ in c) + s.target[_] = c[_] + } + for (o = 0, + l = this._tweenDataList.length; o < l; o++) + 0 == (s = this._tweenDataList[o]).type && t >= s.startTime && t < s.endTime && (this._index = Math.max(this._index, o + 1), + this._gidIndex++, + (e = W.getItemByClass("tween", Y))._create(s.target, s.data, s.duration, s.ease, h.create(this, this._animComplete, [this._gidIndex]), 0, !1, s.isTo, !0, !1), + e.setStartTime(this._currTime - (t - s.startTime)), + e._updateEase(this._currTime), + e.gid = this._gidIndex, + this._tweenDic[this._gidIndex] = e) + } + } + , + s.gotoLabel = function(t) { + if (null != this._labelDic) { + var e = this._labelDic[t]; + e && this.gotoTime(e.startTime) + } + } + , + s.pause = function() { + i.timer.clear(this, this._update) + } + , + s.resume = function() { + this.play(this._currTime, this._loopKey) + } + , + s.play = function(t, e) { + if (void 0 === t && (t = 0), + void 0 === e && (e = !1), + this._tweenDataList) { + if (this._startTimeSort) { + this._startTimeSort = !1, + this._tweenDataList.sort(function(t, e) { + return t.startTime > e.startTime ? 1 : t.startTime < e.startTime ? -1 : 0 + }); + for (var n = 0, a = this._tweenDataList.length; n < a; n++) { + var r = this._tweenDataList[n]; + if (null != r && 0 == r.type) { + var s = r.target + , o = s.$_GID || (s.$_GID = J.getGID()) + , l = null; + null == this._firstTweenDic[o] ? ((l = {}).diyTarget = s, + this._firstTweenDic[o] = l) : l = this._firstTweenDic[o]; + for (var h in r.data) + null == l[h] && (l[h] = s[h]) + } + } + } + "string" == typeof t ? this.gotoLabel(t) : this.gotoTime(t), + this._loopKey = e, + this._lastTime = O.now(), + i.timer.frameLoop(1, this, this._update) + } + } + , + s._update = function() { + if (this._currTime >= this._startTime) { + if (!this._loopKey) { + for (var t in this._tweenDic) + (a = this._tweenDic[t]).complete(); + return this._complete(), + void this.pause() + } + if (this._complete(), + !this._tweenDataList) + return; + this.gotoTime(0) + } + var e = O.now() + , i = e - this._lastTime + , n = this._currTime += i * this.scale; + this._lastTime = e; + for (t in this._tweenDic) + (a = this._tweenDic[t])._updateEase(n); + var a; + if (0 != this._tweenDataList.length && this._index < this._tweenDataList.length) { + var r = this._tweenDataList[this._index]; + n >= r.startTime && (this._index++, + 0 == r.type ? (this._gidIndex++, + (a = W.getItemByClass("tween", Y))._create(r.target, r.data, r.duration, r.ease, h.create(this, this._animComplete, [this._gidIndex]), 0, !1, r.isTo, !0, !1), + a.setStartTime(n), + a.gid = this._gidIndex, + this._tweenDic[this._gidIndex] = a, + a._updateEase(n)) : this.event("label", r.data)) + } + } + , + s._animComplete = function(t) { + this._tweenDic[t] && delete this._tweenDic[t] + } + , + s._complete = function() { + this.event("complete") + } + , + s.reset = function() { + var t; + if (this._labelDic) + for (t in this._labelDic) + delete this._labelDic[t]; + for (t in this._tweenDic) + this._tweenDic[t].clear(), + delete this._tweenDic[t]; + for (t in this._firstTweenDic) + delete this._firstTweenDic[t]; + if (this._endTweenDataList = null, + this._tweenDataList && this._tweenDataList.length) { + var e = 0 + , n = 0; + for (n = this._tweenDataList.length, + e = 0; e < n; e++) + this._tweenDataList[e] && this._tweenDataList[e].destroy() + } + this._tweenDataList.length = 0, + this._currTime = 0, + this._lastTime = 0, + this._startTime = 0, + this._index = 0, + this._gidIndex = 0, + this.scale = 1, + i.timer.clear(this, this._update) + } + , + s.destroy = function() { + this.reset(), + this._labelDic = null, + this._tweenDic = null, + this._tweenDataList = null, + this._firstTweenDic = null + } + , + r(0, s, "index", function() { + return this._frameIndex + }, function(t) { + this._frameIndex = t, + this.gotoTime(this._frameIndex / this._frameRate * 1e3) + }), + r(0, s, "total", function() { + return this._total = Math.floor(this._startTime / 1e3 * this._frameRate), + this._total + }), + e.to = function(t, i, n, a, r) { + return void 0 === r && (r = 0), + (new e).to(t, i, n, a, r) + } + , + e.from = function(t, i, n, a, r) { + return void 0 === r && (r = 0), + (new e).from(t, i, n, a, r) + } + , + e.__init$ = function() { + n = function() { + function t() { + this.type = 0, + this.isTo = !0, + this.startTime = NaN, + this.endTime = NaN, + this.target = null, + this.duration = NaN, + this.ease = null, + this.data = null + } + a(t, ""); + return t.prototype.destroy = function() { + this.target = null, + this.ease = null, + this.data = null, + this.isTo = !0, + this.type = 0, + W.recover("tweenData", this) + } + , + t + }() + } + , + e + }() + , ut = function(e) { + function o() { + this._transform = null, + this._tfChanged = !1, + this._x = 0, + this._y = 0, + this._width = 0, + this._height = 0, + this._repaint = 1, + this._mouseEnableState = 0, + this._zOrder = 0, + this._graphics = null, + this._renderType = 0, + this._optimizeScrollRect = !1, + this._texture = null, + this.mouseThrough = !1, + this.autoSize = !1, + this.hitTestPrior = !1, + this.viewport = null, + o.__super.call(this), + this._style = _.EMPTY + } + a(o, "laya.display.Sprite", e); + var l = o.prototype; + return i.imps(l, { + "laya.display.ILayout": !0 + }), + l.createConchModel = function() { + return new ConchNode + } + , + l.destroy = function(t) { + void 0 === t && (t = !0), + this._releaseMem(), + e.prototype.destroy.call(this, t), + this._style && this._style.destroy(), + this._transform && this._transform.destroy(), + this._transform = null, + this._style = null, + this._graphics = null + } + , + l.updateZOrder = function() { + J.updateOrder(this._childs) && this.repaint() + } + , + l.reCache = function() { + this._$P.cacheCanvas && (this._$P.cacheCanvas.reCache = !0), + this._repaint = 1 + } + , + l.setBounds = function(t) { + this._set$P("uBounds", t) + } + , + l.getBounds = function() { + return this._$P.mBounds || this._set$P("mBounds", new L), + L._getWrapRec(this._boundPointsToParent(), this._$P.mBounds) + } + , + l.getSelfBounds = function() { + return this._$P.uBounds ? this._$P.uBounds : (this._$P.mBounds || this._set$P("mBounds", new L), + L._getWrapRec(this._getBoundPointsM(!1), this._$P.mBounds)) + } + , + l._boundPointsToParent = function(t) { + void 0 === t && (t = !1); + var e = 0 + , i = 0; + this._style && (e = this._style._tf.translateX, + i = this._style._tf.translateY, + t = t || 0 !== this._style._tf.rotate, + this._style.scrollRect && (e += this._style.scrollRect.x, + i += this._style.scrollRect.y)); + var n = this._getBoundPointsM(t); + if (!n || n.length < 1) + return n; + if (8 != n.length && (n = t ? I.scanPList(n) : L._getWrapRec(n, L.TEMP)._getBoundPoints()), + !this.transform) + return J.transPointList(n, this._x - e, this._y - i), + n; + var a = M.TEMP + , r = 0 + , s = n.length; + for (r = 0; r < s; r += 2) + a.x = n[r], + a.y = n[r + 1], + this.toParentPoint(a), + n[r] = a.x, + n[r + 1] = a.y; + return n + } + , + l.getGraphicBounds = function(t) { + return void 0 === t && (t = !1), + this._graphics ? this._graphics.getBounds(t) : L.TEMP.setTo(0, 0, 0, 0) + } + , + l._getBoundPointsM = function(t) { + if (void 0 === t && (t = !1), + this._$P.uBounds) + return this._$P.uBounds._getBoundPoints(); + if (this._$P.temBM || this._set$P("temBM", []), + this.scrollRect) { + var e = J.clearArray(this._$P.temBM) + , i = L.TEMP; + return i.copyFrom(this.scrollRect), + J.concatArray(e, i._getBoundPoints()), + e + } + for (var n, a, r, s = this._graphics ? this._graphics.getBoundPoints() : J.clearArray(this._$P.temBM), o = 0, l = (r = this._childs).length; o < l; o++) + (n = r[o])instanceof laya.display.Sprite && 1 == n.visible && (a = n._boundPointsToParent(t)) && (s = s ? J.concatArray(s, a) : a); + return s + } + , + l.getStyle = function() { + return this._style === _.EMPTY && (this._style = new _), + this._style + } + , + l.setStyle = function(t) { + this._style = t + } + , + l._adjustTransform = function() { + this._tfChanged = !1; + var t, e = this._style._tf, i = e.scaleX, n = e.scaleY; + if (e.rotate || 1 !== i || 1 !== n || e.skewX || e.skewY) { + (t = this._transform || (this._transform = S.create())).bTransform = !0; + var a = .0174532922222222 * (e.rotate - e.skewX) + , r = .0174532922222222 * (e.rotate + e.skewY) + , s = Math.cos(r) + , o = Math.sin(r) + , l = Math.sin(a) + , h = Math.cos(a); + return t.a = i * s, + t.b = i * o, + t.c = -n * l, + t.d = n * h, + t.tx = t.ty = 0, + t + } + return this._transform && this._transform.destroy(), + this._transform = null, + this._renderType &= -5, + t + } + , + l.pos = function(t, e, i) { + if (void 0 === i && (i = !1), + this._x !== t || this._y !== e) { + if (this.destroyed) + return this; + if (i) { + this._x = t, + this._y = e, + this.conchModel && this.conchModel.pos(this._x, this._y); + var n = this._parent; + n && 0 === n._repaint && (n._repaint = 1, + n.parentRepaint()), + this._$P.maskParent && 0 === this._$P.maskParent._repaint && (this._$P.maskParent._repaint = 1, + this._$P.maskParent.parentRepaint()) + } else + this.x = t, + this.y = e + } + return this + } + , + l.pivot = function(t, e) { + return this.pivotX = t, + this.pivotY = e, + this + } + , + l.size = function(t, e) { + return this.width = t, + this.height = e, + this + } + , + l.scale = function(t, e, i) { + void 0 === i && (i = !1); + var n = this.getStyle() + , a = n._tf; + if (a.scaleX != t || a.scaleY != e) { + if (this.destroyed) + return this; + if (i) { + n.setScale(t, e), + this._tfChanged = !0, + this.conchModel && this.conchModel.scale(t, e), + this._renderType |= 4; + var r = this._parent; + r && 0 === r._repaint && (r._repaint = 1, + r.parentRepaint()) + } else + this.scaleX = t, + this.scaleY = e + } + return this + } + , + l.skew = function(t, e) { + return this.skewX = t, + this.skewY = e, + this + } + , + l.render = function(t, e, i) { + X.spriteCount++, + k.renders[this._renderType]._fun(this, t, e + this._x, i + this._y), + this._repaint = 0 + } + , + l.drawToCanvas = function(t, e, i, n) { + if (A.isConchNode) { + var a = bt.create("2D"); + return new B(t,e,a).ctx.setCanvasType(1), + this.conchModel.drawToCanvas(a.source, i, n), + a + } + return s.drawToCanvas(this, this._renderType, t, e, i, n) + } + , + l.customRender = function(t, e, i) { + this._renderType |= 1024 + } + , + l._applyFilters = function() { + if (!A.isWebGL) { + var t; + if ((t = this._$P.filters) && !(t.length < 1)) + for (var e = 0, i = t.length; e < i; e++) + t[e].action.apply(this._$P.cacheCanvas) + } + } + , + l._isHaveGlowFilter = function() { + var t = 0 + , e = 0; + if (this.filters) + for (t = 0; t < this.filters.length; t++) + if (8 == this.filters[t].type) + return !0; + for (t = 0, + e = this._childs.length; t < e; t++) + if (this._childs[t]._isHaveGlowFilter()) + return !0; + return !1 + } + , + l.localToGlobal = function(t, e) { + void 0 === e && (e = !1), + !0 === e && (t = new M(t.x,t.y)); + for (var n = this; n && n != i.stage; ) + t = n.toParentPoint(t), + n = n.parent; + return t + } + , + l.globalToLocal = function(t, e) { + void 0 === e && (e = !1), + e && (t = new M(t.x,t.y)); + for (var n = this, a = []; n && n != i.stage; ) + a.push(n), + n = n.parent; + for (var r = a.length - 1; r >= 0; ) + t = (n = a[r]).fromParentPoint(t), + r--; + return t + } + , + l.toParentPoint = function(t) { + if (!t) + return t; + t.x -= this.pivotX, + t.y -= this.pivotY, + this.transform && this._transform.transformPoint(t), + t.x += this._x, + t.y += this._y; + var e = this._style.scrollRect; + return e && (t.x -= e.x, + t.y -= e.y), + t + } + , + l.fromParentPoint = function(t) { + if (!t) + return t; + t.x -= this._x, + t.y -= this._y; + var e = this._style.scrollRect; + return e && (t.x += e.x, + t.y += e.y), + this.transform && this._transform.invertTransformPoint(t), + t.x += this.pivotX, + t.y += this.pivotY, + t + } + , + l.on = function(t, i, n, a) { + return 1 !== this._mouseEnableState && this.isMouseEvent(t) ? (this.mouseEnabled = !0, + this._setBit(2, !0), + this._parent && this._$2__onDisplay(), + this._createListener(t, i, n, a, !1)) : e.prototype.on.call(this, t, i, n, a) + } + , + l.once = function(t, i, n, a) { + return 1 !== this._mouseEnableState && this.isMouseEvent(t) ? (this.mouseEnabled = !0, + this._setBit(2, !0), + this._parent && this._$2__onDisplay(), + this._createListener(t, i, n, a, !0)) : e.prototype.once.call(this, t, i, n, a) + } + , + l._$2__onDisplay = function() { + if (1 !== this._mouseEnableState) { + var t = this; + for (t = t.parent; t && 1 !== t._mouseEnableState && !t._getBit(2); ) + t.mouseEnabled = !0, + t._setBit(2, !0), + t = t.parent + } + } + , + l.loadImage = function(t, e, i, n, a, r) { + var s = this; + return void 0 === e && (e = 0), + void 0 === i && (i = 0), + void 0 === n && (n = 0), + void 0 === a && (a = 0), + this.graphics.loadImage(t, e, i, n, a, function(t) { + s.destroyed || (s.size(e + (n || t.width), i + (a || t.height)), + s.repaint(), + r && r.runWith(t)) + }), + this + } + , + l.repaint = function() { + this.conchModel && this.conchModel.repaint && this.conchModel.repaint(), + 0 === this._repaint && (this._repaint = 1, + this.parentRepaint()), + this._$P && this._$P.maskParent && this._$P.maskParent.repaint() + } + , + l._needRepaint = function() { + return 0 !== this._repaint && this._$P.cacheCanvas && this._$P.cacheCanvas.reCache + } + , + l._childChanged = function(t) { + this._childs.length ? this._renderType |= 2048 : this._renderType &= -2049, + t && this._get$P("hasZorder") && i.timer.callLater(this, this.updateZOrder), + this.repaint() + } + , + l.parentRepaint = function() { + var t = this._parent; + t && 0 === t._repaint && (t._repaint = 1, + t.parentRepaint()) + } + , + l.startDrag = function(t, e, i, n, a, r, s) { + void 0 === e && (e = !1), + void 0 === i && (i = 0), + void 0 === n && (n = 300), + void 0 === r && (r = !1), + void 0 === s && (s = .92), + this._$P.dragging || this._set$P("dragging", new G), + this._$P.dragging.start(this, t, e, i, n, a, r, s) + } + , + l.stopDrag = function() { + this._$P.dragging && this._$P.dragging.stop() + } + , + l._releaseMem = function() { + if (this._$P) { + var t = this._$P.cacheCanvas; + t && t.ctx && (W.recover("RenderContext", t.ctx), + t.ctx.canvas.size(0, 0), + t.ctx = null); + var e = this._$P._filterCache; + e && (e.destroy(), + e.recycle(), + this._set$P("_filterCache", null)), + this._$P._isHaveGlowFilter && this._set$P("_isHaveGlowFilter", !1), + this._$P._isHaveGlowFilter = null + } + } + , + l._setDisplay = function(t) { + t || this._releaseMem(), + e.prototype._setDisplay.call(this, t) + } + , + l.hitTestPoint = function(t, e) { + var i = this.globalToLocal(M.TEMP.setTo(t, e)); + t = i.x, + e = i.y; + return (this._$P.hitArea ? this._$P.hitArea : this._width > 0 && this._height > 0 ? L.TEMP.setTo(0, 0, this._width, this._height) : this.getSelfBounds()).contains(t, e) + } + , + l.getMousePoint = function() { + return this.globalToLocal(M.TEMP.setTo(i.stage.mouseX, i.stage.mouseY)) + } + , + l._getWords = function() { + return null + } + , + l._addChildsToLayout = function(t) { + var e = this._getWords(); + if (null == e && 0 == this._childs.length) + return !1; + if (e) + for (var i = 0, n = e.length; i < n; i++) + t.push(e[i]); + return this._childs.forEach(function(e, i, n) { + e._style._enableLayout() && e._addToLayout(t) + }), + !0 + } + , + l._addToLayout = function(t) { + this._style.absolute || (this._style.block ? t.push(this) : this._addChildsToLayout(t) && (this.x = this.y = 0)) + } + , + l._isChar = function() { + return !1 + } + , + l._getCSSStyle = function() { + return this._style.getCSSStyle() + } + , + l._setAttributes = function(t, e) { + switch (t) { + case "x": + this.x = parseFloat(e); + break; + case "y": + this.y = parseFloat(e); + break; + case "width": + this.width = parseFloat(e); + break; + case "height": + this.height = parseFloat(e); + break; + default: + this[t] = e + } + } + , + l._layoutLater = function() { + this.parent && this.parent._layoutLater() + } + , + r(0, l, "optimizeScrollRect", function() { + return this._optimizeScrollRect + }, function(t) { + this._optimizeScrollRect != t && (this._optimizeScrollRect = t, + this.conchModel && this.conchModel.optimizeScrollRect(t)) + }), + r(0, l, "customRenderEnable", null, function(t) { + if (t && (this._renderType |= 1024, + A.isConchNode)) { + o.CustomList.push(this); + var e = new bt("2d"); + e._setContext(new CanvasRenderingContext2D), + this.customContext = new B(0,0,e), + e.context.setCanvasType && e.context.setCanvasType(2), + this.conchModel.custom(e.context) + } + }), + r(0, l, "cacheAsBitmap", function() { + return "none" !== this.cacheAs + }, function(t) { + this.cacheAs = t ? this._$P.hasFilter ? "none" : "normal" : "none" + }), + r(0, l, "cacheAs", function() { + return null == this._$P.cacheCanvas ? "none" : this._$P.cacheCanvas.type + }, function(t) { + var e = this._$P.cacheCanvas; + if (t !== (e ? e.type : "none")) { + if ("none" !== t) + this._getBit(1) || this._setUpNoticeType(1), + e || (e = this._set$P("cacheCanvas", W.getItemByClass("cacheCanvas", Object))), + e.type = t, + e.reCache = !0, + this._renderType |= 16, + "bitmap" == t && this.conchModel && this.conchModel.cacheAs(1), + this._set$P("cacheForFilters", !1); + else if (this._$P._mask) + ; + else if (this._$P.hasFilter) + this._set$P("cacheForFilters", !0); + else { + if (e) { + var i = e; + i && i.ctx && (W.recover("RenderContext", i.ctx), + i.ctx.canvas.size(0, 0), + i.ctx = null), + W.recover("cacheCanvas", e) + } + this._$P.cacheCanvas = null, + this._renderType &= -17, + this.conchModel && this.conchModel.cacheAs(0) + } + this.repaint() + } + }), + r(0, l, "zOrder", function() { + return this._zOrder + }, function(t) { + this._zOrder != t && (this._zOrder = t, + this.conchModel && this.conchModel.setZOrder && this.conchModel.setZOrder(t), + this._parent && (t && this._parent._set$P("hasZorder", !0), + i.timer.callLater(this._parent, this.updateZOrder))) + }), + r(0, l, "rotation", function() { + return this._style._tf.rotate + }, function(t) { + var e = this.getStyle(); + if (e._tf.rotate !== t) { + e.setRotate(t), + this._tfChanged = !0, + this.conchModel && this.conchModel.rotate(t), + this._renderType |= 4; + var i = this._parent; + i && 0 === i._repaint && (i._repaint = 1, + i.parentRepaint()) + } + }), + r(0, l, "width", function() { + return this.autoSize ? this.getSelfBounds().width : this._width + }, function(t) { + this._width !== t && (this._width = t, + this.conchModel && this.conchModel.size(t, this._height), + this.repaint()) + }), + r(0, l, "x", function() { + return this._x + }, function(t) { + if (this._x !== t) { + if (this.destroyed) + return; + this._x = t, + this.conchModel && this.conchModel.pos(t, this._y); + var e = this._parent; + e && 0 === e._repaint && (e._repaint = 1, + e.parentRepaint()), + this._$P.maskParent && 0 === this._$P.maskParent._repaint && (this._$P.maskParent._repaint = 1, + this._$P.maskParent.parentRepaint()) + } + }), + r(0, l, "globalScaleY", function() { + for (var t = 1, e = this; e && e !== i.stage; ) + t *= e.scaleY, + e = e.parent; + return t + }), + r(0, l, "hitArea", function() { + return this._$P.hitArea + }, function(t) { + this._set$P("hitArea", t) + }), + r(0, l, "staticCache", function() { + return this._$P.staticCache + }, function(t) { + this._set$P("staticCache", t), + t || this.reCache() + }), + r(0, l, "texture", function() { + return this._texture + }, function(t) { + this._texture != t && (this._texture = t, + this.graphics.cleanByTexture(t, 0, 0)) + }), + r(0, l, "y", function() { + return this._y + }, function(t) { + if (this._y !== t) { + if (this.destroyed) + return; + this._y = t, + this.conchModel && this.conchModel.pos(this._x, t); + var e = this._parent; + e && 0 === e._repaint && (e._repaint = 1, + e.parentRepaint()), + this._$P.maskParent && 0 === this._$P.maskParent._repaint && (this._$P.maskParent._repaint = 1, + this._$P.maskParent.parentRepaint()) + } + }), + r(0, l, "height", function() { + return this.autoSize ? this.getSelfBounds().height : this._height + }, function(t) { + this._height !== t && (this._height = t, + this.conchModel && this.conchModel.size(this._width, t), + this.repaint()) + }), + r(0, l, "blendMode", function() { + return this._style.blendMode + }, function(t) { + this.getStyle().blendMode = t, + this.conchModel && this.conchModel.blendMode(t), + t && "source-over" != t ? this._renderType |= 8 : this._renderType &= -9, + this.parentRepaint() + }), + r(0, l, "scaleX", function() { + return this._style._tf.scaleX + }, function(t) { + var e = this.getStyle(); + if (e._tf.scaleX !== t) { + e.setScaleX(t), + this._tfChanged = !0, + this.conchModel && this.conchModel.scale(t, e._tf.scaleY), + this._renderType |= 4; + var i = this._parent; + i && 0 === i._repaint && (i._repaint = 1, + i.parentRepaint()) + } + }), + r(0, l, "scaleY", function() { + return this._style._tf.scaleY + }, function(t) { + var e = this.getStyle(); + if (e._tf.scaleY !== t) { + e.setScaleY(t), + this._tfChanged = !0, + this.conchModel && this.conchModel.scale(e._tf.scaleX, t), + this._renderType |= 4; + var i = this._parent; + i && 0 === i._repaint && (i._repaint = 1, + i.parentRepaint()) + } + }), + r(0, l, "stage", function() { + return i.stage + }), + r(0, l, "skewX", function() { + return this._style._tf.skewX + }, function(t) { + var e = this.getStyle(); + if (e._tf.skewX !== t) { + e.setSkewX(t), + this._tfChanged = !0, + this.conchModel && this.conchModel.skew(t, e._tf.skewY), + this._renderType |= 4; + var i = this._parent; + i && 0 === i._repaint && (i._repaint = 1, + i.parentRepaint()) + } + }), + r(0, l, "scrollRect", function() { + return this._style.scrollRect + }, function(t) { + this.getStyle().scrollRect = t, + this.repaint(), + t ? (this._renderType |= 128, + this.conchModel && this.conchModel.scrollRect(t.x, t.y, t.width, t.height)) : (this._renderType &= -129, + this.conchModel && (o.RUNTIMEVERION < "0.9.1" ? this.conchModel.removeType(64) : this.conchModel.removeType(128))) + }), + r(0, l, "skewY", function() { + return this._style._tf.skewY + }, function(t) { + var e = this.getStyle(); + if (e._tf.skewY !== t) { + e.setSkewY(t), + this._tfChanged = !0, + this.conchModel && this.conchModel.skew(e._tf.skewX, t), + this._renderType |= 4; + var i = this._parent; + i && 0 === i._repaint && (i._repaint = 1, + i.parentRepaint()) + } + }), + r(0, l, "transform", function() { + return this._tfChanged ? this._adjustTransform() : this._transform + }, function(t) { + this._tfChanged = !1, + this._transform = t, + t && (this._x = t.tx, + this._y = t.ty, + t.tx = t.ty = 0, + this.conchModel && this.conchModel.transform(t.a, t.b, t.c, t.d, this._x, this._y)), + t ? this._renderType |= 4 : (this._renderType &= -5, + this.conchModel && this.conchModel.removeType(4)), + this.parentRepaint() + }), + r(0, l, "pivotX", function() { + return this._style._tf.translateX + }, function(t) { + this.getStyle().setTranslateX(t), + this.conchModel && this.conchModel.pivot(t, this._style._tf.translateY), + this.repaint() + }), + r(0, l, "pivotY", function() { + return this._style._tf.translateY + }, function(t) { + this.getStyle().setTranslateY(t), + this.conchModel && this.conchModel.pivot(this._style._tf.translateX, t), + this.repaint() + }), + r(0, l, "alpha", function() { + return this._style.alpha + }, function(t) { + this._style && this._style.alpha !== t && (t = t < 0 ? 0 : t > 1 ? 1 : t, + this.getStyle().alpha = t, + this.conchModel && this.conchModel.alpha(t), + 1 !== t ? this._renderType |= 2 : this._renderType &= -3, + this.parentRepaint()) + }), + r(0, l, "visible", function() { + return this._style.visible + }, function(t) { + this._style && this._style.visible !== t && (this.getStyle().visible = t, + this.conchModel && this.conchModel.visible(t), + this.parentRepaint()) + }), + r(0, l, "graphics", function() { + return this._graphics || (this.graphics = s.createGraphics()) + }, function(t) { + this._graphics && (this._graphics._sp = null), + this._graphics = t, + t ? (this._renderType &= -2, + this._renderType |= 512, + t._sp = this, + this.conchModel && this.conchModel.graphics(this._graphics)) : (this._renderType &= -513, + this._renderType &= -2, + this.conchModel && (o.RUNTIMEVERION < "0.9.1" ? this.conchModel.removeType(256) : this.conchModel.removeType(512))), + this.repaint() + }), + r(0, l, "filters", function() { + return this._$P.filters + }, function(t) { + t && 0 === t.length && (t = null), + this._$P.filters != t && (this._set$P("filters", t ? t.slice() : null), + A.isConchApp && (this.conchModel && (o.RUNTIMEVERION < "0.9.1" ? this.conchModel.removeType(16) : this.conchModel.removeType(32)), + this._$P.filters && 1 == this._$P.filters.length && this._$P.filters[0].callNative(this)), + A.isWebGL && (t && t.length ? this._renderType |= 32 : this._renderType &= -33), + t && t.length > 0 ? (this._getBit(1) || this._setUpNoticeType(1), + A.isWebGL && 1 == t.length && t[0]instanceof laya.filters.ColorFilter || ("bitmap" != this.cacheAs && (A.isConchNode || (this.cacheAs = "bitmap"), + this._set$P("cacheForFilters", !0)), + this._set$P("hasFilter", !0))) : (this._set$P("hasFilter", !1), + this._$P.cacheForFilters && "bitmap" == this.cacheAs && (this.cacheAs = "none")), + this.repaint()) + }), + r(0, l, "parent", e.prototype._$get_parent, function(t) { + i.superSet($, this, "parent", t), + t && this._getBit(2) && this._$2__onDisplay() + }), + r(0, l, "mask", function() { + return this._$P._mask + }, function(t) { + t && this.mask && this.mask._$P.maskParent || (t ? (this.cacheAs = "bitmap", + this._set$P("_mask", t), + t._set$P("maskParent", this)) : (this.mask && this.mask._set$P("maskParent", null), + this._set$P("_mask", t), + this.cacheAs = "none"), + this.conchModel && this.conchModel.mask(t ? t.conchModel : null), + this._renderType |= 64, + this.parentRepaint()) + }), + r(0, l, "mouseEnabled", function() { + return this._mouseEnableState > 1 + }, function(t) { + this._mouseEnableState = t ? 2 : 1 + }), + r(0, l, "globalScaleX", function() { + for (var t = 1, e = this; e && e !== i.stage; ) + t *= e.scaleX, + e = e.parent; + return t + }), + r(0, l, "mouseX", function() { + return this.getMousePoint().x + }), + r(0, l, "mouseY", function() { + return this.getMousePoint().y + }), + o.fromImage = function(t) { + return (new o).loadImage(t) + } + , + o.CustomList = [], + n(o, ["RUNTIMEVERION", function() { + return this.RUNTIMEVERION = t.conch ? conchConfig.getRuntimeVersion().substr(conchConfig.getRuntimeVersion().lastIndexOf("-") + 1) : "" + } + ]), + o + }($) + , dt = function(t) { + function e(t) { + this._audio = null, + this._onEnd = null, + this._resumePlay = null, + e.__super.call(this), + this._onEnd = J.bind(this.__onEnd, this), + this._resumePlay = J.bind(this.__resumePlay, this), + t.addEventListener("ended", this._onEnd), + this._audio = t + } + a(e, "laya.media.h5audio.AudioSoundChannel", it); + var n = e.prototype; + return n.__onEnd = function() { + if (1 == this.loops) + return this.completeHandler && (i.timer.once(10, this, this.__runComplete, [this.completeHandler], !1), + this.completeHandler = null), + this.stop(), + void this.event("complete"); + this.loops > 0 && this.loops--, + this.startTime = 0, + this.play() + } + , + n.__resumePlay = function() { + this._audio && this._audio.removeEventListener("canplay", this._resumePlay); + try { + this._audio.currentTime = this.startTime, + O.container.appendChild(this._audio), + this._audio.play() + } catch (t) { + this.event("error") + } + } + , + n.play = function() { + this.isStopped = !1; + try { + this._audio.playbackRate = T.playbackRate, + this._audio.currentTime = this.startTime + } catch (t) { + return void this._audio.addEventListener("canplay", this._resumePlay) + } + T.addChannel(this), + O.container.appendChild(this._audio), + "play"in this._audio && this._audio.play() + } + , + n.stop = function() { + this.isStopped = !0, + T.removeChannel(this), + this.completeHandler = null, + this._audio && ("pause"in this._audio && A.isConchApp && this._audio.stop(), + this._audio.pause(), + this._audio.removeEventListener("ended", this._onEnd), + this._audio.removeEventListener("canplay", this._resumePlay), + O.onIE || this._audio != et._musicAudio && W.recover("audio:" + this.url, this._audio), + O.removeElement(this._audio), + this._audio = null) + } + , + n.pause = function() { + this.isStopped = !0, + T.removeChannel(this), + "pause"in this._audio && this._audio.pause() + } + , + n.resume = function() { + this._audio && (this.isStopped = !1, + T.addChannel(this), + "play"in this._audio && this._audio.play()) + } + , + r(0, n, "position", function() { + return this._audio ? this._audio.currentTime : 0 + }), + r(0, n, "duration", function() { + return this._audio ? this._audio.duration : 0 + }), + r(0, n, "volume", function() { + return this._audio ? this._audio.volume : 1 + }, function(t) { + this._audio && (this._audio.volume = t) + }), + e + }() + , ft = function(t) { + function e() { + this.audioBuffer = null, + this.gain = null, + this.bufferSource = null, + this._currentTime = 0, + this._volume = 1, + this._startTime = 0, + this._pauseTime = 0, + this._onPlayEnd = null, + this.context = at.ctx, + e.__super.call(this), + this._onPlayEnd = J.bind(this.__onPlayEnd, this), + this.context.createGain ? this.gain = this.context.createGain() : this.gain = this.context.createGainNode() + } + a(e, "laya.media.webaudio.WebAudioSoundChannel", it); + var n = e.prototype; + return n.play = function() { + if (T.addChannel(this), + this.isStopped = !1, + this._clearBufferSource(), + this.audioBuffer) { + var t = this.context + , e = this.gain + , i = t.createBufferSource(); + this.bufferSource = i, + i.buffer = this.audioBuffer, + i.connect(e), + e && e.disconnect(), + e.connect(t.destination), + i.onended = this._onPlayEnd, + this.startTime >= this.duration && (this.startTime = 0), + this._startTime = O.now(), + this.gain.gain.value = this._volume, + 0 == this.loops && (i.loop = !0), + i.playbackRate.value = T.playbackRate, + i.start(0, this.startTime), + this._currentTime = 0 + } + } + , + n.__onPlayEnd = function() { + if (1 == this.loops) + return this.completeHandler && (i.timer.once(10, this, this.__runComplete, [this.completeHandler], !1), + this.completeHandler = null), + this.stop(), + void this.event("complete"); + this.loops > 0 && this.loops--, + this.startTime = 0, + this.play() + } + , + n._clearBufferSource = function() { + if (this.bufferSource) { + var t = this.bufferSource; + t.stop ? t.stop(0) : t.noteOff(0), + t.disconnect(0), + t.onended = null, + e._tryCleanFailed || this._tryClearBuffer(t), + this.bufferSource = null + } + } + , + n._tryClearBuffer = function(t) { + if (O.onMac) + try { + t.buffer = at._miniBuffer + } catch (t) { + e._tryCleanFailed = !0 + } + else + try { + t.buffer = null + } catch (t) { + e._tryCleanFailed = !0 + } + } + , + n.stop = function() { + this._clearBufferSource(), + this.audioBuffer = null, + this.gain && this.gain.disconnect(), + this.isStopped = !0, + T.removeChannel(this), + this.completeHandler = null, + T.autoReleaseSound && i.timer.once(5e3, null, T.disposeSoundIfNotUsed, [this.url], !1) + } + , + n.pause = function() { + this.isStopped || (this._pauseTime = this.position), + this._clearBufferSource(), + this.gain && this.gain.disconnect(), + this.isStopped = !0, + T.removeChannel(this), + T.autoReleaseSound && i.timer.once(5e3, null, T.disposeSoundIfNotUsed, [this.url], !1) + } + , + n.resume = function() { + this.startTime = this._pauseTime, + this.play() + } + , + r(0, n, "position", function() { + return this.bufferSource ? (O.now() - this._startTime) / 1e3 + this.startTime : 0 + }), + r(0, n, "duration", function() { + return this.audioBuffer ? this.audioBuffer.duration : 0 + }), + r(0, n, "volume", function() { + return this._volume + }, function(t) { + this.isStopped || (this._volume = t, + this.gain.gain.value = t) + }), + e._tryCleanFailed = !1, + e + }() + , pt = function(t) { + function e() { + e.__super.call(this), + this._w = 0, + this._h = 0 + } + a(e, "laya.resource.Bitmap", ht); + var i = e.prototype; + return r(0, i, "width", function() { + return this._w + }), + r(0, i, "height", function() { + return this._h + }), + r(0, i, "source", function() { + return this._source + }), + e + }() + , mt = function(t) { + function e() { + this.loop = !1, + this.wrapMode = 0, + this._index = 0, + this._count = 0, + this._isPlaying = !1, + this._labels = null, + this._isReverse = !1, + this._frameRateChanged = !1, + this._controlNode = null, + this._actionName = null, + e.__super.call(this), + this._interval = o.animationInterval, + this._setUpNoticeType(1) + } + a(e, "laya.display.AnimationPlayerBase", t); + var i = e.prototype; + return i.play = function(t, e, i, n) { + void 0 === t && (t = 0), + void 0 === e && (e = !0), + void 0 === i && (i = ""), + void 0 === n && (n = !0), + this._isPlaying = !0, + this.index = "string" == typeof t ? this._getFrameByLabel(t) : t, + this.loop = e, + this._actionName = i, + this._isReverse = 1 == this.wrapMode, + this.interval > 0 && this.timerLoop(this.interval, this, this._frameLoop, null, !0, !0) + } + , + i._getFrameByLabel = function(t) { + var e = 0; + for (e = 0; e < this._count; e++) + if (this._labels[e] && this._labels[e].indexOf(t) >= 0) + return e; + return 0 + } + , + i._frameLoop = function() { + if (this._isReverse) { + if (this._index--, + this._index < 0) { + if (!this.loop) + return this._index = 0, + this.stop(), + void this.event("complete"); + 2 == this.wrapMode ? (this._index = this._count > 0 ? 1 : 0, + this._isReverse = !1) : this._index = this._count - 1, + this.event("complete") + } + } else if (this._index++, + this._index >= this._count) { + if (!this.loop) + return this._index--, + this.stop(), + void this.event("complete"); + 2 == this.wrapMode ? (this._index = this._count - 2 >= 0 ? this._count - 2 : 0, + this._isReverse = !0) : this._index = 0, + this.event("complete") + } + this.index = this._index + } + , + i._setControlNode = function(t) { + this._controlNode && (this._controlNode.off("display", this, this._checkResumePlaying), + this._controlNode.off("undisplay", this, this._checkResumePlaying)), + this._controlNode = t, + t && t != this && (t.on("display", this, this._checkResumePlaying), + t.on("undisplay", this, this._checkResumePlaying)) + } + , + i._setDisplay = function(e) { + t.prototype._setDisplay.call(this, e), + this._checkResumePlaying() + } + , + i._checkResumePlaying = function() { + this._isPlaying && (this._controlNode.displayedInStage ? this.play(this._index, this.loop, this._actionName) : this.clearTimer(this, this._frameLoop)) + } + , + i.stop = function() { + this._isPlaying = !1, + this.clearTimer(this, this._frameLoop) + } + , + i.addLabel = function(t, e) { + this._labels || (this._labels = {}), + this._labels[e] || (this._labels[e] = []), + this._labels[e].push(t) + } + , + i.removeLabel = function(t) { + if (t) { + if (this._labels) + for (var e in this._labels) + this._removeLabelFromLabelList(this._labels[e], t) + } else + this._labels = null + } + , + i._removeLabelFromLabelList = function(t, e) { + if (t) + for (var i = t.length - 1; i >= 0; i--) + t[i] == e && t.splice(i, 1) + } + , + i.gotoAndStop = function(t) { + this.index = "string" == typeof t ? this._getFrameByLabel(t) : t, + this.stop() + } + , + i._displayToIndex = function(t) {} + , + i.clear = function() { + this.stop(), + this._labels = null + } + , + r(0, i, "interval", function() { + return this._interval + }, function(t) { + this._interval != t && (this._frameRateChanged = !0, + this._interval = t, + this._isPlaying && t > 0 && this.timerLoop(t, this, this._frameLoop, null, !0, !0)) + }), + r(0, i, "isPlaying", function() { + return this._isPlaying + }), + r(0, i, "index", function() { + return this._index + }, function(t) { + if (this._index = t, + this._displayToIndex(t), + this._labels && this._labels[t]) + for (var e = this._labels[t], i = 0, n = e.length; i < n; i++) + this.event("label", e[i]) + }), + r(0, i, "count", function() { + return this._count + }), + e.WRAP_POSITIVE = 0, + e.WRAP_REVERSE = 1, + e.WRAP_PINGPONG = 2, + e + }(ut) + , gt = function(t) { + function e() { + this._clipPoint = null, + this._currBitmapFont = null, + this._text = null, + this._isChanged = !1, + this._isColorChanged = !1, + this._textWidth = 0, + this._textHeight = 0, + this._lines = [], + this._lineWidths = [], + this._startX = NaN, + this._startY = NaN, + this._lastVisibleLineIndex = -1, + this._words = null, + this._charSize = {}, + this.underline = !1, + this._underlineColor = null, + e.__super.call(this), + this.overflow = e.VISIBLE, + this._style = new tt(this), + this._style.wordWrap = !1 + } + a(e, "laya.display.Text", t); + var s = e.prototype; + return s.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, e), + this._lines = null, + this._words && (this._words.length = 0, + this._words = null) + } + , + s._getBoundPointsM = function(t) { + void 0 === t && (t = !1); + var e = L.TEMP; + return e.setTo(0, 0, this.width, this.height), + e._getBoundPoints() + } + , + s.getGraphicBounds = function(t) { + void 0 === t && (t = !1); + var e = L.TEMP; + return e.setTo(0, 0, this.width, this.height), + e + } + , + s._getCSSStyle = function() { + return this._style + } + , + s.lang = function(t, i, n, a, r, s, o, l, h, c, _) { + if (t = e.langPacks && e.langPacks[t] ? e.langPacks[t] : t, + arguments.length < 2) + this._text = t; + else { + for (var u = 0, d = arguments.length; u < d; u++) + t = t.replace("{" + u + "}", arguments[u + 1]); + this._text = t + } + } + , + s._isPassWordMode = function() { + var t = this._style.password; + return "prompt"in this && this.prompt == this._text && (t = !1), + t + } + , + s._getPassWordTxt = function(t) { + var e; + e = ""; + for (var i = t.length; i > 0; i--) + e += "●"; + return e + } + , + s.renderText = function(t, e) { + var i = this.graphics; + i.clear(!0); + var n = (this.italic ? "italic " : "") + (this.bold ? "bold " : "") + this.fontSize + "px " + (O.onIPhone ? laya.display.Text._fontFamilyMap[this.font] || this.font : this.font); + O.context.font = n; + var a = this.padding + , r = a[3] + , s = "left" + , o = this._lines + , l = this.leading + this._charSize.height + , h = this._currBitmapFont; + h && (l = this.leading + h.getMaxHeight()); + var c = a[0]; + if (!h && this._width > 0 && this._textWidth <= this._width && ("right" == this.align ? (s = "right", + r = this._width - a[1]) : "center" == this.align && (s = "center", + r = .5 * this._width + a[3] - a[1])), + this._height > 0) { + var _ = this._textHeight > this._height ? "top" : this.valign; + "middle" === _ ? c = .5 * (this._height - e * l) + a[0] - a[2] : "bottom" === _ && (c = this._height - e * l - a[2]) + } + var u = this._style; + if (h && h.autoScaleSize) + var d = h.fontSize / this.fontSize; + if (this._clipPoint) + if (i.save(), + h && h.autoScaleSize) { + var f = 0 + , p = 0; + f = this._width ? this._width - a[3] - a[1] : this._textWidth, + p = this._height ? this._height - a[0] - a[2] : this._textHeight, + f *= d, + p *= d, + i.clipRect(a[3], a[0], f, p) + } else + i.clipRect(a[3], a[0], this._width ? this._width - a[3] - a[1] : this._textWidth, this._height ? this._height - a[0] - a[2] : this._textHeight); + var m = u.password; + "prompt"in this && this.prompt == this._text && (m = !1); + for (var g = 0, y = 0, v = Math.min(this._lines.length, e + t) || 1, b = t; b < v; b++) { + var w, x = o[b]; + if (m) { + var I = x.length; + x = ""; + for (var C = I; C > 0; C--) + x += "●" + } + if (g = r - (this._clipPoint ? this._clipPoint.x : 0), + y = c + l * b - (this._clipPoint ? this._clipPoint.y : 0), + this.underline && this.drawUnderline(s, g, y, b), + h) { + var S = this.width; + h.autoScaleSize && (S = this.width * d), + h.drawText(x, this, g, y, this.align, S) + } else + A.isWebGL ? (this._words || (this._words = []), + (w = this._words.length > b - t ? this._words[b - t] : new Q).setText(x)) : w = x, + u.stroke ? i.fillBorderText(w, g, y, n, this.color, u.strokeColor, u.stroke, s) : i.fillText(w, g, y, n, this.color, s) + } + if (h && h.autoScaleSize) { + var M = 1 / d; + this.scale(M, M) + } + this._clipPoint && i.restore(), + this._startX = r, + this._startY = c + } + , + s.drawUnderline = function(t, e, i, n) { + var a = this._lineWidths[n]; + switch (t) { + case "center": + e -= a / 2; + break; + case "right": + e -= a + } + i += this._charSize.height, + this._graphics.drawLine(e, i, e + a, i, this.underlineColor || this.color, 1) + } + , + s.typeset = function() { + if (this._isChanged = !1, + this._isColorChanged && (this._isColorChanged = !1, + this._currBitmapFont)) { + var t = parseInt(this.color.substring(1), 16) + , i = new lt([((16711680 & t) >> 16) / 255, 0, 0, 0, 0, 0, ((65280 & t) >> 8) / 255, 0, 0, 0, 0, 0, (255 & t) / 255, 0, 0, 0, 0, 0, 1, 0]); + this.filters = [i] + } + if (!this._text) + return this._clipPoint = null, + this._textWidth = this._textHeight = 0, + void this.graphics.clear(!0); + O.context.font = this._getCSSStyle().font, + this._lines.length = 0, + this._lineWidths.length = 0, + this._isPassWordMode() ? this.parseLines(this._getPassWordTxt(this._text)) : this.parseLines(this._text), + this.evalTextSize(), + this.checkEnabledViewportOrNot() ? this._clipPoint || (this._clipPoint = new M(0,0)) : this._clipPoint = null; + var n = this._lines.length; + if (this.overflow != e.VISIBLE) { + var a = this.overflow == e.HIDDEN ? Math.floor : Math.ceil; + n = Math.min(n, a((this.height - this.padding[0] - this.padding[2]) / (this.leading + this._charSize.height))) + } + var r = this.scrollY / (this._charSize.height + this.leading) | 0; + this.renderText(r, n), + this.repaint() + } + , + s.evalTextSize = function() { + var t = NaN + , e = NaN; + t = Math.max.apply(this, this._lineWidths), + e = this._currBitmapFont ? this._lines.length * (this._currBitmapFont.getMaxHeight() + this.leading) + this.padding[0] + this.padding[2] : this._lines.length * (this._charSize.height + this.leading) + this.padding[0] + this.padding[2], + t == this._textWidth && e == this._textHeight || (this._textWidth = t, + this._textHeight = e, + this._width && this._height || this.conchModel && this.conchModel.size(this._width || this._textWidth, this._height || this._textHeight)) + } + , + s.checkEnabledViewportOrNot = function() { + return this.overflow == e.SCROLL && (this._width > 0 && this._textWidth > this._width || this._height > 0 && this._textHeight > this._height) + } + , + s.changeText = function(t) { + this._text !== t && (this.lang(t + ""), + this._graphics && this._graphics.replaceText(this._text) || this.typeset()) + } + , + s.parseLines = function(t) { + var i = this.wordWrap || this.overflow == e.HIDDEN; + if (i) + var n = this.getWordWrapWidth(); + if (this._currBitmapFont) + this._charSize.width = this._currBitmapFont.getMaxWidth(), + this._charSize.height = this._currBitmapFont.getMaxHeight(); + else { + var a = O.context.measureText(e._testWord); + A.isConchApp && 0 === a.width && 0 === a.height && (a = O.context.measureText("W")), + this._charSize.width = a.width, + this._charSize.height = a.height || this.fontSize + } + for (var r = t.replace(/\r\n/g, "\n").split("\n"), s = 0, o = r.length; s < o; s++) { + var l = r[s]; + i ? this.parseLine(l, n) : (this._lineWidths.push(this.getTextWidth(l)), + this._lines.push(l)) + } + } + , + s.parseLine = function(t, i) { + O.context; + var n, a = this._lines, r = 0, s = NaN, o = NaN, l = 0; + if ((s = this.getTextWidth(t)) <= i) + return a.push(t), + void this._lineWidths.push(s); + s = this._charSize.width, + 0 == (r = Math.floor(i / s)) && (r = 1), + o = s = this.getTextWidth(t.substring(0, r)); + for (var h = r, c = t.length; h < c; h++) + if (s = this.getTextWidth(t.charAt(h)), + (o += s) > i) + if (this.wordWrap) { + var _ = t.substring(l, h); + if (_.charCodeAt(_.length - 1) < 255 ? (n = /(?:\w|-)+$/.exec(_)) && (h = n.index + l, + 0 == n.index ? h += _.length : _ = t.substring(l, h)) : e.RightToLeft && (n = /([\u0600-\u06FF])+$/.exec(_)) && (h = n.index + l, + 0 == n.index ? h += _.length : _ = t.substring(l, h)), + a.push(_), + this._lineWidths.push(o - s), + l = h, + !(h + r < c)) { + a.push(t.substring(l, c)), + this._lineWidths.push(this.getTextWidth(a[a.length - 1])), + l = -1; + break + } + h += r, + o = s = this.getTextWidth(t.substring(l, h)), + h-- + } else if (this.overflow == e.HIDDEN) + return a.push(t.substring(0, h)), + void this._lineWidths.push(this.getTextWidth(a[a.length - 1])); + this.wordWrap && -1 != l && (a.push(t.substring(l, c)), + this._lineWidths.push(this.getTextWidth(a[a.length - 1]))) + } + , + s.getTextWidth = function(t) { + return this._currBitmapFont ? this._currBitmapFont.getTextWidth(t) : O.context.measureText(t).width + } + , + s.getWordWrapWidth = function() { + var t = this.padding + , e = NaN; + return (e = this._currBitmapFont && this._currBitmapFont.autoScaleSize ? this._width * (this._currBitmapFont.fontSize / this.fontSize) : this._width) <= 0 && (e = this.wordWrap ? 100 : O.width), + e <= 0 && (e = 100), + e - t[3] - t[1] + } + , + s.getCharPoint = function(t, e) { + this._isChanged && i.timer.runCallLater(this, this.typeset); + for (var n = 0, a = this._lines, r = 0, s = 0, o = a.length; s < o; s++) { + if (n += a[s].length, + t < n) { + var l = s; + break + } + r = n + } + var h = (this.italic ? "italic " : "") + (this.bold ? "bold " : "") + this.fontSize + "px " + this.font; + O.context.font = h; + var c = this.getTextWidth(this._text.substring(r, t)); + return (e || new M).setTo(this._startX + c - (this._clipPoint ? this._clipPoint.x : 0), this._startY + l * (this._charSize.height + this.leading) - (this._clipPoint ? this._clipPoint.y : 0)) + } + , + r(0, s, "width", function() { + return this._width ? this._width : this.textWidth + this.padding[1] + this.padding[3] + }, function(t) { + t != this._width && (i.superSet(ut, this, "width", t), + this.isChanged = !0) + }), + r(0, s, "textWidth", function() { + return this._isChanged && i.timer.runCallLater(this, this.typeset), + this._textWidth + }), + r(0, s, "height", function() { + return this._height ? this._height : this.textHeight + this.padding[0] + this.padding[2] + }, function(t) { + t != this._height && (i.superSet(ut, this, "height", t), + this.isChanged = !0) + }), + r(0, s, "textHeight", function() { + return this._isChanged && i.timer.runCallLater(this, this.typeset), + this._textHeight + }), + r(0, s, "padding", function() { + return this._getCSSStyle().padding + }, function(t) { + this._getCSSStyle().padding = t, + this.isChanged = !0 + }), + r(0, s, "bold", function() { + return this._getCSSStyle().bold + }, function(t) { + this._getCSSStyle().bold = t, + this.isChanged = !0 + }), + r(0, s, "text", function() { + return this._text || "" + }, function(t) { + this._text !== t && (this.lang(t + ""), + this.isChanged = !0, + this.event("change")) + }), + r(0, s, "color", function() { + return this._getCSSStyle().color + }, function(t) { + this._getCSSStyle().color != t && (this._getCSSStyle().color = t, + this._isChanged || !this._graphics || this._currBitmapFont ? (this.isChanged = !0, + this._isColorChanged = !0) : this._graphics.replaceTextColor(this.color)) + }), + r(0, s, "font", function() { + return this._getCSSStyle().fontFamily + }, function(t) { + this._currBitmapFont && (this._currBitmapFont = null, + this.scale(1, 1)), + e._bitmapFonts && e._bitmapFonts[t] && (this._currBitmapFont = e._bitmapFonts[t]), + this._getCSSStyle().fontFamily = t, + this.isChanged = !0 + }), + r(0, s, "fontSize", function() { + return this._getCSSStyle().fontSize + }, function(t) { + this._getCSSStyle().fontSize = t, + this.isChanged = !0 + }), + r(0, s, "italic", function() { + return this._getCSSStyle().italic + }, function(t) { + this._getCSSStyle().italic = t, + this.isChanged = !0 + }), + r(0, s, "align", function() { + return this._getCSSStyle().align + }, function(t) { + this._getCSSStyle().align = t, + this.isChanged = !0 + }), + r(0, s, "valign", function() { + return this._getCSSStyle().valign + }, function(t) { + this._getCSSStyle().valign = t, + this.isChanged = !0 + }), + r(0, s, "wordWrap", function() { + return this._getCSSStyle().wordWrap + }, function(t) { + this._getCSSStyle().wordWrap = t, + this.isChanged = !0 + }), + r(0, s, "leading", function() { + return this._getCSSStyle().leading + }, function(t) { + this._getCSSStyle().leading = t, + this.isChanged = !0 + }), + r(0, s, "bgColor", function() { + return this._getCSSStyle().backgroundColor + }, function(t) { + this._getCSSStyle().backgroundColor = t, + this.isChanged = !0 + }), + r(0, s, "borderColor", function() { + return this._getCSSStyle().borderColor + }, function(t) { + this._getCSSStyle().borderColor = t, + this.isChanged = !0 + }), + r(0, s, "stroke", function() { + return this._getCSSStyle().stroke + }, function(t) { + this._getCSSStyle().stroke = t, + this.isChanged = !0 + }), + r(0, s, "strokeColor", function() { + return this._getCSSStyle().strokeColor + }, function(t) { + this._getCSSStyle().strokeColor = t, + this.isChanged = !0 + }), + r(0, s, "isChanged", null, function(t) { + this._isChanged !== t && (this._isChanged = t, + t && i.timer.callLater(this, this.typeset)) + }), + r(0, s, "scrollX", function() { + return this._clipPoint ? this._clipPoint.x : 0 + }, function(t) { + if (!(this.overflow != e.SCROLL || this.textWidth < this._width) && this._clipPoint) { + t = t < this.padding[3] ? this.padding[3] : t; + var i = this._textWidth - this._width; + t = t > i ? i : t; + var n = this._height / (this._charSize.height + this.leading) | 1; + this._clipPoint.x = t, + this.renderText(this._lastVisibleLineIndex, n) + } + }), + r(0, s, "scrollY", function() { + return this._clipPoint ? this._clipPoint.y : 0 + }, function(t) { + if (!(this.overflow != e.SCROLL || this.textHeight < this._height) && this._clipPoint) { + t = t < this.padding[0] ? this.padding[0] : t; + var i = this._textHeight - this._height + , n = (t = t > i ? i : t) / (this._charSize.height + this.leading) | 0; + this._lastVisibleLineIndex = n; + var a = 1 + (this._height / (this._charSize.height + this.leading) | 0); + this._clipPoint.y = t, + this.renderText(n, a) + } + }), + r(0, s, "maxScrollX", function() { + return this.textWidth < this._width ? 0 : this._textWidth - this._width + }), + r(0, s, "maxScrollY", function() { + return this.textHeight < this._height ? 0 : this._textHeight - this._height + }), + r(0, s, "lines", function() { + return this._isChanged && this.typeset(), + this._lines + }), + r(0, s, "underlineColor", function() { + return this._underlineColor + }, function(t) { + this._underlineColor = t, + this._isChanged = !0, + this.typeset() + }), + e.registerBitmapFont = function(t, i) { + e._bitmapFonts || (e._bitmapFonts = {}), + e._bitmapFonts[t] = i + } + , + e.unregisterBitmapFont = function(t, i) { + if (void 0 === i && (i = !0), + e._bitmapFonts && e._bitmapFonts[t]) { + var n = e._bitmapFonts[t]; + i && n.destroy(), + delete e._bitmapFonts[t] + } + } + , + e.setTextRightToLeft = function() { + var t; + (t = O.canvas.source.style).display = "none", + t.position = "absolute", + t.direction = "rtl", + A._mainCanvas.source.style.direction = "rtl", + laya.display.Text.RightToLeft = !0, + O.document.body.appendChild(O.canvas.source) + } + , + e.supportFont = function(t) { + O.context.font = "10px sans-serif"; + var e = O.context.measureText("abcji").width; + O.context.font = "10px " + t; + var i = O.context.measureText("abcji").width; + return console.log(e, i), + e !== i + } + , + e._testWord = "游", + e.langPacks = null, + e.VISIBLE = "visible", + e.SCROLL = "scroll", + e.HIDDEN = "hidden", + e.CharacterCache = !0, + e.RightToLeft = !1, + e._bitmapFonts = null, + n(e, ["_fontFamilyMap", function() { + return this._fontFamilyMap = { + "报隶": "报隶-简", + "黑体": "黑体-简", + "楷体": "楷体-简", + "兰亭黑": "兰亭黑-简", + "隶变": "隶变-简", + "凌慧体": "凌慧体-简", + "翩翩体": "翩翩体-简", + "苹方": "苹方-简", + "手札体": "手札体-简", + "宋体": "宋体-简", + "娃娃体": "娃娃体-简", + "魏碑": "魏碑-简", + "行楷": "行楷-简", + "雅痞": "雅痞-简", + "圆体": "圆体-简" + } + } + ]), + e + }(ut) + , yt = function(t) { + function e() { + this.focus = null, + this.designWidth = 0, + this.designHeight = 0, + this.canvasRotation = !1, + this.canvasDegree = 0, + this.renderingEnabled = !0, + this.screenAdaptationEnabled = !0, + this._screenMode = "none", + this._scaleMode = "noscale", + this._alignV = "top", + this._alignH = "left", + this._bgColor = "black", + this._mouseMoveTime = 0, + this._renderCount = 0, + this._frameStartTime = NaN, + this._isFocused = !1, + this._isVisibility = !1, + this._scenes = null, + this._frameRate = "fast", + e.__super.call(this), + this.offset = new M, + this._canvasTransform = new S, + this._previousOrientation = O.window.orientation; + var t = this; + this.transform = S.create(), + this._scenes = [], + this.mouseEnabled = !0, + this.hitTestPrior = !0, + this.autoSize = !1, + this._displayedInStage = !0, + this._isFocused = !0, + this._isVisibility = !0; + var i = O.window + , n = this; + i.addEventListener("focus", function() { + t._isFocused = !0, + n.event("focus"), + n.event("focuschange") + }), + i.addEventListener("blur", function() { + t._isFocused = !1, + n.event("blur"), + n.event("focuschange"), + n._isInputting() && (xt.inputElement.target.focus = !1) + }); + var a = "visibilityState" + , r = "visibilitychange" + , s = i.document; + void 0 !== s.hidden ? (r = "visibilitychange", + a = "visibilityState") : void 0 !== s.mozHidden ? (r = "mozvisibilitychange", + a = "mozVisibilityState") : void 0 !== s.msHidden ? (r = "msvisibilitychange", + a = "msVisibilityState") : void 0 !== s.webkitHidden && (r = "webkitvisibilitychange", + a = "webkitVisibilityState"), + i.document.addEventListener(r, function() { + "hidden" == O.document[a] ? n._setStageVisible(!1) : n._setStageVisible(!0) + }), + i.document.addEventListener("qbrowserVisibilityChange", function(t) { + n._setStageVisible(!t.hidden) + }), + i.addEventListener("resize", function() { + var e = O.window.orientation; + null != e && e != t._previousOrientation && n._isInputting() && (xt.inputElement.target.focus = !1), + t._previousOrientation = e, + n._isInputting() || n._resetCanvas() + }), + i.addEventListener("orientationchange", function(t) { + n._resetCanvas() + }), + this.on("mousemove", this, this._onmouseMove), + O.onMobile && this.on("mousedown", this, this._onmouseMove) + } + a(e, "laya.display.Stage", t); + var o = e.prototype; + return o._setStageVisible = function(t) { + this._isVisibility != t && (this._isVisibility = t, + this._isVisibility || this._isInputting() && (xt.inputElement.target.focus = !1), + this.event("visibilitychange")) + } + , + o._isInputting = function() { + return O.onMobile && xt.isInputting + } + , + o._changeCanvasSize = function() { + this.setScreenSize(O.clientWidth * O.pixelRatio, O.clientHeight * O.pixelRatio) + } + , + o._resetCanvas = function() { + if (this.screenAdaptationEnabled) { + var t = A._mainCanvas; + t.source.style; + t.size(1, 1), + i.timer.once(100, this, this._changeCanvasSize) + } + } + , + o.setScreenSize = function(t, e) { + var i = !1; + if ("none" !== this._screenMode) { + if (i = (t / e < 1 ? "vertical" : "horizontal") !== this._screenMode) { + var n = e; + e = t, + t = n + } + } + this.canvasRotation = i; + var a = A._mainCanvas + , r = a.source.style + , o = this._canvasTransform.identity() + , l = this._scaleMode + , h = t / this.designWidth + , c = e / this.designHeight + , _ = this.designWidth + , u = this.designHeight + , d = t + , f = e + , p = O.pixelRatio; + switch (this._width = this.designWidth, + this._height = this.designHeight, + l) { + case "noscale": + h = c = 1, + d = this.designWidth, + f = this.designHeight; + break; + case "showall": + h = c = Math.min(h, c), + _ = d = Math.round(this.designWidth * h), + u = f = Math.round(this.designHeight * c); + break; + case "noborder": + h = c = Math.max(h, c), + d = Math.round(this.designWidth * h), + f = Math.round(this.designHeight * c); + break; + case "full": + h = c = 1, + this._width = _ = t, + this._height = u = e; + break; + case "fixedwidth": + c = h, + this._height = u = Math.round(e / h); + break; + case "fixedheight": + h = c, + this._width = _ = Math.round(t / c); + break; + case "fixedauto": + t / e < this.designWidth / this.designHeight ? (c = h, + this._height = u = Math.round(e / h)) : (h = c, + this._width = _ = Math.round(t / c)) + } + this.conchModel && this.conchModel.size(this._width, this._height), + h *= this.scaleX, + c *= this.scaleY, + 1 === h && 1 === c ? this.transform.identity() : (this.transform.a = this._formatData(h / (d / _)), + this.transform.d = this._formatData(c / (f / u)), + this.conchModel && this.conchModel.scale(this.transform.a, this.transform.d)), + a.size(_, u), + s.changeWebGLSize(_, u), + o.scale(d / _ / p, f / u / p), + "left" === this._alignH ? this.offset.x = 0 : "right" === this._alignH ? this.offset.x = (t - d) / p : this.offset.x = .5 * (t - d) / p, + "top" === this._alignV ? this.offset.y = 0 : "bottom" === this._alignV ? this.offset.y = (e - f) / p : this.offset.y = .5 * (e - f) / p; + var m = O.document.getElementById("dmm_ntgnavi"); + m && (this.offset.y += m.getBoundingClientRect().height), + this.offset.x = Math.round(this.offset.x), + this.offset.y = Math.round(this.offset.y), + o.translate(this.offset.x, this.offset.y), + this.canvasDegree = 0, + i && ("horizontal" === this._screenMode ? (o.rotate(Math.PI / 2), + o.translate(e / p, 0), + this.canvasDegree = 90) : (o.rotate(-Math.PI / 2), + o.translate(0, t / p), + this.canvasDegree = -90)), + o.a = this._formatData(o.a), + o.d = this._formatData(o.d), + o.tx = this._formatData(o.tx), + o.ty = this._formatData(o.ty), + r.transformOrigin = r.webkitTransformOrigin = r.msTransformOrigin = r.mozTransformOrigin = r.oTransformOrigin = "0px 0px 0px", + r.transform = r.webkitTransform = r.msTransform = r.mozTransform = r.oTransform = "matrix(" + o.toString() + ")", + o.translate(parseInt(r.left) || 0, parseInt(r.top) || 0), + this.visible = !0, + this._repaint = 1, + this.event("resize") + } + , + o._formatData = function(t) { + return Math.abs(t) < 1e-6 ? 0 : Math.abs(1 - t) < .001 ? t > 0 ? 1 : -1 : t + } + , + o.getMousePoint = function() { + return M.TEMP.setTo(this.mouseX, this.mouseY) + } + , + o.repaint = function() { + this._repaint = 1 + } + , + o.parentRepaint = function() {} + , + o._loop = function() { + return this.render(A.context, 0, 0), + !0 + } + , + o._onmouseMove = function(t) { + this._mouseMoveTime = O.now() + } + , + o.getTimeFromFrameStart = function() { + return O.now() - this._frameStartTime + } + , + o.render = function(e, n, a) { + if ("sleep" === this._frameRate && !A.isConchApp) { + var r = O.now(); + if (!(r - this._frameStartTime >= 1e3)) + return; + this._frameStartTime = r + } + if (this._renderCount++, + A.isFlash && this.repaint(), + this._style.visible) { + this._frameStartTime = O.now(); + var o = "slow" !== ("mouse" === this._frameRate ? this._frameStartTime - this._mouseMoveTime < 2e3 ? "fast" : "slow" : this._frameRate) + , l = this._renderCount % 2 == 0; + if (X.renderSlow = !o, + o || l || A.isConchApp) { + X.loopCount++, + y.instance.runEvent(), + i.timer._update(), + s.update3DLoop(); + var h, c = 0, _ = 0; + if (A.isConchNode) + for (c = 0, + _ = this._scenes.length; c < _; c++) + (h = this._scenes[c]) && h._updateSceneConch(); + else + for (c = 0, + _ = this._scenes.length; c < _; c++) + (h = this._scenes[c]) && h._updateScene(); + if (A.isConchNode) { + var u = ut.CustomList; + for (c = 0, + _ = u.length; c < _; c++) { + var d = u[c]; + d.customRender(d.customContext, 0, 0) + } + return + } + } + A.isConchNode || this.renderingEnabled && (o || !l || A.isConchWebGL) && (A.isWebGL ? (e.clear(), + t.prototype.render.call(this, e, n, a), + X._show && X._sp && X._sp.render(e, n, a), + s.clear(this._bgColor), + s.beginFlush(), + e.flush(), + s.endFinish(), + K.instance && K.getInstance().endDispose()) : (s.clear(this._bgColor), + t.prototype.render.call(this, e, n, a), + X._show && X._sp && X._sp.render(e, n, a))) + } else + this._renderCount % 5 == 0 && (X.loopCount++, + y.instance.runEvent(), + i.timer._update()) + } + , + o._requestFullscreen = function() { + var t = O.document.documentElement; + t.requestFullscreen ? t.requestFullscreen() : t.mozRequestFullScreen ? t.mozRequestFullScreen() : t.webkitRequestFullscreen ? t.webkitRequestFullscreen() : t.msRequestFullscreen && t.msRequestFullscreen() + } + , + o._fullScreenChanged = function() { + i.stage.event("fullscreenchange") + } + , + o.exitFullscreen = function() { + var t = O.document; + t.exitFullscreen ? t.exitFullscreen() : t.mozCancelFullScreen ? t.mozCancelFullScreen() : t.webkitExitFullscreen && t.webkitExitFullscreen() + } + , + r(0, o, "clientScaleX", function() { + return this._transform ? this._transform.getScaleX() : 1 + }), + r(0, o, "desginHeight", function() { + return console.debug("desginHeight已经弃用,请使用designHeight代替"), + this.designHeight + }), + r(0, o, "frameRate", function() { + return this._frameRate + }, function(t) { + if (this._frameRate = t, + A.isConchApp) + switch (this._frameRate) { + case "slow": + O.window.conch && O.window.conchConfig.setSlowFrame && O.window.conchConfig.setSlowFrame(!0); + break; + case "fast": + O.window.conch && O.window.conchConfig.setSlowFrame && O.window.conchConfig.setSlowFrame(!1); + break; + case "mouse": + O.window.conch && O.window.conchConfig.setMouseFrame && O.window.conchConfig.setMouseFrame(2e3); + break; + case "sleep": + O.window.conch && O.window.conchConfig.setLimitFPS && O.window.conchConfig.setLimitFPS(1); + break; + default: + throw new Error("Stage:frameRate invalid.") + } + }), + r(0, o, "clientScaleY", function() { + return this._transform ? this._transform.getScaleY() : 1 + }), + r(0, o, "width", t.prototype._$get_width, function(t) { + this.designWidth = t, + i.superSet(ut, this, "width", t), + i.timer.callLater(this, this._changeCanvasSize) + }), + r(0, o, "alignH", function() { + return this._alignH + }, function(t) { + this._alignH = t, + i.timer.callLater(this, this._changeCanvasSize) + }), + r(0, o, "isFocused", function() { + return this._isFocused + }), + r(0, o, "height", t.prototype._$get_height, function(t) { + this.designHeight = t, + i.superSet(ut, this, "height", t), + i.timer.callLater(this, this._changeCanvasSize) + }), + r(0, o, "transform", function() { + return this._tfChanged && this._adjustTransform(), + this._transform = this._transform || S.create() + }, t.prototype._$set_transform), + r(0, o, "isVisibility", function() { + return this._isVisibility + }), + r(0, o, "desginWidth", function() { + return console.debug("desginWidth已经弃用,请使用designWidth代替"), + this.designWidth + }), + r(0, o, "scaleMode", function() { + return this._scaleMode + }, function(t) { + this._scaleMode = t, + i.timer.callLater(this, this._changeCanvasSize) + }), + r(0, o, "alignV", function() { + return this._alignV + }, function(t) { + this._alignV = t, + i.timer.callLater(this, this._changeCanvasSize) + }), + r(0, o, "bgColor", function() { + return this._bgColor + }, function(t) { + this._bgColor = t, + this.conchModel && this.conchModel.bgColor(t), + A.isWebGL && (t ? e._wgColor = H.create(t)._color : O.onMiniGame || (e._wgColor = null)), + O.onLimixiu ? e._wgColor = H.create(t)._color : A.canvas.style.background = t || "none" + }), + r(0, o, "mouseX", function() { + return Math.round(y.instance.mouseX / this.clientScaleX) + }), + r(0, o, "mouseY", function() { + return Math.round(y.instance.mouseY / this.clientScaleY) + }), + r(0, o, "screenMode", function() { + return this._screenMode + }, function(t) { + this._screenMode = t + }), + r(0, o, "visible", t.prototype._$get_visible, function(t) { + if (this.visible !== t) { + i.superSet(ut, this, "visible", t); + A._mainCanvas.source.style.visibility = t ? "visible" : "hidden" + } + }), + r(0, o, "fullScreenEnabled", null, function(t) { + var e = O.document + , i = A.canvas; + t ? (i.addEventListener("mousedown", this._requestFullscreen), + i.addEventListener("touchstart", this._requestFullscreen), + e.addEventListener("fullscreenchange", this._fullScreenChanged), + e.addEventListener("mozfullscreenchange", this._fullScreenChanged), + e.addEventListener("webkitfullscreenchange", this._fullScreenChanged), + e.addEventListener("msfullscreenchange", this._fullScreenChanged)) : (i.removeEventListener("mousedown", this._requestFullscreen), + i.removeEventListener("touchstart", this._requestFullscreen), + e.removeEventListener("fullscreenchange", this._fullScreenChanged), + e.removeEventListener("mozfullscreenchange", this._fullScreenChanged), + e.removeEventListener("webkitfullscreenchange", this._fullScreenChanged), + e.removeEventListener("msfullscreenchange", this._fullScreenChanged)) + }), + e.SCALE_NOSCALE = "noscale", + e.SCALE_EXACTFIT = "exactfit", + e.SCALE_SHOWALL = "showall", + e.SCALE_NOBORDER = "noborder", + e.SCALE_FULL = "full", + e.SCALE_FIXED_WIDTH = "fixedwidth", + e.SCALE_FIXED_HEIGHT = "fixedheight", + e.SCALE_FIXED_AUTO = "fixedauto", + e.ALIGN_LEFT = "left", + e.ALIGN_RIGHT = "right", + e.ALIGN_CENTER = "center", + e.ALIGN_TOP = "top", + e.ALIGN_MIDDLE = "middle", + e.ALIGN_BOTTOM = "bottom", + e.SCREEN_NONE = "none", + e.SCREEN_HORIZONTAL = "horizontal", + e.SCREEN_VERTICAL = "vertical", + e.FRAME_FAST = "fast", + e.FRAME_SLOW = "slow", + e.FRAME_MOUSE = "mouse", + e.FRAME_SLEEP = "sleep", + e.FRAME_MOUSE_THREDHOLD = 2e3, + n(e, ["_wgColor", function() { + return this._wgColor = [0, 0, 0, 1] + } + ]), + e + }(ut) + , vt = (function(t) { + function e() { + this.url = null, + this._channel = null, + this._tar = null, + this._playEvents = null, + this._stopEvents = null, + e.__super.call(this), + this.visible = !1, + this.on("added", this, this._onParentChange), + this.on("removed", this, this._onParentChange) + } + a(e, "laya.media.SoundNode", ut); + var i = e.prototype; + i._onParentChange = function() { + this.target = this.parent + } + , + i.play = function(t, e) { + void 0 === t && (t = 1), + isNaN(t) && (t = 1), + this.url && (this.stop(), + this._channel = T.playSound(this.url, t, e)) + } + , + i.stop = function() { + this._channel && !this._channel.isStopped && this._channel.stop(), + this._channel = null + } + , + i._setPlayAction = function(t, e, i, n) { + void 0 === n && (n = !0), + this[i] && t && (n ? t.on(e, this, this[i]) : t.off(e, this, this[i])) + } + , + i._setPlayActions = function(t, e, i, n) { + if (void 0 === n && (n = !0), + t && e) { + var a = e.split(",") + , r = 0 + , s = 0; + for (s = a.length, + r = 0; r < s; r++) + this._setPlayAction(t, a[r], i, n) + } + } + , + r(0, i, "playEvent", null, function(t) { + this._playEvents = t, + t && this._tar && this._setPlayActions(this._tar, t, "play") + }), + r(0, i, "target", null, function(t) { + this._tar && (this._setPlayActions(this._tar, this._playEvents, "play", !1), + this._setPlayActions(this._tar, this._stopEvents, "stop", !1)), + this._tar = t, + this._tar && (this._setPlayActions(this._tar, this._playEvents, "play", !0), + this._setPlayActions(this._tar, this._stopEvents, "stop", !0)) + }), + r(0, i, "stopEvent", null, function(t) { + this._stopEvents = t, + t && this._tar && this._setPlayActions(this._tar, t, "stop") + }) + }(), + function(t) { + function e() { + this._src = null, + this._onload = null, + this._onerror = null, + e.__super.call(this) + } + a(e, "laya.resource.FileBitmap", pt); + var i = e.prototype; + return r(0, i, "src", function() { + return this._src + }, function(t) { + this._src = t + }), + r(0, i, "onload", null, function(t) {}), + r(0, i, "onerror", null, function(t) {}), + e + }()) + , bt = function(t) { + function e(t, i) { + this._is2D = !1, + e.__super.call(this); + var n = this; + if (this._source = this, + "2D" === t || "AUTO" === t && !A.isWebGL) { + this._is2D = !0, + this._source = i || O.createElement("canvas"), + this._w = this._source.width, + this._h = this._source.height; + var a = this; + a.getContext = function(t, e) { + if (n._ctx) + return n._ctx; + var i = n._ctx = n._source.getContext(t, e); + return i && (i._canvas = a, + A.isFlash || O.onLimixiu || (i.size = function(t, e) {} + )), + i + } + } + this.lock = !0 + } + a(e, "laya.resource.HTMLCanvas", pt); + var i = e.prototype; + return i.clear = function() { + this._ctx && this._ctx.clear() + } + , + i.destroy = function() { + this._ctx && this._ctx.destroy(), + this._ctx = null, + laya.resource.Resource.prototype.destroy.call(this) + } + , + i.release = function() {} + , + i._setContext = function(t) { + this._ctx = t + } + , + i.getContext = function(t, i) { + return this._ctx ? this._ctx : this._ctx = e._createContext(this) + } + , + i.getMemSize = function() { + return 0 + } + , + i.size = function(t, e) { + (this._w != t || this._h != e || this._source && (this._source.width != t || this._source.height != e)) && (this._w = t, + this._h = e, + this.memorySize = this._w * this._h * 4, + this._ctx && this._ctx.size(t, e), + this._source && (this._source.height = e, + this._source.width = t)) + } + , + i.getCanvas = function() { + return this._source + } + , + i.toBase64 = function(t, e, i) { + if (this._source) + if (A.isConchApp && this._source.toBase64) + this._source.toBase64(t, e, i); + else { + var n = this._source.toDataURL(t, e); + i.call(this, n) + } + } + , + r(0, i, "context", function() { + return this._ctx + }), + r(0, i, "asBitmap", null, function(t) {}), + e.create = function(t, i) { + return new e(t,i) + } + , + e.TYPE2D = "2D", + e.TYPE3D = "3D", + e.TYPEAUTO = "AUTO", + e._createContext = null, + e + }() + , wt = (function(t) { + function e(t, i, n, a, r, s, o, l) { + throw e.__super.call(this), + new Error("不允许new!") + } + a(e, "laya.resource.HTMLSubImage", pt), + e.create = function(t, i, n, a, r, s, o, l) { + return void 0 === l && (l = !1), + new e(t,i,n,a,r,s,o,l) + } + }(), + function(t) { + function e() { + this._frames = null, + this._url = null, + e.__super.call(this), + this._setControlNode(this) + } + a(e, "laya.display.Animation", t); + var n = e.prototype; + n.destroy = function(t) { + void 0 === t && (t = !0), + this.stop(), + laya.display.Sprite.prototype.destroy.call(this, t), + this._frames = null, + this._labels = null + } + , + n.play = function(t, e, i, n) { + void 0 === t && (t = 0), + void 0 === e && (e = !0), + void 0 === i && (i = ""), + void 0 === n && (n = !0), + i && this._setFramesFromCache(i, n), + this._isPlaying = !0, + this.index = "string" == typeof t ? this._getFrameByLabel(t) : t, + this.loop = e, + this._actionName = i, + this._isReverse = 1 == this.wrapMode, + this._frames && this.interval > 0 && this.timerLoop(this.interval, this, this._frameLoop, null, !0, !0) + } + , + n._setFramesFromCache = function(t, i) { + if (void 0 === i && (i = !1), + this._url && (t = this._url + "#" + t), + t && e.framesMap[t]) { + var n; + return (n = e.framesMap[t])instanceof Array ? (this._frames = e.framesMap[t], + this._count = this._frames.length) : (n.nodeRoot && (e.framesMap[t] = this._parseGraphicAnimationByData(n), + n = e.framesMap[t]), + this._frames = n.frames, + this._count = this._frames.length, + this._frameRateChanged || (this._interval = n.interval), + this._labels = this._copyLabels(n.labels)), + !0 + } + return i && console.log("ani not found:", t), + !1 + } + , + n._copyLabels = function(t) { + if (!t) + return null; + var e; + e = {}; + var i; + for (i in t) + e[i] = J.copyArray([], t[i]); + return e + } + , + n._frameLoop = function() { + this._style.visible && this._style.alpha > .01 && t.prototype._frameLoop.call(this) + } + , + n._displayToIndex = function(t) { + this._frames && (this.graphics = this._frames[t]) + } + , + n.clear = function() { + this.stop(), + this.graphics = null, + this._frames = null, + this._labels = null + } + , + n.loadImages = function(t, i) { + return void 0 === i && (i = ""), + this._url = "", + this._setFramesFromCache(i) || (this.frames = e.framesMap[i] ? e.framesMap[i] : e.createFrames(t, i)), + this + } + , + n.loadAtlas = function(t, n, a) { + function r(i) { + t === i && (s.frames = e.framesMap[a] ? e.framesMap[a] : e.createFrames(t, a), + n && n.run()) + } + void 0 === a && (a = ""), + this._url = ""; + var s = this; + return s._setFramesFromCache(a) || (st.getAtlas(t) ? r(t) : i.loader.load(t, h.create(null, r, [t]), null, "atlas")), + this + } + , + n.loadAnimation = function(t, e, n) { + this._url = t; + return this._actionName || (this._actionName = ""), + this._setFramesFromCache("") ? (this._setFramesFromCache(this._actionName, !0), + this.index = 0, + e && e.run()) : !n || st.getAtlas(n) ? this._loadAnimationData(t, e, n) : i.loader.load(n, h.create(this, this._loadAnimationData, [t, e, n]), null, "atlas"), + this + } + , + n._loadAnimationData = function(t, n, a) { + function r(i) { + if (st.getRes(i) && t === i) { + var a; + if (e.framesMap[t + "#"]) + o._setFramesFromCache(s._actionName, !0), + s.index = 0, + s._checkResumePlaying(); + else { + var r = o._parseGraphicAnimation(st.getRes(t)); + if (!r) + return; + var l, h = r.animationList, c = 0, _ = h.length; + for (c = 0; c < _; c++) + a = h[c], + e.framesMap[t + "#" + a.name] = a, + l || (l = a); + l && (e.framesMap[t + "#"] = l, + o._setFramesFromCache(s._actionName, !0), + s.index = 0), + s._checkResumePlaying() + } + n && n.run() + } + } + var s = this; + if (!a || st.getAtlas(a)) { + var o = this; + st.getRes(t) ? r(t) : i.loader.load(t, h.create(null, r, [t]), null, "json"), + st.clearRes(t) + } else + console.warn("atlas load fail:" + a) + } + , + n._parseGraphicAnimation = function(t) { + return Ct.parseAnimationData(t) + } + , + n._parseGraphicAnimationByData = function(t) { + return Ct.parseAnimationByData(t) + } + , + r(0, n, "frames", function() { + return this._frames + }, function(t) { + this._frames = t, + t && (this._count = t.length, + this._isPlaying ? this.play(this._index, this.loop, this._actionName) : this.index = this._index) + }), + r(0, n, "autoPlay", null, function(t) { + t ? this.play() : this.stop() + }), + r(0, n, "source", null, function(t) { + t.indexOf(".ani") > -1 ? this.loadAnimation(t) : t.indexOf(".json") > -1 || t.indexOf("als") > -1 || t.indexOf("atlas") > -1 ? this.loadAtlas(t) : this.loadImages(t.split(",")) + }), + r(0, n, "autoAnimation", null, function(t) { + this.play(0, !0, t, !1) + }), + e.createFrames = function(t, i) { + var n, a, r = 0, o = 0; + if ("string" == typeof t) { + var l = st.getAtlas(t); + if (l && l.length) + for (n = [], + r = 0, + o = l.length; r < o; r++) + (a = new s.createGraphics).drawTexture(st.getRes(l[r]), 0, 0), + n.push(a) + } else if (t instanceof Array) + for (n = [], + r = 0, + o = t.length; r < o; r++) + (a = new s.createGraphics).loadImage(t[r], 0, 0), + n.push(a); + return i && (e.framesMap[i] = n), + n + } + , + e.clearCache = function(t) { + var i, n = e.framesMap, a = t + "#"; + for (i in n) + i !== t && 0 != i.indexOf(a) || delete e.framesMap[i] + } + , + e.framesMap = {} + }(mt), + function(t) { + function e() { + this._targetDic = null, + this._animationData = null, + this._animationNewFrames = null, + e.__super.call(this), + null == e._sortIndexFun && (e._sortIndexFun = C.sortByKey("index", !1, !0)) + } + a(e, "laya.display.FrameAnimation", t); + var n = e.prototype; + return n._setUp = function(t, e) { + for (var n = "fast" == i.stage.frameRate ? 60 : 30, a = n / e.frameRate, r = 0; r < e.nodes.length; r++) { + var s = e.nodes[r].keyframes; + for (var o in s) + for (var l = s[o], h = 0; h < l.length; h++) + l[h].index = Math.floor(l[h].index * a + .5) + } + this._labels = null, + this._animationNewFrames = null, + this._targetDic = t, + this._animationData = e, + this.interval = 1e3 / n, + e.parsed ? (this._count = e.count, + this._labels = e.labels, + this._animationNewFrames = e.animationNewFrames) : (this._animationNewFrames = [], + this._calculateDatas()), + e.parsed = !0, + e.labels = this._labels, + e.count = this._count, + e.animationNewFrames = this._animationNewFrames + } + , + n.clear = function() { + t.prototype.clear.call(this), + this._targetDic = null, + this._animationData = null + } + , + n._displayToIndex = function(t) { + if (this._animationData) { + t < 0 && (t = 0), + t > this._count && (t = this._count); + var e = this._animationData.nodes + , i = 0 + , n = e.length; + for (i = 0; i < n; i++) + this._displayNodeToFrame(e[i], t) + } + } + , + n._displayNodeToFrame = function(t, e, i) { + i || (i = this._targetDic); + var n = i[t.target]; + if (n) { + var a, r, s, o = t.frames, l = t.keys, h = 0, c = l.length; + for (h = 0; h < c; h++) + s = (r = o[a = l[h]]).length > e ? r[e] : r[r.length - 1], + n[a] = s + } + } + , + n._calculateDatas = function() { + if (this._animationData) { + var t, e = this._animationData.nodes, i = 0, n = e.length; + for (this._count = 0, + i = 0; i < n; i++) + t = e[i], + this._calculateNodeKeyFrames(t); + this._count += 1 + } + } + , + n._calculateNodeKeyFrames = function(t) { + var i, n, a = t.keyframes, r = t.target; + t.frames || (t.frames = {}), + t.keys ? t.keys.length = 0 : t.keys = [], + t.initValues || (t.initValues = {}); + for (i in a) + n = a[i], + t.frames[i] || (t.frames[i] = []), + this._targetDic && this._targetDic[r] && (t.initValues[i] = this._targetDic[r][i]), + n.sort(e._sortIndexFun), + t.keys.push(i), + this._calculateNodePropFrames(n, t.frames[i], i, r) + } + , + n.resetToInitState = function() { + if (this._targetDic && this._animationData) { + var t, e, i = this._animationData.nodes, n = 0, a = i.length; + for (n = 0; n < a; n++) + if (t = i[n], + e = t.initValues) { + var r = this._targetDic[t.target]; + if (r) { + var s; + for (s in e) + r[s] = e[s] + } + } + } + } + , + n._calculateNodePropFrames = function(t, e, i, n) { + var a = 0 + , r = t.length - 1; + for (e.length = t[r].index + 1, + a = 0; a < r; a++) + this._dealKeyFrame(t[a]), + this._calculateFrameValues(t[a], t[a + 1], e); + 0 == r && (e[0] = t[0].value, + this._animationNewFrames && (this._animationNewFrames[t[0].index] = !0)), + this._dealKeyFrame(t[a]) + } + , + n._dealKeyFrame = function(t) { + t.label && "" != t.label && this.addLabel(t.label, t.index) + } + , + n._calculateFrameValues = function(t, e, i) { + var n, a = 0, r = t.index, s = e.index, o = t.value, l = e.value - t.value, h = s - r; + if (s > this._count && (this._count = s), + t.tween) + for (null == (n = z[t.tweenMethod]) && (n = z.linearNone), + a = r; a < s; a++) + i[a] = n(a - r, o, l, h), + this._animationNewFrames && (this._animationNewFrames[a] = !0); + else + for (a = r; a < s; a++) + i[a] = o; + this._animationNewFrames && (this._animationNewFrames[t.index] = !0, + this._animationNewFrames[e.index] = !0), + i[e.index] = e.value + } + , + e._sortIndexFun = null, + e + }(mt)) + , xt = function(t) { + function e() { + this._focus = !1, + this._multiline = !1, + this._editable = !0, + this._restrictPattern = null, + this._type = "text", + this._prompt = "", + this._promptColor = "#A9A9A9", + this._originColor = "#000000", + this._content = "", + e.__super.call(this), + this._maxChars = 1e5, + this._width = 100, + this._height = 20, + this.multiline = !1, + this.overflow = gt.SCROLL, + this.on("mousedown", this, this._onMouseDown), + this.on("undisplay", this, this._onUnDisplay) + } + a(e, "laya.display.Input", t); + var s = e.prototype; + return s.setSelection = function(t, e) { + this.focus = !0, + laya.display.Input.inputElement.selectionStart = t, + laya.display.Input.inputElement.selectionEnd = e + } + , + s._onUnDisplay = function(t) { + this.focus = !1 + } + , + s._onMouseDown = function(t) { + this.focus = !0 + } + , + s._syncInputTransform = function() { + var t = this.nativeInput + , n = J.getTransformRelativeToWindow(this, this.padding[3], this.padding[0]) + , a = this._width - this.padding[1] - this.padding[3] + , r = this._height - this.padding[0] - this.padding[2]; + A.isConchApp ? (t.setScale(n.scaleX, n.scaleY), + t.setSize(a, r), + t.setPos(n.x, n.y)) : (e.inputContainer.style.transform = e.inputContainer.style.webkitTransform = "scale(" + n.scaleX + "," + n.scaleY + ") rotate(" + i.stage.canvasDegree + "deg)", + t.style.width = a + "px", + t.style.height = r + "px", + e.inputContainer.style.left = n.x + "px", + e.inputContainer.style.top = n.y + "px") + } + , + s.select = function() { + this.nativeInput.select() + } + , + s._setInputMethod = function() { + e.input.parentElement && e.inputContainer.removeChild(e.input), + e.area.parentElement && e.inputContainer.removeChild(e.area), + e.inputElement = this._multiline ? e.area : e.input, + e.inputContainer.appendChild(e.inputElement), + gt.RightToLeft && (e.inputElement.style.direction = "rtl") + } + , + s._focusIn = function() { + laya.display.Input.isInputting = !0; + var t = this.nativeInput; + this._focus = !0; + var e = t.style; + e.whiteSpace = this.wordWrap ? "pre-wrap" : "nowrap", + this._setPromptColor(), + t.readOnly = !this._editable, + A.isConchApp && (t.setType(this._type), + t.setForbidEdit(!this._editable)), + t.maxLength = this._maxChars; + this.padding; + if (t.type = this._type, + t.value = this._content, + t.placeholder = this._prompt, + i.stage.off("keydown", this, this._onKeyDown), + i.stage.on("keydown", this, this._onKeyDown), + i.stage.focus = this, + this.event("focus"), + O.onPC && t.focus(), + !O.onMiniGame) { + this._text; + this._text = null + } + this.typeset(), + t.setColor(this._originColor), + t.setFontSize(this.fontSize), + t.setFontFace(O.onIPhone ? gt._fontFamilyMap[this.font] || this.font : this.font), + A.isConchApp && t.setMultiAble && t.setMultiAble(this._multiline), + e.lineHeight = this.leading + this.fontSize + "px", + e.fontStyle = this.italic ? "italic" : "normal", + e.fontWeight = this.bold ? "bold" : "normal", + e.textAlign = this.align, + e.padding = "0 0", + this._syncInputTransform(), + !A.isConchApp && O.onPC && i.timer.frameLoop(1, this, this._syncInputTransform) + } + , + s._setPromptColor = function() { + (e.promptStyleDOM = O.getElementById("promptStyle")) || ((e.promptStyleDOM = O.createElement("style")).setAttribute("id", "promptStyle"), + O.document.head.appendChild(e.promptStyleDOM)), + e.promptStyleDOM.innerText = "input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {color:" + this._promptColor + "}input:-moz-placeholder, textarea:-moz-placeholder {color:" + this._promptColor + "}input::-moz-placeholder, textarea::-moz-placeholder {color:" + this._promptColor + "}input:-ms-input-placeholder, textarea:-ms-input-placeholder {color:" + this._promptColor + "}" + } + , + s._focusOut = function() { + laya.display.Input.isInputting = !1, + this._focus = !1, + this._text = null, + this._content = this.nativeInput.value, + this._content ? (i.superSet(gt, this, "text", this._content), + i.superSet(gt, this, "color", this._originColor)) : (i.superSet(gt, this, "text", this._prompt), + i.superSet(gt, this, "color", this._promptColor)), + i.stage.off("keydown", this, this._onKeyDown), + i.stage.focus = null, + this.event("blur"), + A.isConchApp && this.nativeInput.blur(), + O.onPC && i.timer.clear(this, this._syncInputTransform) + } + , + s._onKeyDown = function(t) { + 13 === t.keyCode && (O.onMobile && !this._multiline && (this.focus = !1), + this.event("enter")) + } + , + s.changeText = function(e) { + this._content = e, + this._focus ? (this.nativeInput.value = e || "", + this.event("change")) : t.prototype.changeText.call(this, e) + } + , + r(0, s, "color", t.prototype._$get_color, function(t) { + this._focus && this.nativeInput.setColor(t), + i.superSet(gt, this, "color", this._content ? t : this._promptColor), + this._originColor = t + }), + r(0, s, "inputElementYAdjuster", function() { + return console.warn("deprecated: 由于即使设置了该值,在各平台和浏览器之间也不一定一致,inputElementYAdjuster已弃用。"), + 0 + }, function(t) { + console.warn("deprecated: 由于即使设置了该值,在各平台和浏览器之间也不一定一致,inputElementYAdjuster已弃用。") + }), + r(0, s, "multiline", function() { + return this._multiline + }, function(t) { + this._multiline = t, + this.valign = t ? "top" : "middle" + }), + r(0, s, "maxChars", function() { + return this._maxChars + }, function(t) { + t <= 0 && (t = 1e5), + this._maxChars = t + }), + r(0, s, "text", function() { + return this._focus ? this.nativeInput.value : this._content || "" + }, function(t) { + i.superSet(gt, this, "color", this._originColor), + t += "", + this._focus ? (this.nativeInput.value = t || "", + this.event("change")) : (this._multiline || (t = t.replace(/\r?\n/g, "")), + this._content = t, + t ? i.superSet(gt, this, "text", t) : (i.superSet(gt, this, "text", this._prompt), + i.superSet(gt, this, "color", this.promptColor))) + }), + r(0, s, "nativeInput", function() { + return this._multiline ? e.area : e.input + }), + r(0, s, "prompt", function() { + return this._prompt + }, function(t) { + !this._text && t && i.superSet(gt, this, "color", this._promptColor), + this.promptColor = this._promptColor, + this._text ? i.superSet(gt, this, "text", this._text == this._prompt ? t : this._text) : i.superSet(gt, this, "text", t), + this._prompt = gt.langPacks && gt.langPacks[t] ? gt.langPacks[t] : t + }), + r(0, s, "focus", function() { + return this._focus + }, function(t) { + var i = this.nativeInput; + this._focus !== t && (t ? (i.target ? i.target._focusOut() : this._setInputMethod(), + i.target = this, + this._focusIn()) : (i.target = null, + this._focusOut(), + O.document.body.scrollTop = 0, + i.blur(), + A.isConchApp ? i.setPos(-1e4, -1e4) : e.inputContainer.contains(i) && e.inputContainer.removeChild(i))) + }), + r(0, s, "restrict", function() { + return this._restrictPattern ? this._restrictPattern.source : "" + }, function(t) { + t ? ((t = "[^" + t + "]").indexOf("^^") > -1 && (t = t.replace("^^", "")), + this._restrictPattern = new RegExp(t,"g")) : this._restrictPattern = null + }), + r(0, s, "editable", function() { + return this._editable + }, function(t) { + this._editable = t, + A.isConchApp && e.input.setForbidEdit(!t) + }), + r(0, s, "promptColor", function() { + return this._promptColor + }, function(t) { + this._promptColor = t, + this._content || i.superSet(gt, this, "color", t) + }), + r(0, s, "type", function() { + return this._type + }, function(t) { + this._getCSSStyle().password = "password" == t, + this._type = t, + A.isConchApp && this.nativeInput.setType(t) + }), + r(0, s, "inputElementXAdjuster", function() { + return console.warn("deprecated: 由于即使设置了该值,在各平台和浏览器之间也不一定一致,inputElementXAdjuster已弃用。"), + 0 + }, function(t) { + console.warn("deprecated: 由于即使设置了该值,在各平台和浏览器之间也不一定一致,inputElementXAdjuster已弃用。") + }), + r(0, s, "asPassword", function() { + return this._getCSSStyle().password + }, function(t) { + this._getCSSStyle().password = t, + this._type = "password", + console.warn('deprecated: 使用type="password"替代设置asPassword, asPassword将在下次重大更新时删去'), + this.isChanged = !0 + }), + e.__init__ = function() { + e._createInputElement(), + O.onMobile && A.canvas.addEventListener(e.IOS_IFRAME ? O.onMiniGame ? "touchend" : "click" : "touchend", e._popupInputMethod) + } + , + e._popupInputMethod = function(t) { + if (laya.display.Input.isInputting) { + laya.display.Input.inputElement.focus() + } + } + , + e._createInputElement = function() { + e._initInput(e.area = O.createElement("textarea")), + e._initInput(e.input = O.createElement("input")), + (e.inputContainer = O.createElement("div")).style.position = "absolute", + e.inputContainer.style.zIndex = 1e5, + O.container.appendChild(e.inputContainer), + e.inputContainer.setPos = function(t, i) { + e.inputContainer.style.left = t + "px", + e.inputContainer.style.top = i + "px" + } + } + , + e._initInput = function(t) { + var i = t.style; + i.cssText = "position:absolute;overflow:hidden;resize:none;transform-origin:0 0;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-o-transform-origin:0 0;", + i.resize = "none", + i.backgroundColor = "transparent", + i.border = "none", + i.outline = "none", + i.zIndex = 1, + t.addEventListener("input", e._processInputting), + t.addEventListener("mousemove", e._stopEvent), + t.addEventListener("mousedown", e._stopEvent), + t.addEventListener("touchmove", e._stopEvent), + t.setFontFace = function(e) { + t.style.fontFamily = e + } + , + A.isConchApp || (t.setColor = function(e) { + t.style.color = e + } + , + t.setFontSize = function(e) { + t.style.fontSize = e + "px" + } + ) + } + , + e._processInputting = function(t) { + var e = laya.display.Input.inputElement.target; + if (e) { + var i = laya.display.Input.inputElement.value; + e._restrictPattern && (i = i.replace(/\u2006|\x27/g, ""), + e._restrictPattern.test(i) && (i = i.replace(e._restrictPattern, ""), + laya.display.Input.inputElement.value = i)), + e._text = i, + e.event("input") + } + } + , + e._stopEvent = function(t) { + "touchmove" == t.type && t.preventDefault(), + t.stopPropagation && t.stopPropagation() + } + , + e.TYPE_TEXT = "text", + e.TYPE_PASSWORD = "password", + e.TYPE_EMAIL = "email", + e.TYPE_URL = "url", + e.TYPE_NUMBER = "number", + e.TYPE_RANGE = "range", + e.TYPE_DATE = "date", + e.TYPE_MONTH = "month", + e.TYPE_WEEK = "week", + e.TYPE_TIME = "time", + e.TYPE_DATE_TIME = "datetime", + e.TYPE_DATE_TIME_LOCAL = "datetime-local", + e.TYPE_SEARCH = "search", + e.input = null, + e.area = null, + e.inputElement = null, + e.inputContainer = null, + e.confirmButton = null, + e.promptStyleDOM = null, + e.inputHeight = 45, + e.isInputting = !1, + e.stageMatrix = null, + n(e, ["IOS_IFRAME", function() { + return this.IOS_IFRAME = O.onIOS && O.window.top != O.window.self + } + ]), + e + }(gt) + , It = function(t) { + function e(t, i) { + this._recreateLock = !1, + this._needReleaseAgain = !1, + this._enableMerageInAtlas = !0, + e.__super.call(this), + this._init_(t, i) + } + a(e, "laya.resource.HTMLImage", vt); + var i = e.prototype; + return i._init_ = function(t, e) { + this._src = t, + this._source = new O.window.Image, + e && (e.onload && (this.onload = e.onload), + e.onerror && (this.onerror = e.onerror), + e.onCreate && e.onCreate(this)), + 0 != t.indexOf("data:image") && (this._source.crossOrigin = ""), + t && (this._source.src = t) + } + , + i.recreateResource = function() { + var t = this; + if ("" === this._src) + throw new Error("src no null!"); + if (this._needReleaseAgain = !1, + this._source) { + if (this._recreateLock) + return; + this.memorySize = this._w * this._h * 4, + this._recreateLock = !1, + this.completeCreate() + } else { + this._recreateLock = !0; + var e = this; + this._source = new O.window.Image, + this._source.crossOrigin = "", + this._source.onload = function() { + if (e._needReleaseAgain) + return e._needReleaseAgain = !1, + e._source.onload = null, + void (e._source = null); + e._source.onload = null, + e.memorySize = t._w * t._h * 4, + e._recreateLock = !1, + e.completeCreate() + } + , + this._source.src = this._src + } + } + , + i.disposeResource = function() { + this._recreateLock && (this._needReleaseAgain = !0), + this._source && (this._source = null, + this.memorySize = 0) + } + , + i.onresize = function() { + this._w = this._source.width, + this._h = this._source.height + } + , + r(0, i, "onload", null, function(t) { + var e = this; + this._onload = t, + this._source && (this._source.onload = null != this._onload ? function() { + e.onresize(), + e._onload() + } + : null) + }), + r(0, i, "onerror", null, function(t) { + var e = this; + this._onerror = t, + this._source && (this._source.onerror = null != this._onerror ? function() { + e._onerror() + } + : null) + }), + r(0, i, "enableMerageInAtlas", function() { + return this._enableMerageInAtlas + }, function(t) { + this._enableMerageInAtlas = t, + A.isConchApp && this._source && (this._source.enableMerageInAtlas = t) + }), + e.create = function(t, i) { + return new e(t,i) + } + , + e + }() + , Ct = (function(t) { + function e() { + this._target = null, + this._playEvents = null, + this._initData = {}, + this._aniKeys = null, + this._effectClass = null, + e.__super.call(this) + } + a(e, "laya.display.EffectAnimation", t); + var i = e.prototype; + i._onOtherBegin = function(t) { + t != this && this.stop() + } + , + i.addEvent = function() { + this._target && this._playEvents && (this._setControlNode(this._target), + this._target.on(this._playEvents, this, this._onPlayAction)) + } + , + i._onPlayAction = function() { + this.play(0, !1) + } + , + i.play = function(t, e, i, n) { + void 0 === t && (t = 0), + void 0 === e && (e = !0), + void 0 === i && (i = ""), + void 0 === n && (n = !0), + this._target && (this._target.event("effectanimationbegin", [this]), + this._recordInitData(), + laya.display.AnimationPlayerBase.prototype.play.call(this, t, e, i, n)) + } + , + i._recordInitData = function() { + if (this._aniKeys) { + var t = 0 + , e = 0; + e = this._aniKeys.length; + var i; + for (t = 0; t < e; t++) + i = this._aniKeys[t], + this._initData[i] = this._target[i] + } + } + , + i._displayToIndex = function(t) { + if (this._animationData) { + t < 0 && (t = 0), + t > this._count && (t = this._count); + var e = this._animationData.nodes + , i = 0 + , n = e.length; + for (n = n > 1 ? 1 : n, + i = 0; i < n; i++) + this._displayNodeToFrame(e[i], t) + } + } + , + i._displayNodeToFrame = function(t, e, i) { + if (this._target) { + var n; + n = this._target; + var a, r, s, o, l = t.frames, h = t.keys, c = 0, _ = h.length; + o = t.secondFrames; + var u, d, f, p, m = 0; + for (c = 0; c < _; c++) + r = l[a = h[c]], + -1 == (m = o[a]) ? s = this._initData[a] : e < m ? (f = (d = t.keyframes[a])[0]).tween ? (null == (u = z[f.tweenMethod]) && (u = z.linearNone), + p = d[1], + s = u(e, this._initData[a], p.value - this._initData[a], p.index)) : s = this._initData[a] : s = r.length > e ? r[e] : r[r.length - 1], + n[a] = s + } + } + , + i._calculateNodeKeyFrames = function(e) { + t.prototype._calculateNodeKeyFrames.call(this, e); + var i, n, a, r = e.keyframes; + e.target; + a = {}, + e.secondFrames = a; + for (i in r) + (n = r[i]).length <= 1 ? a[i] = -1 : a[i] = n[1].index + } + , + r(0, i, "target", function() { + return this._target + }, function(t) { + this._target && this._target.off("effectanimationbegin", this, this._onOtherBegin), + this._target = t, + this._target && this._target.on("effectanimationbegin", this, this._onOtherBegin), + this.addEvent() + }), + r(0, i, "playEvent", null, function(t) { + this._playEvents = t, + t && this.addEvent() + }), + r(0, i, "effectData", null, function(t) { + if (t) { + var e; + (e = t.animations) && e[0] && (this._setUp({}, e[0]), + e[0].nodes && e[0].nodes[0] && (this._aniKeys = e[0].nodes[0].keys)) + } + }), + r(0, i, "effectClass", null, function(t) { + if (this._effectClass = F.getClass(t), + this._effectClass) { + var e; + if (e = this._effectClass.uiView) { + var i; + (i = e.animations) && i[0] && (this._setUp({}, i[0]), + i[0].nodes && i[0].nodes[0] && (this._aniKeys = i[0].nodes[0].keys)) + } + } + }), + e.EffectAnimationBegin = "effectanimationbegin" + }(wt), + function(t) { + function e() { + this.animationList = null, + this.animationDic = null, + this._nodeList = null, + this._nodeDefaultProps = null, + this._gList = null, + this._nodeIDAniDic = {}, + this._rootNode = null, + this._nodeGDic = null, + e.__super.call(this) + } + var i; + a(e, "laya.utils.GraphicAnimation", t); + var r = e.prototype; + return r._parseNodeList = function(t) { + this._nodeList || (this._nodeList = []), + this._nodeDefaultProps[t.compId] = t.props, + t.compId && this._nodeList.push(t.compId); + var e = t.child; + if (e) { + var i = 0 + , n = e.length; + for (i = 0; i < n; i++) + this._parseNodeList(e[i]) + } + } + , + r._calGraphicData = function(t) { + if (this._setUp(null, t), + this._createGraphicData(), + this._nodeIDAniDic) { + var e; + for (e in this._nodeIDAniDic) + this._nodeIDAniDic[e] = null + } + } + , + r._createGraphicData = function() { + var t = [] + , e = 0 + , i = this.count + , n = this._animationNewFrames; + n || (n = []); + var a; + for (e = 0; e < i; e++) + !n[e] && a || (a = this._createFrameGraphic(e)), + t.push(a); + this._gList = t + } + , + r._createFrameGraphic = function(t) { + var i = s.createGraphics(); + return e._rootMatrix || (e._rootMatrix = new S), + this._updateNodeGraphic(this._rootNode, t, e._rootMatrix, i), + i + } + , + r._updateNodeGraphic = function(t, e, i, n, a) { + void 0 === a && (a = 1); + var r, s = (r = this._nodeGDic[t.compId] = this._getNodeGraphicData(t.compId, e, this._nodeGDic[t.compId])).alpha * a; + if (!(s < .01)) { + r.resultTransform || (r.resultTransform = S.create()); + var o; + o = r.resultTransform, + S.mul(r.transform, i, o); + var l; + r.skin && (l = this._getTextureByUrl(r.skin)) && (o._checkTransform() ? (n.drawTexture(l, 0, 0, r.width, r.height, o, s), + r.resultTransform = null) : n.drawTexture(l, o.tx, o.ty, r.width, r.height, null, s)); + var h; + if (h = t.child) { + var c = 0 + , _ = 0; + for (_ = h.length, + c = 0; c < _; c++) + this._updateNodeGraphic(h[c], e, o, n, s) + } + } + } + , + r._updateNoChilds = function(t, e) { + if (t.skin) { + var i = this._getTextureByUrl(t.skin); + if (i) { + var n = t.transform; + n._checkTransform(); + !n.bTransform ? e.drawTexture(i, n.tx, n.ty, t.width, t.height, null, t.alpha) : e.drawTexture(i, 0, 0, t.width, t.height, n.clone(), t.alpha) + } + } + } + , + r._updateNodeGraphic2 = function(t, e, i) { + var n; + if (n = this._nodeGDic[t.compId] = this._getNodeGraphicData(t.compId, e, this._nodeGDic[t.compId]), + t.child) { + var a = n.transform; + a._checkTransform(); + var r = !1 + , s = !1; + s = (r = !a.bTransform) && (0 != a.tx || 0 != a.ty); + var o = !1; + (o = a.bTransform || 1 != n.alpha) && i.save(), + 1 != n.alpha && i.alpha(n.alpha), + r ? s && i.translate(a.tx, a.ty) : i.transform(a.clone()); + var l; + l = t.child; + var h; + if (n.skin && (h = this._getTextureByUrl(n.skin)) && i.drawTexture(h, 0, 0, n.width, n.height), + l) { + var c = 0 + , _ = 0; + for (_ = l.length, + c = 0; c < _; c++) + this._updateNodeGraphic2(l[c], e, i) + } + o ? i.restore() : r ? s && i.translate(-a.tx, -a.ty) : i.transform(a.clone().invert()) + } else + this._updateNoChilds(n, i) + } + , + r._calculateNodeKeyFrames = function(e) { + t.prototype._calculateNodeKeyFrames.call(this, e), + this._nodeIDAniDic[e.target] = e + } + , + r.getNodeDataByID = function(t) { + return this._nodeIDAniDic[t] + } + , + r._getParams = function(t, i, n, a) { + var r = e._temParam; + r.length = i.length; + var s = 0 + , o = i.length; + for (s = 0; s < o; s++) + r[s] = this._getObjVar(t, i[s][0], n, i[s][1], a); + return r + } + , + r._getObjVar = function(t, e, i, n, a) { + if (t.hasOwnProperty(e)) { + var r = t[e]; + return i >= r.length && (i = r.length - 1), + t[e][i] + } + return a.hasOwnProperty(e) ? a[e] : n + } + , + r._getNodeGraphicData = function(t, n, a) { + a || (a = i.create()), + a.transform ? a.transform.identity() : a.transform = S.create(); + var r = this.getNodeDataByID(t); + if (!r) + return a; + var s = r.frames + , o = this._getParams(s, e._drawTextureCmd, n, this._nodeDefaultProps[t]) + , l = o[0] + , h = NaN + , c = NaN + , _ = o[5] + , u = o[6] + , d = o[13] + , f = o[14] + , p = o[7] + , m = o[8] + , g = o[9] + , y = o[11] + , v = o[12]; + h = o[3], + c = o[4], + 0 != h && 0 != c || (l = null), + -1 == h && (h = 0), + -1 == c && (c = 0); + var b; + a.skin = l, + a.width = h, + a.height = c, + l && ((b = this._getTextureByUrl(l)) ? (h || (h = b.sourceWidth), + c || (c = b.sourceHeight)) : console.warn("lost skin:", l, ",you may load pics first")), + a.alpha = o[10]; + var w; + w = a.transform, + 0 != d && (_ = d * h), + 0 != f && (u = f * c), + 0 == _ && 0 == u || w.translate(-_, -u); + var x = null; + if (g || 1 !== p || 1 !== m || y || v) { + (x = e._tempMt).identity(), + x.bTransform = !0; + var I = .0174532922222222 * (g - y) + , C = .0174532922222222 * (g + v) + , M = Math.cos(C) + , L = Math.sin(C) + , T = Math.sin(I) + , E = Math.cos(I); + x.a = p * M, + x.b = p * L, + x.c = -m * T, + x.d = m * E, + x.tx = x.ty = 0 + } + return x && (w = S.mul(w, x, w)), + w.translate(o[1], o[2]), + a + } + , + r._getTextureByUrl = function(t) { + return st.getRes(t) + } + , + r.setAniData = function(t, i) { + if (t.animations) { + this._nodeDefaultProps = {}, + this._nodeGDic = {}, + this._nodeList && (this._nodeList.length = 0), + this._rootNode = t, + this._parseNodeList(t); + var n, a = {}, r = [], s = t.animations, o = 0, l = s.length; + for (o = 0; o < l; o++) + if (n = s[o], + this._labels = null, + (!i || i == n.name) && n) { + try { + this._calGraphicData(n) + } catch (t) { + console.warn("parse animation fail:" + n.name + ",empty animation created"), + this._gList = [] + } + var h = {}; + h.interval = 1e3 / n.frameRate, + h.frames = this._gList, + h.labels = this._labels, + h.name = n.name, + r.push(h), + a[n.name] = h + } + this.animationList = r, + this.animationDic = a + } + e._temParam.length = 0 + } + , + r.parseByData = function(t) { + var e, i; + e = t.nodeRoot, + i = t.aniO, + delete t.nodeRoot, + delete t.aniO, + this._nodeDefaultProps = {}, + this._nodeGDic = {}, + this._nodeList && (this._nodeList.length = 0), + this._rootNode = e, + this._parseNodeList(e), + this._labels = null; + try { + this._calGraphicData(i) + } catch (t) { + console.warn("parse animation fail:" + i.name + ",empty animation created"), + this._gList = [] + } + var n = t; + return n.interval = 1e3 / i.frameRate, + n.frames = this._gList, + n.labels = this._labels, + n.name = i.name, + n + } + , + r.setUpAniData = function(t) { + if (t.animations) { + var e, i = {}, n = [], a = t.animations, r = 0, s = a.length; + for (r = 0; r < s; r++) + if (e = a[r]) { + var o = {}; + o.name = e.name, + o.aniO = e, + o.nodeRoot = t, + n.push(o), + i[e.name] = o + } + this.animationList = n, + this.animationDic = i + } + } + , + r._clear = function() { + if (this.animationList = null, + this.animationDic = null, + this._gList = null, + this._nodeGDic) { + var t, e; + for (t in this._nodeGDic) + (e = this._nodeGDic[t]) && e.recover() + } + this._nodeGDic = null + } + , + e.parseAnimationByData = function(t) { + e._I || (e._I = new e); + var i; + return i = e._I.parseByData(t), + e._I._clear(), + i + } + , + e.parseAnimationData = function(t) { + e._I || (e._I = new e), + e._I.setUpAniData(t); + var i; + return i = {}, + i.animationList = e._I.animationList, + i.animationDic = e._I.animationDic, + e._I._clear(), + i + } + , + e._drawTextureCmd = [["skin", null], ["x", 0], ["y", 0], ["width", -1], ["height", -1], ["pivotX", 0], ["pivotY", 0], ["scaleX", 1], ["scaleY", 1], ["rotation", 0], ["alpha", 1], ["skewX", 0], ["skewY", 0], ["anchorX", 0], ["anchorY", 0]], + e._temParam = [], + e._I = null, + e._rootMatrix = null, + n(e, ["_tempMt", function() { + return this._tempMt = new S + } + ]), + e.__init$ = function() { + i = function() { + function t() { + this.skin = null, + this.transform = null, + this.resultTransform = null, + this.width = NaN, + this.height = NaN, + this.alpha = 1 + } + a(t, ""); + return t.prototype.recover = function() { + this.skin = null, + this.width = 0, + this.height = 0, + this.alpha = 1, + this.transform && (this.transform.destroy(), + this.transform = null), + this.resultTransform && (this.resultTransform.destroy(), + this.resultTransform = null), + W.recover("GraphicNode", this) + } + , + t.create = function() { + return W.getItemByClass("GraphicNode", t) + } + , + t + }() + } + , + e + }(wt)); + i.__init([l, ot, A, O, q, E, _t, Ct]) +}(window, document, Laya), +function(t, e, i) { + i.un, + i.uns, + i.static; + var n = i.class; + i.getset, + i.__newvec; + new (function() { + function t() {} + return n(t, "LayaMain"), + t + }()) +}(window, document, Laya), +"function" == typeof define && define.amd && define("laya.core", ["require", "exports"], function(t, e) { + "use strict"; + Object.defineProperty(e, "__esModule", { + value: !0 + }); + for (var i in Laya) { + var n = Laya[i]; + n && n.__isclass && (e[i] = n) + } +}), +function(t, e, i) { + i.un, + i.uns; + var n = i.static + , a = i.class + , r = i.getset + , s = (i.__newvec, + laya.utils.Browser) + , o = (laya.events.Event, + laya.events.EventDispatcher) + , l = laya.resource.HTMLImage + , h = laya.utils.Handler + , c = laya.display.Input + , _ = laya.net.Loader + , u = laya.net.LocalStorage + , d = (laya.maths.Matrix, + laya.renders.Render) + , f = laya.utils.RunDriver + , p = laya.media.SoundChannel + , m = laya.media.SoundManager + , g = laya.net.URL + , y = laya.utils.Utils + , v = function() { + function e() {} + return a(e, "laya.wx.mini.MiniAdpter"), + e.getJson = function(t) { + return JSON.parse(t) + } + , + e.init = function(n, a) { + if (void 0 === n && (n = !1), + void 0 === a && (a = !1), + !(e._inited || (e._inited = !0, + (e.window = t).navigator.userAgent.indexOf("MiniGame") < 0))) { + e.isZiYu = a, + e.isPosMsgYu = n, + e.EnvConfig = {}; + try { + laya.webgl.resource.WebGLCanvas.premulAlpha = !0 + } catch (t) {} + e.isZiYu || (b.setNativeFileDir("/layaairGame"), + b.existDir(b.fileNativeDir, h.create(e, e.onMkdirCallBack))), + e.systemInfo = wx.getSystemInfoSync(), + e.window.focus = function() {} + , + i.getUrlPath = function() {} + , + e.window.logtime = function(t) {} + , + e.window.alertTimeLog = function(t) {} + , + e.window.resetShareInfo = function() {} + , + e.window.CanvasRenderingContext2D = function() {} + , + e.window.CanvasRenderingContext2D.prototype = e.window.wx.createCanvas().getContext("2d").__proto__, + e.window.document.body.appendChild = function() {} + , + e.EnvConfig.pixelRatioInt = 0, + f.getPixelRatio = e.pixelRatio, + e._preCreateElement = s.createElement, + s.createElement = e.createElement, + f.createShaderCondition = e.createShaderCondition, + y.parseXMLFromString = e.parseXMLFromString, + c._createInputElement = x._createInputElement, + e.EnvConfig.load = _.prototype.load, + _.prototype.load = C.prototype.load, + _.prototype._loadImage = w.prototype._loadImage, + I.__init__(), + u._baseClass = I + } + } + , + e.getUrlEncode = function(t, e) { + return -1 != t.indexOf(".fnt") ? "utf8" : "arraybuffer" == e ? "" : "ascii" + } + , + e.downLoadFile = function(t, e, i, n) { + void 0 === e && (e = ""), + void 0 === n && (n = "ascii"); + b.getFileInfo(t) ? null != i && i.runWith([0]) : b.downLoadFile(t, e, i, n) + } + , + e.remove = function(t, e) { + b.deleteFile("", t, e, "", 0) + } + , + e.removeAll = function() { + b.deleteAll() + } + , + e.hasNativeFile = function(t) { + return b.isLocalNativeFile(t) + } + , + e.getFileInfo = function(t) { + return b.getFileInfo(t) + } + , + e.getFileList = function() { + return b.filesListObj + } + , + e.exitMiniProgram = function() { + e.window.wx.exitMiniProgram() + } + , + e.onMkdirCallBack = function(t, e) { + t || (b.filesListObj = JSON.parse(e.data)) + } + , + e.pixelRatio = function() { + if (!e.EnvConfig.pixelRatioInt) + try { + return e.EnvConfig.pixelRatioInt = e.systemInfo.pixelRatio, + e.systemInfo.pixelRatio + } catch (t) {} + return e.EnvConfig.pixelRatioInt + } + , + e.createElement = function(i) { + if ("canvas" == i) { + var n; + return 1 == e.idx ? e.isZiYu ? (n = sharedCanvas).style = {} : n = t.canvas : n = t.wx.createCanvas(), + e.idx++, + n + } + if ("textarea" == i || "input" == i) + return e.onCreateInput(i); + if ("div" == i) { + var a = e._preCreateElement(i); + return a.contains = function(t) { + return null + } + , + a.removeChild = function(t) {} + , + a + } + return e._preCreateElement(i) + } + , + e.onCreateInput = function(t) { + var i = e._preCreateElement(t); + return i.focus = x.wxinputFocus, + i.blur = x.wxinputblur, + i.style = {}, + i.value = 0, + i.parentElement = {}, + i.placeholder = {}, + i.type = {}, + i.setColor = function(t) {} + , + i.setType = function(t) {} + , + i.setFontFace = function(t) {} + , + i.addEventListener = function(t) {} + , + i.contains = function(t) { + return null + } + , + i.removeChild = function(t) {} + , + i + } + , + e.createShaderCondition = function(t) { + var e = this; + return function() { + return e[t.replace("this.", "")] + } + } + , + e.EnvConfig = null, + e.window = null, + e._preCreateElement = null, + e._inited = !1, + e.systemInfo = null, + e.isZiYu = !1, + e.isPosMsgYu = !1, + e.autoCacheFile = !0, + e.minClearSize = 5242880, + e.parseXMLFromString = function(e) { + var i; + e = e.replace(/>\s+<"); + try { + i = (new t.Parser.DOMParser).parseFromString(e, "text/xml") + } catch (t) { + throw "需要引入xml解析库文件" + } + return i + } + , + e.idx = 1, + n(e, ["nativefiles", function() { + return this.nativefiles = ["layaNativeDir", "wxlocal"] + } + ]), + e + }() + , b = function() { + function t() {} + return a(t, "laya.wx.mini.MiniFileMgr"), + t.isLocalNativeFile = function(t) { + for (var e = 0, i = v.nativefiles.length; e < i; e++) + if (-1 != t.indexOf(v.nativefiles[e])) + return !0; + return !1 + } + , + t.getFileInfo = function(e) { + var i = e.split("?")[0] + , n = t.filesListObj[i]; + return null == n ? null : n + } + , + t.read = function(e, i, n, a, r, s) { + void 0 === i && (i = "ascill"), + void 0 === a && (a = ""), + void 0 === r && (r = !1), + void 0 === s && (s = ""); + var o; + o = "" == a || -1 == a.indexOf("http://") && -1 == a.indexOf("https://") ? e : t.getFileNativePath(e), + t.fs.readFile({ + filePath: o, + encoding: i, + success: function(t) { + null != n && n.runWith([0, t]) + }, + fail: function(e) { + e && "" != a ? t.downFiles(a, i, n, a, r, s) : null != n && n.runWith([1]) + } + }) + } + , + t.downFiles = function(e, i, n, a, r, s) { + void 0 === i && (i = "ascii"), + void 0 === a && (a = ""), + void 0 === r && (r = !1), + void 0 === s && (s = ""); + t.wxdown({ + url: e, + success: function(e) { + 200 === e.statusCode && t.readFile(e.tempFilePath, i, n, a, r, s) + }, + fail: function(t) { + null != n && n.runWith([1, t]) + } + }).onProgressUpdate(function(t) { + null != n && n.runWith([2, t.progress]) + }) + } + , + t.readFile = function(e, i, n, a, r, s) { + void 0 === i && (i = "ascill"), + void 0 === a && (a = ""), + void 0 === r && (r = !1), + void 0 === s && (s = ""), + t.fs.readFile({ + filePath: e, + encoding: i, + success: function(s) { + -1 != e.indexOf("http://") || -1 != e.indexOf("https://") ? (v.autoCacheFile || r) && t.copyFile(e, a, n, i) : null != n && n.runWith([0, s]) + }, + fail: function(t) { + t && null != n && n.runWith([1, t]) + } + }) + } + , + t.downOtherFiles = function(e, i, n, a) { + void 0 === n && (n = ""), + void 0 === a && (a = !1), + t.wxdown({ + url: e, + success: function(e) { + 200 === e.statusCode && ((v.autoCacheFile || a) && -1 == n.indexOf("wx.qlogo.cn") ? t.copyFile(e.tempFilePath, n, i) : null != i && i.runWith([0, e.tempFilePath])) + }, + fail: function(t) { + null != i && i.runWith([1, t]) + } + }) + } + , + t.downLoadFile = function(e, i, n, a) { + void 0 === i && (i = ""), + void 0 === a && (a = "ascii"), + "image" == i || "sound" == i ? t.downOtherFiles(e, n, e, !0) : t.downFiles(e, a, n, e, !0, i) + } + , + t.copyFile = function(e, i, n, a) { + void 0 === a && (a = ""); + var r = e.split("/") + , s = r[r.length - 1] + , o = (i.split("?")[0], + t.getFileInfo(i)) + , l = t.getFileNativePath(s) + , h = t.getCacheUseSize(); + o ? o.readyUrl != i ? t.fs.getFileInfo({ + filePath: e, + success: function(e) { + h + 4194304 + e.size >= 52428800 && (e.size > v.minClearSize && (v.minClearSize = e.size), + t.onClearCacheRes()), + t.deleteFile(s, i, n, a, e.size) + }, + fail: function(t) { + null != n && n.runWith([1, t]) + } + }) : null != n && n.runWith([0]) : t.fs.getFileInfo({ + filePath: e, + success: function(r) { + h + 4194304 + r.size >= 52428800 && (r.size > v.minClearSize && (v.minClearSize = r.size), + t.onClearCacheRes()), + t.fs.copyFile({ + srcPath: e, + destPath: l, + success: function(e) { + t.onSaveFile(i, s, !0, a, n, r.size) + }, + fail: function(t) { + null != n && n.runWith([1, t]) + } + }) + }, + fail: function(t) { + null != n && n.runWith([1, t]) + } + }) + } + , + t.onClearCacheRes = function() { + var e = v.minClearSize + , i = []; + for (var n in t.filesListObj) + i.push(t.filesListObj[n]); + t.sortOn(i, "time", 16); + for (var a = 0, r = 1, s = i.length; r < s; r++) { + var o = i[r]; + if (a >= e) + break; + a += o.size, + t.deleteFile("", o.readyUrl) + } + } + , + t.sortOn = function(t, e, i) { + return void 0 === i && (i = 0), + 16 == i ? t.sort(function(t, i) { + return t[e] - i[e] + }) : 18 == i ? t.sort(function(t, i) { + return i[e] - t[e] + }) : t.sort(function(t, i) { + return t[e] - i[e] + }) + } + , + t.getFileNativePath = function(t) { + return laya.wx.mini.MiniFileMgr.fileNativeDir + "/" + t + } + , + t.deleteFile = function(e, i, n, a, r) { + void 0 === i && (i = ""), + void 0 === a && (a = ""), + void 0 === r && (r = 0); + var s = t.getFileInfo(i) + , o = t.getFileNativePath(s.md5); + t.fs.unlink({ + filePath: o, + success: function(s) { + var o = "" != e; + if ("" != e) { + var l = t.getFileNativePath(e); + t.fs.copyFile({ + srcPath: e, + destPath: l, + success: function(r) { + t.onSaveFile(i, e, o, a, n, r.size) + }, + fail: function(t) { + null != n && n.runWith([1, t]) + } + }) + } else + t.onSaveFile(i, e, o, a, n, r) + }, + fail: function(t) {} + }) + } + , + t.deleteAll = function() { + var e = []; + for (var i in t.filesListObj) + e.push(t.filesListObj[i]); + for (var n = 1, a = e.length; n < a; n++) { + var r = e[n]; + t.deleteFile("", r.readyUrl) + } + } + , + t.onSaveFile = function(e, i, n, a, r, o) { + void 0 === n && (n = !0), + void 0 === a && (a = ""), + void 0 === o && (o = 0); + var l = e.split("?")[0]; + if (null == t.filesListObj.fileUsedSize && (t.filesListObj.fileUsedSize = 0), + n) { + t.getFileNativePath(i); + t.filesListObj[l] = { + md5: i, + readyUrl: e, + size: o, + times: s.now(), + encoding: a + }, + t.filesListObj.fileUsedSize = parseInt(t.filesListObj.fileUsedSize) + o, + t.writeFilesList(l, JSON.stringify(t.filesListObj), !0), + null != r && r.runWith([0]) + } else if (t.filesListObj[l]) { + var h = parseInt(t.filesListObj[l].size); + t.filesListObj.fileUsedSize = parseInt(t.filesListObj.fileUsedSize) - h, + delete t.filesListObj[l], + t.writeFilesList(l, JSON.stringify(t.filesListObj), !1), + null != r && r.runWith([0]) + } + } + , + t.writeFilesList = function(e, i, n) { + var a = t.fileNativeDir + "/" + t.fileListName; + t.fs.writeFile({ + filePath: a, + encoding: "utf8", + data: i, + success: function(t) {}, + fail: function(t) {} + }), + !v.isZiYu && v.isPosMsgYu && wx.postMessage({ + url: e, + data: t.filesListObj[e], + isLoad: "filenative", + isAdd: n + }) + } + , + t.getCacheUseSize = function() { + return t.filesListObj && t.filesListObj.fileUsedSize ? t.filesListObj.fileUsedSize : 0 + } + , + t.existDir = function(e, i) { + t.fs.mkdir({ + dirPath: e, + success: function(t) { + null != i && i.runWith([0, { + data: JSON.stringify({}) + }]) + }, + fail: function(e) { + -1 != e.errMsg.indexOf("file already exists") ? t.readSync(t.fileListName, "utf8", i) : null != i && i.runWith([1, e]) + } + }) + } + , + t.readSync = function(e, i, n, a) { + void 0 === i && (i = "ascill"), + void 0 === a && (a = ""); + var r, s = t.getFileNativePath(e); + try { + r = t.fs.readFileSync(s, i), + null != n && n.runWith([0, { + data: r + }]) + } catch (t) { + null != n && n.runWith([1]) + } + } + , + t.setNativeFileDir = function(e) { + t.fileNativeDir = wx.env.USER_DATA_PATH + e + } + , + t.filesListObj = {}, + t.fileNativeDir = null, + t.fileListName = "layaairfiles.txt", + t.ziyuFileData = {}, + t.loadPath = "", + t.DESCENDING = 2, + t.NUMERIC = 16, + n(t, ["fs", function() { + return this.fs = wx.getFileSystemManager() + } + , "wxdown", function() { + return this.wxdown = wx.downloadFile + } + ]), + t + }() + , w = function() { + function t() {} + a(t, "laya.wx.mini.MiniImage"); + return t.prototype._loadImage = function(e) { + if (v.isZiYu) + t.onCreateImage(e, this, !0); + else { + var i = !1; + if (b.isLocalNativeFile(e)) { + if (-1 != e.indexOf("http://") || -1 != e.indexOf("https://")) + if ("" != b.loadPath) + e = e.split(b.loadPath)[1]; + else { + var n = "" != g.rootPath ? g.rootPath : g.basePath; + "" != n && (e = e.split(n)[1]) + } + } else + i = !0, + e = g.formatURL(e); + b.getFileInfo(e) ? t.onCreateImage(e, this, !i) : -1 != e.indexOf("http://") || -1 != e.indexOf("https://") ? v.isZiYu ? t.onCreateImage(e, this, !0) : b.downOtherFiles(e, new h(t,t.onDownImgCallBack,[e, this]), e) : t.onCreateImage(e, this, !0) + } + } + , + t.onDownImgCallBack = function(e, i, n, a) { + void 0 === a && (a = ""), + n ? i.onError(null) : t.onCreateImage(e, i, !1, a) + } + , + t.onCreateImage = function(t, e, i, n) { + function a() { + h.onload = null, + h.onerror = null, + delete e.imgCache[t] + } + void 0 === i && (i = !1), + void 0 === n && (n = ""); + var r; + if (v.autoCacheFile) + if (i) + r = t; + else if ("" != n) + r = n; + else { + var o = b.getFileInfo(t).md5; + r = b.getFileNativePath(o) + } + else + r = i ? t : n; + null == e.imgCache && (e.imgCache = {}); + var h, c = function() { + a(), + e._url = g.formatURL(e._url), + e.onLoaded(h) + }, _ = function() { + a(), + e.event("error", "Load image failed") + }; + "nativeimage" == e._type ? ((h = new s.window.Image).crossOrigin = "", + h.onload = c, + h.onerror = _, + h.src = r, + e.imgCache[t] = h) : new l.create(r,{ + onload: c, + onerror: _, + onCreate: function(i) { + h = i, + e.imgCache[t] = i + } + }) + } + , + t + }() + , x = function() { + function e() {} + return a(e, "laya.wx.mini.MiniInput"), + e._createInputElement = function() { + c._initInput(c.area = s.createElement("textarea")), + c._initInput(c.input = s.createElement("input")), + c.inputContainer = s.createElement("div"), + c.inputContainer.style.position = "absolute", + c.inputContainer.style.zIndex = 1e5, + s.container.appendChild(c.inputContainer), + c.inputContainer.setPos = function(t, e) { + c.inputContainer.style.left = t + "px", + c.inputContainer.style.top = e + "px" + } + , + i.stage.on("resize", null, e._onStageResize), + wx.onWindowResize && wx.onWindowResize(function(e) { + t.dispatchEvent && t.dispatchEvent("resize") + }), + m._soundClass = S, + m._musicClass = S; + var n = v.systemInfo.model + , a = v.systemInfo.system; + -1 != n.indexOf("iPhone") && (s.onIPhone = !0, + s.onIOS = !0, + s.onIPad = !0, + s.onAndroid = !1), + -1 == a.indexOf("Android") && -1 == a.indexOf("Adr") || (s.onAndroid = !0, + s.onIPhone = !1, + s.onIOS = !1, + s.onIPad = !1) + } + , + e._onStageResize = function() { + i.stage._canvasTransform.identity().scale(s.width / d.canvas.width / f.getPixelRatio(), s.height / d.canvas.height / f.getPixelRatio()) + } + , + e.wxinputFocus = function(t) { + var e = c.inputElement.target; + e && !e.editable || (v.window.wx.offKeyboardConfirm(), + v.window.wx.offKeyboardInput(), + v.window.wx.showKeyboard({ + defaultValue: e.text, + maxLength: e.maxChars, + multiple: e.multiline, + confirmHold: !0, + confirmType: "done", + success: function(t) {}, + fail: function(t) {} + }), + v.window.wx.onKeyboardConfirm(function(t) { + var i = t ? t.value : ""; + e.text = i, + e.event("input"), + laya.wx.mini.MiniInput.inputEnter() + }), + v.window.wx.onKeyboardInput(function(t) { + var i = t ? t.value : ""; + e.multiline || -1 == i.indexOf("\n") ? (e.text = i, + e.event("input")) : laya.wx.mini.MiniInput.inputEnter() + })) + } + , + e.inputEnter = function() { + c.inputElement.target.focus = !1 + } + , + e.wxinputblur = function() { + e.hideKeyboard() + } + , + e.hideKeyboard = function() { + v.window.wx.offKeyboardConfirm(), + v.window.wx.offKeyboardInput(), + v.window.wx.hideKeyboard({ + success: function(t) { + console.log("隐藏键盘") + }, + fail: function(t) { + console.log("隐藏键盘出错:" + (t ? t.errMsg : "")) + } + }) + } + , + e + }() + , I = function() { + function t() {} + return a(t, "laya.wx.mini.MiniLocalStorage"), + t.__init__ = function() { + t.items = t + } + , + t.setItem = function(t, e) { + wx.setStorageSync(t, e) + } + , + t.getItem = function(t) { + return wx.getStorageSync(t) + } + , + t.setJSON = function(e, i) { + t.setItem(e, i) + } + , + t.getJSON = function(e) { + return t.getItem(e) + } + , + t.removeItem = function(t) { + wx.removeStorageSync(t) + } + , + t.clear = function() { + wx.clearStorageSync() + } + , + t.getStorageInfoSync = function() { + try { + var t = wx.getStorageInfoSync(); + return console.log(t.keys), + console.log(t.currentSize), + console.log(t.limitSize), + t + } catch (t) {} + return null + } + , + t.support = !0, + t.items = null, + t + }() + , C = (function() { + function t() {} + a(t, "laya.wx.mini.MiniLocation"), + t.__init__ = function() { + v.window.navigator.geolocation.getCurrentPosition = t.getCurrentPosition, + v.window.navigator.geolocation.watchPosition = t.watchPosition, + v.window.navigator.geolocation.clearWatch = t.clearWatch + } + , + t.getCurrentPosition = function(t, e, i) { + var n; + (n = {}).success = function(e) { + null != t && t(e) + } + , + n.fail = e, + v.window.wx.getLocation(n) + } + , + t.watchPosition = function(e, n, a) { + t._curID++; + var r; + return r = {}, + r.success = e, + r.error = n, + t._watchDic[t._curID] = r, + i.timer.loop(1e3, null, t._myLoop), + t._curID + } + , + t.clearWatch = function(e) { + delete t._watchDic[e], + t._hasWatch() || i.timer.clear(null, t._myLoop) + } + , + t._hasWatch = function() { + var e; + for (e in t._watchDic) + if (t._watchDic[e]) + return !0; + return !1 + } + , + t._myLoop = function() { + t.getCurrentPosition(t._mySuccess, t._myError) + } + , + t._mySuccess = function(e) { + var i = {}; + i.coords = e, + i.timestamp = s.now(); + var n; + for (n in t._watchDic) + t._watchDic[n].success && t._watchDic[n].success(i) + } + , + t._myError = function(e) { + var i; + for (i in t._watchDic) + t._watchDic[i].error && t._watchDic[i].error(e) + } + , + t._watchDic = {}, + t._curID = 0 + }(), + function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.wx.mini.MiniAccelerator", t); + var i = e.prototype; + i.on = function(i, n, a, r) { + return t.prototype.on.call(this, i, n, a, r), + e.startListen(this.onDeviceOrientationChange), + this + } + , + i.off = function(i, n, a, r) { + return void 0 === r && (r = !1), + this.hasListener(i) || e.stopListen(), + t.prototype.off.call(this, i, n, a, r) + } + , + e.__init__ = function() { + try { + var t; + if (!(t = laya.device.motion.Accelerator)) + return; + t.prototype.on = e.prototype.on, + t.prototype.off = e.prototype.off + } catch (t) {} + } + , + e.startListen = function(t) { + if (e._callBack = t, + !e._isListening) { + e._isListening = !0; + try { + wx.onAccelerometerChange(e.onAccelerometerChange) + } catch (t) {} + } + } + , + e.stopListen = function() { + e._isListening = !1; + try { + wx.stopAccelerometer({}) + } catch (t) {} + } + , + e.onAccelerometerChange = function(t) { + var i; + (i = {}).acceleration = t, + i.accelerationIncludingGravity = t, + i.rotationRate = {}, + null != e._callBack && e._callBack(i) + } + , + e._isListening = !1, + e._callBack = null + }(o), + function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.wx.mini.MiniLoader", o); + return e.prototype.load = function(t, i, n, a, r) { + void 0 === n && (n = !0), + void 0 === r && (r = !1); + if (this._url = t, + 0 === t.indexOf("data:image") ? this._type = i = "image" : this._type = i || (i = this.getTypeFromUrl(t)), + this._cache = n, + this._data = null, + !r && _.loadedMap[g.formatURL(t)]) + return this._data = _.loadedMap[g.formatURL(t)], + this.event("progress", 1), + void this.event("complete", this._data); + if (null != _.parserMap[i]) + return this._customParse = !0, + void (_.parserMap[i]instanceof laya.utils.Handler ? _.parserMap[i].runWith(this) : _.parserMap[i].call(null, this)); + var s = v.getUrlEncode(t, i) + , o = y.getFileExtension(t); + if (-1 != e._fileTypeArr.indexOf(o)) + v.EnvConfig.load.call(this, t, i, n, a, r); + else { + if (v.isZiYu && b.ziyuFileData[t]) { + var l = b.ziyuFileData[t]; + return void this.onLoaded(l) + } + if (b.getFileInfo(t)) { + var c = b.getFileInfo(t); + c.encoding = null == c.encoding ? "ascii" : c.encoding, + b.readFile(t, c.encoding, new h(e,e.onReadNativeCallBack,[s, t, i, n, a, r, this]), t) + } else { + if (b.isLocalNativeFile(t)) + return void b.read(t, s, new h(e,e.onReadNativeCallBack,[s, t, i, n, a, r, this])); + var u = t; + -1 != (t = g.formatURL(t)).indexOf("http://") || -1 != t.indexOf("https://") ? v.EnvConfig.load.call(this, u, i, n, a, r) : b.readFile(t, s, new h(e,e.onReadNativeCallBack,[s, t, i, n, a, r, this]), t) + } + } + } + , + e.onReadNativeCallBack = function(t, e, i, n, a, r, s, o, l) { + if (void 0 === n && (n = !0), + void 0 === r && (r = !1), + void 0 === o && (o = 0), + o) + 1 == o && v.EnvConfig.load.call(s, e, i, n, a, r); + else { + var h; + h = "json" == i || "atlas" == i ? v.getJson(l.data) : "xml" == i ? y.parseXMLFromString(l.data) : l.data, + !v.isZiYu && v.isPosMsgYu && "arraybuffer" != i && wx.postMessage({ + url: e, + data: h, + isLoad: "filedata" + }), + s.onLoaded(h) + } + } + , + n(e, ["_fileTypeArr", function() { + return this._fileTypeArr = ["png", "jpg", "bmp", "jpeg", "gif"] + } + ]), + e + }()) + , S = function(t) { + function e() { + this._sound = null, + this.url = null, + this.loaded = !1, + this.readyUrl = null, + e.__super.call(this) + } + a(e, "laya.wx.mini.MiniSound", o); + var i = e.prototype; + return i.load = function(t) { + t = g.formatURL(t), + this.url = t, + this.readyUrl = t, + e._audioCache[this.readyUrl] ? this.event("complete") : v.autoCacheFile && b.getFileInfo(t) ? this.onDownLoadCallBack(t, 0) : v.autoCacheFile ? b.downOtherFiles(t, h.create(this, this.onDownLoadCallBack, [t]), t) : this.onDownLoadCallBack(t, 0) + } + , + i.onDownLoadCallBack = function(t, i) { + if (i) + this.event("error"); + else { + var n; + if (v.autoCacheFile) { + var a = b.getFileInfo(t).md5; + n = b.getFileNativePath(a), + this._sound = e._createSound(), + this._sound.src = this.url = n + } else + this._sound = e._createSound(), + this._sound.src = t; + this._sound.onCanplay(e.bindToThis(this.onCanPlay, this)), + this._sound.onError(e.bindToThis(this.onError, this)) + } + } + , + i.onError = function(t) { + try { + console.log("-----1---------------minisound-----id:" + e._id), + console.log(t) + } catch (t) { + console.log("-----2---------------minisound-----id:" + e._id), + console.log(t) + } + this.event("error"), + this._sound.offError(null) + } + , + i.onCanPlay = function() { + this.loaded = !0, + this.event("complete"), + e._audioCache[this.readyUrl] = this, + this._sound.offCanplay(null) + } + , + i.play = function(t, i) { + void 0 === t && (t = 0), + void 0 === i && (i = 0); + var n; + if (this.url == m._tMusic ? (e._musicAudio || (e._musicAudio = e._createSound()), + n = e._musicAudio) : n = e._audioCache[this.readyUrl] ? e._audioCache[this.readyUrl]._sound : e._createSound(), + v.autoCacheFile && b.getFileInfo(this.url)) { + var a = b.getFileInfo(this.url).md5; + n.src = this.url = b.getFileNativePath(a) + } else + n.src = this.url; + var r = new M(n,this); + return r.url = this.url, + r.loops = i, + r.loop = 0 === i, + r.startTime = t, + r.play(), + m.addChannel(r), + r + } + , + i.dispose = function() { + var t = e._audioCache[this.readyUrl]; + t && (t.src = "", + t._sound && (t._sound.destroy(), + t._sound = null, + t = null), + delete e._audioCache[this.readyUrl]) + } + , + r(0, i, "duration", function() { + return this._sound.duration + }), + e._createSound = function() { + return e._id++, + v.window.wx.createInnerAudioContext() + } + , + e.bindToThis = function(t, e) { + return t.bind(e) + } + , + e._musicAudio = null, + e._id = 0, + e._audioCache = {}, + e + }() + , M = function(t) { + function e(t, i) { + this._audio = null, + this._onEnd = null, + this._miniSound = null, + e.__super.call(this), + this._audio = t, + this._miniSound = i, + this._onEnd = e.bindToThis(this.__onEnd, this), + t.onEnded(this._onEnd) + } + a(e, "laya.wx.mini.MiniSoundChannel", p); + var n = e.prototype; + return n.__onEnd = function() { + if (1 == this.loops) + return this.completeHandler && (i.timer.once(10, this, this.__runComplete, [this.completeHandler], !1), + this.completeHandler = null), + this.stop(), + void this.event("complete"); + this.loops > 0 && this.loops--, + this.startTime = 0, + this.play() + } + , + n.play = function() { + this.isStopped = !1, + m.addChannel(this), + this._audio.play() + } + , + n.stop = function() { + this.isStopped = !0, + m.removeChannel(this), + this.completeHandler = null, + this._audio && (this._audio.pause(), + this._audio.offEnded(null), + this._audio = null, + this._miniSound = null, + this._onEnd = null) + } + , + n.pause = function() { + this.isStopped = !0, + this._audio.pause() + } + , + n.resume = function() { + this._audio && (this.isStopped = !1, + m.addChannel(this), + this._audio.play()) + } + , + r(0, n, "autoplay", function() { + return this._audio.autoplay + }, function(t) { + this._audio.autoplay = t + }), + r(0, n, "position", function() { + return this._audio ? this._audio.currentTime : 0 + }), + r(0, n, "duration", function() { + return this._audio ? this._audio.duration : 0 + }), + r(0, n, "loop", function() { + return this._audio.loop + }, function(t) { + this._audio.loop = t + }), + r(0, n, "volume", function() { + return this._audio ? this._audio.volume : 1 + }, function(t) { + this._audio && (this._audio.volume = t) + }), + e.bindToThis = function(t, e) { + return t.bind(e) + } + , + e + }() +}(window, document, Laya), +"function" == typeof define && define.amd && define("laya.core", ["require", "exports"], function(t, e) { + "use strict"; + Object.defineProperty(e, "__esModule", { + value: !0 + }); + for (var i in Laya) { + var n = Laya[i]; + n && n.__isclass && (e[i] = n) + } +}), +function(t, e, i) { + i.un, + i.uns; + var n = i.static + , a = i.class + , r = i.getset + , s = i.__newvec + , o = laya.maths.Arith + , l = laya.maths.Bezier + , h = laya.resource.Bitmap + , c = laya.utils.Browser + , _ = laya.utils.Byte + , u = laya.utils.Color + , d = (laya.filters.ColorFilter, + i.Config) + , f = laya.resource.Context + , p = (laya.events.Event, + laya.filters.Filter) + , m = laya.display.Graphics + , g = laya.resource.HTMLCanvas + , y = (laya.utils.HTMLChar, + laya.resource.HTMLImage) + , v = laya.resource.HTMLSubImage + , b = (laya.utils.Handler, + laya.net.Loader, + laya.maths.Matrix) + , w = laya.maths.Point + , x = laya.maths.Rectangle + , I = laya.renders.Render + , C = (laya.renders.RenderContext, + laya.renders.RenderSprite) + , S = laya.resource.Resource + , M = laya.resource.ResourceManager + , L = laya.utils.RunDriver + , T = laya.display.Sprite + , E = laya.display.Stage + , D = laya.utils.Stat + , N = laya.utils.StringKey + , A = (laya.display.css.Style, + laya.system.System) + , B = laya.display.Text + , k = laya.resource.Texture + , R = (laya.display.css.TransformInfo, + laya.net.URL, + laya.utils.Utils) + , P = laya.utils.VectorGraphManager; + laya.utils.WordText; + i.interface("laya.webgl.shapes.IShape"), + i.interface("laya.webgl.submit.ISubmit"), + i.interface("laya.webgl.text.ICharSegment"), + i.interface("laya.webgl.canvas.save.ISaveData"), + i.interface("laya.webgl.resource.IMergeAtlasBitmap"), + i.interface("laya.filters.IFilterActionGL", "laya.filters.IFilterAction"); + var O = function() { + function t() {} + a(t, "laya.filters.webgl.FilterActionGL"); + var e = t.prototype; + return i.imps(e, { + "laya.filters.IFilterActionGL": !0 + }), + e.setValue = function(t) {} + , + e.setValueMix = function(t) {} + , + e.apply3d = function(t, e, i, n, a) { + return null + } + , + e.apply = function(t) { + return null + } + , + r(0, e, "typeMix", function() { + return 0 + }), + t + }() + , U = function() { + function t() {} + return a(t, "laya.webgl.shader.ShaderValue"), + t + }() + , V = function() { + function t(t, e, n) { + this._atlasID = 0, + this._width = 0, + this._height = 0, + this._texCount = 0, + this._rowInfo = null, + this._cells = null, + this._failSize = new i, + void 0 === t && (t = 0), + void 0 === e && (e = 0), + void 0 === n && (n = 0), + this._cells = null, + this._rowInfo = null, + this._init(t, e), + this._atlasID = n + } + var e, i; + a(t, "laya.webgl.atlas.AtlasGrid"); + var n = t.prototype; + return n.getAltasID = function() { + return this._atlasID + } + , + n.setAltasID = function(t) { + t >= 0 && (this._atlasID = t) + } + , + n.addTex = function(t, e, i) { + var n = this._get(e, i); + return 0 == n.ret ? n : (this._fill(n.x, n.y, e, i, t), + this._texCount++, + n) + } + , + n._release = function() { + null != this._cells && (this._cells.length = 0, + this._cells = null), + this._rowInfo && (this._rowInfo.length = 0, + this._rowInfo = null) + } + , + n._init = function(t, i) { + if (this._width = t, + this._height = i, + this._release(), + 0 == this._width) + return !1; + this._cells = new Uint8Array(this._width * this._height * 3), + this._rowInfo = s(this._height); + for (var n = 0; n < this._height; n++) + this._rowInfo[n] = new e; + return this._clear(), + !0 + } + , + n._get = function(t, e) { + var i = new H; + if (t >= this._failSize.width && e >= this._failSize.height) + return i; + for (var n = -1, a = -1, r = this._width, s = this._height, o = this._cells, l = 0; l < s; l++) + if (!(this._rowInfo[l].spaceCount < t)) + for (var h = 0; h < r; ) { + var c = 3 * (l * r + h); + if (0 != o[c] || o[c + 1] < t || o[c + 2] < e) + h += o[c + 1]; + else { + n = h, + a = l; + for (var _ = 0; _ < t; _++) + if (o[3 * _ + c + 2] < e) { + n = -1; + break + } + if (!(n < 0)) + return i.ret = !0, + i.x = n, + i.y = a, + i; + h += o[c + 1] + } + } + return i + } + , + n._fill = function(t, e, i, n, a) { + var r = this._width + , s = this._height; + this._check(t + i <= r && e + n <= s); + for (var o = e; o < n + e; ++o) { + this._check(this._rowInfo[o].spaceCount >= i), + this._rowInfo[o].spaceCount -= i; + for (var l = 0; l < i; l++) { + var h = 3 * (t + o * r + l); + this._check(0 == this._cells[h]), + this._cells[h] = a, + this._cells[h + 1] = i, + this._cells[h + 2] = n + } + } + if (t > 0) + for (o = 0; o < n; ++o) { + var c = 0; + for (l = t - 1; l >= 0 && 0 == this._cells[3 * ((e + o) * r + l)]; --l, + ++c) + ; + for (l = c; l > 0; --l) + this._cells[3 * ((e + o) * r + t - l) + 1] = l, + this._check(l > 0) + } + if (e > 0) + for (l = t; l < t + i; ++l) { + for (c = 0, + o = e - 1; o >= 0 && 0 == this._cells[3 * (l + o * r)]; --o, + c++) + ; + for (o = c; o > 0; --o) + this._cells[3 * (l + (e - o) * r) + 2] = o, + this._check(o > 0) + } + } + , + n._check = function(t) { + 0 == t && console.log("xtexMerger 错误啦") + } + , + n._clear = function() { + this._texCount = 0; + for (var t = 0; t < this._height; t++) + this._rowInfo[t].spaceCount = this._width; + for (var e = 0; e < this._height; e++) + for (var i = 0; i < this._width; i++) { + var n = 3 * (e * this._width + i); + this._cells[n] = 0, + this._cells[n + 1] = this._width - i, + this._cells[n + 2] = this._width - e + } + this._failSize.width = this._width + 1, + this._failSize.height = this._height + 1 + } + , + t.__init$ = function() { + e = function() { + function t() { + this.spaceCount = 0 + } + return a(t, ""), + t + }(), + i = function() { + function t() { + this.width = 0, + this.height = 0 + } + return a(t, ""), + t + }() + } + , + t + }() + , F = function() { + function t(t, e, i, n) { + this._currentAtlasCount = 0, + this._maxAtlaserCount = 0, + this._width = 0, + this._height = 0, + this._gridSize = 0, + this._gridNumX = 0, + this._gridNumY = 0, + this._init = !1, + this._curAtlasIndex = 0, + this._setAtlasParam = !1, + this._atlaserArray = null, + this._needGC = !1, + this._setAtlasParam = !0, + this._width = t, + this._height = e, + this._gridSize = i, + this._maxAtlaserCount = n, + this._gridNumX = t / i, + this._gridNumY = e / i, + this._curAtlasIndex = 0, + this._atlaserArray = [] + } + a(t, "laya.webgl.atlas.AtlasResourceManager"); + var e = t.prototype; + return e.setAtlasParam = function(e, i, n, a) { + if (1 == this._setAtlasParam) + return t._sid_ = 0, + this._width = e, + this._height = i, + this._gridSize = n, + this._maxAtlaserCount = a, + this._gridNumX = e / n, + this._gridNumY = i / n, + this._curAtlasIndex = 0, + this.freeAll(), + !0; + throw console.log("设置大图合集参数错误,只能在开始页面设置各种参数"), + -1 + } + , + e.pushData = function(e) { + var i = e.bitmap + , n = -1 + , a = null + , r = 0 + , s = 0 + , o = 0; + for (r = 0, + s = this._atlaserArray.length; r < s && (o = (this._curAtlasIndex + r) % s, + a = this._atlaserArray[o], + -1 == (n = a.findBitmapIsExist(i))); r++) + ; + if (-1 != n) { + var l = a.InAtlasWebGLImagesOffsetValue[n]; + return p = l[0], + m = l[1], + a.addToAtlas(e, p, m), + !0 + } + this._setAtlasParam = !1; + for (var h = Math.ceil((e.bitmap.width + 2) / this._gridSize), c = Math.ceil((e.bitmap.height + 2) / this._gridSize), _ = !1, u = 0; u < 2; u++) { + var d = this._maxAtlaserCount; + for (r = 0; r < d; r++) { + o = (this._curAtlasIndex + r) % d, + this._atlaserArray.length - 1 >= o || this._atlaserArray.push(new Lt(this._gridNumX,this._gridNumY,this._width,this._height,t._sid_++)); + var f = this._atlaserArray[o] + , p = 0 + , m = 0 + , g = f.addTex(1, h, c); + if (g.ret) { + p = g.x * this._gridSize + 1, + m = g.y * this._gridSize + 1, + i.lock = !0, + f.addToAtlasTexture(i, p, m), + f.addToAtlas(e, p, m), + _ = !0, + this._curAtlasIndex = o; + break + } + } + if (_) + break; + this._atlaserArray.push(new Lt(this._gridNumX,this._gridNumY,this._width,this._height,t._sid_++)), + this._needGC = !0, + this.garbageCollection(), + this._curAtlasIndex = this._atlaserArray.length - 1 + } + return _ || console.log(">>>AtlasManager pushData error"), + _ + } + , + e.addToAtlas = function(t) { + laya.webgl.atlas.AtlasResourceManager.instance.pushData(t) + } + , + e.garbageCollection = function() { + if (!0 === this._needGC) { + for (var t = this._atlaserArray.length - this._maxAtlaserCount, e = 0; e < t; e++) + this._atlaserArray[e].dispose(), + console.log("AtlasResourceManager:Dispose the inner Atlas。"); + console.log(">>>>altas garbageCollection =" + t), + this._atlaserArray.splice(0, t), + this._needGC = !1 + } + return !0 + } + , + e.freeAll = function() { + for (var t = 0, e = this._atlaserArray.length; t < e; t++) + this._atlaserArray[t].dispose(); + this._atlaserArray.length = 0, + this._curAtlasIndex = 0 + } + , + e.getAtlaserCount = function() { + return this._atlaserArray.length + } + , + e.getAtlaserByIndex = function(t) { + return this._atlaserArray[t] + } + , + r(1, t, "instance", function() { + return t._Instance || (t._Instance = new t(laya.webgl.atlas.AtlasResourceManager.atlasTextureWidth,laya.webgl.atlas.AtlasResourceManager.atlasTextureHeight,16,laya.webgl.atlas.AtlasResourceManager.maxTextureCount)), + t._Instance + }), + r(1, t, "enabled", function() { + return d.atlasEnable + }), + r(1, t, "atlasLimitWidth", function() { + return t._atlasLimitWidth + }, function(e) { + t._atlasLimitWidth = e + }), + r(1, t, "atlasLimitHeight", function() { + return t._atlasLimitHeight + }, function(e) { + t._atlasLimitHeight = e + }), + t._enable = function() { + d.atlasEnable = !0 + } + , + t._disable = function() { + d.atlasEnable = !1 + } + , + t.__init__ = function() { + t.atlasTextureWidth = 2048, + t.atlasTextureHeight = 2048, + t.maxTextureCount = 6, + t.atlasLimitWidth = 512, + t.atlasLimitHeight = 512 + } + , + t._atlasLimitWidth = 0, + t._atlasLimitHeight = 0, + t.gridSize = 16, + t.atlasTextureWidth = 0, + t.atlasTextureHeight = 0, + t.maxTextureCount = 0, + t._atlasRestore = 0, + t.BOARDER_TYPE_NO = 0, + t.BOARDER_TYPE_RIGHT = 1, + t.BOARDER_TYPE_LEFT = 2, + t.BOARDER_TYPE_BOTTOM = 4, + t.BOARDER_TYPE_TOP = 8, + t.BOARDER_TYPE_ALL = 15, + t._sid_ = 0, + t._Instance = null, + t + }() + , H = function() { + function t() { + this.x = 0, + this.y = 0, + this.ret = !1, + this.ret = !1, + this.x = 0, + this.y = 0 + } + return a(t, "laya.webgl.atlas.MergeFillInfo"), + t + }() + , G = function() { + function t() {} + return a(t, "laya.webgl.canvas.BlendMode"), + t._init_ = function(e) { + t.fns = [t.BlendNormal, t.BlendAdd, t.BlendMultiply, t.BlendScreen, t.BlendOverlay, t.BlendLight, t.BlendMask, t.BlendDestinationOut], + t.targetFns = [t.BlendNormalTarget, t.BlendAddTarget, t.BlendMultiplyTarget, t.BlendScreenTarget, t.BlendOverlayTarget, t.BlendLightTarget, t.BlendMask, t.BlendDestinationOut] + } + , + t.BlendNormal = function(t) { + t.blendFunc(1, 771) + } + , + t.BlendAdd = function(t) { + t.blendFunc(1, 772) + } + , + t.BlendMultiply = function(t) { + t.blendFunc(774, 771) + } + , + t.BlendScreen = function(t) { + t.blendFunc(1, 1) + } + , + t.BlendOverlay = function(t) { + t.blendFunc(1, 769) + } + , + t.BlendLight = function(t) { + t.blendFunc(1, 1) + } + , + t.BlendNormalTarget = function(t) { + t.blendFunc(1, 771) + } + , + t.BlendAddTarget = function(t) { + t.blendFunc(1, 772) + } + , + t.BlendMultiplyTarget = function(t) { + t.blendFunc(774, 771) + } + , + t.BlendScreenTarget = function(t) { + t.blendFunc(1, 1) + } + , + t.BlendOverlayTarget = function(t) { + t.blendFunc(1, 769) + } + , + t.BlendLightTarget = function(t) { + t.blendFunc(1, 1) + } + , + t.BlendMask = function(t) { + t.blendFunc(0, 770) + } + , + t.BlendDestinationOut = function(t) { + t.blendFunc(0, 0) + } + , + t.activeBlendFunction = null, + t.NAMES = ["normal", "add", "multiply", "screen", "overlay", "light", "mask", "destination-out"], + t.TOINT = { + normal: 0, + add: 1, + multiply: 2, + screen: 3, + lighter: 1, + overlay: 4, + light: 5, + mask: 6, + "destination-out": 7 + }, + t.NORMAL = "normal", + t.ADD = "add", + t.MULTIPLY = "multiply", + t.SCREEN = "screen", + t.LIGHT = "light", + t.OVERLAY = "overlay", + t.DESTINATIONOUT = "destination-out", + t.fns = [], + t.targetFns = [], + t + }() + , z = function() { + function t(t) { + this._color = u.create("black"), + this.setValue(t) + } + a(t, "laya.webgl.canvas.DrawStyle"); + var e = t.prototype; + return e.setValue = function(t) { + if (t) { + if ("string" == typeof t) + return void (this._color = u.create(t)); + if (t instanceof laya.utils.Color) + return void (this._color = t) + } + } + , + e.reset = function() { + this._color = u.create("black") + } + , + e.equal = function(t) { + return "string" == typeof t ? this._color.strColor === t : t instanceof laya.utils.Color && this._color.numColor === t.numColor + } + , + e.toColorStr = function() { + return this._color.strColor + } + , + t.create = function(e) { + if (e) { + var i; + if ("string" == typeof e ? i = u.create(e) : e instanceof laya.utils.Color && (i = e), + i) + return i._drawStyle || (i._drawStyle = new t(e)) + } + return laya.webgl.canvas.DrawStyle.DEFAULT + } + , + n(t, ["DEFAULT", function() { + return this.DEFAULT = new t("#000000") + } + ]), + t + }() + , j = function() { + function t() { + this._x = 0, + this._y = 0, + this.dirty = !1, + this.offset = 0, + this.count = 0, + this.geoStart = 0, + this.tempArray = [], + this.closePath = !1, + this.geomatrys = []; + bt.mainContext; + this.ib = Qt.create(35048), + this.vb = $t.create(5) + } + a(t, "laya.webgl.canvas.Path"); + var e = t.prototype; + return e.addPoint = function(t, e) { + this.tempArray.push(t, e) + } + , + e.getEndPointX = function() { + return this.tempArray[this.tempArray.length - 2] + } + , + e.getEndPointY = function() { + return this.tempArray[this.tempArray.length - 1] + } + , + e.polygon = function(t, e, i, n, a, r) { + var s; + return this.geomatrys.push(this._curGeomatry = s = new Nt(t,e,i,n,a,r)), + n || (s.fill = !1), + void 0 == r && (s.borderWidth = 0), + s + } + , + e.setGeomtry = function(t) { + this.geomatrys.push(this._curGeomatry = t) + } + , + e.drawLine = function(t, e, i, n, a) { + var r; + return this.closePath ? this.geomatrys.push(this._curGeomatry = r = new Dt(t,e,i,n,a)) : this.geomatrys.push(this._curGeomatry = r = new Et(t,e,i,n,a)), + r.fill = !1, + r + } + , + e.update = function() { + var t = this.ib._byteLength + , e = this.geomatrys.length; + this.offset = t; + for (var i = this.geoStart; i < e; i++) + this.geomatrys[i].getData(this.ib, this.vb, this.vb._byteLength / 20); + this.geoStart = e, + this.count = (this.ib._byteLength - t) / pt.BYTES_PIDX + } + , + e.reset = function() { + this.vb.clear(), + this.ib.clear(), + this.offset = this.count = this.geoStart = 0, + this.geomatrys.length = 0 + } + , + e.recover = function() { + this._curGeomatry = null, + this.vb.destory(), + this.vb = null, + this.ib.destory(), + this.ib = null + } + , + t + }() + , W = function() { + function t() {} + a(t, "laya.webgl.canvas.save.SaveBase"); + var e = t.prototype; + return i.imps(e, { + "laya.webgl.canvas.save.ISaveData": !0 + }), + e.isSaveMark = function() { + return !1 + } + , + e.restore = function(e) { + this._dataObj[this._valueName] = this._value, + t._cache[t._cache._length++] = this, + this._newSubmit && (e._curSubmit = rt.RENDERBASE, + e._renderKey = 0) + } + , + t._createArray = function() { + var t = []; + return t._length = 0, + t + } + , + t._init = function() { + var e = t._namemap = {}; + return e[1] = "ALPHA", + e[2] = "fillStyle", + e[8] = "font", + e[256] = "lineWidth", + e[512] = "strokeStyle", + e[8192] = "_mergeID", + e[1024] = e[2048] = e[4096] = [], + e[16384] = "textBaseline", + e[32768] = "textAlign", + e[65536] = "_nBlendType", + e[1048576] = "shader", + e[2097152] = "filters", + e + } + , + t.save = function(e, i, n, a) { + if ((e._saveMark._saveuse & i) !== i) { + e._saveMark._saveuse |= i; + var r = t._cache + , s = r._length > 0 ? r[--r._length] : new t; + s._value = n[s._valueName = t._namemap[i]], + s._dataObj = n, + s._newSubmit = a; + var o = e._save; + o[o._length++] = s + } + } + , + t._cache = laya.webgl.canvas.save.SaveBase._createArray(), + t._namemap = t._init(), + t + }() + , X = function() { + function t() { + this._clipRect = new x + } + a(t, "laya.webgl.canvas.save.SaveClipRect"); + var e = t.prototype; + return i.imps(e, { + "laya.webgl.canvas.save.ISaveData": !0 + }), + e.isSaveMark = function() { + return !1 + } + , + e.restore = function(e) { + e._clipRect = this._clipSaveRect, + t._cache[t._cache._length++] = this, + this._submitScissor.submitLength = e._submits._length - this._submitScissor.submitIndex, + e._curSubmit = rt.RENDERBASE, + e._renderKey = 0 + } + , + t.save = function(e, i) { + if (131072 != (131072 & e._saveMark._saveuse)) { + e._saveMark._saveuse |= 131072; + var n = t._cache + , a = n._length > 0 ? n[--n._length] : new t; + a._clipSaveRect = e._clipRect, + e._clipRect = a._clipRect.copyFrom(e._clipRect), + a._submitScissor = i; + var r = e._save; + r[r._length++] = a + } + } + , + n(t, ["_cache", function() { + return this._cache = W._createArray() + } + ]), + t + }() + , q = function() { + function t() { + this._contextX = 0, + this._contextY = 0, + this._clipRect = new x, + this._rect = new x, + this._matrix = new b + } + a(t, "laya.webgl.canvas.save.SaveClipRectStencil"); + var e = t.prototype; + return i.imps(e, { + "laya.webgl.canvas.save.ISaveData": !0 + }), + e.isSaveMark = function() { + return !1 + } + , + e.restore = function(e) { + ct.restore(e, this._rect, this._saveMatrix, this._contextX, this._contextY), + e._clipRect = this._clipSaveRect, + e._curMat = this._saveMatrix, + e._x = this._contextX, + e._y = this._contextY, + t._cache[t._cache._length++] = this, + e._curSubmit = rt.RENDERBASE + } + , + t.save = function(e, i, n, a, r, s, o, l, h, c) { + if (262144 != (262144 & e._saveMark._saveuse)) { + e._saveMark._saveuse |= 262144; + var _ = t._cache + , u = _._length > 0 ? _[--_._length] : new t; + u._clipSaveRect = e._clipRect, + u._clipRect.setTo(o, l, h, c), + e._clipRect = u._clipRect, + u._rect.x = n, + u._rect.y = a, + u._rect.width = r, + u._rect.height = s, + u._contextX = e._x, + u._contextY = e._y, + u._saveMatrix = e._curMat, + e._curMat.copyTo(u._matrix), + e._curMat = u._matrix, + u._submitStencil = i; + var d = e._save; + d[d._length++] = u + } + } + , + n(t, ["_cache", function() { + return this._cache = W._createArray() + } + ]), + t + }() + , Y = function() { + function t() { + this._saveuse = 0 + } + a(t, "laya.webgl.canvas.save.SaveMark"); + var e = t.prototype; + return i.imps(e, { + "laya.webgl.canvas.save.ISaveData": !0 + }), + e.isSaveMark = function() { + return !0 + } + , + e.restore = function(e) { + e._saveMark = this._preSaveMark, + t._no[t._no._length++] = this + } + , + t.Create = function(e) { + var i = t._no + , n = i._length > 0 ? i[--i._length] : new t; + return n._saveuse = 0, + n._preSaveMark = e._saveMark, + e._saveMark = n, + n + } + , + n(t, ["_no", function() { + return this._no = W._createArray() + } + ]), + t + }() + , J = function() { + function t() { + this._matrix = new b + } + a(t, "laya.webgl.canvas.save.SaveTransform"); + var e = t.prototype; + return i.imps(e, { + "laya.webgl.canvas.save.ISaveData": !0 + }), + e.isSaveMark = function() { + return !1 + } + , + e.restore = function(e) { + e._curMat = this._savematrix, + t._no[t._no._length++] = this + } + , + t.save = function(e) { + var i = e._saveMark; + if (2048 != (2048 & i._saveuse)) { + i._saveuse |= 2048; + var n = t._no + , a = n._length > 0 ? n[--n._length] : new t; + a._savematrix = e._curMat, + e._curMat = e._curMat.copyTo(a._matrix); + var r = e._save; + r[r._length++] = a + } + } + , + n(t, ["_no", function() { + return this._no = W._createArray() + } + ]), + t + }() + , K = function() { + function t() {} + a(t, "laya.webgl.canvas.save.SaveTranslate"); + var e = t.prototype; + return i.imps(e, { + "laya.webgl.canvas.save.ISaveData": !0 + }), + e.isSaveMark = function() { + return !1 + } + , + e.restore = function(e) { + e._curMat; + e._x = this._x, + e._y = this._y, + t._no[t._no._length++] = this + } + , + t.save = function(e) { + var i = t._no + , n = i._length > 0 ? i[--i._length] : new t; + n._x = e._x, + n._y = e._y; + var a = e._save; + a[a._length++] = n + } + , + n(t, ["_no", function() { + return this._no = W._createArray() + } + ]), + t + }() + , Z = function() { + function t() { + this.target = null, + this.repaint = !1, + this._width = NaN, + this._height = NaN, + this._sp = null, + this._clipRect = new x + } + a(t, "laya.webgl.resource.RenderTargetMAX"); + var e = t.prototype; + return e.setSP = function(t) { + this._sp = t + } + , + e.size = function(t, e) { + var n = this; + this._width !== t || this._height !== e ? (this.repaint = !0, + this._width = t, + this._height = e, + this.target ? this.target.size(t, e) : this.target = Pt.create(t, e), + this.target.hasListener("recovered") || this.target.on("recovered", this, function(t) { + i.timer.callLater(n._sp, n._sp.repaint) + })) : this.target.size(t, e) + } + , + e._flushToTarget = function(t, e) { + if (!e._destroy) { + var i = yt.worldScissorTest + , n = yt.worldClipRect; + yt.worldClipRect = this._clipRect, + this._clipRect.x = this._clipRect.y = 0, + this._clipRect.width = this._width, + this._clipRect.height = this._height, + yt.worldScissorTest = !1, + bt.mainContext.disable(3089); + var a = yt.worldAlpha + , r = yt.worldMatrix4 + , s = yt.worldMatrix + , o = yt.worldFilters + , l = yt.worldShaderDefines; + if (yt.worldMatrix = b.EMPTY, + yt.restoreTempArray(), + yt.worldMatrix4 = yt.TEMPMAT4_ARRAY, + yt.worldAlpha = 1, + yt.worldFilters = null, + yt.worldShaderDefines = null, + Rt.activeShader = null, + e.start(), + d.showCanvasMark ? e.clear(0, 1, 0, .3) : e.clear(0, 0, 0, 0), + t.flush(), + e.end(), + Rt.activeShader = null, + yt.worldAlpha = a, + yt.worldMatrix4 = r, + yt.worldMatrix = s, + yt.worldFilters = o, + yt.worldShaderDefines = l, + yt.worldScissorTest = i, + i) { + var h = yt.height - n.y - n.height; + bt.mainContext.scissor(n.x, h, n.width, n.height), + bt.mainContext.enable(3089) + } + yt.worldClipRect = n + } + } + , + e.flush = function(t) { + this.repaint && (this._flushToTarget(t, this.target), + this.repaint = !1) + } + , + e.drawTo = function(t, e, i, n, a) { + t.drawTexture(this.target.getTexture(), e, i, n, a, 0, 0) + } + , + e.destroy = function() { + this.target && (this.target.destroy(), + this.target = null, + this._sp = null) + } + , + t + }() + , Q = function() { + function t() { + this.ALPHA = 1, + this.shaderType = 0, + this.defines = new Tt + } + a(t, "laya.webgl.shader.d2.Shader2D"); + return t.prototype.destroy = function() { + this.defines = null, + this.filters = null, + this.glTexture = null, + this.strokeStyle = null, + this.fillStyle = null + } + , + t.__init__ = function() { + Yt.addInclude("parts/ColorFilter_ps_uniform.glsl", "uniform vec4 colorAlpha;\nuniform mat4 colorMat;"), + Yt.addInclude("parts/ColorFilter_ps_logic.glsl", "mat4 alphaMat =colorMat;\n\nalphaMat[0][3] *= gl_FragColor.a;\nalphaMat[1][3] *= gl_FragColor.a;\nalphaMat[2][3] *= gl_FragColor.a;\n\ngl_FragColor = gl_FragColor * alphaMat;\ngl_FragColor += colorAlpha/255.0*gl_FragColor.a;\n"), + Yt.addInclude("parts/GlowFilter_ps_uniform.glsl", "uniform vec4 u_color;\nuniform float u_strength;\nuniform float u_blurX;\nuniform float u_blurY;\nuniform float u_offsetX;\nuniform float u_offsetY;\nuniform float u_textW;\nuniform float u_textH;"), + Yt.addInclude("parts/GlowFilter_ps_logic.glsl", "const float c_IterationTime = 10.0;\nfloat floatIterationTotalTime = c_IterationTime * c_IterationTime;\nvec4 vec4Color = vec4(0.0,0.0,0.0,0.0);\nvec2 vec2FilterDir = vec2(-(u_offsetX)/u_textW,-(u_offsetY)/u_textH);\nvec2 vec2FilterOff = vec2(u_blurX/u_textW/c_IterationTime * 2.0,u_blurY/u_textH/c_IterationTime * 2.0);\nfloat maxNum = u_blurX * u_blurY;\nvec2 vec2Off = vec2(0.0,0.0);\nfloat floatOff = c_IterationTime/2.0;\nfor(float i = 0.0;i<=c_IterationTime; ++i){\n\tfor(float j = 0.0;j<=c_IterationTime; ++j){\n\t\tvec2Off = vec2(vec2FilterOff.x * (i - floatOff),vec2FilterOff.y * (j - floatOff));\n\t\tvec4Color += texture2D(texture, v_texcoord + vec2FilterDir + vec2Off)/floatIterationTotalTime;\n\t}\n}\ngl_FragColor = vec4(u_color.rgb,vec4Color.a * u_strength);\ngl_FragColor.rgb *= gl_FragColor.a;"), + Yt.addInclude("parts/BlurFilter_ps_logic.glsl", "gl_FragColor = blur();\ngl_FragColor.w*=alpha;"), + Yt.addInclude("parts/BlurFilter_ps_uniform.glsl", "uniform vec4 strength_sig2_2sig2_gauss1;\nuniform vec2 blurInfo;\n\n#define PI 3.141593\n\n//float sigma=strength/3.0;//3σ以外影响很小。即当σ=1的时候,半径为3\n//float sig2 = sigma*sigma;\n//float _2sig2 = 2.0*sig2;\n//return 1.0/(2*PI*sig2)*exp(-(x*x+y*y)/_2sig2)\n//float gauss1 = 1.0/(2.0*PI*sig2);\n\nfloat getGaussian(float x, float y){\n return strength_sig2_2sig2_gauss1.w*exp(-(x*x+y*y)/strength_sig2_2sig2_gauss1.z);\n}\n\nvec4 blur(){\n const float blurw = 9.0;\n vec4 vec4Color = vec4(0.0,0.0,0.0,0.0);\n vec2 halfsz=vec2(blurw,blurw)/2.0/blurInfo; \n vec2 startpos=v_texcoord-halfsz;\n vec2 ctexcoord = startpos;\n vec2 step = 1.0/blurInfo; //每个像素 \n \n for(float y = 0.0;y<=blurw; ++y){\n ctexcoord.x=startpos.x;\n for(float x = 0.0;x<=blurw; ++x){\n //TODO 纹理坐标的固定偏移应该在vs中处理\n vec4Color += texture2D(texture, ctexcoord)*getGaussian(x-blurw/2.0,y-blurw/2.0);\n ctexcoord.x+=step.x;\n }\n ctexcoord.y+=step.y;\n }\n return vec4Color;\n}"), + Yt.addInclude("parts/ColorAdd_ps_uniform.glsl", "uniform vec4 colorAdd;\n"), + Yt.addInclude("parts/ColorAdd_ps_logic.glsl", "gl_FragColor = vec4(colorAdd.rgb,colorAdd.a*gl_FragColor.a);\ngl_FragColor.xyz *= colorAdd.a;"); + var t, e; + t = "attribute vec4 position;\nattribute vec2 texcoord;\nuniform vec2 size;\n\n#ifdef WORLDMAT\nuniform mat4 mmat;\n#endif\nvarying vec2 v_texcoord;\nvoid main() {\n #ifdef WORLDMAT\n vec4 pos=mmat*position;\n gl_Position =vec4((pos.x/size.x-0.5)*2.0,(0.5-pos.y/size.y)*2.0,pos.z,1.0);\n #else\n gl_Position =vec4((position.x/size.x-0.5)*2.0,(0.5-position.y/size.y)*2.0,position.z,1.0);\n #endif\n \n v_texcoord = texcoord;\n}", + e = 'precision mediump float;\n//precision highp float;\nvarying vec2 v_texcoord;\nuniform sampler2D texture;\nuniform float alpha;\n#include?BLUR_FILTER "parts/BlurFilter_ps_uniform.glsl";\n#include?COLOR_FILTER "parts/ColorFilter_ps_uniform.glsl";\n#include?GLOW_FILTER "parts/GlowFilter_ps_uniform.glsl";\n#include?COLOR_ADD "parts/ColorAdd_ps_uniform.glsl";\n\nvoid main() {\n vec4 color= texture2D(texture, v_texcoord);\n color.a*=alpha;\n color.rgb*=alpha;\n gl_FragColor=color;\n #include?COLOR_ADD "parts/ColorAdd_ps_logic.glsl"; \n #include?BLUR_FILTER "parts/BlurFilter_ps_logic.glsl";\n #include?COLOR_FILTER "parts/ColorFilter_ps_logic.glsl";\n #include?GLOW_FILTER "parts/GlowFilter_ps_logic.glsl";\n}', + Yt.preCompile2D(0, 1, t, e, null), + t = "attribute vec4 position;\nuniform vec2 size;\nuniform mat4 mmat;\nvoid main() {\n vec4 pos=mmat*position;\n gl_Position =vec4((pos.x/size.x-0.5)*2.0,(0.5-pos.y/size.y)*2.0,pos.z,1.0);\n}", + e = 'precision mediump float;\nuniform vec4 color;\nuniform float alpha;\n#include?COLOR_FILTER "parts/ColorFilter_ps_uniform.glsl";\nvoid main() {\n\tvec4 a = vec4(color.r, color.g, color.b, color.a);\n\ta.w = alpha;\n\ta.xyz *= alpha;\n\tgl_FragColor = a;\n\t#include?COLOR_FILTER "parts/ColorFilter_ps_logic.glsl";\n}', + Yt.preCompile2D(0, 2, t, e, null), + t = "attribute vec4 position;\nattribute vec3 a_color;\nuniform mat4 mmat;\nuniform mat4 u_mmat2;\nuniform vec2 u_pos;\nuniform vec2 size;\nvarying vec3 color;\nvoid main(){\n vec4 tPos = vec4(position.x + u_pos.x,position.y + u_pos.y,position.z,position.w);\n vec4 pos=mmat*u_mmat2*tPos;\n gl_Position =vec4((pos.x/size.x-0.5)*2.0,(0.5-pos.y/size.y)*2.0,pos.z,1.0);\n color=a_color;\n}", + e = "precision mediump float;\n//precision mediump float;\nvarying vec3 color;\nuniform float alpha;\nvoid main(){\n\t//vec4 a=vec4(color.r, color.g, color.b, 1);\n\t//a.a*=alpha;\n gl_FragColor=vec4(color.r, color.g, color.b, alpha);\n\tgl_FragColor.rgb*=alpha;\n}", + Yt.preCompile2D(0, 4, t, e, null), + t = "attribute vec4 position;\nattribute vec2 texcoord;\nuniform vec2 size;\n\n#ifdef WORLDMAT\nuniform mat4 mmat;\n#endif\nvarying vec2 v_texcoord;\nvoid main() {\n #ifdef WORLDMAT\n vec4 pos=mmat*position;\n gl_Position =vec4((pos.x/size.x-0.5)*2.0,(0.5-pos.y/size.y)*2.0,pos.z,1.0);\n #else\n gl_Position =vec4((position.x/size.x-0.5)*2.0,(0.5-position.y/size.y)*2.0,position.z,1.0);\n #endif\n \n v_texcoord = texcoord;\n}", + e = '#ifdef FSHIGHPRECISION\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n//precision highp float;\nvarying vec2 v_texcoord;\nuniform sampler2D texture;\nuniform float alpha;\nuniform vec4 u_TexRange;\nuniform vec2 u_offset;\n#include?BLUR_FILTER "parts/BlurFilter_ps_uniform.glsl";\n#include?COLOR_FILTER "parts/ColorFilter_ps_uniform.glsl";\n#include?GLOW_FILTER "parts/GlowFilter_ps_uniform.glsl";\n#include?COLOR_ADD "parts/ColorAdd_ps_uniform.glsl";\n\nvoid main() {\n vec2 newTexCoord;\n newTexCoord.x = mod(u_offset.x + v_texcoord.x,u_TexRange.y) + u_TexRange.x;\n newTexCoord.y = mod(u_offset.y + v_texcoord.y,u_TexRange.w) + u_TexRange.z;\n vec4 color= texture2D(texture, newTexCoord);\n color.a*=alpha;\n gl_FragColor=color;\n #include?COLOR_ADD "parts/ColorAdd_ps_logic.glsl"; \n #include?BLUR_FILTER "parts/BlurFilter_ps_logic.glsl";\n #include?COLOR_FILTER "parts/ColorFilter_ps_logic.glsl";\n #include?GLOW_FILTER "parts/GlowFilter_ps_logic.glsl";\n}', + Yt.preCompile2D(0, 256, t, e, null), + t = "attribute vec2 position;\nattribute vec2 texcoord;\nattribute vec4 color;\nuniform vec2 size;\nuniform float offsetX;\nuniform float offsetY;\nuniform mat4 mmat;\nuniform mat4 u_mmat2;\nvarying vec2 v_texcoord;\nvarying vec4 v_color;\nvoid main() {\n vec4 pos=mmat*u_mmat2*vec4(offsetX+position.x,offsetY+position.y,0,1 );\n gl_Position = vec4((pos.x/size.x-0.5)*2.0,(0.5-pos.y/size.y)*2.0,pos.z,1.0);\n v_color = color;\n v_color.rgb *= v_color.a;\n v_texcoord = texcoord; \n}", + e = "precision mediump float;\nvarying vec2 v_texcoord;\nvarying vec4 v_color;\nuniform sampler2D texture;\nuniform float alpha;\nvoid main() {\n\tvec4 t_color = texture2D(texture, v_texcoord);\n\tgl_FragColor = t_color.rgba * v_color;\n\tgl_FragColor *= alpha;\n}", + Yt.preCompile2D(0, 512, t, e, null) + } + , + t + }() + , $ = function() { + function t(t, e, i) { + this._value = 0, + this._name2int = t, + this._int2name = e, + this._int2nameMap = i + } + a(t, "laya.webgl.shader.ShaderDefines"); + var e = t.prototype; + return e.add = function(t) { + return "string" == typeof t && (t = this._name2int[t]), + this._value |= t, + this._value + } + , + e.addInt = function(t) { + return this._value |= t, + this._value + } + , + e.remove = function(t) { + return "string" == typeof t && (t = this._name2int[t]), + this._value &= ~t, + this._value + } + , + e.isDefine = function(t) { + return (this._value & t) === t + } + , + e.getValue = function() { + return this._value + } + , + e.setValue = function(t) { + this._value = t + } + , + e.toNameDic = function() { + var e = this._int2nameMap[this._value]; + return e || t._toText(this._value, this._int2name, this._int2nameMap) + } + , + t._reg = function(t, e, i, n) { + i[t] = e, + n[e] = t + } + , + t._toText = function(t, e, i) { + var n = i[t]; + if (n) + return n; + for (var a = {}, r = 1, s = 0; s < 32 && !((r = 1 << s) > t); s++) + if (t & r) { + var o = e[r]; + o && (a[o] = "") + } + return i[t] = a, + a + } + , + t._toInt = function(t, e) { + for (var i = t.split("."), n = 0, a = 0, r = i.length; a < r; a++) { + var s = e[i[a]]; + if (!s) + throw new Error("Defines to int err:" + t + "/" + i[a]); + n |= s + } + return n + } + , + t + }() + , tt = function() { + function t() { + this.mVBBuffer = null, + this.mIBBuffer = null, + this.mVBData = null, + this.mIBData = null, + this.mEleNum = 0, + this.mTexture = null, + this.transform = null, + this._vs = null, + this._ps = null, + this._indexStart = -1, + this._verticles = null, + this._uvs = null, + this._tempMatrix = new b + } + a(t, "laya.webgl.shader.d2.skinAnishader.SkinMesh"); + var e = t.prototype; + return e.init = function(e, i, n) { + if (i) + this._vs = i; + else { + this._vs = []; + var a = e.width + , r = e.height; + this._vs.push(0, 0, 0, 0, 1, 1, 1, 1), + this._vs.push(a, 0, 1, 0, 1, 1, 1, 1), + this._vs.push(a, r, 1, 1, 1, 1, 1, 1), + this._vs.push(0, r, 0, 1, 1, 1, 1, 1) + } + n ? this._ps = n : (t._defaultPS || (t._defaultPS = []).push(0, 1, 3, 3, 1, 2), + this._ps = t._defaultPS), + this.mVBData = new Float32Array(this._vs), + this.mIBData = new Uint16Array(this._ps.length), + this.mIBData.start = -1, + this.mEleNum = this._ps.length, + this.mTexture = e + } + , + e.init2 = function(t, e, i, n, a) { + this.transform && (this.transform = null), + i ? this._ps = i : (this._ps = [], + this._ps.push(0, 1, 3, 3, 1, 2)), + this._verticles = n, + this._uvs = a, + this.mEleNum = this._ps.length, + this.mTexture = t, + (I.isConchNode || I.isConchApp) && (this._initMyData(), + this.mVBData = new Float32Array(this._vs)) + } + , + e._initMyData = function() { + var e = 0 + , i = 0 + , n = 4 * this._verticles.length; + this._vs = t._tempVS; + var a = !1; + if (I.isConchNode || I.isConchApp ? (this._vs.length = n, + a = !0) : this._vs.length < n && (this._vs.length = n, + a = !0), + t._tVSLen = n, + a) + for (; e < n; ) + this._vs[e] = this._verticles[i], + this._vs[e + 1] = this._verticles[i + 1], + this._vs[e + 2] = this._uvs[i], + this._vs[e + 3] = this._uvs[i + 1], + this._vs[e + 4] = 1, + this._vs[e + 5] = 1, + this._vs[e + 6] = 1, + this._vs[e + 7] = 1, + e += 8, + i += 2; + else + for (; e < n; ) + this._vs[e] = this._verticles[i], + this._vs[e + 1] = this._verticles[i + 1], + this._vs[e + 2] = this._uvs[i], + this._vs[e + 3] = this._uvs[i + 1], + e += 8, + i += 2 + } + , + e.getData2 = function(e, i, n) { + this.mVBBuffer = e, + this.mIBBuffer = i, + this._initMyData(), + e.appendEx2(this._vs, Float32Array, t._tVSLen, 4), + this._indexStart = i._byteLength; + var a; + (a = t._tempIB).length < this._ps.length && (a.length = this._ps.length); + for (var r = 0, s = this._ps.length; r < s; r++) + a[r] = this._ps[r] + n; + i.appendEx2(a, Uint16Array, this._ps.length, 2) + } + , + e.getData = function(t, e, i) { + if (this.mVBBuffer = t, + this.mIBBuffer = e, + t.append(this.mVBData), + this._indexStart = e._byteLength, + this.mIBData.start != i) { + for (var n = 0, a = this._ps.length; n < a; n++) + this.mIBData[n] = this._ps[n] + i; + this.mIBData.start = i + } + e.append(this.mIBData) + } + , + e.render = function(t, e, i) { + if (I.isWebGL && this.mTexture) { + t._renderKey = 0, + t._shader2D.glTexture = null, + et.getInstance().addSkinMesh(this); + var n = rt.createShape(t, this.mIBBuffer, this.mVBBuffer, this.mEleNum, this._indexStart, Ct.create(512, 0)); + this.transform || (this.transform = b.EMPTY), + this.transform.translate(e, i), + b.mul(this.transform, t._curMat, this._tempMatrix), + this.transform.translate(-e, -i); + var a = n.shaderValue + , r = a.u_mmat2 || yt.getMatrArray(); + yt.mat2MatArray(this._tempMatrix, r), + a.textureHost = this.mTexture, + a.offsetX = 0, + a.offsetY = 0, + a.u_mmat2 = r, + a.ALPHA = t._shader2D.ALPHA, + t._submits[t._submits._length++] = n + } else + I.isConchApp && this.mTexture && (this.transform || (this.transform = b.EMPTY), + t.setSkinMesh && t.setSkinMesh(e, i, this._ps, this.mVBData, this.mEleNum, 0, this.mTexture, this.transform)) + } + , + t._tempVS = [], + t._tempIB = [], + t._defaultPS = null, + t._tVSLen = 0, + t + }() + , et = function() { + function t() { + this.ib = null, + this.vb = null; + bt.mainContext; + this.ib = Qt.create(35048), + this.vb = $t.create(8) + } + a(t, "laya.webgl.shader.d2.skinAnishader.SkinMeshBuffer"); + var e = t.prototype; + return e.addSkinMesh = function(t) { + t.getData2(this.vb, this.ib, this.vb._byteLength / 32) + } + , + e.reset = function() { + this.vb.clear(), + this.ib.clear() + } + , + t.getInstance = function() { + return t.instance = t.instance || new t + } + , + t.instance = null, + t + }() + , it = function() { + function t(t, e, i, n, a, r, s, o, l) { + this.r0 = 0, + this.fill = !0, + this.r1 = Math.PI / 2, + void 0 === l && (l = 0), + this.x = t, + this.y = e, + this.width = i, + this.height = n, + this.edges = a, + this.color = r, + this.borderWidth = s, + this.borderColor = o + } + a(t, "laya.webgl.shapes.BasePoly"); + var e = t.prototype; + return i.imps(e, { + "laya.webgl.shapes.IShape": !0 + }), + e.getData = function(t, e, i) {} + , + e.rebuild = function(t) {} + , + e.setMatrix = function(t) {} + , + e.needUpdate = function(t) { + return !0 + } + , + e.sector = function(t, e, i) { + var n = this.x + , a = this.y + , r = this.edges + , s = (this.r1 - this.r0) / r + , o = this.width + , l = this.height + , h = this.color + , c = (h >> 16 & 255) / 255 + , _ = (h >> 8 & 255) / 255 + , u = (255 & h) / 255; + t.push(n, a, c, _, u); + for (var d = 0; d < r + 1; d++) + t.push(n + Math.sin(s * d + this.r0) * o, a + Math.cos(s * d + this.r0) * l), + t.push(c, _, u); + for (d = 0; d < r; d++) + e.push(i, i + d + 1, i + d + 2) + } + , + e.createLine2 = function(t, e, i, n, a, r) { + var s, o, l, h, c, _, u, d, f, p, m, g, y, v, b, w, x, I, C, S, M = t.concat(), L = a, T = this.borderColor, E = (T >> 16 & 255) / 255, D = (T >> 8 & 255) / 255, N = (255 & T) / 255, A = M.length / 2, B = n, k = i / 2; + l = M[0], + h = M[1], + p = l - (c = M[2]), + f = (f = -(h - (_ = M[3]))) / (S = Math.sqrt(f * f + p * p)) * k, + p = p / S * k, + L.push(l - f + this.x, h - p + this.y, E, D, N, l + f + this.x, h + p + this.y, E, D, N); + for (var R = 1; R < A - 1; R++) + l = M[2 * (R - 1)], + h = M[2 * (R - 1) + 1], + c = M[2 * R], + _ = M[2 * R + 1], + u = M[2 * (R + 1)], + d = M[2 * (R + 1) + 1], + p = l - c, + g = c - u, + b = (-(f = (f = -(h - _)) / (S = Math.sqrt(f * f + p * p)) * k) + l) * (-(p = p / S * k) + _) - (-f + c) * (-p + h), + I = (-(m = (m = -(_ - d)) / (S = Math.sqrt(m * m + g * g)) * k) + u) * (-(g = g / S * k) + _) - (-m + c) * (-g + d), + C = (y = -p + h - (-p + _)) * (x = -m + c - (-m + u)) - (w = -g + d - (-g + _)) * (v = -f + c - (-f + l)), + Math.abs(C) < .1 ? (C += 10.1, + L.push(c - f + this.x, _ - p + this.y, E, D, N, c + f + this.x, _ + p + this.y, E, D, N)) : (((s = (v * I - x * b) / C) - c) * (s - c) + ((o = (w * b - y * I) / C) - _) + (o - _), + L.push(s + this.x, o + this.y, E, D, N, c - (s - c) + this.x, _ - (o - _) + this.y, E, D, N)); + l = M[M.length - 4], + h = M[M.length - 3], + p = l - (c = M[M.length - 2]), + f = (f = -(h - (_ = M[M.length - 1]))) / (S = Math.sqrt(f * f + p * p)) * k, + p = p / S * k, + L.push(c - f + this.x, _ - p + this.y, E, D, N, c + f + this.x, _ + p + this.y, E, D, N); + var P = r; + for (R = 1; R < P; R++) + e.push(B + 2 * (R - 1), B + 2 * (R - 1) + 1, B + 2 * R + 1, B + 2 * R + 1, B + 2 * R, B + 2 * (R - 1)); + return L + } + , + e.createLine = function(t, e, i, n) { + var a = t.concat() + , r = t + , s = this.borderColor + , o = (s >> 16 & 255) / 255 + , l = (s >> 8 & 255) / 255 + , h = (255 & s) / 255; + a.splice(0, 5); + var c, _, u, d, f, p, m, g, y, v, b, w, x, I, C, S, M, L, T, E, D = a.length / 5, N = n, A = i / 2; + u = a[0], + d = a[1], + v = u - (f = a[5]), + y = (y = -(d - (p = a[6]))) / (E = Math.sqrt(y * y + v * v)) * A, + v = v / E * A, + r.push(u - y, d - v, o, l, h, u + y, d + v, o, l, h); + for (var B = 1; B < D - 1; B++) + u = a[5 * (B - 1)], + d = a[5 * (B - 1) + 1], + f = a[5 * B], + p = a[5 * B + 1], + m = a[5 * (B + 1)], + g = a[5 * (B + 1) + 1], + v = u - f, + w = f - m, + C = (-(y = (y = -(d - p)) / (E = Math.sqrt(y * y + v * v)) * A) + u) * (-(v = v / E * A) + p) - (-y + f) * (-v + d), + L = (-(b = (b = -(p - g)) / (E = Math.sqrt(b * b + w * w)) * A) + m) * (-(w = w / E * A) + p) - (-b + f) * (-w + g), + T = (x = -v + d - (-v + p)) * (M = -b + f - (-b + m)) - (S = -w + g - (-w + p)) * (I = -y + f - (-y + u)), + Math.abs(T) < .1 ? (T += 10.1, + r.push(f - y, p - v, o, l, h, f + y, p + v, o, l, h)) : (((c = (I * L - M * C) / T) - f) * (c - f) + ((_ = (S * C - x * L) / T) - p) + (_ - p), + r.push(c, _, o, l, h, f - (c - f), p - (_ - p), o, l, h)); + u = a[a.length - 10], + d = a[a.length - 9], + v = u - (f = a[a.length - 5]), + y = (y = -(d - (p = a[a.length - 4]))) / (E = Math.sqrt(y * y + v * v)) * A, + v = v / E * A, + r.push(f - y, p - v, o, l, h, f + y, p + v, o, l, h); + var k = this.edges + 1; + for (B = 1; B < k; B++) + e.push(N + 2 * (B - 1), N + 2 * (B - 1) + 1, N + 2 * B + 1, N + 2 * B + 1, N + 2 * B, N + 2 * (B - 1)); + return r + } + , + e.createLoopLine = function(t, e, i, n, a, r) { + var s = t.concat() + , o = a || t + , l = this.borderColor + , h = (l >> 16 & 255) / 255 + , c = (l >> 8 & 255) / 255 + , _ = (255 & l) / 255; + s.splice(0, 5); + var u = [s[0], s[1]] + , d = [s[s.length - 5], s[s.length - 4]] + , f = d[0] + .5 * (u[0] - d[0]) + , p = d[1] + .5 * (u[1] - d[1]); + s.unshift(f, p, 0, 0, 0), + s.push(f, p, 0, 0, 0); + var m, g, y, v, b, w, x, I, C, S, M, L, T, E, D, N, A, B, k, R, P = s.length / 5, O = n, U = i / 2; + y = s[0], + v = s[1], + S = y - (b = s[5]), + C = (C = -(v - (w = s[6]))) / (R = Math.sqrt(C * C + S * S)) * U, + S = S / R * U, + o.push(y - C, v - S, h, c, _, y + C, v + S, h, c, _); + for (var V = 1; V < P - 1; V++) + y = s[5 * (V - 1)], + v = s[5 * (V - 1) + 1], + b = s[5 * V], + w = s[5 * V + 1], + x = s[5 * (V + 1)], + I = s[5 * (V + 1) + 1], + S = y - b, + L = b - x, + D = (-(C = (C = -(v - w)) / (R = Math.sqrt(C * C + S * S)) * U) + y) * (-(S = S / R * U) + w) - (-C + b) * (-S + v), + B = (-(M = (M = -(w - I)) / (R = Math.sqrt(M * M + L * L)) * U) + x) * (-(L = L / R * U) + w) - (-M + b) * (-L + I), + k = (T = -S + v - (-S + w)) * (A = -M + b - (-M + x)) - (N = -L + I - (-L + w)) * (E = -C + b - (-C + y)), + Math.abs(k) < .1 ? (k += 10.1, + o.push(b - C, w - S, h, c, _, b + C, w + S, h, c, _)) : (((m = (E * B - A * D) / k) - b) * (m - b) + ((g = (N * D - T * B) / k) - w) + (g - w), + o.push(m, g, h, c, _, b - (m - b), w - (g - w), h, c, _)); + r && (e = r); + var F = this.edges + 1; + for (V = 1; V < F; V++) + e.push(O + 2 * (V - 1), O + 2 * (V - 1) + 1, O + 2 * V + 1, O + 2 * V + 1, O + 2 * V, O + 2 * (V - 1)); + return e.push(O + 2 * (V - 1), O + 2 * (V - 1) + 1, O + 1, O + 1, O, O + 2 * (V - 1)), + o + } + , + t + }() + , nt = function() { + function t() {} + return a(t, "laya.webgl.shapes.Earcut"), + t.earcut = function(e, i, n) { + n = n || 2; + var a = i && i.length + , r = a ? i[0] * n : e.length + , s = t.linkedList(e, 0, r, n, !0) + , o = []; + if (!s) + return o; + var l, h, c, _, u, d, f; + if (a && (s = t.eliminateHoles(e, i, s, n)), + e.length > 80 * n) { + l = c = e[0], + h = _ = e[1]; + for (var p = n; p < r; p += n) + u = e[p], + d = e[p + 1], + u < l && (l = u), + d < h && (h = d), + u > c && (c = u), + d > _ && (_ = d); + f = 0 !== (f = Math.max(c - l, _ - h)) ? 1 / f : 0 + } + return t.earcutLinked(s, o, n, l, h, f), + o + } + , + t.linkedList = function(e, i, n, a, r) { + var s, o; + if (r === t.signedArea(e, i, n, a) > 0) + for (s = i; s < n; s += a) + o = t.insertNode(s, e[s], e[s + 1], o); + else + for (s = n - a; s >= i; s -= a) + o = t.insertNode(s, e[s], e[s + 1], o); + return o && t.equals(o, o.next) && (t.removeNode(o), + o = o.next), + o + } + , + t.filterPoints = function(e, i) { + if (!e) + return e; + i || (i = e); + var n, a = e; + do { + if (n = !1, + a.steiner || !t.equals(a, a.next) && 0 !== t.area(a.prev, a, a.next)) + a = a.next; + else { + if (t.removeNode(a), + (a = i = a.prev) === a.next) + break; + n = !0 + } + } while (n || a !== i);return i + } + , + t.earcutLinked = function(e, i, n, a, r, s, o) { + if (e) { + !o && s && t.indexCurve(e, a, r, s); + for (var l, h, c = e; e.prev !== e.next; ) + if (l = e.prev, + h = e.next, + s ? t.isEarHashed(e, a, r, s) : t.isEar(e)) + i.push(l.i / n), + i.push(e.i / n), + i.push(h.i / n), + t.removeNode(e), + e = h.next, + c = h.next; + else if ((e = h) === c) { + o ? 1 === o ? (e = t.cureLocalIntersections(e, i, n), + t.earcutLinked(e, i, n, a, r, s, 2)) : 2 === o && t.splitEarcut(e, i, n, a, r, s) : t.earcutLinked(t.filterPoints(e, null), i, n, a, r, s, 1); + break + } + } + } + , + t.isEar = function(e) { + var i = e.prev + , n = e + , a = e.next; + if (t.area(i, n, a) >= 0) + return !1; + for (var r = e.next.next; r !== e.prev; ) { + if (t.pointInTriangle(i.x, i.y, n.x, n.y, a.x, a.y, r.x, r.y) && t.area(r.prev, r, r.next) >= 0) + return !1; + r = r.next + } + return !0 + } + , + t.isEarHashed = function(e, i, n, a) { + var r = e.prev + , s = e + , o = e.next; + if (t.area(r, s, o) >= 0) + return !1; + for (var l = r.x < s.x ? r.x < o.x ? r.x : o.x : s.x < o.x ? s.x : o.x, h = r.y < s.y ? r.y < o.y ? r.y : o.y : s.y < o.y ? s.y : o.y, c = r.x > s.x ? r.x > o.x ? r.x : o.x : s.x > o.x ? s.x : o.x, _ = r.y > s.y ? r.y > o.y ? r.y : o.y : s.y > o.y ? s.y : o.y, u = t.zOrder(l, h, i, n, a), d = t.zOrder(c, _, i, n, a), f = e.nextZ; f && f.z <= d; ) { + if (f !== e.prev && f !== e.next && t.pointInTriangle(r.x, r.y, s.x, s.y, o.x, o.y, f.x, f.y) && t.area(f.prev, f, f.next) >= 0) + return !1; + f = f.nextZ + } + for (f = e.prevZ; f && f.z >= u; ) { + if (f !== e.prev && f !== e.next && t.pointInTriangle(r.x, r.y, s.x, s.y, o.x, o.y, f.x, f.y) && t.area(f.prev, f, f.next) >= 0) + return !1; + f = f.prevZ + } + return !0 + } + , + t.cureLocalIntersections = function(e, i, n) { + var a = e; + do { + var r = a.prev + , s = a.next.next; + !t.equals(r, s) && t.intersects(r, a, a.next, s) && t.locallyInside(r, s) && t.locallyInside(s, r) && (i.push(r.i / n), + i.push(a.i / n), + i.push(s.i / n), + t.removeNode(a), + t.removeNode(a.next), + a = e = s), + a = a.next + } while (a !== e);return a + } + , + t.splitEarcut = function(e, i, n, a, r, s) { + var o = e; + do { + for (var l = o.next.next; l !== o.prev; ) { + if (o.i !== l.i && t.isValidDiagonal(o, l)) { + var h = t.splitPolygon(o, l); + return o = t.filterPoints(o, o.next), + h = t.filterPoints(h, h.next), + t.earcutLinked(o, i, n, a, r, s), + void t.earcutLinked(h, i, n, a, r, s) + } + l = l.next + } + o = o.next + } while (o !== e) + } + , + t.eliminateHoles = function(e, i, n, a) { + var r, s, o, l, h, c = []; + for (r = 0, + s = i.length; r < s; r++) + o = i[r] * a, + l = r < s - 1 ? i[r + 1] * a : e.length, + (h = t.linkedList(e, o, l, a, !1)) === h.next && (h.steiner = !0), + c.push(t.getLeftmost(h)); + for (c.sort(t.compareX), + r = 0; r < c.length; r++) + t.eliminateHole(c[r], n), + n = t.filterPoints(n, n.next); + return n + } + , + t.compareX = function(t, e) { + return t.x - e.x + } + , + t.eliminateHole = function(e, i) { + if (i = t.findHoleBridge(e, i)) { + var n = t.splitPolygon(i, e); + t.filterPoints(n, n.next) + } + } + , + t.findHoleBridge = function(e, i) { + var n, a = i, r = e.x, s = e.y, o = -1 / 0; + do { + if (s <= a.y && s >= a.next.y && a.next.y !== a.y) { + var l = a.x + (s - a.y) * (a.next.x - a.x) / (a.next.y - a.y); + if (l <= r && l > o) { + if (o = l, + l === r) { + if (s === a.y) + return a; + if (s === a.next.y) + return a.next + } + n = a.x < a.next.x ? a : a.next + } + } + a = a.next + } while (a !== i);if (!n) + return null; + if (r === o) + return n.prev; + var h, c = n, _ = n.x, u = n.y, d = 1 / 0; + for (a = n.next; a !== c; ) + r >= a.x && a.x >= _ && r !== a.x && t.pointInTriangle(s < u ? r : o, s, _, u, s < u ? o : r, s, a.x, a.y) && ((h = Math.abs(s - a.y) / (r - a.x)) < d || h === d && a.x > n.x) && t.locallyInside(a, e) && (n = a, + d = h), + a = a.next; + return n + } + , + t.indexCurve = function(e, i, n, a) { + var r = e; + do { + null === r.z && (r.z = t.zOrder(r.x, r.y, i, n, a)), + r.prevZ = r.prev, + r.nextZ = r.next, + r = r.next + } while (r !== e);r.prevZ.nextZ = null, + r.prevZ = null, + t.sortLinked(r) + } + , + t.sortLinked = function(t) { + var e, i, n, a, r, s, o, l, h = 1; + do { + for (i = t, + t = null, + r = null, + s = 0; i; ) { + for (s++, + n = i, + o = 0, + e = 0; e < h && (o++, + n = n.nextZ); e++) + ; + for (l = h; o > 0 || l > 0 && n; ) + 0 !== o && (0 === l || !n || i.z <= n.z) ? (a = i, + i = i.nextZ, + o--) : (a = n, + n = n.nextZ, + l--), + r ? r.nextZ = a : t = a, + a.prevZ = r, + r = a; + i = n + } + r.nextZ = null, + h *= 2 + } while (s > 1);return t + } + , + t.zOrder = function(t, e, i, n, a) { + return t = 32767 * (t - i) * a, + e = 32767 * (e - n) * a, + t = 16711935 & (t | t << 8), + t = 252645135 & (t | t << 4), + t = 858993459 & (t | t << 2), + t = 1431655765 & (t | t << 1), + e = 16711935 & (e | e << 8), + e = 252645135 & (e | e << 4), + e = 858993459 & (e | e << 2), + e = 1431655765 & (e | e << 1), + t | e << 1 + } + , + t.getLeftmost = function(t) { + var e = t + , i = t; + do { + e.x < i.x && (i = e), + e = e.next + } while (e !== t);return i + } + , + t.pointInTriangle = function(t, e, i, n, a, r, s, o) { + return (a - s) * (e - o) - (t - s) * (r - o) >= 0 && (t - s) * (n - o) - (i - s) * (e - o) >= 0 && (i - s) * (r - o) - (a - s) * (n - o) >= 0 + } + , + t.isValidDiagonal = function(e, i) { + return e.next.i !== i.i && e.prev.i !== i.i && !t.intersectsPolygon(e, i) && t.locallyInside(e, i) && t.locallyInside(i, e) && t.middleInside(e, i) + } + , + t.area = function(t, e, i) { + return (e.y - t.y) * (i.x - e.x) - (e.x - t.x) * (i.y - e.y) + } + , + t.equals = function(t, e) { + return t.x === e.x && t.y === e.y + } + , + t.intersects = function(e, i, n, a) { + return !!(t.equals(e, i) && t.equals(n, a) || t.equals(e, a) && t.equals(n, i)) || t.area(e, i, n) > 0 != t.area(e, i, a) > 0 && t.area(n, a, e) > 0 != t.area(n, a, i) > 0 + } + , + t.intersectsPolygon = function(e, i) { + var n = e; + do { + if (n.i !== e.i && n.next.i !== e.i && n.i !== i.i && n.next.i !== i.i && t.intersects(n, n.next, e, i)) + return !0; + n = n.next + } while (n !== e);return !1 + } + , + t.locallyInside = function(e, i) { + return t.area(e.prev, e, e.next) < 0 ? t.area(e, i, e.next) >= 0 && t.area(e, e.prev, i) >= 0 : t.area(e, i, e.prev) < 0 || t.area(e, e.next, i) < 0 + } + , + t.middleInside = function(t, e) { + var i = t + , n = !1 + , a = (t.x + e.x) / 2 + , r = (t.y + e.y) / 2; + do { + i.y > r != i.next.y > r && i.next.y !== i.y && a < (i.next.x - i.x) * (r - i.y) / (i.next.y - i.y) + i.x && (n = !n), + i = i.next + } while (i !== t);return n + } + , + t.splitPolygon = function(t, e) { + var i = new at(t.i,t.x,t.y) + , n = new at(e.i,e.x,e.y) + , a = t.next + , r = e.prev; + return t.next = e, + e.prev = t, + i.next = a, + a.prev = i, + n.next = i, + i.prev = n, + r.next = n, + n.prev = r, + n + } + , + t.insertNode = function(t, e, i, n) { + var a = new at(t,e,i); + return n ? (a.next = n.next, + a.prev = n, + n.next.prev = a, + n.next = a) : (a.prev = a, + a.next = a), + a + } + , + t.removeNode = function(t) { + t.next.prev = t.prev, + t.prev.next = t.next, + t.prevZ && (t.prevZ.nextZ = t.nextZ), + t.nextZ && (t.nextZ.prevZ = t.prevZ) + } + , + t.signedArea = function(t, e, i, n) { + for (var a = 0, r = e, s = i - n; r < i; r += n) + a += (t[s] - t[r]) * (t[r + 1] + t[s + 1]), + s = r; + return a + } + , + t + }() + , at = function() { + function t(t, e, i) { + this.i = null, + this.x = null, + this.y = null, + this.prev = null, + this.next = null, + this.z = null, + this.prevZ = null, + this.nextZ = null, + this.steiner = null, + this.i = t, + this.x = e, + this.y = i, + this.prev = null, + this.next = null, + this.z = null, + this.prevZ = null, + this.nextZ = null, + this.steiner = !1 + } + return a(t, "laya.webgl.shapes.EarcutNode"), + t + }() + , rt = (function() { + function t(t, e, i, n, a, r, s) { + this.lineWidth = t, + this.lineColor = e, + this.lineAlpha = i, + this.fillColor = n, + this.fillAlpha = a, + this.shape = s, + this.fill = r + } + a(t, "laya.webgl.shapes.GeometryData"); + var e = t.prototype; + e.clone = function() { + return new t(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape) + } + , + e.getIndexData = function() { + return null + } + , + e.getVertexData = function() { + return null + } + , + e.destroy = function() { + this.shape = null + } + }(), + function() { + function t(t) { + if (t instanceof Float32Array) + this.points = t; + else if (t instanceof Array) { + t.length; + this.points = new Float32Array(t) + } + } + a(t, "laya.webgl.shapes.Vertex"); + var e = t.prototype; + i.imps(e, { + "laya.webgl.shapes.IShape": !0 + }), + e.getData = function(t, e, i) {} + , + e.needUpdate = function(t) { + return !1 + } + , + e.rebuild = function(t) {} + , + e.setMatrix = function(t) {} + }(), + function() { + function t(t) { + void 0 === t && (t = 1e4), + this._renderType = t + } + a(t, "laya.webgl.submit.Submit"); + var e = t.prototype; + return i.imps(e, { + "laya.webgl.submit.ISubmit": !0 + }), + e.releaseRender = function() { + var e = t._cache; + e[e._length++] = this, + this.shaderValue.release(), + this._vb = null + } + , + e.getRenderType = function() { + return this._renderType + } + , + e.renderSubmit = function() { + if (0 === this._numEle) + return 1; + var t = this.shaderValue.textureHost; + if (t) { + var e = t.source; + if (!t.bitmap || !e) + return 1; + this.shaderValue.texture = e + } + this._vb.bind_upload(this._ib); + var i = bt.mainContext; + return this.shaderValue.upload(), + G.activeBlendFunction !== this._blendFn && (i.enable(3042), + this._blendFn(i), + G.activeBlendFunction = this._blendFn), + D.drawCall++, + D.trianglesFaces += this._numEle / 3, + i.drawElements(4, this._numEle, 5123, this._startIdx), + 1 + } + , + t.__init__ = function() { + var e = t.RENDERBASE = new t(-1); + e.shaderValue = new Ct(0,0), + e.shaderValue.ALPHA = -1234 + } + , + t.createSubmit = function(e, i, n, a, r) { + var s = t._cache._length ? t._cache[--t._cache._length] : new t; + null == n && ((n = s._selfVb || (s._selfVb = $t.create(-1))).clear(), + a = 0), + s._ib = i, + s._vb = n, + s._startIdx = a * pt.BYTES_PIDX, + s._numEle = 0; + var o = e._nBlendType; + s._blendFn = e._targets ? G.targetFns[o] : G.fns[o], + s.shaderValue = r, + s.shaderValue.setValue(e._shader2D); + var l = e._shader2D.filters; + return l && s.shaderValue.setFilters(l), + s + } + , + t.createShape = function(e, i, n, a, r, s) { + var o = t._cache._length ? t._cache[--t._cache._length] : new t; + o._ib = i, + o._vb = n, + o._numEle = a, + o._startIdx = r, + o.shaderValue = s, + o.shaderValue.setValue(e._shader2D); + var l = e._nBlendType; + return o._blendFn = e._targets ? G.targetFns[l] : G.fns[l], + o + } + , + t.TYPE_2D = 1e4, + t.TYPE_CANVAS = 10003, + t.TYPE_CMDSETRT = 10004, + t.TYPE_CUSTOM = 10005, + t.TYPE_BLURRT = 10006, + t.TYPE_CMDDESTORYPRERT = 10007, + t.TYPE_DISABLESTENCIL = 10008, + t.TYPE_OTHERIBVB = 10009, + t.TYPE_PRIMITIVE = 10010, + t.TYPE_RT = 10011, + t.TYPE_BLUR_RT = 10012, + t.TYPE_TARGET = 10013, + t.TYPE_CHANGE_VALUE = 10014, + t.TYPE_SHAPE = 10015, + t.TYPE_TEXTURE = 10016, + t.TYPE_FILLTEXTURE = 10017, + t.RENDERBASE = null, + t._cache = (t._cache = [], + t._cache._length = 0, + t._cache), + t + }()) + , st = function() { + function t() { + this.fun = null, + this.args = null + } + a(t, "laya.webgl.submit.SubmitCMD"); + var e = t.prototype; + return i.imps(e, { + "laya.webgl.submit.ISubmit": !0 + }), + e.renderSubmit = function() { + return this.fun.apply(null, this.args), + 1 + } + , + e.getRenderType = function() { + return 0 + } + , + e.releaseRender = function() { + var e = t._cache; + e[e._length++] = this + } + , + t.create = function(e, i) { + var n = t._cache._length ? t._cache[--t._cache._length] : new t; + return n.fun = i, + n.args = e, + n + } + , + t._cache = (t._cache = [], + t._cache._length = 0, + t._cache), + t + }() + , ot = function() { + function t() { + this.variables = {} + } + a(t, "laya.webgl.submit.SubmitCMDScope"); + var e = t.prototype; + return e.getValue = function(t) { + return this.variables[t] + } + , + e.addValue = function(t, e) { + return this.variables[t] = e + } + , + e.setValue = function(t, e) { + return this.variables.hasOwnProperty(t) ? this.variables[t] = e : null + } + , + e.clear = function() { + for (var t in this.variables) + delete this.variables[t] + } + , + e.recycle = function() { + this.clear(), + t.POOL.push(this) + } + , + t.create = function() { + var e = t.POOL.pop(); + return e || (e = new t), + e + } + , + t.POOL = [], + t + }() + , lt = function() { + function t() { + this.offset = 0, + this.startIndex = 0, + this._mat = b.create() + } + a(t, "laya.webgl.submit.SubmitOtherIBVB"); + var e = t.prototype; + return i.imps(e, { + "laya.webgl.submit.ISubmit": !0 + }), + e.releaseRender = function() { + var e = t._cache; + e[e._length++] = this + } + , + e.getRenderType = function() { + return 10009 + } + , + e.renderSubmit = function() { + var e = this._shaderValue.textureHost; + if (e) { + var i = e.source; + if (!e.bitmap || !i) + return 1; + this._shaderValue.texture = i + } + this._vb.bind_upload(this._ib); + var n = yt.worldMatrix4 + , a = b.TEMP; + b.mulPre(this._mat, n[0], n[1], n[4], n[5], n[12], n[13], a); + var r = yt.worldMatrix4 = t.tempMatrix4; + r[0] = a.a, + r[1] = a.b, + r[4] = a.c, + r[5] = a.d, + r[12] = a.tx, + r[13] = a.ty, + this._shader._offset = this.offset, + this._shaderValue.refresh(), + this._shader.upload(this._shaderValue), + this._shader._offset = 0; + var s = bt.mainContext; + return G.activeBlendFunction !== this._blendFn && (s.enable(3042), + this._blendFn(s), + G.activeBlendFunction = this._blendFn), + D.drawCall++, + D.trianglesFaces += this._numEle / 3, + s.drawElements(4, this._numEle, 5123, this.startIndex), + yt.worldMatrix4 = n, + Rt.activeShader = null, + 1 + } + , + t.create = function(e, i, n, a, r, s, o, l, h) { + void 0 === h && (h = 0); + var c = t._cache._length ? t._cache[--t._cache._length] : new t; + c._ib = n, + c._vb = i, + c._numEle = a, + c._shader = r, + c._shaderValue = s; + var _ = e._nBlendType; + switch (c._blendFn = e._targets ? G.targetFns[_] : G.fns[_], + h) { + case 0: + c.offset = 0, + c.startIndex = l / (pt.BYTES_PE * i.vertexStride) * 1.5, + c.startIndex *= pt.BYTES_PIDX; + break; + case 1: + c.startIndex = o, + c.offset = l + } + return c + } + , + t._cache = (t._cache = [], + t._cache._length = 0, + t._cache), + t.tempMatrix4 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], + t + }() + , ht = function() { + function t() { + this.submitIndex = 0, + this.submitLength = 0, + this.context = null, + this.clipRect = new x, + this.screenRect = new x + } + a(t, "laya.webgl.submit.SubmitScissor"); + var e = t.prototype; + return i.imps(e, { + "laya.webgl.submit.ISubmit": !0 + }), + e._scissor = function(t, e, i, n) { + var a = yt.worldMatrix4 + , r = a[0] + , s = a[5]; + if (t = t * r + a[12], + e = e * s + a[13], + i *= r, + n *= s, + i < 1 || n < 1) + return !1; + var o = t + i + , l = e + n; + t < 0 && (t = 0, + i = o - t), + e < 0 && (e = 0, + n = l - e); + var h = yt.worldClipRect; + if (t = Math.max(t, h.x), + e = Math.max(e, h.y), + i = Math.min(o, h.right) - t, + n = Math.min(l, h.bottom) - e, + i < 1 || n < 1) + return !1; + var c = yt.worldScissorTest; + return this.screenRect.copyFrom(h), + h.x = t, + h.y = e, + h.width = i, + h.height = n, + yt.worldScissorTest = !0, + e = yt.height - e - n, + bt.mainContext.scissor(t, e, i, n), + bt.mainContext.enable(3089), + this.context.submitElement(this.submitIndex, this.submitIndex + this.submitLength), + c ? (e = yt.height - this.screenRect.y - this.screenRect.height, + bt.mainContext.scissor(this.screenRect.x, e, this.screenRect.width, this.screenRect.height), + bt.mainContext.enable(3089)) : (bt.mainContext.disable(3089), + yt.worldScissorTest = !1), + h.copyFrom(this.screenRect), + !0 + } + , + e._scissorWithTagart = function(t, e, i, n) { + if (i < 1 || n < 1) + return !1; + var a = t + i + , r = e + n; + t < 0 && (t = 0, + i = a - t), + e < 0 && (e = 0, + n = r - e); + var s = yt.worldClipRect; + if (t = Math.max(t, s.x), + e = Math.max(e, s.y), + i = Math.min(a, s.right) - t, + n = Math.min(r, s.bottom) - e, + i < 1 || n < 1) + return !1; + var o = yt.worldScissorTest; + return this.screenRect.copyFrom(s), + yt.worldScissorTest = !0, + s.x = t, + s.y = e, + s.width = i, + s.height = n, + e = yt.height - e - n, + bt.mainContext.scissor(t, e, i, n), + bt.mainContext.enable(3089), + this.context.submitElement(this.submitIndex, this.submitIndex + this.submitLength), + o ? (e = yt.height - this.screenRect.y - this.screenRect.height, + bt.mainContext.scissor(this.screenRect.x, e, this.screenRect.width, this.screenRect.height), + bt.mainContext.enable(3089)) : (bt.mainContext.disable(3089), + yt.worldScissorTest = !1), + s.copyFrom(this.screenRect), + !0 + } + , + e.renderSubmit = function() { + return this.submitLength = Math.min(this.context._submits._length - 1, this.submitLength), + this.submitLength < 1 || this.clipRect.width < 1 || this.clipRect.height < 1 ? this.submitLength + 1 : (this.context._targets ? this._scissorWithTagart(this.clipRect.x, this.clipRect.y, this.clipRect.width, this.clipRect.height) : this._scissor(this.clipRect.x, this.clipRect.y, this.clipRect.width, this.clipRect.height), + this.submitLength + 1) + } + , + e.getRenderType = function() { + return 0 + } + , + e.releaseRender = function() { + var e = t._cache; + e[e._length++] = this, + this.context = null + } + , + t.create = function(e) { + var i = t._cache._length ? t._cache[--t._cache._length] : new t; + return i.context = e, + i + } + , + t._cache = (t._cache = [], + t._cache._length = 0, + t._cache), + t + }() + , ct = function() { + function t() { + this.step = 0, + this.blendMode = null, + this.level = 0 + } + a(t, "laya.webgl.submit.SubmitStencil"); + var e = t.prototype; + return i.imps(e, { + "laya.webgl.submit.ISubmit": !0 + }), + e.renderSubmit = function() { + switch (this.step) { + case 1: + this.do1(); + break; + case 2: + this.do2(); + break; + case 3: + this.do3(); + break; + case 4: + this.do4(); + break; + case 5: + this.do5(); + break; + case 6: + this.do6(); + break; + case 7: + this.do7(); + break; + case 8: + this.do8() + } + return 1 + } + , + e.getRenderType = function() { + return 0 + } + , + e.releaseRender = function() { + var e = t._cache; + e[e._length++] = this + } + , + e.do1 = function() { + var t = bt.mainContext; + t.enable(2960), + t.clear(1024), + t.colorMask(!1, !1, !1, !1), + t.stencilFunc(514, this.level, 255), + t.stencilOp(7680, 7680, 7682) + } + , + e.do2 = function() { + var t = bt.mainContext; + t.stencilFunc(514, this.level + 1, 255), + t.colorMask(!0, !0, !0, !0), + t.stencilOp(7680, 7680, 7680) + } + , + e.do3 = function() { + var t = bt.mainContext; + t.colorMask(!0, !0, !0, !0), + t.stencilOp(7680, 7680, 7680), + t.clear(1024), + t.disable(2960) + } + , + e.do4 = function() { + var t = bt.mainContext; + 0 == this.level && (t.enable(2960), + t.clear(1024)), + t.colorMask(!1, !1, !1, !1), + t.stencilFunc(519, 0, 255), + t.stencilOp(7680, 7680, 7682) + } + , + e.do5 = function() { + var t = bt.mainContext; + t.stencilFunc(514, this.level, 255), + t.colorMask(!0, !0, !0, !0), + t.stencilOp(7680, 7680, 7680) + } + , + e.do6 = function() { + var t = bt.mainContext; + G.targetFns[G.TOINT[this.blendMode]](t) + } + , + e.do7 = function() { + var t = bt.mainContext; + t.colorMask(!1, !1, !1, !1), + t.stencilOp(7680, 7680, 7683) + } + , + e.do8 = function() { + var t = bt.mainContext; + t.colorMask(!0, !0, !0, !0), + t.stencilFunc(514, this.level, 255), + t.stencilOp(7680, 7680, 7680) + } + , + t.restore = function(e, i, n, a, r) { + var s; + if (e._renderKey = 0, + t._mask > 0 && t._mask--, + 0 == t._mask) + s = laya.webgl.submit.SubmitStencil.create(3), + e.addRenderObject(s), + e._curSubmit = rt.RENDERBASE; + else { + s = laya.webgl.submit.SubmitStencil.create(7), + e.addRenderObject(s); + var o = e._vb; + o._byteLength; + if (mt.fillRectImgVb(o, null, i.x, i.y, i.width, i.height, k.DEF_UV, n, a, r, 0, 0)) { + e._shader2D.glTexture = null; + var l = e._curSubmit = rt.createSubmit(e, e._ib, o, (o._byteLength - 64) / 32 * 3, Ct.create(2, 0)); + l.shaderValue.ALPHA = 1, + e._submits[e._submits._length++] = l, + e._curSubmit._numEle += 6, + e._curSubmit = rt.RENDERBASE + } else + alert("clipRect calc stencil rect error"); + s = laya.webgl.submit.SubmitStencil.create(8), + e.addRenderObject(s) + } + } + , + t.restore2 = function(e, i) { + var n; + e._renderKey = 0, + t._mask > 0 && t._mask--, + 0 == t._mask ? (n = laya.webgl.submit.SubmitStencil.create(3), + e.addRenderObject(n), + e._curSubmit = rt.RENDERBASE) : (n = laya.webgl.submit.SubmitStencil.create(7), + e.addRenderObject(n), + e._submits[e._submits._length++] = i, + n = laya.webgl.submit.SubmitStencil.create(8), + e.addRenderObject(n)) + } + , + t.create = function(e) { + var i = t._cache._length ? t._cache[--t._cache._length] : new t; + return i.step = e, + 5 == e && ++t._mask, + i.level = t._mask, + i + } + , + t._cache = (t._cache = [], + t._cache._length = 0, + t._cache), + t._mask = 0, + t + }() + , _t = function() { + function t() { + this._renderType = 0, + this._vb = null, + this._ib = null, + this._startIdx = 0, + this._numEle = 0, + this.shaderValue = null, + this.blendType = 0, + this.proName = null, + this.scope = null + } + a(t, "laya.webgl.submit.SubmitTarget"); + var e = t.prototype; + return i.imps(e, { + "laya.webgl.submit.ISubmit": !0 + }), + e.renderSubmit = function() { + this._vb.bind_upload(this._ib); + var t = this.scope.getValue(this.proName); + return t && (this.shaderValue.texture = t.source, + this.shaderValue.strength && !this.shaderValue.blurInfo && (this.shaderValue.blurInfo = [t.width, t.height]), + this.shaderValue.upload(), + this.blend(), + D.drawCall++, + D.trianglesFaces += this._numEle / 3, + bt.mainContext.drawElements(4, this._numEle, 5123, this._startIdx)), + 1 + } + , + e.blend = function() { + if (G.activeBlendFunction !== G.fns[this.blendType]) { + var t = bt.mainContext; + t.enable(3042), + G.fns[this.blendType](t), + G.activeBlendFunction = G.fns[this.blendType] + } + } + , + e.getRenderType = function() { + return 0 + } + , + e.releaseRender = function() { + var e = t._cache; + e[e._length++] = this + } + , + t.create = function(e, i, n, a, r, s) { + var o = t._cache._length ? t._cache[--t._cache._length] : new t; + return o._ib = i, + o._vb = n, + o.proName = s, + o._startIdx = a * pt.BYTES_PIDX, + o._numEle = 0, + o.blendType = e._nBlendType, + o.shaderValue = r, + o.shaderValue.setValue(e._shader2D), + o + } + , + t._cache = (t._cache = [], + t._cache._length = 0, + t._cache), + t + }() + , ut = function() { + function t() { + this._sourceStr = null + } + a(t, "laya.webgl.text.CharSegment"); + var e = t.prototype; + return i.imps(e, { + "laya.webgl.text.ICharSegment": !0 + }), + e.textToSpit = function(t) { + this._sourceStr = t + } + , + e.getChar = function(t) { + return this._sourceStr.charAt(t) + } + , + e.getCharCode = function(t) { + return this._sourceStr.charCodeAt(t) + } + , + e.length = function() { + return this._sourceStr.length + } + , + t + }() + , dt = function() { + function t() {} + var e; + return a(t, "laya.webgl.text.DrawText"), + t.__init__ = function() { + t._charsTemp = new Array, + t._drawValue = new e, + t._charSeg = new ut + } + , + t.customCharSeg = function(e) { + t._charSeg = e + } + , + t.getChar = function(e, i, n) { + var a = Wt.createOneChar(e, n); + return -1 != i && (t._charsCache[i] = a), + a + } + , + t._drawSlow = function(e, i, n, a, r, s, o, l, h, c, _, u, d, f, p) { + var m, g, y = t._drawValue.value(s, l, h, c, d, f, p), v = 0, b = 0, w = t._charsTemp, x = 0, I = NaN; + if (a) + for (w.length = a.length, + v = 0, + b = a.length; v < b; v++) + I = (g = a[v]).charNum + y.txtID, + w[v] = m = t._charsCache[I] || t.getChar(g.char, I, y), + m.active(); + else { + var C = n instanceof laya.utils.WordText ? n.toString() : n; + if (B.CharacterCache) { + t._charSeg.textToSpit(C); + var S = t._charSeg.length(); + for (w.length = S, + v = 0, + b = S; v < b; v++) + I = t._charSeg.getCharCode(v) + y.txtID, + w[v] = m = t._charsCache[I] || t.getChar(t._charSeg.getChar(v), I, y), + m.active(), + x += m.cw + } else + w.length = 0, + (m = t.getChar(C, -1, y)).active(), + x += m.cw, + w[0] = m + } + var M = 0; + null !== o && "left" !== o && (M = -("center" == o ? x / 2 : x)); + var L, T, E = NaN, D = 0; + if (a) + for (v = 0, + b = w.length; v < b; v++) + (m = w[v]).isSpace || (g = a[v], + E = m.borderSize, + L = m.texture, + i._drawText(L, _ + M + g.x * d - E, u + g.y * f - E, L.width, L.height, r, 0, 0, 0, 0)); + else { + for (v = 0, + b = w.length; v < b; v++) + (m = w[v]).isSpace || (E = m.borderSize, + L = m.texture, + i._drawText(L, _ + M - E, u - E, L.width, L.height, r, 0, 0, 0, 0), + e && ((T = e[D++]) || (T = e[D - 1] = []), + T[0] = L, + T[1] = M - E, + T[2] = -E)), + M += m.cw; + e && (e.length = D) + } + } + , + t._drawFast = function(t, e, i, n, a) { + for (var r, s, o = 0, l = t.length; o < l; o++) + (r = (s = t[o])[0]).active(), + e._drawText(r, n + s[1], a + s[2], r.width, r.height, i, 0, 0, 0, 0) + } + , + t.drawText = function(e, n, a, r, s, o, l, h, c, _, u, f) { + if (void 0 === f && (f = 0), + !(n && 0 === n.length || a && 0 === a.length)) { + var p = r.a + , m = r.d; + (0 !== r.b || 0 !== r.c) && (p = m = 1); + var g = 1 !== p || 1 !== m; + if (g && i.stage.transform) { + var y = i.stage.transform; + g = y.a === p && y.d === m + } else + g = !1; + if (g) { + var v = (r = r.copyTo(It._tmpMatrix)).tx + , b = r.ty; + r.scale(1 / p, 1 / m), + r._checkTransform(), + _ *= p, + u *= m, + _ += v - r.tx, + u += b - r.ty + } else + p = m = 1; + if (a) + t._drawSlow(null, e, n, a, r, s, o, l, h, c, _, u, p, m, f); + else { + if (null === n.toUpperCase) { + var w = p + 1e5 * m + , x = n; + return void (x.changed || x.id !== w ? (x.id = w, + x.changed = !1, + t._drawSlow(x.save, e, n, a, r, s, o, l, h, c, _, u, p, m, f)) : t._drawFast(x.save, e, r, _, u)) + } + var I = n + s.toString() + l + h + c + p + m + o + , C = t._textsCache[I]; + B.CharacterCache ? C ? t._drawFast(C, e, r, _, u) : (t._textsCache.__length || (t._textsCache.__length = 0), + t._textsCache.__length > d.WebGLTextCacheCount && ((t._textsCache = {}).__length = 0, + t._curPoolIndex = 0), + t._textCachesPool[t._curPoolIndex] ? (C = t._textsCache[I] = t._textCachesPool[t._curPoolIndex], + C.length = 0) : t._textCachesPool[t._curPoolIndex] = C = t._textsCache[I] = [], + t._textsCache.__length++, + t._curPoolIndex++, + t._drawSlow(C, e, n, a, r, s, o, l, h, c, _, u, p, m, f)) : t._drawSlow(C, e, n, a, r, s, o, l, h, c, _, u, p, m, f) + } + } + } + , + t._charsTemp = null, + t._textCachesPool = [], + t._curPoolIndex = 0, + t._charsCache = {}, + t._textsCache = {}, + t._drawValue = null, + t.d = [], + t._charSeg = null, + t.__init$ = function() { + e = function() { + function t() {} + a(t, ""); + return t.prototype.value = function(e, i, n, a, r, s, o) { + this.font = e, + this.fillColor = i, + this.borderColor = n, + this.lineWidth = a, + this.scaleX = r, + this.scaleY = s, + this.underLine = o; + var l = e.toString() + r + s + a + i + n + o; + return this.txtID = t._keymap[l], + this.txtID || (this.txtID = 1e-7 * ++t._keymapCount, + t._keymap[l] = this.txtID), + this + } + , + t.clear = function() { + t._keymap = {}, + t._keymapCount = 1 + } + , + t._keymap = {}, + t._keymapCount = 1, + t + }() + } + , + t + }() + , ft = function() { + function t(e) { + this._index = 0, + this._size = 14, + this._italic = -2, + t._cache2 = t._cache2 || [], + this.setFont(e || "14px Arial") + } + a(t, "laya.webgl.text.FontInContext"); + var e = t.prototype; + return e.setFont = function(e) { + var i = t._cache2[e]; + if (i) + this._words = i[0], + this._size = i[1]; + else { + this._words = e.split(" "); + for (var n = 0, a = this._words.length; n < a; n++) + if (this._words[n].indexOf("px") > 0) { + this._index = n; + break + } + this._size = parseInt(this._words[this._index]), + t._cache2[e] = [this._words, this._size] + } + this._text = null, + this._italic = -2 + } + , + e.getItalic = function() { + return -2 === this._italic && (this._italic = this.hasType("italic")), + this._italic + } + , + e.hasType = function(t) { + for (var e = 0, i = this._words.length; e < i; e++) + if (this._words[e] === t) + return e; + return -1 + } + , + e.removeType = function(t) { + for (var e = 0, i = this._words.length; e < i; e++) + if (this._words[e] === t) { + this._words.splice(e, 1), + this._index > e && this._index--; + break + } + this._text = null, + this._italic = -2 + } + , + e.copyTo = function(t) { + return t._text = this._text, + t._size = this._size, + t._index = this._index, + t._words = this._words.slice(), + t._italic = -2, + t + } + , + e.toString = function() { + return this._text ? this._text : this._text = this._words.join(" ") + } + , + r(0, e, "size", function() { + return this._size + }, function(t) { + this._size = t, + this._words[this._index] = t + "px", + this._text = null + }), + t.create = function(e) { + var i = t._cache[e]; + return i || (i = t._cache[e] = new t(e)) + } + , + t.EMPTY = new t, + t._cache = {}, + t._cache2 = null, + t + }() + , pt = function() { + function t() {} + return a(t, "laya.webgl.utils.CONST3D2D"), + t.defaultMatrix4 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], + t.defaultMinusYMatrix4 = [1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], + t.uniformMatrix3 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0], + t._TMPARRAY = [], + t._OFFSETX = 0, + t._OFFSETY = 0, + n(t, ["BYTES_PE", function() { + return this.BYTES_PE = Float32Array.BYTES_PER_ELEMENT + } + , "BYTES_PIDX", function() { + return this.BYTES_PIDX = Uint16Array.BYTES_PER_ELEMENT + } + ]), + t + }() + , mt = function() { + function t() {} + return a(t, "laya.webgl.utils.GlUtils"), + t.make2DProjection = function(t, e, i) { + return [2 / t, 0, 0, 0, 0, -2 / e, 0, 0, 0, 0, 2 / i, 0, -1, 1, 0, 1] + } + , + t.fillIBQuadrangle = function(t, e) { + if (e > 65535 / 4) + throw Error("IBQuadrangle count:" + e + " must<:" + Math.floor(65535 / 4)); + e = Math.floor(e), + t._resizeBuffer(6 * (e + 1) * 2, !1), + t.byteLength = t.bufferLength; + for (var i = t.getUint16Array(), n = 0, a = 0; a < e; a++) + i[n++] = 4 * a, + i[n++] = 4 * a + 2, + i[n++] = 4 * a + 1, + i[n++] = 4 * a, + i[n++] = 4 * a + 3, + i[n++] = 4 * a + 2; + return t.setNeedUpload(), + !0 + } + , + t.expandIBQuadrangle = function(e, i) { + e.bufferLength >= 6 * i * 2 || t.fillIBQuadrangle(e, i) + } + , + t.mathCeilPowerOfTwo = function(t) { + return t--, + t |= t >> 1, + t |= t >> 2, + t |= t >> 4, + t |= t >> 8, + t |= t >> 16, + ++t + } + , + t.fillQuadrangleImgVb = function(t, e, i, n, a, r, s, o) { + var l = 16 + (t._byteLength >> 2); + t.byteLength = l << 2; + var h = t.getFloat32Array(); + h[(l -= 16) + 2] = a[0], + h[l + 3] = a[1], + h[l + 6] = a[2], + h[l + 7] = a[3], + h[l + 10] = a[4], + h[l + 11] = a[5], + h[l + 14] = a[6], + h[l + 15] = a[7]; + var c = r.a + , _ = r.b + , u = r.c + , d = r.d; + if (1 !== c || 0 !== _ || 0 !== u || 1 !== d) { + r.bTransform = !0; + var f = r.tx + s + , p = r.ty + o; + h[l] = (n[0] + e) * c + (n[1] + i) * u + f, + h[l + 1] = (n[0] + e) * _ + (n[1] + i) * d + p, + h[l + 4] = (n[2] + e) * c + (n[3] + i) * u + f, + h[l + 5] = (n[2] + e) * _ + (n[3] + i) * d + p, + h[l + 8] = (n[4] + e) * c + (n[5] + i) * u + f, + h[l + 9] = (n[4] + e) * _ + (n[5] + i) * d + p, + h[l + 12] = (n[6] + e) * c + (n[7] + i) * u + f, + h[l + 13] = (n[6] + e) * _ + (n[7] + i) * d + p + } else + r.bTransform = !1, + e += r.tx + s, + i += r.ty + o, + h[l] = e + n[0], + h[l + 1] = i + n[1], + h[l + 4] = e + n[2], + h[l + 5] = i + n[3], + h[l + 8] = e + n[4], + h[l + 9] = i + n[5], + h[l + 12] = e + n[6], + h[l + 13] = i + n[7]; + return t._upload = !0, + !0 + } + , + t.fillTranglesVB = function(t, e, i, n, a, r, s) { + var o = (t._byteLength >> 2) + n.length; + t.byteLength = o << 2; + var l = t.getFloat32Array(); + o -= n.length; + for (var h = n.length, c = a.a, _ = a.b, u = a.c, d = a.d, f = 0; f < h; f += 4) + if (l[o + f + 2] = n[f + 2], + l[o + f + 3] = n[f + 3], + 1 !== c || 0 !== _ || 0 !== u || 1 !== d) { + a.bTransform = !0; + var p = a.tx + r + , m = a.ty + s; + l[o + f] = (n[f] + e) * c + (n[f + 1] + i) * u + p, + l[o + f + 1] = (n[f] + e) * _ + (n[f + 1] + i) * d + m + } else + a.bTransform = !1, + e += a.tx + r, + i += a.ty + s, + l[o + f] = e + n[f], + l[o + f + 1] = i + n[f + 1]; + return t._upload = !0, + !0 + } + , + t.copyPreImgVb = function(t, e, i) { + var n = t._byteLength >> 2; + t.byteLength = n + 16 << 2; + for (var a = t.getFloat32Array(), r = 0, s = n - 16; r < 4; r++) + a[n] = a[s] + e, + ++s, + a[++n] = a[s] + i, + ++s, + a[++n] = a[s], + ++s, + a[++n] = a[s], + ++n, + ++s; + t._upload = !0 + } + , + t.fillRectImgVb = function(t, e, i, n, a, r, s, o, l, h, c, _, u) { + void 0 === u && (u = !1); + var d, f, p, m, g, y, v, b, w, x, I, C, S, M, L, T, E = 1, D = o.a, N = o.b, A = o.c, B = o.d, k = e && e.width < 99999999; + if (1 !== D || 0 !== N || 0 !== A || 1 !== B ? (o.bTransform = !0, + 0 === N && 0 === A && (E = 23, + w = a + i, + x = r + n, + d = D * i + (I = o.tx + l), + p = D * w + I, + f = B * n + (C = o.ty + h), + m = B * x + C)) : (E = 23, + o.bTransform = !1, + p = (d = i + o.tx + l) + a, + m = (f = n + o.ty + h) + r), + k && (g = e.x, + y = e.y, + v = e.width + g, + b = e.height + y), + 1 !== E) { + if (Math.min(d, p) >= v) + return !1; + if (Math.min(f, m) >= b) + return !1; + if (Math.max(p, d) <= g) + return !1; + if (Math.max(m, f) <= y) + return !1 + } + var R = t._byteLength >> 2; + t.byteLength = R + 16 << 2; + var P = t.getFloat32Array(); + switch (P[R + 2] = s[0], + P[R + 3] = s[1], + P[R + 6] = s[2], + P[R + 7] = s[3], + P[R + 10] = s[4], + P[R + 11] = s[5], + P[R + 14] = s[6], + P[R + 15] = s[7], + E) { + case 1: + I = o.tx + l, + C = o.ty + h; + var O = D * i + , U = A * n + , V = B * n + , F = N * i + , H = D * (w = a + i) + , G = A * (x = r + n) + , z = B * x + , j = N * w; + u ? (S = O + U + I, + L = Math.round(S) - S, + M = V + F + C, + T = Math.round(M) - M, + P[R] = S + L, + P[R + 1] = M + T, + P[R + 4] = H + U + I + L, + P[R + 5] = V + j + C + T, + P[R + 8] = H + G + I + L, + P[R + 9] = z + j + C + T, + P[R + 12] = O + G + I + L, + P[R + 13] = z + F + C + T) : (P[R] = O + U + I, + P[R + 1] = V + F + C, + P[R + 4] = H + U + I, + P[R + 5] = V + j + C, + P[R + 8] = H + G + I, + P[R + 9] = z + j + C, + P[R + 12] = O + G + I, + P[R + 13] = z + F + C); + break; + case 23: + u ? (S = d + c, + L = Math.round(S) - S, + M = f, + T = Math.round(M) - M, + P[R] = S + L, + P[R + 1] = M + T, + P[R + 4] = p + c + L, + P[R + 5] = f + T, + P[R + 8] = p + L, + P[R + 9] = m + T, + P[R + 12] = d + L, + P[R + 13] = m + T) : (P[R] = d + c, + P[R + 1] = f, + P[R + 4] = p + c, + P[R + 5] = f, + P[R + 8] = p, + P[R + 9] = m, + P[R + 12] = d, + P[R + 13] = m) + } + return t._upload = !0, + !0 + } + , + t.fillLineVb = function(e, i, n, a, r, s, o, l) { + var h = .5 * o + , c = t._fillLineArray + , _ = -(a - s) + , u = n - r + , d = Math.sqrt(_ * _ + u * u); + _ /= d, + u /= d, + _ *= h, + u *= h, + c[0] = n - _, + c[1] = a - u, + c[4] = n + _, + c[5] = a + u, + c[8] = r + _, + c[9] = s + u, + c[12] = r - _, + c[13] = s - u, + l && l.transformPointArray(c, c); + var f = 16 + (e._byteLength >> 2); + return e.byteLength = f << 2, + e.insertData(c, f - 16), + !0 + } + , + t._fillLineArray = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + t + }() + , gt = (function() { + function t() {} + a(t, "laya.webgl.utils.MatirxArray"), + t.ArrayMul = function(e, i, n) { + if (e) + if (i) + for (var a = NaN, r = NaN, s = NaN, o = NaN, l = 0; l < 4; l++) + a = e[l], + r = e[l + 4], + s = e[l + 8], + o = e[l + 12], + n[l] = a * i[0] + r * i[1] + s * i[2] + o * i[3], + n[l + 4] = a * i[4] + r * i[5] + s * i[6] + o * i[7], + n[l + 8] = a * i[8] + r * i[9] + s * i[10] + o * i[11], + n[l + 12] = a * i[12] + r * i[13] + s * i[14] + o * i[15]; + else + t.copyArray(e, n); + else + t.copyArray(i, n) + } + , + t.copyArray = function(t, e) { + if (t && e) + for (var i = 0; i < t.length; i++) + e[i] = t[i] + } + }(), + function() { + function t(t, e, i) { + this._stride = 0, + this.vertNum = 0, + this.indexNum = 0, + this._applied = !1, + this._vb = null, + this._ib = null, + this._vao = null, + this._attribInfo = null, + this._quadNum = 0, + this.canReuse = !1, + this._stride = t, + this._vb = new $t(t,35048), + e && this._vb._resizeBuffer(e, !1), + this._ib = new Qt, + i && this._ib._resizeBuffer(i, !1) + } + a(t, "laya.webgl.utils.Mesh2D"); + var e = t.prototype; + return e.cloneWithNewVB = function() { + var e = new t(this._stride,0,0); + return e._ib = this._ib, + e._quadNum = this._quadNum, + e._attribInfo = this._attribInfo, + e + } + , + e.cloneWithNewVBIB = function() { + var e = new t(this._stride,0,0); + return e._attribInfo = this._attribInfo, + e + } + , + e.getVBW = function() { + return this._vb.setNeedUpload(), + this._vb + } + , + e.getVBR = function() { + return this._vb + } + , + e.getIBR = function() { + return this._ib + } + , + e.getIBW = function() { + return this._ib.setNeedUpload(), + this._ib + } + , + e.createQuadIB = function(t) { + this._quadNum = t, + this._ib._resizeBuffer(6 * t * 2, !1), + this._ib.byteLength = this._ib.bufferLength; + for (var e = this._ib.getUint16Array(), i = 0, n = 0, a = 0; a < t; a++) + e[i++] = n, + e[i++] = n + 2, + e[i++] = n + 1, + e[i++] = n, + e[i++] = n + 3, + e[i++] = n + 2, + n += 4; + this._ib.setNeedUpload() + } + , + e.setAttributes = function(t) { + if (this._attribInfo = t, + this._attribInfo.length % 3 != 0) + throw "Mesh2D setAttributes error!" + } + , + e.getEleNum = function() { + return this._ib.getBuffer().byteLength / 2 + } + , + e.releaseMesh = function() {} + , + e.destroy = function() {} + , + e.clearVB = function() { + this._vb.clear() + } + , + t._gvaoid = 0, + t + }()) + , yt = function() { + function t() {} + return a(t, "laya.webgl.utils.RenderState2D"), + t.getMatrArray = function() { + return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] + } + , + t.mat2MatArray = function(e, i) { + var n = e + , a = i; + return a[0] = n.a, + a[1] = n.b, + a[2] = t.EMPTYMAT4_ARRAY[2], + a[3] = t.EMPTYMAT4_ARRAY[3], + a[4] = n.c, + a[5] = n.d, + a[6] = t.EMPTYMAT4_ARRAY[6], + a[7] = t.EMPTYMAT4_ARRAY[7], + a[8] = t.EMPTYMAT4_ARRAY[8], + a[9] = t.EMPTYMAT4_ARRAY[9], + a[10] = t.EMPTYMAT4_ARRAY[10], + a[11] = t.EMPTYMAT4_ARRAY[11], + a[12] = n.tx, + a[13] = n.ty, + a[14] = t.EMPTYMAT4_ARRAY[14], + a[15] = t.EMPTYMAT4_ARRAY[15], + i + } + , + t.restoreTempArray = function() { + t.TEMPMAT4_ARRAY[0] = 1, + t.TEMPMAT4_ARRAY[1] = 0, + t.TEMPMAT4_ARRAY[4] = 0, + t.TEMPMAT4_ARRAY[5] = 1, + t.TEMPMAT4_ARRAY[12] = 0, + t.TEMPMAT4_ARRAY[13] = 0 + } + , + t.clear = function() { + t.worldScissorTest = !1, + t.worldShaderDefines = null, + t.worldFilters = null, + t.worldAlpha = 1, + t.worldClipRect.x = t.worldClipRect.y = 0, + t.worldClipRect.width = t.width, + t.worldClipRect.height = t.height, + t.curRenderTarget = null + } + , + t._MAXSIZE = 99999999, + t.EMPTYMAT4_ARRAY = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], + t.TEMPMAT4_ARRAY = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], + t.worldMatrix4 = t.TEMPMAT4_ARRAY, + t.worldAlpha = 1, + t.worldScissorTest = !1, + t.worldFilters = null, + t.worldShaderDefines = null, + t.curRenderTarget = null, + t.width = 0, + t.height = 0, + n(t, ["worldMatrix", function() { + return this.worldMatrix = new b + } + , "worldClipRect", function() { + return this.worldClipRect = new x(0,0,99999999,99999999) + } + ]), + t + }() + , vt = function() { + function t(t, i, n, a, r) { + function s(t) { + var i = [] + , n = new e(i); + return o._compileToTree(n, t.split("\n"), 0, i, r), + n + } + var o = this + , l = c.now(); + this._VS = s(i), + this._PS = s(n), + this._nameMap = a, + c.now() - l > 2 && console.log("ShaderCompile use time:" + (c.now() - l) + " size:" + i.length + "/" + n.length) + } + var e, i; + a(t, "laya.webgl.utils.ShaderCompile"); + var r = t.prototype; + return r._compileToTree = function(i, n, a, r, s) { + var o, l, h, c, _, u, d, f = 0, p = 0, m = 0, g = 0; + for (p = a; p < n.length; p++) + if (!((h = n[p]).length < 1) && 0 !== (f = h.indexOf("//"))) { + if (f >= 0 && (h = h.substr(0, f)), + o = d || new e(r), + d = null, + o.text = h, + o.noCompile = !0, + (f = h.indexOf("#")) >= 0) { + for (c = "#", + g = f + 1, + m = h.length; g < m; g++) { + var y = h.charAt(g); + if (" " === y || "\t" === y || "?" === y) + break; + c += y + } + switch (o.name = c, + c) { + case "#ifdef": + case "#ifndef": + if (o.src = h, + o.noCompile = null != h.match(/[!&|()=<>]/), + o.noCompile ? console.log("function():Boolean{return " + h.substr(f + o.name.length) + "}") : (u = h.replace(/^\s*/, "").split(/\s+/), + o.setCondition(u[1], "#ifdef" === c ? 1 : 2), + o.text = "//" + o.text), + o.setParent(i), + i = o, + s) + for (u = h.substr(g).split(t._splitToWordExps3), + g = 0; g < u.length; g++) + (h = u[g]).length && (s[h] = !0); + continue; + case "#if": + if (o.src = h, + o.noCompile = !0, + o.setParent(i), + i = o, + s) + for (u = h.substr(g).split(t._splitToWordExps3), + g = 0; g < u.length; g++) + (h = u[g]).length && "defined" != h && (s[h] = !0); + continue; + case "#else": + o.src = h, + l = (i = i.parent).childs[i.childs.length - 1], + o.noCompile = l.noCompile, + o.noCompile || (o.condition = l.condition, + o.conditionType = 1 == l.conditionType ? 2 : 1, + o.text = "//" + o.text + " " + l.text + " " + o.conditionType), + o.setParent(i), + i = o; + continue; + case "#endif": + l = (i = i.parent).childs[i.childs.length - 1], + o.noCompile = l.noCompile, + o.noCompile || (o.text = "//" + o.text), + o.setParent(i); + continue; + case "#include": + u = t.splitToWords(h, null); + var v = t.includes[u[1]]; + if (!v) + throw "ShaderCompile error no this include file:" + u[1]; + if ((f = u[0].indexOf("?")) < 0) { + o.setParent(i), + h = v.getWith("with" == u[2] ? u[3] : null), + this._compileToTree(o, h.split("\n"), 0, r, s), + o.text = ""; + continue + } + o.setCondition(u[0].substr(f + 1), 1), + o.text = v.getWith("with" == u[2] ? u[3] : null); + break; + case "#import": + _ = (u = t.splitToWords(h, null))[1], + r.push({ + node: o, + file: t.includes[_], + ofs: o.text.length + }); + continue + } + } else { + if ((l = i.childs[i.childs.length - 1]) && !l.name) { + r.length > 0 && t.splitToWords(h, l), + d = o, + l.text += "\n" + h; + continue + } + r.length > 0 && t.splitToWords(h, o) + } + o.setParent(i) + } + } + , + r.createShader = function(t, e, i) { + var n = {} + , a = ""; + if (t) + for (var r in t) + a += "#define " + r + "\n", + n[r] = !0; + var s = this._VS.toscript(n, []) + , o = this._PS.toscript(n, []); + return (i || Yt.create)(a + s.join("\n"), a + o.join("\n"), e, this._nameMap) + } + , + t._parseOne = function(e, i, n, a, r, s) { + var o = { + type: t.shaderParamsMap[n[a + 1]], + name: n[a + 2], + size: isNaN(parseInt(n[a + 3])) ? 1 : parseInt(n[a + 3]) + }; + return s && ("attribute" == r ? e.push(o) : i.push(o)), + ":" == n[a + 3] && (o.type = n[a + 4], + a += 2), + a += 2 + } + , + t.addInclude = function(e, n) { + if (!n || 0 === n.length) + throw new Error("add shader include file err:" + e); + if (t.includes[e]) + throw new Error("add shader include file err, has add:" + e); + t.includes[e] = new i(n) + } + , + t.preGetParams = function(e, i) { + var n = [e, i] + , a = {} + , r = [] + , s = [] + , o = {} + , l = []; + a.attributes = r, + a.uniforms = s, + a.defines = o; + for (var h = 0, c = 0, _ = 0; _ < 2; _++) { + n[_] = n[_].replace(t._removeAnnotation, ""); + var u, d = n[_].match(t._reg); + for (h = 0, + c = d.length; h < c; h++) { + var f = d[h]; + if ("attribute" == f || "uniform" == f) + h = t._parseOne(r, s, d, h, f, !0); + else { + if ("#define" == f) { + l[f = d[++h]] = 1; + continue + } + if ("#ifdef" == f) { + o[u = d[++h]] = o[u] || []; + for (h++; h < c; h++) + if ("attribute" == (f = d[h]) || "uniform" == f) + h = t._parseOne(r, s, d, h, f, l[u]); + else if ("#else" == f) + for (h++; h < c; h++) + if ("attribute" == (f = d[h]) || "uniform" == f) + h = t._parseOne(r, s, d, h, f, !l[u]); + else if ("#endif" == f) + break + } + } + } + } + return a + } + , + t.splitToWords = function(t, e) { + for (var i, n, a = [], r = -1, s = 0, o = t.length; s < o; s++) + if (i = t.charAt(s), + " \t=+-*/&%!<>()'\",;".indexOf(i) >= 0) { + if (r >= 0 && s - r > 1 && (n = t.substr(r, s - r), + a.push(n)), + '"' == i || "'" == i) { + var l = t.indexOf(i, s + 1); + if (l < 0) + throw "Sharder err:" + t; + a.push(t.substr(s + 1, l - s - 1)), + s = l, + r = -1; + continue + } + "(" == i && e && a.length > 0 && (n = a[a.length - 1] + ";", + "vec4;main;".indexOf(n) < 0 && (e.useFuns += n)), + r = -1 + } else + r < 0 && (r = s); + return r < o && o - r > 1 && (n = t.substr(r, o - r), + a.push(n)), + a + } + , + t.IFDEF_NO = 0, + t.IFDEF_YES = 1, + t.IFDEF_ELSE = 2, + t.IFDEF_PARENT = 3, + t._removeAnnotation = new RegExp("(/\\*([^*]|[\\r\\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+/)|(//.*)","g"), + t._reg = new RegExp("(\".*\")|('.*')|([#\\w\\*-\\.+/()=<>{}\\\\]+)|([,;:\\\\])","g"), + t._splitToWordExps = new RegExp("[(\".*\")]+|[('.*')]+|([ \\t=\\+\\-*/&%!<>!%(),;])","g"), + t.includes = {}, + n(t, ["shaderParamsMap", function() { + return this.shaderParamsMap = { + float: 5126, + int: 5124, + bool: 35670, + vec2: 35664, + vec3: 35665, + vec4: 35666, + ivec2: 35667, + ivec3: 35668, + ivec4: 35669, + bvec2: 35671, + bvec3: 35672, + bvec4: 35673, + mat2: 35674, + mat3: 35675, + mat4: 35676, + sampler2D: 35678, + samplerCube: 35680 + } + } + , "_splitToWordExps3", function() { + return this._splitToWordExps3 = new RegExp("[ \\t=\\+\\-*/&%!<>!%(),;\\|]","g") + } + ]), + t.__init$ = function() { + e = function() { + function t(t) { + this.childs = [], + this.text = "", + this.parent = null, + this.name = null, + this.noCompile = !1, + this.includefiles = null, + this.condition = null, + this.conditionType = 0, + this.useFuns = "", + this.z = 0, + this.src = null, + this.includefiles = t + } + a(t, ""); + var e = t.prototype; + return e.setParent = function(t) { + t.childs.push(this), + this.z = t.z + 1, + this.parent = t + } + , + e.setCondition = function(t, e) { + t && (this.conditionType = e, + t = t.replace(/(\s*$)/g, ""), + this.condition = function() { + return this[t] + } + , + this.condition.__condition = t) + } + , + e.toscript = function(e, i) { + return this._toscript(e, i, ++t.__id) + } + , + e._toscript = function(t, e, i) { + if (this.childs.length < 1 && !this.text) + return e; + e.length; + if (this.condition) { + var n = !!this.condition.call(t); + if (2 === this.conditionType && (n = !n), + !n) + return e + } + if (this.text && e.push(this.text), + this.childs.length > 0 && this.childs.forEach(function(n, a, r) { + n._toscript(t, e, i) + }), + this.includefiles.length > 0 && this.useFuns.length > 0) + for (var a, r = 0, s = this.includefiles.length; r < s; r++) + this.includefiles[r].curUseID != i && (a = this.includefiles[r].file.getFunsScript(this.useFuns)).length > 0 && (this.includefiles[r].curUseID = i, + e[0] = a + e[0]); + return e + } + , + t.__id = 1, + t + }(), + i = function() { + function e(e) { + this.script = null, + this.codes = {}, + this.funs = {}, + this.curUseID = -1, + this.funnames = "", + this.script = e; + for (var i = 0, n = 0, a = 0; ; ) { + if ((i = e.indexOf("#begin", i)) < 0) + break; + for (a = i + 5; ; ) { + if ((a = e.indexOf("#end", a)) < 0) + break; + if ("i" !== e.charAt(a + 4)) + break; + a += 5 + } + if (a < 0) + throw "add include err,no #end:" + e; + n = e.indexOf("\n", i); + var r = t.splitToWords(e.substr(i, n - i), null); + "code" == r[1] ? this.codes[r[2]] = e.substr(n + 1, a - n - 1) : "function" == r[1] && (n = e.indexOf("function", i), + n += "function".length, + this.funs[r[3]] = e.substr(n + 1, a - n - 1), + this.funnames += r[3] + ";"), + i = a + 1 + } + } + a(e, ""); + var i = e.prototype; + return i.getWith = function(t) { + var e = t ? this.codes[t] : this.script; + if (!e) + throw "get with error:" + t; + return e + } + , + i.getFunsScript = function(t) { + var e = ""; + for (var i in this.funs) + t.indexOf(i + ";") >= 0 && (e += this.funs[i]); + return e + } + , + e + }() + } + , + t + }() + , bt = function() { + function t() {} + return a(t, "laya.webgl.WebGL"), + t._uint8ArraySlice = function() { + for (var t = this.length, e = new Uint8Array(this.length), i = 0; i < t; i++) + e[i] = this[i]; + return e + } + , + t._float32ArraySlice = function() { + for (var t = this.length, e = new Float32Array(this.length), i = 0; i < t; i++) + e[i] = this[i]; + return e + } + , + t._uint16ArraySlice = function(t) { + var e, i = arguments, n = 0, a = 0; + if (0 === i.length) + for (n = this.length, + e = new Uint16Array(n), + a = 0; a < n; a++) + e[a] = this[a]; + else if (2 === i.length) { + var r = i[0] + , s = i[1]; + if (s > r) + for (n = s - r, + e = new Uint16Array(n), + a = r; a < s; a++) + e[a - r] = this[a]; + else + e = new Uint16Array(0) + } + return e + } + , + t.expandContext = function() { + var t = f.prototype + , e = CanvasRenderingContext2D.prototype; + e.fillTrangles = t.fillTrangles, + Jt.__int__(null), + e.setIBVB = function(t, e, i, n, a, r, s, o, l, h) { + void 0 === l && (l = 0), + void 0 === h && (h = 0), + null === i && (this._ib = this._ib || Qt.QuadrangleIB, + i = this._ib, + mt.expandIBQuadrangle(i, n._byteLength / 64 + 8)), + this._setIBVB(t, e, i, n, a, r, s, o, l, h) + } + , + e.fillTrangles = function(t, e, i, n, a) { + this._curMat = this._curMat || b.create(), + this._vb = this._vb || $t.create(), + this._ib || (this._ib = Qt.create(), + mt.fillIBQuadrangle(this._ib, s / 4)); + var r = this._vb + , s = n.length >> 4; + mt.fillTranglesVB(r, e, i, n, a || this._curMat, 0, 0), + mt.expandIBQuadrangle(this._ib, r._byteLength / 64 + 8); + var o = new Ct(1,0); + o.textureHost = t; + var l = new Zt("attribute vec2 position; attribute vec2 texcoord; uniform vec2 size; uniform mat4 mmat; varying vec2 v_texcoord; void main() { vec4 p=vec4(position.xy,0.0,1.0);vec4 pos=mmat*p; gl_Position =vec4((pos.x/size.x-0.5)*2.0,(0.5-pos.y/size.y)*2.0,pos.z,1.0); v_texcoord = texcoord; }","precision mediump float; varying vec2 v_texcoord; uniform sampler2D texture; void main() {vec4 color= texture2D(texture, v_texcoord); color.a*=1.0; gl_FragColor= color;}"); + r._vertType = 3, + this._setIBVB(e, i, this._ib, r, 6 * s, a, l, o, 0, 0) + } + } + , + t.enable = function() { + if (c.__init__(), + I.isConchApp && !I.isConchWebGL) + return L.skinAniSprite = function() { + return new tt + } + , + t.expandContext(), + !1; + if (L.getWebGLContext = function(t) { + for (var e, i = ["webgl", "experimental-webgl", "webkit-3d", "moz-webgl"], n = 0; n < i.length; n++) { + try { + e = t.getContext(i[n], { + stencil: d.isStencil, + alpha: d.isAlpha, + antialias: d.isAntialias, + premultipliedAlpha: d.premultipliedAlpha, + preserveDrawingBuffer: d.preserveDrawingBuffer + }) + } catch (t) {} + if (e) + return e + } + return null + } + , + null == (t.mainContext = L.getWebGLContext(I._mainCanvas))) + return !1; + if (I.isWebGL) + return !0; + y.create = function(t, e) { + return new te(t,e) + } + , + v.create = function(t, e, i, n, a, r, s) { + return new qt(t,e,i,n,a,r,s) + } + , + I.WebGL = t, + I.isWebGL = !0, + dt.__init__(), + L.createRenderSprite = function(t, e) { + return new St(t,e) + } + , + L.createWebGLContext2D = function(t) { + return new It(t) + } + , + L.changeWebGLSize = function(t, e) { + laya.webgl.WebGL.onStageResize(t, e) + } + , + L.createGraphics = function() { + return new xt + } + ; + var e = L.createFilterAction; + return L.createFilterAction = e || function(t) { + return new Mt + } + , + L.clear = function(t) { + yt.worldScissorTest && laya.webgl.WebGL.mainContext.disable(3089); + var e = I.context.ctx + , i = 0 == e._submits._length || d.preserveDrawingBuffer ? u.create(t)._color : E._wgColor; + i && e.clearBG(i[0], i[1], i[2], i[3]), + yt.clear() + } + , + L.addToAtlas = function(t, e) { + void 0 === e && (e = !1); + var n = t.bitmap; + I.optimizeTextureMemory(t.url, t) ? i.__typeof(n, "laya.webgl.resource.IMergeAtlasBitmap") && n.allowMerageInAtlas && n.on("recovered", t, t.addTextureToAtlas) : n.enableMerageInAtlas = !1 + } + , + L.isAtlas = function(t) { + return t instanceof laya.webgl.atlas.AtlasWebGLCanvas + } + , + F._enable(), + L.beginFlush = function() { + for (var t = F.instance, e = t.getAtlaserCount(), i = 0; i < e; i++) { + var n = t.getAtlaserByIndex(i).texture; + n._flashCacheImageNeedFlush && L.flashFlushImage(n) + } + } + , + L.drawToCanvas = function(t, e, i, n, a, r) { + (i <= 0 || n <= 0) && console.log("[error] canvasWidth and canvasHeight should greater than zero"), + a -= t.x, + r -= t.y, + i |= 1, + n |= 1, + a |= 1, + r |= 1; + var s = Pt.create(i, n, 6408, 5121, 0, !1); + s.start(), + s.clear(0, 0, 0, 0), + I.context.clear(), + C.renders[e]._fun(t, I.context, a, yt.height - n + r), + I.context.flush(), + s.end(); + var o = s.getData(0, 0, i, n); + if (s.recycle(), + o.byteLength == i * n * 4) { + var l = new jt; + l._canvas = c.createElement("canvas"), + l.size(i, n); + var h = l._canvas.getContext("2d"); + c.canvas.size(i, n); + var _ = c.context + , u = _.createImageData(i, n); + return u.data.set(new Uint8ClampedArray(o.buffer)), + l._imgData = u, + _.putImageData(u, 0, 0), + h.save(), + h.translate(0, n), + h.scale(1, -1), + h.drawImage(c.canvas.source, 0, 0), + h.restore(), + l + } + console.log("drawToCanvas error: w:" + i + ",h:" + n + ",datalen:" + o.byteLength) + } + , + L.createFilterAction = function(t) { + var e; + switch (t) { + case 32: + e = new Mt + } + return e + } + , + L.addTextureToAtlas = function(t) { + t._uvID++, + F._atlasRestore++, + t.bitmap.enableMerageInAtlas && F.instance.addToAtlas(t) + } + , + L.getTexturePixels = function(t, e, i, n, a) { + I.context.ctx.clear(); + var r = new T; + r.graphics.drawTexture(t, -e, -i); + var s = Pt.create(n, a); + s.start(), + s.clear(0, 0, 0, 0), + r.render(I.context, 0, 0), + I.context.ctx.flush(), + s.end(); + for (var o = s.getData(0, 0, n, a), l = [], h = 0, c = a - 1; c >= 0; c--) + for (var _ = 0; _ < n; _++) + h = 4 * (c * n + _), + l.push(o[h]), + l.push(o[h + 1]), + l.push(o[h + 2]), + l.push(o[h + 3]); + return l + } + , + L.skinAniSprite = function() { + return new tt + } + , + g.create = function(t, e) { + var i = new jt; + return i._imgData = e, + i.flipY = !1, + i + } + , + p._filterStart = function(t, e, i, n, a) { + var r = t.getValue("bounds") + , s = Pt.create(r.width, r.height); + if (s.start(), + s.clear(0, 0, 0, 0), + t.addValue("src", s), + t.addValue("ScissorTest", yt.worldScissorTest), + yt.worldScissorTest) { + var o = new x; + o.copyFrom(i.ctx._clipRect), + t.addValue("clipRect", o), + yt.worldScissorTest = !1, + laya.webgl.WebGL.mainContext.disable(3089) + } + } + , + p._filterEnd = function(t, e, i, n, a) { + var r = t.getValue("bounds"); + t.getValue("src").end(); + var s = Pt.create(r.width, r.height); + s.start(), + s.clear(0, 0, 0, 0), + t.addValue("out", s), + e._set$P("_filterCache", s), + e._set$P("_isHaveGlowFilter", t.getValue("_isHaveGlowFilter")) + } + , + p._EndTarget = function(t, e) { + t.getValue("src").recycle(); + t.getValue("out").end(); + if (t.getValue("ScissorTest")) { + yt.worldScissorTest = !0, + laya.webgl.WebGL.mainContext.enable(3089), + e.ctx.save(); + var i = t.getValue("clipRect"); + e.ctx.clipRect(i.x, i.y, i.width, i.height) + } + } + , + p._useSrc = function(t) { + var e = t.getValue("out"); + e.end(), + (e = t.getValue("src")).start(), + e.clear(0, 0, 0, 0) + } + , + p._endSrc = function(t) { + t.getValue("src").end() + } + , + p._useOut = function(t) { + var e = t.getValue("src"); + e.end(), + (e = t.getValue("out")).start(), + e.clear(0, 0, 0, 0) + } + , + p._endOut = function(t) { + t.getValue("out").end() + } + , + p._recycleScope = function(t) { + t.recycle() + } + , + p._filter = function(t, e, i, n) { + var a = this._next; + if (a) { + var r = t.filters + , s = r.length; + if (1 == s && 32 == r[0].type) + return e.ctx.save(), + e.ctx.setFilters([r[0]]), + a._fun.call(a, t, e, i, n), + void e.ctx.restore(); + var o, l, h = ot.create(), c = w.TEMP, _ = e.ctx._getTransformMatrix(), u = b.create(); + _.copyTo(u); + var d = 0 + , f = 0 + , m = !1 + , g = t._$P._filterCache ? t._$P._filterCache : null; + if (!g || t._repaint) { + m = t._isHaveGlowFilter(), + h.addValue("_isHaveGlowFilter", m), + m && (d = 50, + f = 25), + (l = new x).copyFrom(t.getSelfBounds()), + l.x += t.x, + l.y += t.y, + l.x -= t.pivotX + 4, + l.y -= t.pivotY + 4; + var y = l.x + , v = l.y; + if (l.width += d + 8, + l.height += d + 8, + c.x = l.x * u.a + l.y * u.c, + c.y = l.y * u.d + l.x * u.b, + l.x = c.x, + l.y = c.y, + c.x = l.width * u.a + l.height * u.c, + c.y = l.height * u.d + l.width * u.b, + l.width = c.x, + l.height = c.y, + l.width <= 0 || l.height <= 0) + return; + g && g.recycle(), + h.addValue("bounds", l); + var I = st.create([h, t, e, 0, 0], p._filterStart); + e.addRenderObject(I), + e.ctx._renderKey = 0, + e.ctx._shader2D.glTexture = null; + var C = t.x - y + f + , S = t.y - v + f; + a._fun.call(a, t, e, C, S), + I = st.create([h, t, e, 0, 0], p._filterEnd), + e.addRenderObject(I); + for (var M = 0; M < s; M++) { + 0 != M && (I = st.create([h], p._useSrc), + e.addRenderObject(I), + o = Ct.create(1, 0), + b.TEMP.identity(), + e.ctx.drawTarget(h, 0, 0, l.width, l.height, b.TEMP, "out", o, null, G.TOINT.overlay), + I = st.create([h], p._useOut), + e.addRenderObject(I)); + r[M].action.apply3d(h, t, e, 0, 0) + } + I = st.create([h, e], p._EndTarget), + e.addRenderObject(I) + } else { + if ((m = !!t._$P._isHaveGlowFilter && t._$P._isHaveGlowFilter) && (d = 50, + f = 25), + (l = t.getBounds()).width <= 0 || l.height <= 0) + return; + l.width += d, + l.height += d, + c.x = l.x * u.a + l.y * u.c, + c.y = l.y * u.d + l.x * u.b, + l.x = c.x, + l.y = c.y, + c.x = l.width * u.a + l.height * u.c, + c.y = l.height * u.d + l.width * u.b, + l.width = c.x, + l.height = c.y, + h.addValue("out", g) + } + i = i - f - t.x, + n = n - f - t.y, + c.setTo(i, n), + u.transformPoint(c), + i = c.x + l.x, + n = c.y + l.y, + o = Ct.create(1, 0), + b.TEMP.identity(), + e.ctx.drawTarget(h, i, n, l.width, l.height, b.TEMP, "out", o, null, G.TOINT.overlay), + I = st.create([h], p._recycleScope), + e.addRenderObject(I), + u.destroy() + } + } + , + Float32Array.prototype.slice || (Float32Array.prototype.slice = t._float32ArraySlice), + Uint16Array.prototype.slice || (Uint16Array.prototype.slice = t._uint16ArraySlice), + Uint8Array.prototype.slice || (Uint8Array.prototype.slice = t._uint8ArraySlice), + !0 + } + , + t.onStageResize = function(e, i) { + null != t.mainContext && (t.mainContext.viewport(0, 0, e, i), + yt.width = e, + yt.height = i) + } + , + t.onInvalidGLRes = function() { + F.instance.freeAll(), + M.releaseContentManagers(!0), + t.doNodeRepaint(i.stage), + t.mainContext.viewport(0, 0, yt.width, yt.height), + i.stage.event("devicelost") + } + , + t.doNodeRepaint = function(e) { + 0 == e.numChildren && e.repaint(); + for (var i = 0; i < e.numChildren; i++) + t.doNodeRepaint(e.getChildAt(i)) + } + , + t.init = function(e, i, n) { + t.mainCanvas = e, + g._createContext = function(t) { + return new It(t) + } + , + jt._createContext = function(t) { + return new It(t) + } + ; + var a = laya.webgl.WebGL.mainContext; + if (null != a.getShaderPrecisionFormat) { + var r = a.getShaderPrecisionFormat(35633, 36338) + , s = a.getShaderPrecisionFormat(35632, 36338); + t.shaderHighPrecision = !(!r.precision || !s.precision) + } else + t.shaderHighPrecision = !1; + if (t.compressAstc = a.getExtension("WEBGL_compressed_texture_astc"), + t.compressAtc = a.getExtension("WEBGL_compressed_texture_atc"), + t.compressEtc = a.getExtension("WEBGL_compressed_texture_etc"), + t.compressEtc1 = a.getExtension("WEBGL_compressed_texture_etc1"), + t.compressPvrtc = a.getExtension("WEBGL_compressed_texture_pvrtc"), + t.compressS3tc = a.getExtension("WEBGL_compressed_texture_s3tc"), + t.compressS3tc_srgb = a.getExtension("WEBGL_compressed_texture_s3tc_srgb"), + a.deleteTexture1 = a.deleteTexture, + a.deleteTexture = function(t) { + t == wt.curBindTexValue && (wt.curBindTexValue = null), + a.deleteTexture1(t) + } + , + t.onStageResize(i, n), + null == t.mainContext) + throw new Error("webGL getContext err!"); + A.__init__(), + F.__init__(), + Tt.__init__(), + rt.__init__(), + It.__init__(), + Ct.__init__(), + Q.__init__(), + Jt.__int__(a), + G._init_(a), + I.isConchApp && conch.setOnInvalidGLRes(t.onInvalidGLRes) + } + , + t.compressAstc = null, + t.compressAtc = null, + t.compressEtc = null, + t.compressEtc1 = null, + t.compressPvrtc = null, + t.compressS3tc = null, + t.compressS3tc_srgb = null, + t.mainCanvas = null, + t.mainContext = null, + t.antialias = !0, + t.shaderHighPrecision = !1, + t._bg_null = [0, 0, 0, 0], + t + }() + , wt = function() { + function t() {} + return a(t, "laya.webgl.WebGLContext"), + t.UseProgram = function(e) { + return t._useProgram !== e && (bt.mainContext.useProgram(e), + t._useProgram = e, + !0) + } + , + t.setDepthTest = function(e, i) { + i !== t._depthTest && (t._depthTest = i, + i ? e.enable(2929) : e.disable(2929)) + } + , + t.setDepthMask = function(e, i) { + i !== t._depthMask && (t._depthMask = i, + e.depthMask(i)) + } + , + t.setDepthFunc = function(e, i) { + i !== t._depthFunc && (t._depthFunc = i, + e.depthFunc(i)) + } + , + t.setBlend = function(e, i) { + i !== t._blend && (t._blend = i, + i ? e.enable(3042) : e.disable(3042)) + } + , + t.setBlendFunc = function(e, i, n) { + (i !== t._sFactor || n !== t._dFactor) && (t._sFactor = i, + t._dFactor = n, + e.blendFunc(i, n)) + } + , + t.setCullFace = function(e, i) { + i !== t._cullFace && (t._cullFace = i, + i ? e.enable(2884) : e.disable(2884)) + } + , + t.setFrontFace = function(e, i) { + i !== t._frontFace && (t._frontFace = i, + e.frontFace(i)) + } + , + t.bindTexture = function(e, i, n) { + e.bindTexture(i, n), + t.curBindTexTarget = i, + t.curBindTexValue = n + } + , + t.DEPTH_BUFFER_BIT = 256, + t.STENCIL_BUFFER_BIT = 1024, + t.COLOR_BUFFER_BIT = 16384, + t.POINTS = 0, + t.LINES = 1, + t.LINE_LOOP = 2, + t.LINE_STRIP = 3, + t.TRIANGLES = 4, + t.TRIANGLE_STRIP = 5, + t.TRIANGLE_FAN = 6, + t.ZERO = 0, + t.ONE = 1, + t.SRC_COLOR = 768, + t.ONE_MINUS_SRC_COLOR = 769, + t.SRC_ALPHA = 770, + t.ONE_MINUS_SRC_ALPHA = 771, + t.DST_ALPHA = 772, + t.ONE_MINUS_DST_ALPHA = 773, + t.DST_COLOR = 774, + t.ONE_MINUS_DST_COLOR = 775, + t.SRC_ALPHA_SATURATE = 776, + t.FUNC_ADD = 32774, + t.BLEND_EQUATION = 32777, + t.BLEND_EQUATION_RGB = 32777, + t.BLEND_EQUATION_ALPHA = 34877, + t.FUNC_SUBTRACT = 32778, + t.FUNC_REVERSE_SUBTRACT = 32779, + t.BLEND_DST_RGB = 32968, + t.BLEND_SRC_RGB = 32969, + t.BLEND_DST_ALPHA = 32970, + t.BLEND_SRC_ALPHA = 32971, + t.CONSTANT_COLOR = 32769, + t.ONE_MINUS_CONSTANT_COLOR = 32770, + t.CONSTANT_ALPHA = 32771, + t.ONE_MINUS_CONSTANT_ALPHA = 32772, + t.BLEND_COLOR = 32773, + t.ARRAY_BUFFER = 34962, + t.ELEMENT_ARRAY_BUFFER = 34963, + t.ARRAY_BUFFER_BINDING = 34964, + t.ELEMENT_ARRAY_BUFFER_BINDING = 34965, + t.STREAM_DRAW = 35040, + t.STATIC_DRAW = 35044, + t.DYNAMIC_DRAW = 35048, + t.BUFFER_SIZE = 34660, + t.BUFFER_USAGE = 34661, + t.CURRENT_VERTEX_ATTRIB = 34342, + t.FRONT = 1028, + t.BACK = 1029, + t.CULL_FACE = 2884, + t.FRONT_AND_BACK = 1032, + t.BLEND = 3042, + t.DITHER = 3024, + t.STENCIL_TEST = 2960, + t.DEPTH_TEST = 2929, + t.SCISSOR_TEST = 3089, + t.POLYGON_OFFSET_FILL = 32823, + t.SAMPLE_ALPHA_TO_COVERAGE = 32926, + t.SAMPLE_COVERAGE = 32928, + t.NO_ERROR = 0, + t.INVALID_ENUM = 1280, + t.INVALID_VALUE = 1281, + t.INVALID_OPERATION = 1282, + t.OUT_OF_MEMORY = 1285, + t.CW = 2304, + t.CCW = 2305, + t.LINE_WIDTH = 2849, + t.ALIASED_POINT_SIZE_RANGE = 33901, + t.ALIASED_LINE_WIDTH_RANGE = 33902, + t.CULL_FACE_MODE = 2885, + t.FRONT_FACE = 2886, + t.DEPTH_RANGE = 2928, + t.DEPTH_WRITEMASK = 2930, + t.DEPTH_CLEAR_VALUE = 2931, + t.DEPTH_FUNC = 2932, + t.STENCIL_CLEAR_VALUE = 2961, + t.STENCIL_FUNC = 2962, + t.STENCIL_FAIL = 2964, + t.STENCIL_PASS_DEPTH_FAIL = 2965, + t.STENCIL_PASS_DEPTH_PASS = 2966, + t.STENCIL_REF = 2967, + t.STENCIL_VALUE_MASK = 2963, + t.STENCIL_WRITEMASK = 2968, + t.STENCIL_BACK_FUNC = 34816, + t.STENCIL_BACK_FAIL = 34817, + t.STENCIL_BACK_PASS_DEPTH_FAIL = 34818, + t.STENCIL_BACK_PASS_DEPTH_PASS = 34819, + t.STENCIL_BACK_REF = 36003, + t.STENCIL_BACK_VALUE_MASK = 36004, + t.STENCIL_BACK_WRITEMASK = 36005, + t.VIEWPORT = 2978, + t.SCISSOR_BOX = 3088, + t.COLOR_CLEAR_VALUE = 3106, + t.COLOR_WRITEMASK = 3107, + t.UNPACK_ALIGNMENT = 3317, + t.PACK_ALIGNMENT = 3333, + t.MAX_TEXTURE_SIZE = 3379, + t.MAX_VIEWPORT_DIMS = 3386, + t.SUBPIXEL_BITS = 3408, + t.RED_BITS = 3410, + t.GREEN_BITS = 3411, + t.BLUE_BITS = 3412, + t.ALPHA_BITS = 3413, + t.DEPTH_BITS = 3414, + t.STENCIL_BITS = 3415, + t.POLYGON_OFFSET_UNITS = 10752, + t.POLYGON_OFFSET_FACTOR = 32824, + t.TEXTURE_BINDING_2D = 32873, + t.SAMPLE_BUFFERS = 32936, + t.SAMPLES = 32937, + t.SAMPLE_COVERAGE_VALUE = 32938, + t.SAMPLE_COVERAGE_INVERT = 32939, + t.NUM_COMPRESSED_TEXTURE_FORMATS = 34466, + t.COMPRESSED_TEXTURE_FORMATS = 34467, + t.DONT_CARE = 4352, + t.FASTEST = 4353, + t.NICEST = 4354, + t.GENERATE_MIPMAP_HINT = 33170, + t.BYTE = 5120, + t.UNSIGNED_BYTE = 5121, + t.SHORT = 5122, + t.UNSIGNED_SHORT = 5123, + t.INT = 5124, + t.UNSIGNED_INT = 5125, + t.FLOAT = 5126, + t.DEPTH_COMPONENT = 6402, + t.ALPHA = 6406, + t.RGB = 6407, + t.RGBA = 6408, + t.LUMINANCE = 6409, + t.LUMINANCE_ALPHA = 6410, + t.UNSIGNED_SHORT_4_4_4_4 = 32819, + t.UNSIGNED_SHORT_5_5_5_1 = 32820, + t.UNSIGNED_SHORT_5_6_5 = 33635, + t.FRAGMENT_SHADER = 35632, + t.VERTEX_SHADER = 35633, + t.MAX_VERTEX_ATTRIBS = 34921, + t.MAX_VERTEX_UNIFORM_VECTORS = 36347, + t.MAX_VARYING_VECTORS = 36348, + t.MAX_COMBINED_TEXTURE_IMAGE_UNITS = 35661, + t.MAX_VERTEX_TEXTURE_IMAGE_UNITS = 35660, + t.MAX_TEXTURE_IMAGE_UNITS = 34930, + t.MAX_FRAGMENT_UNIFORM_VECTORS = 36349, + t.SHADER_TYPE = 35663, + t.DELETE_STATUS = 35712, + t.LINK_STATUS = 35714, + t.VALIDATE_STATUS = 35715, + t.ATTACHED_SHADERS = 35717, + t.ACTIVE_UNIFORMS = 35718, + t.ACTIVE_ATTRIBUTES = 35721, + t.SHADING_LANGUAGE_VERSION = 35724, + t.CURRENT_PROGRAM = 35725, + t.NEVER = 512, + t.LESS = 513, + t.EQUAL = 514, + t.LEQUAL = 515, + t.GREATER = 516, + t.NOTEQUAL = 517, + t.GEQUAL = 518, + t.ALWAYS = 519, + t.KEEP = 7680, + t.REPLACE = 7681, + t.INCR = 7682, + t.DECR = 7683, + t.INVERT = 5386, + t.INCR_WRAP = 34055, + t.DECR_WRAP = 34056, + t.VENDOR = 7936, + t.RENDERER = 7937, + t.VERSION = 7938, + t.NEAREST = 9728, + t.LINEAR = 9729, + t.NEAREST_MIPMAP_NEAREST = 9984, + t.LINEAR_MIPMAP_NEAREST = 9985, + t.NEAREST_MIPMAP_LINEAR = 9986, + t.LINEAR_MIPMAP_LINEAR = 9987, + t.TEXTURE_MAG_FILTER = 10240, + t.TEXTURE_MIN_FILTER = 10241, + t.TEXTURE_WRAP_S = 10242, + t.TEXTURE_WRAP_T = 10243, + t.TEXTURE_2D = 3553, + t.TEXTURE = 5890, + t.TEXTURE_CUBE_MAP = 34067, + t.TEXTURE_BINDING_CUBE_MAP = 34068, + t.TEXTURE_CUBE_MAP_POSITIVE_X = 34069, + t.TEXTURE_CUBE_MAP_NEGATIVE_X = 34070, + t.TEXTURE_CUBE_MAP_POSITIVE_Y = 34071, + t.TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072, + t.TEXTURE_CUBE_MAP_POSITIVE_Z = 34073, + t.TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074, + t.MAX_CUBE_MAP_TEXTURE_SIZE = 34076, + t.TEXTURE0 = 33984, + t.TEXTURE1 = 33985, + t.TEXTURE2 = 33986, + t.TEXTURE3 = 33987, + t.TEXTURE4 = 33988, + t.TEXTURE5 = 33989, + t.TEXTURE6 = 33990, + t.TEXTURE7 = 33991, + t.TEXTURE8 = 33992, + t.TEXTURE9 = 33993, + t.TEXTURE10 = 33994, + t.TEXTURE11 = 33995, + t.TEXTURE12 = 33996, + t.TEXTURE13 = 33997, + t.TEXTURE14 = 33998, + t.TEXTURE15 = 33999, + t.TEXTURE16 = 34e3, + t.TEXTURE17 = 34001, + t.TEXTURE18 = 34002, + t.TEXTURE19 = 34003, + t.TEXTURE20 = 34004, + t.TEXTURE21 = 34005, + t.TEXTURE22 = 34006, + t.TEXTURE23 = 34007, + t.TEXTURE24 = 34008, + t.TEXTURE25 = 34009, + t.TEXTURE26 = 34010, + t.TEXTURE27 = 34011, + t.TEXTURE28 = 34012, + t.TEXTURE29 = 34013, + t.TEXTURE30 = 34014, + t.TEXTURE31 = 34015, + t.ACTIVE_TEXTURE = 34016, + t.REPEAT = 10497, + t.CLAMP_TO_EDGE = 33071, + t.MIRRORED_REPEAT = 33648, + t.FLOAT_VEC2 = 35664, + t.FLOAT_VEC3 = 35665, + t.FLOAT_VEC4 = 35666, + t.INT_VEC2 = 35667, + t.INT_VEC3 = 35668, + t.INT_VEC4 = 35669, + t.BOOL = 35670, + t.BOOL_VEC2 = 35671, + t.BOOL_VEC3 = 35672, + t.BOOL_VEC4 = 35673, + t.FLOAT_MAT2 = 35674, + t.FLOAT_MAT3 = 35675, + t.FLOAT_MAT4 = 35676, + t.SAMPLER_2D = 35678, + t.SAMPLER_CUBE = 35680, + t.VERTEX_ATTRIB_ARRAY_ENABLED = 34338, + t.VERTEX_ATTRIB_ARRAY_SIZE = 34339, + t.VERTEX_ATTRIB_ARRAY_STRIDE = 34340, + t.VERTEX_ATTRIB_ARRAY_TYPE = 34341, + t.VERTEX_ATTRIB_ARRAY_NORMALIZED = 34922, + t.VERTEX_ATTRIB_ARRAY_POINTER = 34373, + t.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 34975, + t.COMPILE_STATUS = 35713, + t.LOW_FLOAT = 36336, + t.MEDIUM_FLOAT = 36337, + t.HIGH_FLOAT = 36338, + t.LOW_INT = 36339, + t.MEDIUM_INT = 36340, + t.HIGH_INT = 36341, + t.FRAMEBUFFER = 36160, + t.RENDERBUFFER = 36161, + t.RGBA4 = 32854, + t.RGB5_A1 = 32855, + t.RGB565 = 36194, + t.DEPTH_COMPONENT16 = 33189, + t.STENCIL_INDEX = 6401, + t.STENCIL_INDEX8 = 36168, + t.DEPTH_STENCIL = 34041, + t.RENDERBUFFER_WIDTH = 36162, + t.RENDERBUFFER_HEIGHT = 36163, + t.RENDERBUFFER_INTERNAL_FORMAT = 36164, + t.RENDERBUFFER_RED_SIZE = 36176, + t.RENDERBUFFER_GREEN_SIZE = 36177, + t.RENDERBUFFER_BLUE_SIZE = 36178, + t.RENDERBUFFER_ALPHA_SIZE = 36179, + t.RENDERBUFFER_DEPTH_SIZE = 36180, + t.RENDERBUFFER_STENCIL_SIZE = 36181, + t.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 36048, + t.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 36049, + t.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 36050, + t.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 36051, + t.COLOR_ATTACHMENT0 = 36064, + t.DEPTH_ATTACHMENT = 36096, + t.STENCIL_ATTACHMENT = 36128, + t.DEPTH_STENCIL_ATTACHMENT = 33306, + t.NONE = 0, + t.FRAMEBUFFER_COMPLETE = 36053, + t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 36054, + t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 36055, + t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 36057, + t.FRAMEBUFFER_UNSUPPORTED = 36061, + t.FRAMEBUFFER_BINDING = 36006, + t.RENDERBUFFER_BINDING = 36007, + t.MAX_RENDERBUFFER_SIZE = 34024, + t.INVALID_FRAMEBUFFER_OPERATION = 1286, + t.UNPACK_FLIP_Y_WEBGL = 37440, + t.UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441, + t.CONTEXT_LOST_WEBGL = 37442, + t.UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443, + t.BROWSER_DEFAULT_WEBGL = 37444, + t._useProgram = null, + t._depthTest = !0, + t._depthMask = !0, + t._blend = !1, + t._cullFace = !1, + t.curBindTexTarget = null, + t.curBindTexValue = null, + n(t, ["_depthFunc", function() { + return this._depthFunc = 513 + } + , "_sFactor", function() { + return this._sFactor = 1 + } + , "_dFactor", function() { + return this._dFactor = 0 + } + , "_frontFace", function() { + return this._frontFace = 2305 + } + ]), + t + }() + , xt = function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.webgl.display.GraphicsGL", m); + var i = e.prototype; + return i.setShader = function(t) { + this._saveToCmd(I.context._setShader, [t]) + } + , + i.setIBVB = function(t, e, i, n, a, r) { + this._saveToCmd(I.context._setIBVB, [t, e, i, n, a, r]) + } + , + i.drawParticle = function(t, e, i) { + var n = L.createParticleTemplate2D(i); + n.x = t, + n.y = e, + this._saveToCmd(I.context._drawParticle, [n]) + } + , + e + }() + , It = function(t) { + function e(t) { + this._x = 0, + this._y = 0, + this._id = ++e._COUNT, + this._path = null, + this._drawCount = 1, + this._maxNumEle = 0, + this._clear = !1, + this._isMain = !1, + this._atlasResourceChange = 0, + this._submits = null, + this._curSubmit = null, + this._ib = null, + this._vb = null, + this._nBlendType = 0, + this._saveMark = null, + this._shader2D = null, + this.meshlist = [], + this.mId = -1, + this.mHaveKey = !1, + this.mHaveLineKey = !1, + this.mX = 0, + this.mY = 0, + e.__super.call(this), + this._width = 99999999, + this._height = 99999999, + this._clipRect = e.MAXCLIPRECT, + this.mOutPoint, + this._canvas = t, + e._contextcount++, + I.isFlash ? (this._ib = Qt.create(35044), + mt.fillIBQuadrangle(this._ib, 16)) : this._ib = Qt.QuadrangleIB, + this.clear() + } + var s; + a(e, "laya.webgl.canvas.WebGLContext2D", f); + var o = e.prototype; + return o.setIsMainContext = function() { + this._isMain = !0 + } + , + o.clearBG = function(t, e, i, n) { + var a = bt.mainContext; + a.clearColor(t, e, i, n), + a.clear(16384) + } + , + o._getSubmits = function() { + return this._submits + } + , + o._releaseMem = function() { + if (this._submits) { + this._curMat.destroy(), + this._curMat = null, + this._shader2D.destroy(), + this._shader2D = null; + for (var t = 0, e = this._submits._length; t < e; t++) + this._submits[t].releaseRender(); + this._submits.length = 0, + this._submits._length = 0, + this._submits = null, + this._curSubmit = null, + this._path && this._path.recover(), + this._path = null, + this._other && (this._other.font = null), + this._save = null, + this._vb && (this._vb.releaseResource(), + this._vb.destroy(), + this._vb.destory(), + this._vb = null) + } + } + , + o.destroy = function() { + --e._contextcount, + this.sprite = null, + this._releaseMem(), + this._targets && this._targets.destroy(), + this._targets = null, + this._canvas = null, + this._ib && this._ib != Qt.QuadrangleIB && this._ib.releaseResource() + } + , + o.clear = function() { + this._submits || (this._other = s.DEFAULT, + this._curMat = b.create(), + this._vb = $t.create(-1), + this._submits = [], + this._save = [Y.Create(this)], + this._save.length = 10, + this._shader2D = new Q, + this._triangleMesh = kt.getAMesh()), + this._vb.clear(), + this._targets && (this._targets.repaint = !0), + this._other = s.DEFAULT, + this._clear = !0, + this._repaint = !1, + this._drawCount = 1, + this._renderKey = 0, + this._other.lineWidth = this._shader2D.ALPHA = 1, + this._nBlendType = 0, + this._clipRect = e.MAXCLIPRECT, + this._curSubmit = rt.RENDERBASE, + this._shader2D.glTexture = null, + this._shader2D.fillStyle = this._shader2D.strokeStyle = z.DEFAULT; + for (var t = 0, i = this._submits._length; t < i; t++) + this._submits[t].releaseRender(); + this._submits._length = 0, + this._curMat.identity(), + this._other.clear(), + this._saveMark = this._save[0], + this._save._length = 1 + } + , + o.size = function(t, e) { + if (this._width != t || this._height != e) + if (0 == t || 0 == e) { + 0 != this._vb._byteLength && (this._width = t, + this._height = e, + this._vb.clear(), + this._vb.upload()); + for (var i = 0, n = this._submits._length; i < n; i++) + this._submits[i].releaseRender(); + this._submits.length = 0, + this._submits._length = 0, + this._curSubmit = null, + this._path && this._path.recover(), + this._path = null, + this.sprite = null, + this._targets && this._targets.destroy(), + this._targets = null + } else + this._width = t, + this._height = e, + this._targets && this._targets.size(t, e), + this._canvas.memorySize -= this._canvas.memorySize; + 0 === t && 0 === e && this._releaseMem() + } + , + o._getTransformMatrix = function() { + return this._curMat + } + , + o.translate = function(t, e) { + 0 === t && 0 === e || (K.save(this), + this._curMat.bTransform && (J.save(this), + this._curMat.transformPointN(w.TEMP.setTo(t, e)), + t = w.TEMP.x, + e = w.TEMP.y), + this._x += t, + this._y += e) + } + , + o.save = function() { + this._save[this._save._length++] = Y.Create(this) + } + , + o.restore = function() { + var t = this._save._length; + if (!(t < 1)) + for (var e = t - 1; e >= 0; e--) { + var i = this._save[e]; + if (i.restore(this), + i.isSaveMark()) + return void (this._save._length = e) + } + } + , + o._fillText = function(t, e, i, n, a, r, s, o, l, h) { + void 0 === h && (h = 0); + var c = this._shader2D + , _ = this._curSubmit.shaderValue + , d = a ? ft.create(a) : this._other.font; + if (F.enabled) + c.ALPHA !== _.ALPHA && (c.glTexture = null), + dt.drawText(this, t, e, this._curMat, d, l || this._other.textAlign, r, s, o, i, n, h); + else { + this._shader2D.defines.getValue(); + var f = r ? u.create(r)._color : c.colorAdd; + c.ALPHA === _.ALPHA && f === c.colorAdd && _.colorAdd === c.colorAdd || (c.glTexture = null, + c.colorAdd = f), + dt.drawText(this, t, e, this._curMat, d, l || this._other.textAlign, r, s, o, i, n, h) + } + } + , + o.fillWords = function(t, e, i, n, a, r) { + this._fillText(null, t, e, i, n, a, null, -1, null, r) + } + , + o.fillBorderWords = function(t, e, i, n, a, r, s) { + this._fillBorderText(null, t, e, i, n, a, r, s, null) + } + , + o.fillText = function(t, e, i, n, a, r) { + this._fillText(t, null, e, i, n, a, null, -1, r) + } + , + o.strokeText = function(t, e, i, n, a, r, s) { + this._fillText(t, null, e, i, n, null, a, r || 1, s) + } + , + o.fillBorderText = function(t, e, i, n, a, r, s, o) { + this._fillBorderText(t, null, e, i, n, a, r, s, o) + } + , + o._fillBorderText = function(t, i, n, a, r, s, o, l, h) { + if (!F.enabled) + return this._fillText(t, i, n, a, r, null, o, l || 1, h), + void this._fillText(t, i, n, a, r, s, null, -1, h); + var c = this._shader2D + , _ = this._curSubmit.shaderValue; + c.ALPHA !== _.ALPHA && (c.glTexture = null); + var u = r ? (e._fontTemp.setFont(r), + e._fontTemp) : this._other.font; + dt.drawText(this, t, i, this._curMat, u, h || this._other.textAlign, s, o, l || 1, n, a, 0) + } + , + o.fillRect = function(t, e, i, n, a) { + var r = this._vb; + if (mt.fillRectImgVb(r, this._clipRect, t, e, i, n, k.DEF_UV, this._curMat, this._x, this._y, 0, 0)) { + this._renderKey = 0; + var s = this._shader2D.fillStyle; + a && (this._shader2D.fillStyle = z.create(a)); + var o = this._shader2D + , l = this._curSubmit.shaderValue; + if (o.fillStyle !== l.fillStyle || o.ALPHA !== l.ALPHA) { + o.glTexture = null; + var h = this._curSubmit = rt.createSubmit(this, this._ib, r, (r._byteLength - 64) / 32 * 3, Ct.create(2, 0)); + h.shaderValue.color = o.fillStyle._color._color, + h.shaderValue.ALPHA = o.ALPHA, + this._submits[this._submits._length++] = h + } + this._curSubmit._numEle += 6, + this._shader2D.fillStyle = s + } + } + , + o.fillTexture = function(t, e, n, a, r, s, o, l) { + if (t.loaded && t.bitmap && t.source) { + var h = this._vb + , c = t.bitmap.width + , _ = t.bitmap.height + , u = t.uv + , d = o.x % t.width + , f = o.y % t.height; + if (c != l.w || _ != l.h) { + if (!l.w && !l.h) + switch (l.oy = l.ox = 0, + s) { + case "repeat": + l.width = a, + l.height = r; + break; + case "repeat-x": + l.width = a, + f < 0 ? t.height + f > r ? l.height = r : l.height = t.height + f : (l.oy = f, + t.height + f > r ? l.height = r - f : l.height = t.height); + break; + case "repeat-y": + d < 0 ? t.width + d > a ? l.width = a : l.width = t.width + d : (l.ox = d, + t.width + d > a ? l.width = a - d : l.width = t.width), + l.height = r; + break; + default: + l.width = a, + l.height = r + } + l.w = c, + l.h = _, + l.uv = [0, 0, l.width / c, 0, l.width / c, l.height / _, 0, l.height / _] + } + if (e += l.ox, + n += l.oy, + d -= l.ox, + f -= l.oy, + mt.fillRectImgVb(h, this._clipRect, e, n, l.width, l.height, l.uv, this._curMat, this._x, this._y, 0, 0)) { + this._renderKey = 0; + var p = Bt.create(this, this._ib, h, (h._byteLength - 64) / 32 * 3, Ct.create(256, 0)); + this._submits[this._submits._length++] = p; + var m = p.shaderValue; + m.textureHost = t; + var g = u[0] * c + , y = u[1] * _ + , v = (u[2] - u[0]) * c + , b = (u[5] - u[3]) * _ + , w = -d / c + , x = -f / _; + m.u_TexRange[0] = g / c, + m.u_TexRange[1] = v / c, + m.u_TexRange[2] = y / _, + m.u_TexRange[3] = b / _, + m.u_offset[0] = w, + m.u_offset[1] = x, + F.enabled && !this._isMain && p.addTexture(t, (h._byteLength >> 2) - 16), + this._curSubmit = p, + p._renderType = 10017, + p._numEle += 6 + } + } else + this.sprite && i.timer.callLater(this, this._repaintSprite) + } + , + o.setShader = function(t) { + W.save(this, 1048576, this._shader2D, !0), + this._shader2D.shader = t + } + , + o.setFilters = function(t) { + W.save(this, 2097152, this._shader2D, !0), + this._shader2D.filters = t, + this._curSubmit = rt.RENDERBASE, + this._renderKey = 0, + this._drawCount++ + } + , + o.drawTexture = function(t, e, i, n, a, r, s) { + this._drawTextureM(t, e, i, n, a, r, s, null, 1) + } + , + o.addTextureVb = function(t, e, i) { + var n = this._curSubmit._vb || this._vb + , a = n._byteLength >> 2; + n.byteLength = a + 16 << 2; + for (var r = n.getFloat32Array(), s = 0; s < 16; s += 4) + r[a++] = t[s] + e, + r[a++] = t[s + 1] + i, + r[a++] = t[s + 2], + r[a++] = t[s + 3]; + this._curSubmit._numEle += 6, + this._maxNumEle = Math.max(this._maxNumEle, this._curSubmit._numEle), + n._upload = !0 + } + , + o.willDrawTexture = function(t, e) { + if (!(t.loaded && t.bitmap && t.source)) + return this.sprite && i.timer.callLater(this, this._repaintSprite), + 0; + var n = t.bitmap + , a = n.id + this._shader2D.ALPHA * e + 10016; + if (a == this._renderKey) + return a; + var r = this._shader2D + , s = r.ALPHA + , o = this._curSubmit.shaderValue; + r.ALPHA *= e, + this._renderKey = a, + this._drawCount++, + r.glTexture = n; + var l = this._vb + , h = null + , c = l._byteLength / 32 * 3; + return h = Bt.create(this, this._ib, l, c, Ct.create(1, 0)), + this._submits[this._submits._length++] = h, + h.shaderValue.textureHost = t, + h._renderType = 10016, + h._preIsSameTextureShader = 10016 === this._curSubmit._renderType && r.ALPHA === o.ALPHA, + this._curSubmit = h, + r.ALPHA = s, + a + } + , + o.drawTextures = function(t, n, a, r) { + if (t.loaded && t.bitmap && t.source) { + var s = this._clipRect; + if (this._clipRect = e.MAXCLIPRECT, + this._drawTextureM(t, n[0], n[1], t.width, t.height, a, r, null, 1)) { + if (this._clipRect = s, + D.drawCall++, + !(n.length < 4)) { + for (var o = this._curSubmit._vb || this._vb, l = this._curMat.a, h = this._curMat.d, c = 2, _ = n.length; c < _; c += 2) + mt.copyPreImgVb(o, (n[c] - n[c - 2]) * l, (n[c + 1] - n[c - 1]) * h), + this._curSubmit._numEle += 6; + this._maxNumEle = Math.max(this._maxNumEle, this._curSubmit._numEle) + } + } else + alert("drawTextures err") + } else + this.sprite && i.timer.callLater(this, this._repaintSprite) + } + , + o._drawTextureM = function(t, e, n, a, r, s, o, l, h) { + if (!t.loaded || !t.source) + return this.sprite && i.timer.callLater(this, this._repaintSprite), + !1; + var c = this._curSubmit._vb || this._vb + , _ = t.bitmap; + e += s, + n += o, + this._drawCount++; + var u = _.id + this._shader2D.ALPHA * h + 10016; + if (u != this._renderKey) { + this._renderKey = u; + var d = this._curSubmit.shaderValue + , f = this._shader2D + , p = f.ALPHA; + f.ALPHA *= h, + f.glTexture = _; + var m = this._vb + , g = null + , y = m._byteLength / 32 * 3; + g = Bt.create(this, this._ib, m, y, Ct.create(1, 0)), + this._submits[this._submits._length++] = g, + g.shaderValue.textureHost = t, + g._renderType = 10016, + g._preIsSameTextureShader = 10016 === this._curSubmit._renderType && f.ALPHA === d.ALPHA, + this._curSubmit = g, + c = this._curSubmit._vb || this._vb, + f.ALPHA = p + } + return !!mt.fillRectImgVb(c, this._clipRect, e, n, a || t.width, r || t.height, t.uv, l || this._curMat, this._x, this._y, 0, 0) && (F.enabled && !this._isMain && this._curSubmit.addTexture(t, (c._byteLength >> 2) - 16), + this._curSubmit._numEle += 6, + this._maxNumEle = Math.max(this._maxNumEle, this._curSubmit._numEle), + !0) + } + , + o._repaintSprite = function() { + this.sprite && this.sprite.repaint() + } + , + o._drawText = function(t, e, i, n, a, r, s, o, l, h) { + var c = t.bitmap; + this._drawCount++; + var _ = c.id + this._shader2D.ALPHA + 10016; + if (_ != this._renderKey) { + this._renderKey = _; + var u = this._curSubmit.shaderValue + , d = this._shader2D; + d.glTexture = c; + var f = this._vb + , p = null + , m = f._byteLength / 32 * 3; + (p = F.enabled ? Bt.create(this, this._ib, f, m, Ct.create(1, 0)) : Bt.create(this, this._ib, f, m, Kt.create()))._preIsSameTextureShader = 10016 === this._curSubmit._renderType && d.ALPHA === u.ALPHA, + this._submits[this._submits._length++] = p, + p.shaderValue.textureHost = t, + p._renderType = 10016, + this._curSubmit = p + } + t.active(); + var g = this._curSubmit._vb || this._vb; + mt.fillRectImgVb(g, this._clipRect, e + s, i + o, n || t.width, a || t.height, t.uv, r || this._curMat, this._x, this._y, l, h, !0) && (F.enabled && !this._isMain && this._curSubmit.addTexture(t, (g._byteLength >> 2) - 16), + this._curSubmit._numEle += 6, + this._maxNumEle = Math.max(this._maxNumEle, this._curSubmit._numEle)) + } + , + o.drawTextureWithTransform = function(t, i, n, a, r, s, o, l, h) { + if (s) { + var c = this._curMat + , _ = this._x + , u = this._y; + (0 !== o || 0 !== l) && (this._x = o * c.a + l * c.c, + this._y = l * c.d + o * c.b), + s && c.bTransform ? (b.mul(s, c, e._tmpMatrix), + (s = e._tmpMatrix)._checkTransform()) : (this._x += c.tx, + this._y += c.ty), + this._drawTextureM(t, i, n, a, r, 0, 0, s, h), + this._x = _, + this._y = u + } else + this._drawTextureM(t, i, n, a, r, o, l, null, h) + } + , + o.fillQuadrangle = function(t, e, i, n, a) { + var r = this._curSubmit + , s = this._vb + , o = this._shader2D + , l = r.shaderValue; + if (this._renderKey = 0, + t.bitmap) { + var h = t.bitmap; + o.glTexture == h && o.ALPHA === l.ALPHA || (o.glTexture = h, + (r = this._curSubmit = rt.createSubmit(this, this._ib, s, s._byteLength / 32 * 3, Ct.create(1, 0))).shaderValue.glTexture = h, + this._submits[this._submits._length++] = r), + mt.fillQuadrangleImgVb(s, e, i, n, t.uv, a || this._curMat, this._x, this._y) + } else + r.shaderValue.fillStyle && r.shaderValue.fillStyle.equal(t) && o.ALPHA === l.ALPHA || (o.glTexture = null, + (r = this._curSubmit = rt.createSubmit(this, this._ib, s, s._byteLength / 32 * 3, Ct.create(2, 0))).shaderValue.defines.add(2), + r.shaderValue.fillStyle = z.create(t), + this._submits[this._submits._length++] = r), + mt.fillQuadrangleImgVb(s, e, i, n, k.DEF_UV, a || this._curMat, this._x, this._y); + r._numEle += 6 + } + , + o.drawTexture2 = function(t, i, n, a, r, s, o, l) { + if (0 != s) { + var h = this._curMat; + if (this._x = t * h.a + i * h.c, + this._y = i * h.d + t * h.b, + r && (h.bTransform || r.bTransform ? (b.mul(r, h, e._tmpMatrix), + r = e._tmpMatrix) : (this._x += r.tx + h.tx, + this._y += r.ty + h.ty, + r = b.EMPTY)), + 1 !== s || o) { + var c = this._shader2D.ALPHA + , _ = this._nBlendType; + this._shader2D.ALPHA = s, + o && (this._nBlendType = G.TOINT(o)), + this._drawTextureM(l[0], l[1] - n, l[2] - a, l[3], l[4], 0, 0, r, 1), + this._shader2D.ALPHA = c, + this._nBlendType = _ + } else + this._drawTextureM(l[0], l[1] - n, l[2] - a, l[3], l[4], 0, 0, r, 1); + this._x = this._y = 0 + } + } + , + o.drawCanvas = function(t, e, i, n, a) { + var r = t.context; + if (this._renderKey = 0, + r._targets) + this._submits[this._submits._length++] = At.create(r, 0, null), + this._curSubmit = rt.RENDERBASE, + r._targets.drawTo(this, e, i, n, a); + else { + var s = this._submits[this._submits._length++] = At.create(r, this._shader2D.ALPHA, this._shader2D.filters) + , o = n / t.width + , l = a / t.height + , h = s._matrix; + this._curMat.copyTo(h), + 1 != o && 1 != l && h.scale(o, l); + var c = h.tx + , _ = h.ty; + h.tx = h.ty = 0, + h.transformPoint(w.TEMP.setTo(e, i)), + h.translate(w.TEMP.x + c, w.TEMP.y + _), + this._curSubmit = rt.RENDERBASE + } + d.showCanvasMark && (this.save(), + this.lineWidth = 4, + this.strokeStyle = r._targets ? "yellow" : "green", + this.strokeRect(e - 1, i - 1, n + 2, a + 2, 1), + this.strokeRect(e, i, n, a, 1), + this.restore()) + } + , + o.drawTarget = function(t, e, i, n, a, r, s, o, l, h) { + void 0 === h && (h = -1); + var c = this._vb; + if (mt.fillRectImgVb(c, this._clipRect, e, i, n, a, l || k.DEF_UV, r || this._curMat, this._x, this._y, 0, 0)) { + this._renderKey = 0; + this._shader2D.glTexture = null; + this._curSubmit.shaderValue; + var _ = this._curSubmit = _t.create(this, this._ib, c, (c._byteLength - 64) / 32 * 3, o, s); + _.blendType = -1 == h ? this._nBlendType : h, + _.scope = t, + this._submits[this._submits._length++] = _, + this._curSubmit._numEle += 6 + } + } + , + o.mixRGBandAlpha = function(t) { + return this._mixRGBandAlpha(t, this._shader2D.ALPHA) + } + , + o._mixRGBandAlpha = function(t, e) { + var i = (4278190080 & t) >>> 24; + return 0 != i ? i *= e : i = 255 * e, + 16777215 & t | i << 24 + } + , + o.drawTriangles = function(t, n, a, r, s, o, l, h, c, _) { + if (!t.loaded || !t.source) + return this.sprite && i.timer.callLater(this, this._repaintSprite), + !1; + this._drawCount++; + t.bitmap; + var u = this._mixRGBandAlpha(4294967295, h) + , d = (r.length, + o.length); + this._renderKey = -1; + var f = this._curSubmit = Bt.create(this, this._triangleMesh.getIBR(), this._triangleMesh.getVBR(), this._triangleMesh.indexNum, Ct.create(1, 0)); + return f.shaderValue.textureHost = t, + f._renderType = 10016, + this._submits[this._submits._length++] = f, + l ? (e._tmpMatrix.a = l.a, + e._tmpMatrix.b = l.b, + e._tmpMatrix.c = l.c, + e._tmpMatrix.d = l.d, + e._tmpMatrix.tx = l.tx + n, + e._tmpMatrix.ty = l.ty + a, + b.mul(e._tmpMatrix, this._curMat, e._tmpMatrix)) : (e._tmpMatrix.a = this._curMat.a, + e._tmpMatrix.b = this._curMat.b, + e._tmpMatrix.c = this._curMat.c, + e._tmpMatrix.d = this._curMat.d, + e._tmpMatrix.tx = this._curMat.tx + n, + e._tmpMatrix.ty = this._curMat.ty + a), + this._triangleMesh.addData(r, s, o, e._tmpMatrix, u, this), + this._curSubmit._numEle += d, + this._maxNumEle = Math.max(this._maxNumEle, this._curSubmit._numEle), + !0 + } + , + o.transform = function(t, e, i, n, a, r) { + J.save(this), + b.mul(b.TEMP.setTo(t, e, i, n, a, r), this._curMat, this._curMat), + this._curMat._checkTransform() + } + , + o.setTransformByMatrix = function(t) { + t.copyTo(this._curMat) + } + , + o.transformByMatrix = function(t) { + J.save(this), + b.mul(t, this._curMat, this._curMat), + this._curMat._checkTransform() + } + , + o.rotate = function(t) { + J.save(this), + this._curMat.rotateEx(t) + } + , + o.scale = function(t, e) { + J.save(this), + this._curMat.scaleEx(t, e) + } + , + o.clipRect = function(t, e, i, n) { + if (0 != this._curMat.b || 0 != this._curMat.c) { + this._renderKey = 0; + var a = ct.create(4); + this.addRenderObject(a); + var r = this._vb + , s = r._byteLength >> 2; + if (mt.fillRectImgVb(r, null, t, e, i, n, k.DEF_UV, this._curMat, this._x, this._y, 0, 0)) { + this._shader2D.glTexture = null; + var o = this._curSubmit = rt.createSubmit(this, this._ib, r, (r._byteLength - 64) / 32 * 3, Ct.create(2, 0)); + o.shaderValue.ALPHA = 1, + this._submits[this._submits._length++] = o, + this._curSubmit._numEle += 6 + } else + alert("clipRect calc stencil rect error"); + var l = ct.create(5); + this.addRenderObject(l); + var h = r.getFloat32Array() + , c = Math.min(Math.min(Math.min(h[s + 0], h[s + 4]), h[s + 8]), h[s + 12]) + , _ = Math.max(Math.max(Math.max(h[s + 0], h[s + 4]), h[s + 8]), h[s + 12]) + , u = Math.min(Math.min(Math.min(h[s + 1], h[s + 5]), h[s + 9]), h[s + 13]) + , d = Math.max(Math.max(Math.max(h[s + 1], h[s + 5]), h[s + 9]), h[s + 13]); + q.save(this, l, t, e, i, n, c, u, _ - c, d - u), + this._curSubmit = rt.RENDERBASE + } else { + i *= this._curMat.a, + n *= this._curMat.d; + var f = w.TEMP; + this._curMat.transformPoint(f.setTo(t, e)), + i < 0 && (f.x = f.x + i, + i = -i), + n < 0 && (f.y = f.y + n, + n = -n), + this._renderKey = 0; + var p = this._curSubmit = ht.create(this); + this._submits[this._submits._length++] = p, + p.submitIndex = this._submits._length, + p.submitLength = 9999999, + X.save(this, p); + var m = this._clipRect + , g = m.x + , y = m.y + , v = f.x + i + , b = f.y + n; + g < f.x && (m.x = f.x), + y < f.y && (m.y = f.y), + m.width = Math.min(v, g + m.width) - m.x, + m.height = Math.min(b, y + m.height) - m.y, + this._shader2D.glTexture = null, + p.clipRect.copyFrom(m), + this._curSubmit = rt.RENDERBASE + } + } + , + o.setIBVB = function(t, e, i, n, a, r, s, o, l, h, c) { + if (void 0 === l && (l = 0), + void 0 === h && (h = 0), + void 0 === c && (c = 0), + null === i) { + if (I.isFlash) { + var _ = n; + _._selfIB || (_._selfIB = Qt.create(35044)), + _._selfIB.clear(), + i = _._selfIB + } else + i = this._ib; + mt.expandIBQuadrangle(i, n._byteLength / (4 * n.vertexStride * 4)) + } + if (!o || !s) + throw Error("setIBVB must input:shader shaderValues"); + var u = lt.create(this, n, i, a, s, o, l, h, c); + r || (r = b.EMPTY), + r.translate(t, e), + b.mul(r, this._curMat, u._mat), + r.translate(-t, -e), + this._submits[this._submits._length++] = u, + this._curSubmit = rt.RENDERBASE, + this._renderKey = 0 + } + , + o.addRenderObject = function(t) { + this._submits[this._submits._length++] = t + } + , + o.fillTrangles = function(t, e, i, n, a) { + var r = this._curSubmit + , s = this._vb + , o = this._shader2D + , l = r.shaderValue + , h = n.length >> 4 + , c = t.bitmap; + this._renderKey = 0, + o.glTexture == c && o.ALPHA === l.ALPHA || ((r = this._curSubmit = rt.createSubmit(this, this._ib, s, s._byteLength / 32 * 3, Ct.create(1, 0))).shaderValue.textureHost = t, + this._submits[this._submits._length++] = r), + mt.fillTranglesVB(s, e, i, n, a || this._curMat, this._x, this._y), + r._numEle += 6 * h + } + , + o.submitElement = function(t, e) { + var i = this._submits; + for (e < 0 && (e = i._length); t < e; ) + t += i[t].renderSubmit() + } + , + o.finish = function() { + bt.mainContext.finish() + } + , + o.flush = function() { + var t = Math.max(this._vb._byteLength / 64, this._maxNumEle / 6) + 8; + if (t > this._ib.bufferLength / 12 && mt.expandIBQuadrangle(this._ib, t), + !this._isMain && F.enabled && F._atlasRestore > this._atlasResourceChange) { + this._atlasResourceChange = F._atlasRestore; + for (var e = this._submits, i = 0, n = e._length; i < n; i++) { + var a = e[i]; + 10016 === a.getRenderType() && a.checkTexture() + } + } + this.submitElement(0, this._submits._length), + this._path && this._path.reset(), + et.instance && et.getInstance().reset(); + var r = 0; + for (i = 0, + r = this.meshlist.length; i < r; i++) { + var s = this.meshlist[i]; + s.canReuse ? s.releaseMesh() : s.destroy() + } + return this.meshlist.length = 0, + this._curSubmit = rt.RENDERBASE, + this._renderKey = 0, + this._triangleMesh = kt.getAMesh(), + this.meshlist.push(this._triangleMesh), + this._submits._length + } + , + o.setPathId = function(t) { + if (this.mId = t, + -1 != this.mId) { + this.mHaveKey = !1; + var e = P.getInstance(); + e.shapeDic[this.mId] && (this.mHaveKey = !0), + this.mHaveLineKey = !1, + e.shapeLineDic[this.mId] && (this.mHaveLineKey = !0) + } + } + , + o.movePath = function(t, e) { + var i = t + , n = e; + t = this._curMat.a * i + this._curMat.c * n + this._curMat.tx, + e = this._curMat.b * i + this._curMat.d * n + this._curMat.ty, + this.mX += t, + this.mY += e + } + , + o.beginPath = function() { + var t = this._getPath(); + t.tempArray.length = 0, + t.closePath = !1, + this.mX = 0, + this.mY = 0 + } + , + o.closePath = function() { + this._path.closePath = !0 + } + , + o.fill = function(t) { + void 0 === t && (t = !1); + var e = this._getPath(); + this.drawPoly(0, 0, e.tempArray, this.fillStyle._color.numColor, 0, 0, t) + } + , + o.stroke = function() { + var t = this._getPath(); + if (this.lineWidth > 0) { + if (-1 == this.mId) + t.drawLine(0, 0, t.tempArray, this.lineWidth, this.strokeStyle._color.numColor); + else if (this.mHaveLineKey) { + var e = P.getInstance().shapeLineDic[this.mId]; + e.rebuild(t.tempArray), + t.setGeomtry(e) + } else + P.getInstance().addLine(this.mId, t.drawLine(0, 0, t.tempArray, this.lineWidth, this.strokeStyle._color.numColor)); + t.update(); + var i = [this.mX, this.mY] + , n = rt.createShape(this, t.ib, t.vb, t.count, t.offset, Ct.create(4, 0)); + n.shaderValue.ALPHA = this._shader2D.ALPHA, + n.shaderValue.u_pos = i, + n.shaderValue.u_mmat2 = yt.TEMPMAT4_ARRAY, + this._submits[this._submits._length++] = n, + this._renderKey = -1 + } + } + , + o.line = function(t, e, i, n, a, r) { + var s = this._curSubmit + , o = this._vb; + if (mt.fillLineVb(o, this._clipRect, t, e, i, n, a, r)) { + this._renderKey = 0; + var l = this._shader2D + , h = s.shaderValue; + l.strokeStyle === h.strokeStyle && l.ALPHA === h.ALPHA || (l.glTexture = null, + (s = this._curSubmit = rt.createSubmit(this, this._ib, o, (o._byteLength - 64) / 32 * 3, Ct.create(2, 0))).shaderValue.strokeStyle = l.strokeStyle, + s.shaderValue.mainID = 2, + s.shaderValue.ALPHA = l.ALPHA, + this._submits[this._submits._length++] = s), + s._numEle += 6 + } + } + , + o.moveTo = function(t, e, i) { + void 0 === i && (i = !0); + var n = this._getPath(); + if (i) { + var a = t + , r = e; + t = this._curMat.a * a + this._curMat.c * r, + e = this._curMat.b * a + this._curMat.d * r + } + n.addPoint(t, e) + } + , + o.lineTo = function(t, e, i) { + void 0 === i && (i = !0); + var n = this._getPath(); + if (i) { + var a = t + , r = e; + t = this._curMat.a * a + this._curMat.c * r, + e = this._curMat.b * a + this._curMat.d * r + } + n.addPoint(t, e) + } + , + o.drawCurves = function(t, e, i) { + this.setPathId(-1), + this.beginPath(), + this.strokeStyle = i[3], + this.lineWidth = i[4]; + var n = i[2]; + t += i[0], + e += i[1], + this.movePath(t, e), + this.moveTo(n[0], n[1]); + for (var a = 2, r = n.length; a < r; ) + this.quadraticCurveTo(n[a++], n[a++], n[a++], n[a++]); + this.stroke() + } + , + o.arcTo = function(t, i, n, a, r) { + if (-1 == this.mId || !this.mHaveKey) { + var s = 0 + , o = 0 + , l = 0 + , h = this._getPath(); + this._curMat.copyTo(e._tmpMatrix), + e._tmpMatrix.tx = e._tmpMatrix.ty = 0, + e._tempPoint.setTo(h.getEndPointX(), h.getEndPointY()), + e._tmpMatrix.invertTransformPoint(e._tempPoint); + var c = e._tempPoint.x - t + , _ = e._tempPoint.y - i + , u = Math.sqrt(c * c + _ * _); + if (!(u <= 1e-6)) { + var d = c / u + , f = _ / u + , p = n - t + , m = a - i + , g = p * p + m * m + , y = Math.sqrt(g); + if (!(y <= 1e-6)) { + var v = p / y + , b = m / y + , w = d + v + , x = f + b + , I = Math.sqrt(w * w + x * x); + if (!(I <= 1e-6)) { + var C = w / I + , S = x / I + , M = Math.acos(C * d + S * f) + , L = Math.PI / 2 - M + , T = (u = r / Math.tan(L)) * d + t + , E = u * f + i + , D = Math.sqrt(u * u + r * r) + , N = t + C * D + , A = i + S * D + , B = 0 + , k = 0 + , R = 0; + if (d * b - f * v >= 0) { + var P = (B = 2 * L) / e.SEGNUM; + k = Math.sin(P), + R = Math.cos(P) + } else + P = (B = 2 * -L) / e.SEGNUM, + k = Math.sin(P), + R = Math.cos(P); + o = this._curMat.a * T + this._curMat.c * E, + l = this._curMat.b * T + this._curMat.d * E, + o == this._path.getEndPointX() && l == this._path.getEndPointY() || h.addPoint(o, l); + var O = T - N + , U = E - A; + for (s = 0; s < e.SEGNUM; s++) { + var V = O * R + U * k + , F = -O * k + U * R; + o = V + N, + l = F + A, + t = this._curMat.a * o + this._curMat.c * l, + l = i = this._curMat.b * o + this._curMat.d * l, + (o = t) == this._path.getEndPointX() && l == this._path.getEndPointY() || h.addPoint(o, l), + O = V, + U = F + } + } + } + } + } + } + , + o.arc = function(t, e, i, n, a, r, s) { + if (void 0 === r && (r = !1), + void 0 === s && (s = !0), + -1 != this.mId) { + var o = P.getInstance().shapeDic[this.mId]; + if (o && this.mHaveKey && !o.needUpdate(this._curMat)) + return; + t = 0, + e = 0 + } + var l = 0 + , h = 0 + , c = 0 + , _ = 0 + , u = 0 + , d = 0 + , f = 0 + , p = 0; + if (h = a - n, + r) + if (Math.abs(h) >= 2 * Math.PI) + h = 2 * -Math.PI; + else + for (; h > 0; ) + h -= 2 * Math.PI; + else if (Math.abs(h) >= 2 * Math.PI) + h = 2 * Math.PI; + else + for (; h < 0; ) + h += 2 * Math.PI; + c = h / (p = i < 101 ? Math.max(10, h * i / 5) : i < 201 ? Math.max(10, h * i / 20) : Math.max(10, h * i / 40)) / 2, + _ = Math.abs(4 / 3 * (1 - Math.cos(c)) / Math.sin(c)), + r && (_ = -_); + var m = this._getPath() + , g = NaN + , y = NaN; + for (f = 0; f <= p; f++) + l = n + h * (f / p), + u = t + Math.cos(l) * i, + d = e + Math.sin(l) * i, + s && (g = u, + y = d, + u = this._curMat.a * g + this._curMat.c * y, + d = this._curMat.b * g + this._curMat.d * y), + u == this._path.getEndPointX() && d == this._path.getEndPointY() || m.addPoint(u, d); + u = t + Math.cos(a) * i, + d = e + Math.sin(a) * i, + s && (g = u, + y = d, + u = this._curMat.a * g + this._curMat.c * y, + d = this._curMat.b * g + this._curMat.d * y), + u == this._path.getEndPointX() && d == this._path.getEndPointY() || m.addPoint(u, d) + } + , + o.quadraticCurveTo = function(t, e, i, n) { + var a = l.I + , r = i + , s = n; + i = this._curMat.a * r + this._curMat.c * s, + n = this._curMat.b * r + this._curMat.d * s, + r = t, + s = e, + t = this._curMat.a * r + this._curMat.c * s, + e = this._curMat.b * r + this._curMat.d * s; + for (var o = a.getBezierPoints([this._path.getEndPointX(), this._path.getEndPointY(), t, e, i, n], 30, 2), h = 0, c = o.length / 2; h < c; h++) + this.lineTo(o[2 * h], o[2 * h + 1], !1); + this.lineTo(i, n, !1) + } + , + o.rect = function(t, e, i, n) { + this._other = this._other.make(), + this._other.path || (this._other.path = new j), + this._other.path.rect(t, e, i, n) + } + , + o.strokeRect = function(t, e, i, n, a) { + var r = .5 * a; + this.line(t - r, e, t + i + r, e, a, this._curMat), + this.line(t + i, e, t + i, e + n, a, this._curMat), + this.line(t, e, t, e + n, a, this._curMat), + this.line(t - r, e + n, t + i + r, e + n, a, this._curMat) + } + , + o.clip = function() {} + , + o.drawPoly = function(t, e, i, n, a, r, s) { + void 0 === s && (s = !1), + this._renderKey = 0, + this._shader2D.glTexture = null; + var o = this._getPath(); + if (-1 == this.mId) + o.polygon(t, e, i, n, a || 1, r); + else if (this.mHaveKey) { + var l = P.getInstance().shapeDic[this.mId]; + l.setMatrix(this._curMat), + l.rebuild(o.tempArray), + o.setGeomtry(l) + } else { + var h = o.polygon(t, e, i, n, a || 1, r); + P.getInstance().addShape(this.mId, h), + h.setMatrix(this._curMat) + } + o.update(); + var c, _ = [this.mX, this.mY]; + if (c = rt.createShape(this, o.ib, o.vb, o.count, o.offset, Ct.create(4, 0)), + c.shaderValue.ALPHA = this._shader2D.ALPHA, + c.shaderValue.u_pos = _, + c.shaderValue.u_mmat2 = yt.EMPTYMAT4_ARRAY, + this._submits[this._submits._length++] = c, + a > 0) { + if (this.mHaveLineKey) { + var u = P.getInstance().shapeLineDic[this.mId]; + u.rebuild(o.tempArray), + o.setGeomtry(u) + } else + P.getInstance().addShape(this.mId, o.drawLine(t, e, i, a, r)); + o.update(), + (c = rt.createShape(this, o.ib, o.vb, o.count, o.offset, Ct.create(4, 0))).shaderValue.ALPHA = this._shader2D.ALPHA, + c.shaderValue.u_mmat2 = yt.EMPTYMAT4_ARRAY, + this._submits[this._submits._length++] = c + } + } + , + o.drawParticle = function(t, e, i) { + i.x = t, + i.y = e, + this._submits[this._submits._length++] = i + } + , + o._getPath = function() { + return this._path || (this._path = new j) + } + , + r(0, o, "globalCompositeOperation", function() { + return G.NAMES[this._nBlendType] + }, function(t) { + var e = G.TOINT[t]; + null == e || this._nBlendType === e || (W.save(this, 65536, this, !0), + this._curSubmit = rt.RENDERBASE, + this._renderKey = 0, + this._nBlendType = e) + }), + r(0, o, "strokeStyle", function() { + return this._shader2D.strokeStyle + }, function(t) { + this._shader2D.strokeStyle.equal(t) || (W.save(this, 512, this._shader2D, !1), + this._shader2D.strokeStyle = z.create(t)) + }), + r(0, o, "globalAlpha", function() { + return this._shader2D.ALPHA + }, function(t) { + (t = Math.floor(1e3 * t) / 1e3) != this._shader2D.ALPHA && (W.save(this, 1, this._shader2D, !0), + this._shader2D.ALPHA = t) + }), + r(0, o, "asBitmap", null, function(t) { + if (t) { + if (this._targets || (this._targets = new Z), + this._targets.repaint = !0, + !this._width || !this._height) + throw Error("asBitmap no size!"); + this._targets.setSP(this.sprite), + this._targets.size(this._width, this._height) + } else + this._targets = null + }), + r(0, o, "fillStyle", function() { + return this._shader2D.fillStyle + }, function(t) { + this._shader2D.fillStyle.equal(t) || (W.save(this, 2, this._shader2D, !1), + this._shader2D.fillStyle = z.create(t)) + }), + r(0, o, "textAlign", function() { + return this._other.textAlign + }, function(t) { + this._other.textAlign === t || (this._other = this._other.make(), + W.save(this, 32768, this._other, !1), + this._other.textAlign = t) + }), + r(0, o, "lineWidth", function() { + return this._other.lineWidth + }, function(t) { + this._other.lineWidth === t || (this._other = this._other.make(), + W.save(this, 256, this._other, !1), + this._other.lineWidth = t) + }), + r(0, o, "textBaseline", function() { + return this._other.textBaseline + }, function(t) { + this._other.textBaseline === t || (this._other = this._other.make(), + W.save(this, 16384, this._other, !1), + this._other.textBaseline = t) + }), + r(0, o, "font", null, function(t) { + t != this._other.font.toString() && (this._other = this._other.make(), + W.save(this, 8, this._other, !1), + this._other.font === ft.EMPTY ? this._other.font = new ft(t) : this._other.font.setFont(t)) + }), + e.__init__ = function() { + s.DEFAULT = new s + } + , + e._tempPoint = new w, + e._SUBMITVBSIZE = 32e3, + e._MAXSIZE = 99999999, + e._RECTVBSIZE = 16, + e.MAXCLIPRECT = new x(0,0,99999999,99999999), + e._COUNT = 0, + e._tmpMatrix = new b, + e.SEGNUM = 32, + e._contextcount = 0, + n(e, ["_fontTemp", function() { + return this._fontTemp = new ft + } + , "_drawStyleTemp", function() { + return this._drawStyleTemp = new z(null) + } + ]), + e.__init$ = function() { + s = function() { + function t() { + this.lineWidth = 1, + this.path = null, + this.textAlign = null, + this.textBaseline = null, + this.font = ft.EMPTY + } + a(t, ""); + var e = t.prototype; + return e.clear = function() { + this.lineWidth = 1, + this.path && this.path.clear(), + this.textAlign = this.textBaseline = null, + this.font = ft.EMPTY + } + , + e.make = function() { + return this === t.DEFAULT ? new t : this + } + , + t.DEFAULT = null, + t + }() + } + , + e + }() + , Ct = function(t) { + function e(t, i) { + this.size = [0, 0], + this.alpha = 1, + this.ALPHA = 1, + this.subID = 0, + this._cacheID = 0, + e.__super.call(this), + this.defines = new Tt, + this.position = e._POSITION, + this.mainID = t, + this.subID = i, + this.textureHost = null, + this.texture = null, + this.fillStyle = null, + this.color = null, + this.strokeStyle = null, + this.colorAdd = null, + this.glTexture = null, + this.u_mmat2 = null, + this._cacheID = t | i, + this._inClassCache = e._cache[this._cacheID], + t > 0 && !this._inClassCache && (this._inClassCache = e._cache[this._cacheID] = [], + this._inClassCache._length = 0), + this.clear() + } + a(e, "laya.webgl.shader.d2.value.Value2D", U); + var i = e.prototype; + return i.setValue = function(t) {} + , + i.refresh = function() { + var t = this.size; + return t[0] = yt.width, + t[1] = yt.height, + this.alpha = this.ALPHA * yt.worldAlpha, + this.mmat = yt.worldMatrix4, + this + } + , + i._ShaderWithCompile = function() { + return Yt.withCompile2D(0, this.mainID, this.defines.toNameDic(), this.mainID | this.defines._value, Zt.create) + } + , + i._withWorldShaderDefines = function() { + var t = yt.worldShaderDefines + , e = Yt.sharders[this.mainID | this.defines._value | t.getValue()]; + if (!e) { + var i, n, a = {}; + i = this.defines.toNameDic(); + for (n in i) + a[n] = ""; + i = t.toNameDic(); + for (n in i) + a[n] = ""; + e = Yt.withCompile2D(0, this.mainID, a, this.mainID | this.defines._value | t.getValue(), Zt.create) + } + var r = yt.worldFilters; + if (!r) + return e; + for (var s, o = r.length, l = 0; l < o; l++) + (s = r[l]) && s.action.setValue(this); + return e + } + , + i.upload = function() { + var t = yt; + this.alpha = this.ALPHA * t.worldAlpha, + yt.worldMatrix4 !== yt.TEMPMAT4_ARRAY && this.defines.add(128), + bt.shaderHighPrecision && this.defines.add(1024); + var e, i = t.worldShaderDefines ? this._withWorldShaderDefines() : Yt.sharders[this.mainID | this.defines._value] || this._ShaderWithCompile(); + this.size[0] = t.width, + this.size[1] = t.height, + this.mmat = t.worldMatrix4, + Rt.activeShader !== i ? (i._shaderValueWidth !== t.width || i._shaderValueHeight !== t.height ? (i._shaderValueWidth = t.width, + i._shaderValueHeight = t.height) : e = i._params2dQuick2 || i._make2dQuick2(), + i.upload(this, e)) : (i._shaderValueWidth !== t.width || i._shaderValueHeight !== t.height ? (i._shaderValueWidth = t.width, + i._shaderValueHeight = t.height) : e = i._params2dQuick1 || i._make2dQuick1(), + i.upload(this, e)) + } + , + i.setFilters = function(t) { + if (this.filters = t, + t) + for (var e, i = t.length, n = 0; n < i; n++) + (e = t[n]) && (this.defines.add(e.type), + e.action.setValue(this)) + } + , + i.clear = function() { + this.defines.setValue(this.subID) + } + , + i.release = function() { + this._inClassCache[this._inClassCache._length++] = this, + this.fillStyle = null, + this.strokeStyle = null, + this.clear() + } + , + e._initone = function(t, i) { + e._typeClass[t] = i, + e._cache[t] = [], + e._cache[t]._length = 0 + } + , + e.__init__ = function() { + e._POSITION = [2, 5126, !1, 4 * pt.BYTES_PE, 0], + e._TEXCOORD = [2, 5126, !1, 4 * pt.BYTES_PE, 2 * pt.BYTES_PE], + e._initone(2, Vt), + e._initone(4, Gt), + e._initone(256, Ft), + e._initone(512, Ut), + e._initone(1, Ht), + e._initone(65, Kt), + e._initone(9, Ht) + } + , + e.create = function(t, i) { + var n = e._cache[t | i]; + return n._length ? n[--n._length] : new e._typeClass[t | i](i) + } + , + e._POSITION = null, + e._TEXCOORD = null, + e._cache = [], + e._typeClass = [], + e.TEMPMAT4_ARRAY = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], + e + }() + , St = function(t) { + function e(t, i) { + e.__super.call(this, t, i) + } + a(e, "laya.webgl.utils.RenderSprite3D", C); + var i = e.prototype; + return i.onCreate = function(t) { + switch (t) { + case 8: + return void (this._fun = this._blend); + case 4: + return void (this._fun = this._transform) + } + } + , + i._mask = function(t, i, n, a) { + var r, s, o = this._next, l = t.mask; + if (l) { + i.ctx.save(); + var h = i.ctx.globalCompositeOperation + , c = new x; + if (c.copyFrom(l.getBounds()), + c.width = Math.round(c.width), + c.height = Math.round(c.height), + c.x = Math.round(c.x), + c.y = Math.round(c.y), + c.width > 0 && c.height > 0) { + var _ = t._style._tf + , u = ot.create(); + u.addValue("bounds", c), + r = st.create([u, i], laya.webgl.utils.RenderSprite3D.tmpTarget), + i.addRenderObject(r), + l.render(i, -c.x, -c.y), + r = st.create([u], laya.webgl.utils.RenderSprite3D.endTmpTarget), + i.addRenderObject(r), + i.ctx.save(), + i.clipRect(n - _.translateX + c.x, a - _.translateY + c.y, c.width, c.height), + o._fun.call(o, t, i, n, a), + i.ctx.restore(), + s = ct.create(6), + h = i.ctx.globalCompositeOperation, + s.blendMode = "mask", + i.addRenderObject(s), + b.TEMP.identity(); + var d = Ct.create(1, 0) + , f = k.INV_UV + , p = c.width + , m = c.height; + (c.width < 32 || c.height < 32) && ((f = e.tempUV)[0] = 0, + f[1] = 0, + f[2] = c.width >= 32 ? 1 : c.width / 32, + f[3] = 0, + f[4] = c.width >= 32 ? 1 : c.width / 32, + f[5] = c.height >= 32 ? 1 : c.height / 32, + f[6] = 0, + f[7] = c.height >= 32 ? 1 : c.height / 32, + c.width = c.width >= 32 ? c.width : 32, + c.height = c.height >= 32 ? c.height : 32, + f[1] *= -1, + f[3] *= -1, + f[5] *= -1, + f[7] *= -1, + f[1] += 1, + f[3] += 1, + f[5] += 1, + f[7] += 1), + i.ctx.drawTarget(u, n + c.x - _.translateX, a + c.y - _.translateY, p, m, b.TEMP, "tmpTarget", d, f, 6), + r = st.create([u], laya.webgl.utils.RenderSprite3D.recycleTarget), + i.addRenderObject(r), + (s = ct.create(6)).blendMode = h, + i.addRenderObject(s) + } + i.ctx.restore() + } else + o._fun.call(o, t, i, n, a) + } + , + i._blend = function(t, e, i, n) { + var a = t._style + , r = this._next; + a.blendMode ? (e.ctx.save(), + e.ctx.globalCompositeOperation = a.blendMode, + r._fun.call(r, t, e, i, n), + e.ctx.restore()) : r._fun.call(r, t, e, i, n) + } + , + i._transform = function(t, e, i, n) { + var a = t.transform + , r = this._next; + if (a && r != C.NORENDER) { + var s = e.ctx; + t._style; + a.tx = i, + a.ty = n; + var o = s._getTransformMatrix() + , l = o.clone(); + b.mul(a, o, o), + o._checkTransform(), + a.tx = a.ty = 0, + r._fun.call(r, t, e, 0, 0), + l.copyTo(o), + l.destroy() + } else + r._fun.call(r, t, e, i, n) + } + , + e.tmpTarget = function(t, e) { + var i = t.getValue("bounds") + , n = Pt.create(i.width, i.height); + n.start(), + n.clear(0, 0, 0, 0), + t.addValue("tmpTarget", n) + } + , + e.endTmpTarget = function(t) { + t.getValue("tmpTarget").end() + } + , + e.recycleTarget = function(t) { + t.getValue("tmpTarget").recycle(), + t.recycle() + } + , + n(e, ["tempUV", function() { + return this.tempUV = new Array(8) + } + ]), + e + }() + , Mt = function(t) { + function e() { + this.data = null, + e.__super.call(this) + } + a(e, "laya.filters.webgl.ColorFilterActionGL", O); + var n = e.prototype; + return i.imps(n, { + "laya.filters.IFilterActionGL": !0 + }), + n.setValue = function(t) { + t.colorMat = this.data._mat, + t.colorAlpha = this.data._alpha + } + , + n.apply3d = function(t, e, i, n, a) { + var r = t.getValue("bounds") + , s = Ct.create(1, 0); + s.setFilters([this.data]); + var o = b.TEMP; + o.identity(), + i.ctx.drawTarget(t, 0, 0, r.width, r.height, o, "src", s) + } + , + e + }() + , Lt = function(t) { + function e(t, i, n, a, r) { + this._atlasCanvas = null, + this._inAtlasTextureKey = null, + this._inAtlasTextureBitmapValue = null, + this._inAtlasTextureOriUVValue = null, + this._InAtlasWebGLImagesKey = null, + this._InAtlasWebGLImagesOffsetValue = null, + e.__super.call(this, t, i, r), + this._inAtlasTextureKey = [], + this._inAtlasTextureBitmapValue = [], + this._inAtlasTextureOriUVValue = [], + this._InAtlasWebGLImagesKey = {}, + this._InAtlasWebGLImagesOffsetValue = [], + this._atlasCanvas = new zt, + this._atlasCanvas._atlaser = this, + this._atlasCanvas.width = n, + this._atlasCanvas.height = a, + this._atlasCanvas.activeResource(), + this._atlasCanvas.lock = !0 + } + a(e, "laya.webgl.atlas.Atlaser", V); + var i = e.prototype; + return i.computeUVinAtlasTexture = function(t, e, i, n) { + var a = F.atlasTextureWidth + , r = F.atlasTextureHeight + , s = i / a + , o = n / r + , l = (i + t.bitmap.width) / a + , h = (n + t.bitmap.height) / r + , c = t.bitmap.width / a + , _ = t.bitmap.height / r; + t.uv = [s + e[0] * c, o + e[1] * _, l - (1 - e[2]) * c, o + e[3] * _, l - (1 - e[4]) * c, h - (1 - e[5]) * _, s + e[6] * c, h - (1 - e[7]) * _] + } + , + i.findBitmapIsExist = function(t) { + if (t instanceof laya.webgl.resource.WebGLImage) { + var e = t + , i = e.url + , n = this._InAtlasWebGLImagesKey[i || e.id]; + if (n) + return n.offsetInfoID + } + return -1 + } + , + i.addToAtlasTexture = function(t, e, i) { + if (t instanceof laya.webgl.resource.WebGLImage) { + var n = t + , a = n.url; + this._InAtlasWebGLImagesKey[a || n.id] = { + bitmap: t, + offsetInfoID: this._InAtlasWebGLImagesOffsetValue.length + }, + this._InAtlasWebGLImagesOffsetValue.push([e, i]) + } + this._atlasCanvas.texSubImage2D(e, i, t.atlasSource), + t.clearAtlasSource() + } + , + i.addToAtlas = function(t, e, i) { + t._atlasID = this._inAtlasTextureKey.length; + var n = t.uv.slice() + , a = t.bitmap; + this._inAtlasTextureKey.push(t), + this._inAtlasTextureOriUVValue.push(n), + this._inAtlasTextureBitmapValue.push(a), + this.computeUVinAtlasTexture(t, n, e, i), + t.bitmap = this._atlasCanvas + } + , + i.clear = function() { + for (var t = 0, e = this._inAtlasTextureKey.length; t < e; t++) + this._inAtlasTextureKey[t].bitmap = this._inAtlasTextureBitmapValue[t], + this._inAtlasTextureKey[t].uv = this._inAtlasTextureOriUVValue[t], + this._inAtlasTextureKey[t]._atlasID = -1, + this._inAtlasTextureKey[t].bitmap.lock = !1, + this._inAtlasTextureKey[t].bitmap.releaseResource(); + this._inAtlasTextureKey.length = 0, + this._inAtlasTextureBitmapValue.length = 0, + this._inAtlasTextureOriUVValue.length = 0, + this._InAtlasWebGLImagesKey = null, + this._InAtlasWebGLImagesOffsetValue.length = 0 + } + , + i.dispose = function() { + this.clear(), + this._atlasCanvas.destroy() + } + , + r(0, i, "InAtlasWebGLImagesOffsetValue", function() { + return this._InAtlasWebGLImagesOffsetValue + }), + r(0, i, "texture", function() { + return this._atlasCanvas + }), + r(0, i, "inAtlasWebGLImagesKey", function() { + return this._InAtlasWebGLImagesKey + }), + e + }() + , Tt = function(t) { + function e() { + e.__super.call(this, e.__name2int, e.__int2name, e.__int2nameMap) + } + return a(e, "laya.webgl.shader.d2.ShaderDefines2D", $), + e.__init__ = function() { + e.reg("TEXTURE2D", 1), + e.reg("COLOR2D", 2), + e.reg("PRIMITIVE", 4), + e.reg("GLOW_FILTER", 8), + e.reg("BLUR_FILTER", 16), + e.reg("COLOR_FILTER", 32), + e.reg("COLOR_ADD", 64), + e.reg("WORLDMAT", 128), + e.reg("FILLTEXTURE", 256), + e.reg("FSHIGHPRECISION", 1024) + } + , + e.reg = function(t, i) { + $._reg(t, i, e.__name2int, e.__int2name) + } + , + e.toText = function(t, e, i) { + return $._toText(t, e, i) + } + , + e.toInt = function(t) { + return $._toInt(t, e.__name2int) + } + , + e.TEXTURE2D = 1, + e.COLOR2D = 2, + e.PRIMITIVE = 4, + e.FILTERGLOW = 8, + e.FILTERBLUR = 16, + e.FILTERCOLOR = 32, + e.COLORADD = 64, + e.WORLDMAT = 128, + e.FILLTEXTURE = 256, + e.SKINMESH = 512, + e.SHADERDEFINE_FSHIGHPRECISION = 1024, + e.__name2int = {}, + e.__int2name = [], + e.__int2nameMap = [], + e + }() + , Et = (function(t) { + function e(t, i, n, a, r, s, o) { + e.__super.call(this, t, i, n, a, 40, r, s, o) + } + a(e, "laya.webgl.shapes.Ellipse", it) + }(), + function(t) { + function e(t, i, n, a, r) { + this._points = [], + this.rebuild(n), + e.__super.call(this, t, i, 0, 0, 0, r, a, r, 0) + } + a(e, "laya.webgl.shapes.Line", it); + var i = e.prototype; + return i.rebuild = function(t) { + var e = t.length; + e != this._points.length && (this.mUint16Array = new Uint16Array(6 * (e / 2 - 1)), + this.mFloat32Array = new Float32Array(5 * e)), + this._points.length = 0; + for (var i = NaN, n = NaN, a = -1, r = -1, s = t.length / 2, o = 0; o < s; o++) + i = t[2 * o], + n = t[2 * o + 1], + (Math.abs(a - i) > .01 || Math.abs(r - n) > .01) && this._points.push(i, n), + a = i, + r = n + } + , + i.getData = function(t, e, i) { + var n = [] + , a = []; + this.borderWidth > 0 && this.createLine2(this._points, n, this.borderWidth, i, a, this._points.length / 2), + this.mUint16Array.set(n, 0), + this.mFloat32Array.set(a, 0), + t.append(this.mUint16Array), + e.append(this.mFloat32Array) + } + , + e + }()) + , Dt = function(t) { + function e(t, i, n, a, r) { + this._points = []; + for (var s = NaN, o = NaN, l = -1, h = -1, c = n.length / 2 - 1, _ = 0; _ < c; _++) + s = n[2 * _], + o = n[2 * _ + 1], + (Math.abs(l - s) > .01 || Math.abs(h - o) > .01) && this._points.push(s, o), + l = s, + h = o; + s = n[2 * c], + o = n[2 * c + 1], + l = this._points[0], + h = this._points[1], + (Math.abs(l - s) > .01 || Math.abs(h - o) > .01) && this._points.push(s, o), + e.__super.call(this, t, i, 0, 0, this._points.length / 2, 0, a, r) + } + a(e, "laya.webgl.shapes.LoopLine", it); + var i = e.prototype; + return i.getData = function(t, e, i) { + if (this.borderWidth > 0) { + for (var n = this.color, a = (n >> 16 & 255) / 255, r = (n >> 8 & 255) / 255, s = (255 & n) / 255, o = [], l = 0, h = 0, c = [], _ = Math.floor(this._points.length / 2), u = 0; u < _; u++) + l = this._points[2 * u], + h = this._points[2 * u + 1], + o.push(this.x + l, this.y + h, a, r, s); + this.createLoopLine(o, c, this.borderWidth, i + o.length / 5), + t.append(new Uint16Array(c)), + e.append(new Float32Array(o)) + } + } + , + i.createLoopLine = function(t, e, i, n, a, r) { + t.length; + var s = t.concat() + , o = a || t + , l = this.borderColor + , h = (l >> 16 & 255) / 255 + , c = (l >> 8 & 255) / 255 + , _ = (255 & l) / 255 + , u = [s[0], s[1]] + , d = [s[s.length - 5], s[s.length - 4]] + , f = d[0] + .5 * (u[0] - d[0]) + , p = d[1] + .5 * (u[1] - d[1]); + s.unshift(f, p, 0, 0, 0), + s.push(f, p, 0, 0, 0); + var m, g, y, v, b, w, x, I, C, S, M, L, T, E, D, N, A, B, k, R, P = s.length / 5, O = n, U = i / 2; + y = s[0], + v = s[1], + S = y - (b = s[5]), + C = (C = -(v - (w = s[6]))) / (R = Math.sqrt(C * C + S * S)) * U, + S = S / R * U, + o.push(y - C, v - S, h, c, _, y + C, v + S, h, c, _); + for (var V = 1; V < P - 1; V++) + y = s[5 * (V - 1)], + v = s[5 * (V - 1) + 1], + b = s[5 * V], + w = s[5 * V + 1], + x = s[5 * (V + 1)], + I = s[5 * (V + 1) + 1], + S = y - b, + L = b - x, + D = (-(C = (C = -(v - w)) / (R = Math.sqrt(C * C + S * S)) * U) + y) * (-(S = S / R * U) + w) - (-C + b) * (-S + v), + B = (-(M = (M = -(w - I)) / (R = Math.sqrt(M * M + L * L)) * U) + x) * (-(L = L / R * U) + w) - (-M + b) * (-L + I), + k = (T = -S + v - (-S + w)) * (A = -M + b - (-M + x)) - (N = -L + I - (-L + w)) * (E = -C + b - (-C + y)), + Math.abs(k) < .1 ? (k += 10.1, + o.push(b - C, w - S, h, c, _, b + C, w + S, h, c, _)) : (((m = (E * B - A * D) / k) - b) * (m - b) + ((g = (N * D - T * B) / k) - w) + (g - w), + o.push(m, g, h, c, _, b - (m - b), w - (g - w), h, c, _)); + r && (e = r); + var F = this.edges + 1; + for (V = 1; V < F; V++) + e.push(O + 2 * (V - 1), O + 2 * (V - 1) + 1, O + 2 * V + 1, O + 2 * V + 1, O + 2 * V, O + 2 * (V - 1)); + return e.push(O + 2 * (V - 1), O + 2 * (V - 1) + 1, O + 1, O + 1, O, O + 2 * (V - 1)), + o + } + , + e + }() + , Nt = function(t) { + function e(t, i, n, a, r, s) { + this._points = null, + this._start = -1, + this._repaint = !1, + this.earcutTriangles = null, + this._mat = b.create(), + this._points = n.slice(0, n.length), + e.__super.call(this, t, i, 0, 0, this._points.length / 2, a, r, s) + } + a(e, "laya.webgl.shapes.Polygon", it); + var i = e.prototype; + return i.rebuild = function(t) { + this._repaint || (this._points.length = 0, + this._points = this._points.concat(t)) + } + , + i.setMatrix = function(t) { + t.copyTo(this._mat) + } + , + i.needUpdate = function(t) { + return this._repaint = this._mat.a == t.a && this._mat.b == t.b && this._mat.c == t.c && this._mat.d == t.d && this._mat.tx == t.tx && this._mat.ty == t.ty, + !this._repaint + } + , + i.getData = function(t, e, i) { + var n, a = 0, r = this._points, s = 0; + if (this.mUint16Array && this.mFloat32Array && this._repaint) { + if (this._start != i) { + for (this._start = i, + n = [], + s = this.earcutTriangles.length, + a = 0; a < s; a++) + n.push(this.earcutTriangles[a] + i); + this.mUint16Array = new Uint16Array(n) + } + } else { + this._start = i, + n = []; + var o = [] + , l = [] + , h = this.color + , c = (h >> 16 & 255) / 255 + , _ = (h >> 8 & 255) / 255 + , u = (255 & h) / 255; + for (s = Math.floor(r.length / 2), + a = 0; a < s; a++) + o.push(this.x + r[2 * a], this.y + r[2 * a + 1], c, _, u), + l.push(this.x + r[2 * a], this.y + r[2 * a + 1]); + for (this.earcutTriangles = nt.earcut(l, null, 2), + s = this.earcutTriangles.length, + a = 0; a < s; a++) + n.push(this.earcutTriangles[a] + i); + this.mUint16Array = new Uint16Array(n), + this.mFloat32Array = new Float32Array(o) + } + t.append(this.mUint16Array), + e.append(this.mFloat32Array) + } + , + e + }() + , At = function(t) { + function e() { + this._matrix = new b, + this._matrix4 = pt.defaultMatrix4.concat(), + e.__super.call(this, 1e4), + this.shaderValue = new Ct(0,0) + } + a(e, "laya.webgl.submit.SubmitCanvas", rt); + var i = e.prototype; + return i.renderSubmit = function() { + if (this._ctx_src._targets) + return this._ctx_src._targets.flush(this._ctx_src), + 1; + var t = yt.worldAlpha + , e = yt.worldMatrix4 + , i = yt.worldMatrix + , n = yt.worldFilters + , a = yt.worldShaderDefines + , r = this.shaderValue + , s = this._matrix + , o = this._matrix4 + , l = b.TEMP; + return b.mul(s, i, l), + o[0] = l.a, + o[1] = l.b, + o[4] = l.c, + o[5] = l.d, + o[12] = l.tx, + o[13] = l.ty, + yt.worldMatrix = l.clone(), + yt.worldMatrix4 = o, + yt.worldAlpha = yt.worldAlpha * r.alpha, + r.filters && r.filters.length && (yt.worldFilters = r.filters, + yt.worldShaderDefines = r.defines), + this._ctx_src.flush(), + yt.worldAlpha = t, + yt.worldMatrix4 = e, + yt.worldMatrix.destroy(), + yt.worldMatrix = i, + yt.worldFilters = n, + yt.worldShaderDefines = a, + 1 + } + , + i.releaseRender = function() { + var t = e._cache; + this._ctx_src = null, + t[t._length++] = this + } + , + i.getRenderType = function() { + return 10003 + } + , + e.create = function(t, i, n) { + var a = e._cache._length ? e._cache[--e._cache._length] : new e; + a._ctx_src = t; + var r = a.shaderValue; + return r.alpha = i, + r.defines.setValue(0), + n && n.length && r.setFilters(n), + a + } + , + e._cache = (e._cache = [], + e._cache._length = 0, + e._cache), + e + }() + , Bt = function(t) { + function e(t) { + this._preIsSameTextureShader = !1, + this._isSameTexture = !0, + this._texs = new Array, + this._texsID = new Array, + this._vbPos = new Array, + void 0 === t && (t = 1e4), + e.__super.call(this, t) + } + a(e, "laya.webgl.submit.SubmitTexture", rt); + var i = e.prototype; + return i.releaseRender = function() { + var t = e._cache; + t[t._length++] = this, + this.shaderValue.release(), + this._preIsSameTextureShader = !1, + this._vb = null, + this._texs.length = 0, + this._vbPos.length = 0, + this._isSameTexture = !0 + } + , + i.addTexture = function(t, e) { + this._texsID[this._texs.length] = t._uvID, + this._texs.push(t), + this._vbPos.push(e) + } + , + i.checkTexture = function() { + if (this._texs.length < 1) + this._isSameTexture = !0; + else { + var t = this.shaderValue.textureHost.bitmap; + if (null !== t) + for (var e = this._vb.getFloat32Array(), i = 0, n = this._texs.length; i < n; i++) { + var a = this._texs[i]; + a.active(); + var r = a.uv; + if (this._texsID[i] !== a._uvID) { + this._texsID[i] = a._uvID; + var s = this._vbPos[i]; + e[s + 2] = r[0], + e[s + 3] = r[1], + e[s + 6] = r[2], + e[s + 7] = r[3], + e[s + 10] = r[4], + e[s + 11] = r[5], + e[s + 14] = r[6], + e[s + 15] = r[7], + this._vb.setNeedUpload() + } + a.bitmap !== t && (this._isSameTexture = !1) + } + } + } + , + i.renderSubmit = function() { + if (0 === this._numEle) + return e._shaderSet = !1, + 1; + var t = this.shaderValue.textureHost; + if (t) { + var i = t.source; + if (!t.bitmap || !i) + return e._shaderSet = !1, + 1; + this.shaderValue.texture = i + } + this._vb.bind_upload(this._ib); + var n = bt.mainContext; + if (G.activeBlendFunction !== this._blendFn && (n.enable(3042), + this._blendFn(n), + G.activeBlendFunction = this._blendFn), + D.drawCall++, + D.trianglesFaces += this._numEle / 3, + this._preIsSameTextureShader && Rt.activeShader && e._shaderSet ? Rt.activeShader.uploadTexture2D(this.shaderValue.texture) : this.shaderValue.upload(), + e._shaderSet = !0, + this._texs.length > 1 && !this._isSameTexture) + for (var a = t.bitmap, r = 0, s = Rt.activeShader, o = 0, l = this._texs.length; o < l; o++) { + var h = this._texs[o]; + h.bitmap === a && o + 1 !== l || (s.uploadTexture2D(h.source), + n.drawElements(4, 6 * (o - r + 1), 5123, this._startIdx + 6 * r * pt.BYTES_PIDX), + a = h.bitmap, + r = o) + } + else + n.drawElements(4, this._numEle, 5123, this._startIdx); + return 1 + } + , + e.create = function(t, i, n, a, r) { + var s = e._cache._length ? e._cache[--e._cache._length] : new e; + null == n && ((n = s._selfVb || (s._selfVb = $t.create(-1))).clear(), + a = 0), + s._ib = i, + s._vb = n, + s._startIdx = a * pt.BYTES_PIDX, + s._numEle = 0; + var o = t._nBlendType; + s._blendFn = t._targets ? G.targetFns[o] : G.fns[o], + s.shaderValue = r, + s.shaderValue.setValue(t._shader2D); + var l = t._shader2D.filters; + return l && s.shaderValue.setFilters(l), + s + } + , + e._cache = (e._cache = [], + e._cache._length = 0, + e._cache), + e._shaderSet = !0, + e + }() + , kt = function(t) { + function e() { + e.__super.call(this, laya.webgl.utils.MeshTexture.const_stride, 0, 0), + this.canReuse = !0, + this.setAttributes(laya.webgl.utils.MeshTexture._fixattriInfo) + } + a(e, "laya.webgl.utils.MeshTexture", gt); + var i = e.prototype; + return i.addData = function(t, i, n, a, r, s) { + for (var o = t.length / 2, l = this._vb.needSize(o * e.const_stride) >> 2, h = this._vb.getFloat32Array(), c = 0, _ = 0; _ < o; _++) { + var u = t[c] + , d = t[c + 1] + , f = u * a.a + d * a.c + a.tx + , p = u * a.b + d * a.d + a.ty; + h[l++] = f, + h[l++] = p, + h[l++] = i[c], + h[l++] = i[c + 1], + c += 2 + } + this._vb.setNeedUpload(); + var m = this.vertNum; + if (m > 0) { + (o = n.length) > e.tmpIdx.length && (e.tmpIdx = new Uint16Array(o)); + for (var g = 0; g < o; g++) + e.tmpIdx[g] = n[g] + m; + this._ib.appendU16Array(e.tmpIdx, n.length) + } else + this._ib.append(n); + this._ib.setNeedUpload(), + this.vertNum += o, + this.indexNum += n.length + } + , + i.releaseMesh = function() { + this._vb._byteLength = 0, + this._ib._byteLength = 0, + this.vertNum = 0, + this.indexNum = 0, + laya.webgl.utils.MeshTexture._POOL.push(this) + } + , + i.destroy = function() { + this._ib.destroy(), + this._vb.destroy() + } + , + e.getAMesh = function() { + return laya.webgl.utils.MeshTexture._POOL.length ? laya.webgl.utils.MeshTexture._POOL.pop() : new e + } + , + e.const_stride = 16, + e._POOL = [], + n(e, ["_fixattriInfo", function() { + return this._fixattriInfo = [5126, 2, 0, 5126, 2, 8] + } + , "tmpIdx", function() { + return this.tmpIdx = new Uint16Array(4) + } + ]), + e + }() + , Rt = function(t) { + function e() { + e.__super.call(this), + this.lock = !0 + } + return a(e, "laya.webgl.shader.BaseShader", S), + e.activeShader = null, + e.bindShader = null, + e + }() + , Pt = function(t) { + function e(t, i, n, a, r, s, o, l, h) { + this._type = 0, + this._svWidth = NaN, + this._svHeight = NaN, + this._preRenderTarget = null, + this._alreadyResolved = !1, + this._looked = !1, + this._surfaceFormat = 0, + this._surfaceType = 0, + this._depthStencilFormat = 0, + this._mipMap = !1, + this._repeat = !1, + this._minFifter = 0, + this._magFifter = 0, + this._destroy = !1, + void 0 === n && (n = 6408), + void 0 === a && (a = 5121), + void 0 === r && (r = 34041), + void 0 === s && (s = !1), + void 0 === o && (o = !1), + void 0 === l && (l = -1), + void 0 === h && (h = -1), + this._type = 1, + this._w = t, + this._h = i, + this._surfaceFormat = n, + this._surfaceType = a, + this._depthStencilFormat = r, + I.isConchWebGL && 34041 === this._depthStencilFormat && (this._depthStencilFormat = 33189), + this._mipMap = s, + this._repeat = o, + this._minFifter = l, + this._magFifter = h, + this._createWebGLRenderTarget(), + this.bitmap.lock = !0, + e.__super.call(this, this.bitmap, k.INV_UV) + } + a(e, "laya.webgl.resource.RenderTarget2D", t); + var n = e.prototype; + return i.imps(n, { + "laya.resource.IDispose": !0 + }), + n.getType = function() { + return this._type + } + , + n.getTexture = function() { + return this + } + , + n.size = function(t, e) { + this._w == t && this._h == e || (this._w = t, + this._h = e, + this.release(), + 0 != this._w && 0 != this._h && this._createWebGLRenderTarget()) + } + , + n.release = function() { + this.destroy() + } + , + n.recycle = function() { + e.POOL.push(this) + } + , + n.start = function() { + var t = bt.mainContext; + return this._preRenderTarget = yt.curRenderTarget, + yt.curRenderTarget = this, + t.bindFramebuffer(36160, this.bitmap.frameBuffer), + this._alreadyResolved = !1, + 1 == this._type && (t.viewport(0, 0, this._w, this._h), + this._svWidth = yt.width, + this._svHeight = yt.height, + yt.width = this._w, + yt.height = this._h, + Rt.activeShader = null), + this + } + , + n.clear = function(t, e, i, n) { + void 0 === t && (t = 0), + void 0 === e && (e = 0), + void 0 === i && (i = 0), + void 0 === n && (n = 1); + var a = bt.mainContext; + a.clearColor(t, e, i, n); + var r = 16384; + switch (this._depthStencilFormat) { + case 33189: + r |= 256; + break; + case 36168: + r |= 1024; + break; + case 34041: + r |= 256, + r |= 1024 + } + a.clear(r) + } + , + n.end = function() { + var t = bt.mainContext; + t.bindFramebuffer(36160, this._preRenderTarget ? this._preRenderTarget.bitmap.frameBuffer : null), + this._alreadyResolved = !0, + yt.curRenderTarget = this._preRenderTarget, + 1 == this._type ? (t.viewport(0, 0, this._svWidth, this._svHeight), + yt.width = this._svWidth, + yt.height = this._svHeight, + Rt.activeShader = null) : t.viewport(0, 0, i.stage.width, i.stage.height) + } + , + n.getData = function(t, e, i, n) { + var a = bt.mainContext; + a.bindFramebuffer(36160, this.bitmap.frameBuffer); + if (!(36053 === a.checkFramebufferStatus(36160))) + return a.bindFramebuffer(36160, null), + null; + var r = new Uint8Array(this._w * this._h * 4); + return a.readPixels(t, e, i, n, this._surfaceFormat, this._surfaceType, r), + a.bindFramebuffer(36160, null), + r + } + , + n.destroy = function(e) { + void 0 === e && (e = !1), + this._destroy || (this._loaded = !1, + this.bitmap.offAll(), + this.bitmap.disposeResource(), + this.bitmap.dispose(), + this.offAll(), + this.bitmap = null, + this._alreadyResolved = !1, + this._destroy = !0, + t.prototype.destroy.call(this)) + } + , + n.dispose = function() {} + , + n._createWebGLRenderTarget = function() { + this.bitmap = new Xt(this.width,this.height,this._surfaceFormat,this._surfaceType,this._depthStencilFormat,this._mipMap,this._repeat,this._minFifter,this._magFifter), + this.bitmap.activeResource(), + this._alreadyResolved = !0, + this._destroy = !1, + this._loaded = !0, + this.bitmap.on("recovered", this, function(t) { + this.event("recovered") + }) + } + , + r(0, n, "surfaceFormat", function() { + return this._surfaceFormat + }), + r(0, n, "magFifter", function() { + return this._magFifter + }), + r(0, n, "surfaceType", function() { + return this._surfaceType + }), + r(0, n, "mipMap", function() { + return this._mipMap + }), + r(0, n, "depthStencilFormat", function() { + return this._depthStencilFormat + }), + r(0, n, "minFifter", function() { + return this._minFifter + }), + r(0, n, "source", function() { + return this._alreadyResolved ? i.superGet(k, this, "source") : null + }), + e.create = function(t, i, n, a, r, s, o, l, h) { + void 0 === n && (n = 6408), + void 0 === a && (a = 5121), + void 0 === r && (r = 34041), + void 0 === s && (s = !1), + void 0 === o && (o = !1), + void 0 === l && (l = -1), + void 0 === h && (h = -1); + var c = e.POOL.pop(); + return c || (c = new e(t,i)), + c.bitmap && c._w == t && c._h == i && c._surfaceFormat == n && c._surfaceType == a && c._depthStencilFormat == r && c._mipMap == s && c._repeat == o && c._minFifter == l && c._magFifter == h || (c._w = t, + c._h = i, + c._surfaceFormat = n, + c._surfaceType = a, + c._depthStencilFormat = r, + I.isConchWebGL && 34041 === c._depthStencilFormat && (c._depthStencilFormat = 33189), + c._mipMap = s, + c._repeat = o, + c._minFifter = l, + c._magFifter = h, + c.release(), + c._createWebGLRenderTarget()), + c + } + , + e.TYPE2D = 1, + e.TYPE3D = 2, + e.POOL = [], + e + }(k) + , Ot = function(t) { + function e() { + this._glBuffer = null, + this._buffer = null, + this._bufferType = 0, + this._bufferUsage = 0, + this._byteLength = 0, + e.__super.call(this), + e._gl = bt.mainContext + } + a(e, "laya.webgl.utils.Buffer", S); + var i = e.prototype; + return i._bind = function() { + this.activeResource(), + e._bindActive[this._bufferType] !== this._glBuffer && (34962 === this._bufferType && (e._bindVertexBuffer = this._glBuffer), + e._gl.bindBuffer(this._bufferType, e._bindActive[this._bufferType] = this._glBuffer), + Rt.activeShader = null) + } + , + i.recreateResource = function() { + this._glBuffer || (this._glBuffer = e._gl.createBuffer()), + this.completeCreate() + } + , + i.disposeResource = function() { + this._glBuffer && (bt.mainContext.deleteBuffer(this._glBuffer), + this._glBuffer = null), + this.memorySize = 0 + } + , + r(0, i, "bufferUsage", function() { + return this._bufferUsage + }), + e._gl = null, + e._bindActive = {}, + e._bindVertexBuffer = null, + e._enableAtributes = [], + e + }() + , Ut = function(t) { + function e(t) { + this.texcoord = null, + this.offsetX = 300, + this.offsetY = 0, + e.__super.call(this, 512, 0); + var i = 8 * pt.BYTES_PE; + this.position = [2, 5126, !1, i, 0], + this.texcoord = [2, 5126, !1, i, 2 * pt.BYTES_PE], + this.color = [4, 5126, !1, i, 4 * pt.BYTES_PE] + } + return a(e, "laya.webgl.shader.d2.skinAnishader.SkinSV", Ct), + e + }() + , Vt = function(t) { + function e(t) { + e.__super.call(this, 2, 0), + this.color = [] + } + a(e, "laya.webgl.shader.d2.value.Color2dSV", Ct); + return e.prototype.setValue = function(t) { + t.fillStyle && (this.color = t.fillStyle._color._color), + t.strokeStyle && (this.color = t.strokeStyle._color._color) + } + , + e + }() + , Ft = function(t) { + function e(t) { + this.u_colorMatrix = null, + this.strength = 0, + this.colorMat = null, + this.colorAlpha = null, + this.u_TexRange = [0, 1, 0, 1], + this.u_offset = [0, 0], + this.texcoord = Ct._TEXCOORD, + e.__super.call(this, 256, 0) + } + a(e, "laya.webgl.shader.d2.value.FillTextureSV", Ct); + var i = e.prototype; + return i.setValue = function(t) { + this.ALPHA = t.ALPHA, + t.filters && this.setFilters(t.filters) + } + , + i.clear = function() { + this.texture = null, + this.shader = null, + this.defines.setValue(0) + } + , + e + }() + , Ht = function(t) { + function e(t) { + this.u_colorMatrix = null, + this.strength = 0, + this.blurInfo = null, + this.colorMat = null, + this.colorAlpha = null, + this.texcoord = Ct._TEXCOORD, + void 0 === t && (t = 0), + e.__super.call(this, 1, t) + } + a(e, "laya.webgl.shader.d2.value.TextureSV", Ct); + var i = e.prototype; + return i.setValue = function(t) { + this.ALPHA = t.ALPHA, + t.filters && this.setFilters(t.filters) + } + , + i.clear = function() { + this.texture = null, + this.shader = null, + this.defines.setValue(0) + } + , + e + }() + , Gt = function(t) { + function e(t) { + this.a_color = null, + this.u_pos = [0, 0], + e.__super.call(this, 4, 0), + this.position = [2, 5126, !1, 5 * pt.BYTES_PE, 0], + this.a_color = [3, 5126, !1, 5 * pt.BYTES_PE, 2 * pt.BYTES_PE] + } + return a(e, "laya.webgl.shader.d2.value.PrimitiveSV", Ct), + e + }() + , zt = function(t) { + function e() { + this._atlaser = null, + this._flashCacheImage = null, + this._flashCacheImageNeedFlush = !1, + e.__super.call(this) + } + a(e, "laya.webgl.atlas.AtlasWebGLCanvas", t); + var i = e.prototype; + return i.recreateResource = function() { + var t = bt.mainContext + , e = this._source = t.createTexture() + , i = wt.curBindTexTarget + , n = wt.curBindTexValue; + wt.bindTexture(t, 3553, e), + t.texImage2D(3553, 0, 6408, this._w, this._h, 0, 6408, 5121, null), + t.texParameteri(3553, 10241, 9729), + t.texParameteri(3553, 10240, 9729), + t.texParameteri(3553, 10242, 33071), + t.texParameteri(3553, 10243, 33071), + i && n && wt.bindTexture(t, i, n), + this.memorySize = this._w * this._h * 4, + this.completeCreate() + } + , + i.disposeResource = function() { + this._source && (bt.mainContext.deleteTexture(this._source), + this._source = null, + this.memorySize = 0) + } + , + i.texSubImage2D = function(t, e, i) { + if (I.isFlash) { + this._flashCacheImage || (this._flashCacheImage = y.create(""), + this._flashCacheImage._image.createCanvas(this._w, this._h)); + var n = i.bitmapdata; + this._flashCacheImage._image.copyPixels(n, 0, 0, n.width, n.height, t, e), + this._flashCacheImageNeedFlush || (this._flashCacheImageNeedFlush = !0) + } else { + var a = bt.mainContext + , r = wt.curBindTexTarget + , s = wt.curBindTexValue; + wt.bindTexture(a, 3553, this._source), + I.isConchWebGL ? (i !== ConchTextCanvas && (t - 1 >= 0 && a.texSubImage2DEx(!0, 3553, 0, t - 1, e, 6408, 5121, i), + t + 1 <= this._w && a.texSubImage2DEx(!0, 3553, 0, t + 1, e, 6408, 5121, i), + e - 1 >= 0 && a.texSubImage2DEx(!0, 3553, 0, t, e - 1, 6408, 5121, i), + e + 1 <= this._h && a.texSubImage2DEx(!0, 3553, 0, t, e + 1, 6408, 5121, i)), + a.texSubImage2DEx(!0, 3553, 0, t, e, 6408, 5121, i)) : (a.pixelStorei(37441, !0), + t - 1 >= 0 && a.texSubImage2D(3553, 0, t - 1, e, 6408, 5121, i), + t + 1 <= this._w && a.texSubImage2D(3553, 0, t + 1, e, 6408, 5121, i), + e - 1 >= 0 && a.texSubImage2D(3553, 0, t, e - 1, 6408, 5121, i), + e + 1 <= this._h && a.texSubImage2D(3553, 0, t, e + 1, 6408, 5121, i), + a.texSubImage2D(3553, 0, t, e, 6408, 5121, i), + a.pixelStorei(37441, !1)), + r && s && wt.bindTexture(a, r, s) + } + } + , + i.texSubImage2DPixel = function(t, e, i, n, a) { + var r = bt.mainContext + , s = wt.curBindTexTarget + , o = wt.curBindTexValue; + wt.bindTexture(r, 3553, this._source); + var l = new Uint8Array(a.data); + I.isConchWebGL ? r.texSubImage2DEx(!0, 3553, 0, t, e, i, n, 6408, 5121, l) : (r.pixelStorei(37441, !0), + r.texSubImage2D(3553, 0, t, e, i, n, 6408, 5121, l), + r.pixelStorei(37441, !1)), + s && o && wt.bindTexture(r, s, o) + } + , + r(0, i, "width", t.prototype._$get_width, function(t) { + this._w = t + }), + r(0, i, "height", t.prototype._$get_height, function(t) { + this._h = t + }), + e + }(h) + , jt = function(t) { + function e() { + this.flipY = !0, + this.alwaysChange = !1, + e.__super.call(this) + } + a(e, "laya.webgl.resource.WebGLCanvas", h); + var i = e.prototype; + return i.getCanvas = function() { + return this._canvas + } + , + i.clear = function() { + this._ctx && this._ctx.clear() + } + , + i.destroy = function() { + this._ctx && this._ctx.destroy(), + this._ctx = null + } + , + i._setContext = function(t) { + this._ctx = t + } + , + i.getContext = function(t, i) { + return this._ctx ? this._ctx : this._ctx = e._createContext(this) + } + , + i.size = function(t, e) { + this._w == t && this._h == e || (this._w = t, + this._h = e, + this._ctx && this._ctx.size(t, e), + this._canvas && (this._canvas.height = e, + this._canvas.width = t)) + } + , + i.activeResource = function(t) { + void 0 === t && (t = !1), + this._source || this.recreateResource() + } + , + i.recreateResource = function() { + this.createWebGlTexture(), + this.completeCreate() + } + , + i.disposeResource = function() { + this._source && !this.iscpuSource && (bt.mainContext.deleteTexture(this._source), + this._source = null, + this.memorySize = 0) + } + , + i.createWebGlTexture = function() { + var t = bt.mainContext; + this._canvas; + var i = this._source = t.createTexture(); + this.iscpuSource = !1; + var n = wt.curBindTexTarget + , a = wt.curBindTexValue; + wt.bindTexture(t, 3553, i), + t.pixelStorei(37440, this.flipY ? 1 : 0), + I.isConchWebGL ? t.texImage2DEx(e.premulAlpha, 3553, 0, 6408, 6408, 5121, this._imgData) : (e.premulAlpha && t.pixelStorei(37441, !0), + t.texImage2D(3553, 0, 6408, 6408, 5121, this._imgData), + e.premulAlpha && t.pixelStorei(37441, !1)), + t.texParameteri(3553, 10240, 9729), + t.texParameteri(3553, 10241, 9729), + t.texParameteri(3553, 10242, 33071), + t.texParameteri(3553, 10243, 33071), + t.pixelStorei(37440, 0), + this.memorySize = this._w * this._h * 4, + n && a && wt.bindTexture(t, n, a) + } + , + i.reloadCanvasData = function() { + var t = bt.mainContext; + if (!this._source) + throw "reloadCanvasData error, gl texture not created!"; + var i = wt.curBindTexTarget + , n = wt.curBindTexValue; + wt.bindTexture(t, 3553, this._source), + I.isConchWebGL ? t.texImage2DEx(e.premulAlpha, 3553, 0, 6408, 6408, 5121, this._imgData) : (e.premulAlpha && t.pixelStorei(37441, !0), + t.texImage2D(3553, 0, 6408, 6408, 5121, this._imgData), + e.premulAlpha && t.pixelStorei(37441, !1)), + t.pixelStorei(37440, 0), + i && n && wt.bindTexture(t, i, n) + } + , + i.texSubImage2D = function(t, e, i) { + var n = bt.mainContext + , a = wt.curBindTexTarget + , r = wt.curBindTexValue; + wt.bindTexture(n, 3553, this._source), + I.isConchWebGL ? n.texSubImage2DEx(!0, 3553, 0, e, i, 6408, 5121, t._source) : (n.pixelStorei(37441, !0), + n.texSubImage2D(3553, 0, e, i, 6408, 5121, t._source), + n.pixelStorei(37441, !1)), + a && r && wt.bindTexture(n, a, r) + } + , + i.toBase64 = function(t, e, i) { + var n = null; + this._canvas && (n = this._canvas.toDataURL(t, e)), + i.call(this, n) + } + , + r(0, i, "context", function() { + return this._ctx + }), + r(0, i, "source", function() { + return this.alwaysChange && this.reloadCanvasData(), + this._source + }), + r(0, i, "asBitmap", null, function(t) { + this._ctx && (this._ctx.asBitmap = t) + }), + e._createContext = null, + e.premulAlpha = !1, + e + }() + , Wt = function(t) { + function e(t, i) { + this.CborderSize = 12, + e.__super.call(this), + this.char = t, + this.isSpace = " " === t, + this.xs = i.scaleX, + this.ys = i.scaleY, + this.font = i.font.toString(), + this.fontSize = i.font.size, + this.fillColor = i.fillColor, + this.borderColor = i.borderColor, + this.lineWidth = i.lineWidth, + this.underLine = i.underLine; + var n, a = I.isConchApp; + a ? ((n = ConchTextCanvas)._source = ConchTextCanvas, + n._source.canvas = ConchTextCanvas) : n = c.canvas.source, + this.canvas = n, + this._enableMerageInAtlas = !0, + this._ctx = a ? n : this.canvas.getContext("2d", void 0); + var r = R.measureText(this.char, this.font); + this.cw = r.width * this.xs, + this.ch = (r.height || this.fontSize) * this.ys, + this.onresize(this.cw + 2 * this.CborderSize, this.ch + 2 * this.CborderSize), + this.texture = new k(this) + } + a(e, "laya.webgl.resource.WebGLCharImage", h); + var n = e.prototype; + return i.imps(n, { + "laya.webgl.resource.IMergeAtlasBitmap": !0 + }), + n.active = function() { + this.texture.active() + } + , + n.recreateResource = function() { + var t = I.isConchApp; + if (this.onresize(this.cw + 2 * this.CborderSize, this.ch + 2 * this.CborderSize), + this.canvas && (this.canvas.height = this._h, + this.canvas.width = this._w), + t) { + var e = this.fontSize; + 1 == this.xs && 1 == this.ys || (e = parseInt(e * (this.xs > this.ys ? this.xs : this.ys) + "")); + var i = "normal 100 " + e + "px Arial"; + this.borderColor && (i += " 1 " + this.borderColor), + this._ctx.font = i, + this._ctx.textBaseline = "top", + this._ctx.fillStyle = this.fillColor, + this._ctx.fillText(this.char, this.CborderSize, this.CborderSize, null, null, null) + } else { + if (this._ctx.save(), + this._ctx.clearRect(0, 0, this.cw + 2 * this.CborderSize, this.ch + 2 * this.CborderSize), + this._ctx.font = this.font, + B.RightToLeft && (this._ctx.textAlign = "end"), + this._ctx.textBaseline = "top", + this._ctx.translate(this.CborderSize, this.CborderSize), + 1 == this.xs && 1 == this.ys || this._ctx.scale(this.xs, this.ys), + this.fillColor && this.borderColor ? (this._ctx.strokeStyle = this.borderColor, + this._ctx.lineWidth = this.lineWidth, + this._ctx.strokeText(this.char, 0, 0, null, null, 0, null), + this._ctx.fillStyle = this.fillColor, + this._ctx.fillText(this.char, 0, 0, null, null, null)) : -1 === this.lineWidth ? (this._ctx.fillStyle = this.fillColor ? this.fillColor : "white", + this._ctx.fillText(this.char, 0, 0, null, null, null)) : (this._ctx.strokeStyle = this.borderColor ? this.borderColor : "white", + this._ctx.lineWidth = this.lineWidth, + this._ctx.strokeText(this.char, 0, 0, null, null, 0, null)), + this.underLine) { + this._ctx.lineWidth = 1, + this._ctx.strokeStyle = this.fillColor, + this._ctx.beginPath(), + this._ctx.moveTo(0, this.fontSize + 1); + var n = this._ctx.measureText(this.char).width + 1; + this._ctx.lineTo(n, this.fontSize + 1), + this._ctx.stroke() + } + this._ctx.restore() + } + this.borderSize = this.CborderSize, + this.completeCreate() + } + , + n.onresize = function(t, e) { + this._w = t, + this._h = e, + this._allowMerageInAtlas = !0 + } + , + n.clearAtlasSource = function() {} + , + r(0, n, "allowMerageInAtlas", function() { + return this._allowMerageInAtlas + }), + r(0, n, "atlasSource", function() { + return this.canvas + }), + r(0, n, "enableMerageInAtlas", function() { + return this._enableMerageInAtlas + }, function(t) { + this._enableMerageInAtlas = t + }), + e.createOneChar = function(t, i) { + return new e(t,i) + } + , + e + }() + , Xt = function(t) { + function e(t, i, n, a, r, s, o, l, h) { + void 0 === n && (n = 6408), + void 0 === a && (a = 5121), + void 0 === r && (r = 34041), + void 0 === s && (s = !1), + void 0 === o && (o = !1), + void 0 === l && (l = -1), + void 0 === h && (h = 1), + e.__super.call(this), + this._w = t, + this._h = i, + this._surfaceFormat = n, + this._surfaceType = a, + this._depthStencilFormat = r, + I.isConchWebGL && 34041 === this._depthStencilFormat && (this._depthStencilFormat = 33189), + this._mipMap = s, + this._repeat = o, + this._minFifter = l, + this._magFifter = h + } + a(e, "laya.webgl.resource.WebGLRenderTarget", h); + var i = e.prototype; + return i.recreateResource = function() { + var t = bt.mainContext; + this._frameBuffer || (this._frameBuffer = t.createFramebuffer()), + this._source || (this._source = t.createTexture()); + var e = wt.curBindTexTarget + , i = wt.curBindTexValue; + wt.bindTexture(t, 3553, this._source), + t.texImage2D(3553, 0, 6408, this._w, this._h, 0, this._surfaceFormat, this._surfaceType, null); + var n = this._minFifter + , a = this._magFifter + , r = this._repeat ? 10497 : 33071 + , s = o.isPOT(this._w, this._h); + if (s ? (this._mipMap ? -1 !== n || (n = 9987) : -1 !== n || (n = 9729), + -1 !== a || (a = 9729), + t.texParameteri(3553, 10241, n), + t.texParameteri(3553, 10240, a), + t.texParameteri(3553, 10242, r), + t.texParameteri(3553, 10243, r), + this._mipMap && t.generateMipmap(3553)) : (-1 !== n || (n = 9729), + -1 !== a || (a = 9729), + t.texParameteri(3553, 10241, n), + t.texParameteri(3553, 10240, a), + t.texParameteri(3553, 10242, 33071), + t.texParameteri(3553, 10243, 33071)), + t.bindFramebuffer(36160, this._frameBuffer), + t.framebufferTexture2D(36160, 36064, 3553, this._source, 0), + this._depthStencilFormat) + switch (this._depthStencilBuffer || (this._depthStencilBuffer = t.createRenderbuffer()), + t.bindRenderbuffer(36161, this._depthStencilBuffer), + t.renderbufferStorage(36161, this._depthStencilFormat, this._w, this._h), + this._depthStencilFormat) { + case 33189: + t.framebufferRenderbuffer(36160, 36096, 36161, this._depthStencilBuffer); + break; + case 36168: + t.framebufferRenderbuffer(36160, 36128, 36161, this._depthStencilBuffer); + break; + case 34041: + t.framebufferRenderbuffer(36160, 33306, 36161, this._depthStencilBuffer) + } + t.bindFramebuffer(36160, null), + e && i && wt.bindTexture(t, e, i), + t.bindRenderbuffer(36161, null), + s && this._mipMap ? this.memorySize = this._w * this._h * 4 * (1 + 1 / 3) : this.memorySize = this._w * this._h * 4, + this.completeCreate() + } + , + i.disposeResource = function() { + this._frameBuffer && (bt.mainContext.deleteTexture(this._source), + bt.mainContext.deleteFramebuffer(this._frameBuffer), + bt.mainContext.deleteRenderbuffer(this._depthStencilBuffer), + this._source = null, + this._frameBuffer = null, + this._depthStencilBuffer = null, + this.memorySize = 0) + } + , + r(0, i, "depthStencilBuffer", function() { + return this._depthStencilBuffer + }), + r(0, i, "frameBuffer", function() { + return this._frameBuffer + }), + e + }() + , qt = function(t) { + function e(t, i, n, a, r, s, o) { + this.offsetX = 0, + this.offsetY = 0, + e.__super.call(this), + this.repeat = !0, + this.mipmap = !1, + this.minFifter = -1, + this.magFifter = -1, + this.atlasImage = s, + this.canvas = t, + this._ctx = t.getContext("2d", void 0), + this._w = a, + this._h = r, + this.offsetX = i, + this.offsetY = n, + this.src = o, + this._enableMerageInAtlas = !0, + F.enabled && this._w < F.atlasLimitWidth && this._h < F.atlasLimitHeight ? this._allowMerageInAtlas = !0 : this._allowMerageInAtlas = !1 + } + a(e, "laya.webgl.resource.WebGLSubImage", h); + var n = e.prototype; + return i.imps(n, { + "laya.webgl.resource.IMergeAtlasBitmap": !0 + }), + n.size = function(t, e) { + this._w = t, + this._h = e, + this._ctx && this._ctx.size(t, e), + this.canvas && (this.canvas.height = e, + this.canvas.width = t) + } + , + n.recreateResource = function() { + this.size(this._w, this._h), + this._ctx.drawImage(this.atlasImage, this.offsetX, this.offsetY, this._w, this._h, 0, 0, this._w, this._h), + this._allowMerageInAtlas && this._enableMerageInAtlas ? this.memorySize = 0 : this.createWebGlTexture(), + this.completeCreate() + } + , + n.createWebGlTexture = function() { + var t = bt.mainContext; + if (!this.canvas) + throw "create GLTextur err:no data:" + this.canvas; + var e = this._source = t.createTexture() + , i = wt.curBindTexTarget + , n = wt.curBindTexValue; + wt.bindTexture(t, 3553, e), + I.isConchWebGL ? t.texImage2DEx(!0, 3553, 0, 6408, 6408, 5121, this.canvas) : (t.pixelStorei(37441, !0), + t.texImage2D(3553, 0, 6408, 6408, 5121, this.canvas), + t.pixelStorei(37441, !1)); + var a = this.minFifter + , r = this.magFifter + , s = this.repeat ? 10497 : 33071 + , l = o.isPOT(this.width, this.height); + l ? (this.mipmap ? -1 !== a || (a = 9987) : -1 !== a || (a = 9729), + -1 !== r || (r = 9729), + t.texParameteri(3553, 10240, r), + t.texParameteri(3553, 10241, a), + t.texParameteri(3553, 10242, s), + t.texParameteri(3553, 10243, s), + this.mipmap && t.generateMipmap(3553)) : (-1 !== a || (a = 9729), + -1 !== r || (r = 9729), + t.texParameteri(3553, 10241, a), + t.texParameteri(3553, 10240, r), + t.texParameteri(3553, 10242, 33071), + t.texParameteri(3553, 10243, 33071)), + i && n && wt.bindTexture(t, i, n), + this.canvas = null, + l && this.mipmap ? this.memorySize = this._w * this._h * 4 * (1 + 1 / 3) : this.memorySize = this._w * this._h * 4 + } + , + n.disposeResource = function() { + F.enabled && this._allowMerageInAtlas || !this._source || (bt.mainContext.deleteTexture(this._source), + this._source = null, + this.memorySize = 0) + } + , + n.clearAtlasSource = function() {} + , + r(0, n, "allowMerageInAtlas", function() { + return this._allowMerageInAtlas + }), + r(0, n, "atlasSource", function() { + return this.canvas + }), + r(0, n, "enableMerageInAtlas", function() { + return this._allowMerageInAtlas + }, function(t) { + this._allowMerageInAtlas = t + }), + e + }() + , Yt = function(t) { + function e(t, i, n, a) { + if (this._curActTexIndex = 0, + this.tag = {}, + this._program = null, + this._params = null, + this._paramsMap = {}, + this._offset = 0, + e.__super.call(this), + !t || !i) + throw "Shader Error"; + this._id = ++e._count, + this._vs = t, + this._ps = i, + this._nameMap = a || {}, + null != n && (e.sharders[n] = this) + } + a(e, "laya.webgl.shader.Shader", Rt); + var i = e.prototype; + return i.recreateResource = function() { + this._compile(), + this.completeCreate(), + this.memorySize = 0 + } + , + i.disposeResource = function() { + bt.mainContext.deleteShader(this._vshader), + bt.mainContext.deleteShader(this._pshader), + bt.mainContext.deleteProgram(this._program), + this._vshader = this._pshader = this._program = null, + this._params = null, + this._paramsMap = {}, + this.memorySize = 0, + this._curActTexIndex = 0 + } + , + i._compile = function() { + if (this._vs && this._ps && !this._params) { + this._reCompile = !0, + this._params = []; + var t = [this._vs, this._ps] + , i = bt.mainContext; + if (this._program = i.createProgram(), + this._vshader = e._createShader(i, t[0], 35633), + this._pshader = e._createShader(i, t[1], 35632), + i.attachShader(this._program, this._vshader), + i.attachShader(this._program, this._pshader), + i.linkProgram(this._program), + !I.isConchApp && !i.getProgramParameter(this._program, 35714)) + throw i.getProgramInfoLog(this._program); + var n, a = 0, r = 0, s = 0; + for (s = I.isConchApp ? i.getProgramParameterEx(this._vs, this._ps, "", 35721) : i.getProgramParameter(this._program, 35721), + a = 0; a < s; a++) { + var o = null; + n = { + vartype: "attribute", + glfun: null, + ivartype: 0, + attrib: o = I.isConchApp ? i.getActiveAttribEx(this._vs, this._ps, "", a) : i.getActiveAttrib(this._program, a), + location: i.getAttribLocation(this._program, o.name), + name: o.name, + type: o.type, + isArray: !1, + isSame: !1, + preValue: null, + indexOfParams: 0 + }, + this._params.push(n) + } + var l = 0; + for (l = I.isConchApp ? i.getProgramParameterEx(this._vs, this._ps, "", 35718) : i.getProgramParameter(this._program, 35718), + a = 0; a < l; a++) { + var h = null; + h = I.isConchApp ? i.getActiveUniformEx(this._vs, this._ps, "", a) : i.getActiveUniform(this._program, a), + (n = { + vartype: "uniform", + glfun: null, + ivartype: 1, + attrib: o, + location: i.getUniformLocation(this._program, h.name), + name: h.name, + type: h.type, + isArray: !1, + isSame: !1, + preValue: null, + indexOfParams: 0 + }).name.indexOf("[0]") > 0 && (n.name = n.name.substr(0, n.name.length - 3), + n.isArray = !0, + n.location = i.getUniformLocation(this._program, n.name)), + this._params.push(n) + } + for (a = 0, + r = this._params.length; a < r; a++) + if (n = this._params[a], + n.indexOfParams = a, + n.index = 1, + n.value = [n.location, null], + n.codename = n.name, + n.name = this._nameMap[n.codename] ? this._nameMap[n.codename] : n.codename, + this._paramsMap[n.name] = n, + n._this = this, + n.uploadedValue = [], + "attribute" !== n.vartype) + switch (n.type) { + case 5124: + n.fun = n.isArray ? this._uniform1iv : this._uniform1i; + break; + case 5126: + n.fun = n.isArray ? this._uniform1fv : this._uniform1f; + break; + case 35664: + n.fun = n.isArray ? this._uniform_vec2v : this._uniform_vec2; + break; + case 35665: + n.fun = n.isArray ? this._uniform_vec3v : this._uniform_vec3; + break; + case 35666: + n.fun = n.isArray ? this._uniform_vec4v : this._uniform_vec4; + break; + case 35678: + n.fun = this._uniform_sampler2D; + break; + case 35680: + n.fun = this._uniform_samplerCube; + break; + case 35676: + n.glfun = i.uniformMatrix4fv, + n.fun = this._uniformMatrix4fv; + break; + case 35670: + n.fun = this._uniform1i; + break; + case 35674: + case 35675: + default: + throw new Error("compile shader err!") + } + else + n.fun = this._attribute + } + } + , + i.getUniform = function(t) { + return this._paramsMap[t] + } + , + i._attribute = function(t, e) { + var i = bt.mainContext + , n = Ot._enableAtributes + , a = t.location; + return n[a] || i.enableVertexAttribArray(a), + i.vertexAttribPointer(a, e[0], e[1], e[2], e[3], e[4] + this._offset), + n[a] = Ot._bindVertexBuffer, + 1 + } + , + i._uniform1f = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e ? (bt.mainContext.uniform1f(t.location, i[0] = e), + 1) : 0 + } + , + i._uniform1fv = function(t, e) { + if (e.length < 4) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] || i[2] !== e[2] || i[3] !== e[3] ? (bt.mainContext.uniform1fv(t.location, e), + i[0] = e[0], + i[1] = e[1], + i[2] = e[2], + i[3] = e[3], + 1) : 0 + } + return bt.mainContext.uniform1fv(t.location, e), + 1 + } + , + i._uniform_vec2 = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] ? (bt.mainContext.uniform2f(t.location, i[0] = e[0], i[1] = e[1]), + 1) : 0 + } + , + i._uniform_vec2v = function(t, e) { + if (e.length < 2) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] || i[2] !== e[2] || i[3] !== e[3] ? (bt.mainContext.uniform2fv(t.location, e), + i[0] = e[0], + i[1] = e[1], + i[2] = e[2], + i[3] = e[3], + 1) : 0 + } + return bt.mainContext.uniform2fv(t.location, e), + 1 + } + , + i._uniform_vec3 = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] || i[2] !== e[2] ? (bt.mainContext.uniform3f(t.location, i[0] = e[0], i[1] = e[1], i[2] = e[2]), + 1) : 0 + } + , + i._uniform_vec3v = function(t, e) { + return bt.mainContext.uniform3fv(t.location, e), + 1 + } + , + i._uniform_vec4 = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] || i[2] !== e[2] || i[3] !== e[3] ? (bt.mainContext.uniform4f(t.location, i[0] = e[0], i[1] = e[1], i[2] = e[2], i[3] = e[3]), + 1) : 0 + } + , + i._uniform_vec4v = function(t, e) { + return bt.mainContext.uniform4fv(t.location, e), + 1 + } + , + i._uniformMatrix2fv = function(t, e) { + return bt.mainContext.uniformMatrix2fv(t.location, !1, e), + 1 + } + , + i._uniformMatrix3fv = function(t, e) { + return bt.mainContext.uniformMatrix3fv(t.location, !1, e), + 1 + } + , + i._uniformMatrix4fv = function(t, e) { + return bt.mainContext.uniformMatrix4fv(t.location, !1, e), + 1 + } + , + i._uniform1i = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e ? (bt.mainContext.uniform1i(t.location, i[0] = e), + 1) : 0 + } + , + i._uniform1iv = function(t, e) { + return bt.mainContext.uniform1iv(t.location, e), + 1 + } + , + i._uniform_ivec2 = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] ? (bt.mainContext.uniform2i(t.location, i[0] = e[0], i[1] = e[1]), + 1) : 0 + } + , + i._uniform_ivec2v = function(t, e) { + return bt.mainContext.uniform2iv(t.location, e), + 1 + } + , + i._uniform_vec3i = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] || i[2] !== e[2] ? (bt.mainContext.uniform3i(t.location, i[0] = e[0], i[1] = e[1], i[2] = e[2]), + 1) : 0 + } + , + i._uniform_vec3vi = function(t, e) { + return bt.mainContext.uniform3iv(t.location, e), + 1 + } + , + i._uniform_vec4i = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] || i[2] !== e[2] || i[3] !== e[3] ? (bt.mainContext.uniform4i(t.location, i[0] = e[0], i[1] = e[1], i[2] = e[2], i[3] = e[3]), + 1) : 0 + } + , + i._uniform_vec4vi = function(t, e) { + return bt.mainContext.uniform4iv(t.location, e), + 1 + } + , + i._uniform_sampler2D = function(t, i) { + var n = bt.mainContext + , a = t.uploadedValue; + return null == a[0] ? (a[0] = this._curActTexIndex, + n.uniform1i(t.location, this._curActTexIndex), + n.activeTexture(e._TEXTURES[this._curActTexIndex]), + wt.bindTexture(n, 3553, i), + this._curActTexIndex++, + 1) : (n.activeTexture(e._TEXTURES[a[0]]), + wt.bindTexture(n, 3553, i), + 0) + } + , + i._uniform_samplerCube = function(t, i) { + var n = bt.mainContext + , a = t.uploadedValue; + return null == a[0] ? (a[0] = this._curActTexIndex, + n.uniform1i(t.location, this._curActTexIndex), + n.activeTexture(e._TEXTURES[this._curActTexIndex]), + wt.bindTexture(n, 34067, i), + this._curActTexIndex++, + 1) : (n.activeTexture(e._TEXTURES[a[0]]), + wt.bindTexture(n, 34067, i), + 0) + } + , + i._noSetValue = function(t) { + console.log("no....:" + t.name) + } + , + i.uploadOne = function(t, e) { + this.activeResource(), + wt.UseProgram(this._program); + var i = this._paramsMap[t]; + i.fun.call(this, i, e) + } + , + i.uploadTexture2D = function(t) { + D.shaderCall++; + var e = bt.mainContext; + e.activeTexture(33984), + wt.bindTexture(e, 3553, t) + } + , + i.upload = function(t, e) { + Rt.activeShader = Rt.bindShader = this, + this._lastUseFrameCount === D.loopCount || this.activeResource(), + wt.UseProgram(this._program), + this._reCompile ? (e = this._params, + this._reCompile = !1) : e = e || this._params; + bt.mainContext; + for (var i, n, a = e.length, r = 0, s = 0; s < a; s++) + null !== (n = t[(i = e[s]).name]) && (r += i.fun.call(this, i, n)); + D.shaderCall += r + } + , + i.uploadArray = function(t, e, i) { + Rt.activeShader = this, + Rt.bindShader = this, + this.activeResource(), + wt.UseProgram(this._program); + this._params; + for (var n, a, r = 0, s = e - 2; s >= 0; s -= 2) + (a = this._paramsMap[t[s]]) && null != (n = t[s + 1]) && (i && i[a.name] && i[a.name].bind(), + r += a.fun.call(this, a, n)); + D.shaderCall += r + } + , + i.getParams = function() { + return this._params + } + , + e.getShader = function(t) { + return e.sharders[t] + } + , + e.create = function(t, i, n, a) { + return new e(t,i,n,a) + } + , + e.withCompile = function(t, i, n, a) { + if (n && e.sharders[n]) + return e.sharders[n]; + var r = e._preCompileShader[2e-4 * t]; + if (!r) + throw new Error("withCompile shader err!" + t); + return r.createShader(i, n, a) + } + , + e.withCompile2D = function(t, i, n, a, r) { + if (a && e.sharders[a]) + return e.sharders[a]; + var s = e._preCompileShader[2e-4 * t + i]; + if (!s) + throw new Error("withCompile shader err!" + t + " " + i); + return s.createShader(n, a, r) + } + , + e.addInclude = function(t, e) { + vt.addInclude(t, e) + } + , + e.preCompile = function(t, i, n, a) { + var r = 2e-4 * t; + e._preCompileShader[r] = new vt(r,i,n,a) + } + , + e.preCompile2D = function(t, i, n, a, r) { + var s = 2e-4 * t + i; + e._preCompileShader[s] = new vt(s,n,a,r) + } + , + e._createShader = function(t, e, i) { + var n = t.createShader(i); + return t.shaderSource(n, e), + t.compileShader(n), + n + } + , + e._TEXTURES = [33984, 33985, 33986, 33987, 33988, 33989, 33990, , 33991, 33992], + e._count = 0, + e._preCompileShader = {}, + e.SHADERNAME2ID = 2e-4, + e.sharders = (e.sharders = [], + e.sharders.length = 32, + e.sharders), + n(e, ["nameKey", function() { + return this.nameKey = new N + } + ]), + e + }() + , Jt = function(t) { + function e() { + this._maxsize = 0, + this._upload = !0, + this._uploadSize = 0, + e.__super.call(this), + this.lock = !0 + } + a(e, "laya.webgl.utils.Buffer2D", t); + var i = e.prototype; + return i.needSize = function(t) { + var e = this._byteLength; + if (t) { + var i = this._byteLength + t; + i <= this._buffer.byteLength || this._resizeBuffer(i << 1, !0), + this._byteLength = i + } + return e + } + , + i._bufferData = function() { + this._maxsize = Math.max(this._maxsize, this._byteLength), + D.loopCount % 30 == 0 && (this._buffer.byteLength > this._maxsize + 64 && (this.memorySize = this._buffer.byteLength, + this._buffer = this._buffer.slice(0, this._maxsize + 64), + this._checkArrayUse()), + this._maxsize = this._byteLength), + this._uploadSize < this._buffer.byteLength && (this._uploadSize = this._buffer.byteLength, + Ot._gl.bufferData(this._bufferType, this._uploadSize, this._bufferUsage), + this.memorySize = this._uploadSize), + Ot._gl.bufferSubData(this._bufferType, 0, this._buffer) + } + , + i._bufferSubData = function(t, e, i) { + if (void 0 === t && (t = 0), + void 0 === e && (e = 0), + void 0 === i && (i = 0), + this._maxsize = Math.max(this._maxsize, this._byteLength), + D.loopCount % 30 == 0 && (this._buffer.byteLength > this._maxsize + 64 && (this.memorySize = this._buffer.byteLength, + this._buffer = this._buffer.slice(0, this._maxsize + 64), + this._checkArrayUse()), + this._maxsize = this._byteLength), + this._uploadSize < this._buffer.byteLength && (this._uploadSize = this._buffer.byteLength, + Ot._gl.bufferData(this._bufferType, this._uploadSize, this._bufferUsage), + this.memorySize = this._uploadSize), + e || i) { + var n = this._buffer.slice(e, i); + Ot._gl.bufferSubData(this._bufferType, t, n) + } else + Ot._gl.bufferSubData(this._bufferType, t, this._buffer) + } + , + i._checkArrayUse = function() {} + , + i._bind_upload = function() { + return !!this._upload && (this._upload = !1, + this._bind(), + this._bufferData(), + !0) + } + , + i._bind_subUpload = function(t, e, i) { + return void 0 === t && (t = 0), + void 0 === e && (e = 0), + void 0 === i && (i = 0), + !!this._upload && (this._upload = !1, + this._bind(), + this._bufferSubData(t, e, i), + !0) + } + , + i._resizeBuffer = function(t, e) { + if (t < this._buffer.byteLength) + return this; + if (this.memorySize = t, + e && this._buffer && this._buffer.byteLength > 0) { + var i = new ArrayBuffer(t); + new Uint8Array(i).set(new Uint8Array(this._buffer), 0), + this._buffer = i + } else + this._buffer = new ArrayBuffer(t); + return this._checkArrayUse(), + this._upload = !0, + this + } + , + i.append = function(t) { + this._upload = !0; + var e, i = 0; + i = t.byteLength, + t instanceof Uint8Array ? (this._resizeBuffer(this._byteLength + i, !0), + e = new Uint8Array(this._buffer,this._byteLength)) : t instanceof Uint16Array ? (this._resizeBuffer(this._byteLength + i, !0), + e = new Uint16Array(this._buffer,this._byteLength)) : t instanceof Float32Array && (this._resizeBuffer(this._byteLength + i, !0), + e = new Float32Array(this._buffer,this._byteLength)), + e.set(t, 0), + this._byteLength += i, + this._checkArrayUse() + } + , + i.appendU16Array = function(t, e) { + this._resizeBuffer(this._byteLength + 2 * e, !0); + for (var i = new Uint16Array(this._buffer,this._byteLength,e), n = 0; n < e; n++) + i[n] = t[n]; + this._byteLength += 2 * e, + this._checkArrayUse() + } + , + i.appendEx = function(t, e) { + this._upload = !0; + var i = 0; + i = t.byteLength, + this._resizeBuffer(this._byteLength + i, !0), + new e(this._buffer,this._byteLength).set(t, 0), + this._byteLength += i, + this._checkArrayUse() + } + , + i.appendEx2 = function(t, e, i, n) { + void 0 === n && (n = 1), + this._upload = !0; + var a, r = 0; + r = i * n, + this._resizeBuffer(this._byteLength + r, !0), + a = new e(this._buffer,this._byteLength); + var s = 0; + for (s = 0; s < i; s++) + a[s] = t[s]; + this._byteLength += r, + this._checkArrayUse() + } + , + i.getBuffer = function() { + return this._buffer + } + , + i.setNeedUpload = function() { + this._upload = !0 + } + , + i.getNeedUpload = function() { + return this._upload + } + , + i.upload = function() { + var t = this._bind_upload(); + return Ot._gl.bindBuffer(this._bufferType, null), + Ot._bindActive[this._bufferType] = null, + Rt.activeShader = null, + t + } + , + i.subUpload = function(t, e, i) { + void 0 === t && (t = 0), + void 0 === e && (e = 0), + void 0 === i && (i = 0); + var n = this._bind_subUpload(); + return Ot._gl.bindBuffer(this._bufferType, null), + Ot._bindActive[this._bufferType] = null, + Rt.activeShader = null, + n + } + , + i.disposeResource = function() { + t.prototype.disposeResource.call(this), + this._upload = !0, + this._uploadSize = 0 + } + , + i.clear = function() { + this._byteLength = 0, + this._upload = !0 + } + , + r(0, i, "bufferLength", function() { + return this._buffer.byteLength + }), + r(0, i, "byteLength", null, function(t) { + this._byteLength !== t && (t <= this._buffer.byteLength || this._resizeBuffer(2 * t + 256, !0), + this._byteLength = t) + }), + e.__int__ = function(t) { + Qt.QuadrangleIB = Qt.create(35044), + mt.fillIBQuadrangle(Qt.QuadrangleIB, 16) + } + , + e.FLOAT32 = 4, + e.SHORT = 2, + e + }(Ot) + , Kt = (function(t) { + function e(t) { + this.u_blurX = !1, + this.u_color = null, + this.u_offset = null, + this.u_strength = NaN, + this.u_texW = 0, + this.u_texH = 0, + e.__super.call(this, 9) + } + a(e, "laya.webgl.shader.d2.value.GlowSV", t); + var i = e.prototype; + i.setValue = function(e) { + t.prototype.setValue.call(this, e) + } + , + i.clear = function() { + t.prototype.clear.call(this) + } + }(Ht), + function(t) { + function e(t) { + e.__super.call(this, 64), + this.defines.add(64) + } + a(e, "laya.webgl.shader.d2.value.TextSV", t); + var i = e.prototype; + return i.release = function() { + e.pool[e._length++] = this, + this.clear() + } + , + i.clear = function() { + t.prototype.clear.call(this) + } + , + e.create = function() { + return e._length ? e.pool[--e._length] : new e(null) + } + , + e.pool = [], + e._length = 0, + e + }(Ht)) + , Zt = function(t) { + function e(t, i, n, a) { + this._params2dQuick1 = null, + this._params2dQuick2 = null, + this._shaderValueWidth = NaN, + this._shaderValueHeight = NaN, + e.__super.call(this, t, i, n, a) + } + a(e, "laya.webgl.shader.d2.Shader2X", t); + var i = e.prototype; + return i.upload2dQuick1 = function(t) { + this.upload(t, this._params2dQuick1 || this._make2dQuick1()) + } + , + i._make2dQuick1 = function() { + if (!this._params2dQuick1) { + this.activeResource(), + this._params2dQuick1 = []; + for (var t, e = this._params, i = 0, n = e.length; i < n; i++) + t = e[i], + (I.isFlash || "size" !== t.name && "position" !== t.name && "texcoord" !== t.name) && this._params2dQuick1.push(t) + } + return this._params2dQuick1 + } + , + i.disposeResource = function() { + t.prototype.disposeResource.call(this), + this._params2dQuick1 = null, + this._params2dQuick2 = null + } + , + i.upload2dQuick2 = function(t) { + this.upload(t, this._params2dQuick2 || this._make2dQuick2()) + } + , + i._make2dQuick2 = function() { + if (!this._params2dQuick2) { + this.activeResource(), + this._params2dQuick2 = []; + for (var t, e = this._params, i = 0, n = e.length; i < n; i++) + t = e[i], + (I.isFlash || "size" !== t.name) && this._params2dQuick2.push(t) + } + return this._params2dQuick2 + } + , + e.create = function(t, i, n, a) { + return new e(t,i,n,a) + } + , + e + }(Yt) + , Qt = function(t) { + function e(t) { + this._uint8Array = null, + this._uint16Array = null, + void 0 === t && (t = 35044), + e.__super.call(this), + this._bufferUsage = t, + this._bufferType = 34963, + I.isFlash || (this._buffer = new ArrayBuffer(8)) + } + a(e, "laya.webgl.utils.IndexBuffer2D", Jt); + var i = e.prototype; + return i._checkArrayUse = function() { + this._uint8Array && (this._uint8Array = new Uint8Array(this._buffer)), + this._uint16Array && (this._uint16Array = new Uint16Array(this._buffer)) + } + , + i.getUint8Array = function() { + return this._uint8Array || (this._uint8Array = new Uint8Array(this._buffer)) + } + , + i.getUint16Array = function() { + return this._uint16Array || (this._uint16Array = new Uint16Array(this._buffer)) + } + , + i.destory = function() { + this._uint16Array = null, + this._uint8Array = null, + this._buffer = null + } + , + e.QuadrangleIB = null, + e.create = function(t) { + return void 0 === t && (t = 35044), + new e(t) + } + , + e + }() + , $t = function(t) { + function e(t, i) { + this._floatArray32 = null, + this._vertexStride = 0, + e.__super.call(this), + this._vertexStride = t, + this._bufferUsage = i, + this._bufferType = 34962, + I.isFlash || (this._buffer = new ArrayBuffer(8)), + this.getFloat32Array() + } + a(e, "laya.webgl.utils.VertexBuffer2D", t); + var i = e.prototype; + return i.getFloat32Array = function() { + return this._floatArray32 || (this._floatArray32 = new Float32Array(this._buffer)) + } + , + i.bind = function(t) { + t && t._bind(), + this._bind() + } + , + i.insertData = function(t, e) { + this.getFloat32Array().set(t, e), + this._upload = !0 + } + , + i.bind_upload = function(t) { + t._bind_upload() || t._bind(), + this._bind_upload() || this._bind() + } + , + i._checkArrayUse = function() { + this._floatArray32 && (this._floatArray32 = new Float32Array(this._buffer)) + } + , + i.disposeResource = function() { + t.prototype.disposeResource.call(this); + var e = Ot._enableAtributes; + if (!I.isConchWebGL) + for (var i = 0; i < 10; i++) + bt.mainContext.disableVertexAttribArray(i), + e[i] = null + } + , + i.destory = function() { + this._byteLength = 0, + this._upload = !0, + this._buffer = null, + this._floatArray32 = null + } + , + r(0, i, "vertexStride", function() { + return this._vertexStride + }), + e.create = function(t, i) { + return void 0 === i && (i = 35048), + new e(t,i) + } + , + e + }(Jt) + , te = function(t) { + function e(t, i, n, a) { + if (this._format = 0, + this._mipmap = !1, + this._allowMerageInAtlas = !1, + this._enableMerageInAtlas = !1, + this.repeat = !1, + this._image = null, + this.minFifter = 0, + this.magFifter = 0, + void 0 === n && (n = 6408), + void 0 === a && (a = !0), + e.__super.call(this, t, i), + this._format = n, + this._mipmap = a, + this.repeat = !1, + this.minFifter = -1, + this.magFifter = -1, + "string" == typeof t) + this._url = t, + this._src = t, + this._image = new c.window.Image, + i && (i.onload && (this.onload = i.onload), + i.onerror && (this.onerror = i.onerror), + i.onCreate && i.onCreate(this)), + this._image.crossOrigin = t && 0 == t.indexOf("data:") ? null : "", + t && (this._image.src = t); + else if (t instanceof ArrayBuffer) { + this._src = i, + this._url = this._src; + var r = new _(t); + r.readUTFBytes(4), + r.readUTFBytes(2), + r.getInt16(); + r.endian = "bigEndian", + this._w = r.getInt16(), + this._h = r.getInt16(); + r.getInt16(), + r.getInt16(); + this._image = new Uint8Array(t,r.pos), + this._format = bt.compressEtc1.COMPRESSED_RGB_ETC1_WEBGL, + F.enabled && this._w < F.atlasLimitWidth && this._h < F.atlasLimitHeight ? this._allowMerageInAtlas = !0 : this._allowMerageInAtlas = !1 + } else + this._src = i, + this._url = this._src, + this._image = t.source || t, + this.onresize(); + this._$5__enableMerageInAtlas = !0 + } + a(e, "laya.webgl.resource.WebGLImage", y); + var n = e.prototype; + return i.imps(n, { + "laya.webgl.resource.IMergeAtlasBitmap": !0 + }), + n._init_ = function(t, e) {} + , + n._createWebGlTexture = function() { + if (!this._image) + throw "create GLTextur err:no data:" + this._image; + var t = bt.mainContext + , e = this._source = t.createTexture() + , i = wt.curBindTexTarget + , n = wt.curBindTexValue; + if (wt.bindTexture(t, 3553, e), + I.isConchWebGL) + switch (this._format) { + case 6408: + t.texImage2DEx(!0, 3553, 0, this._format, 6408, 5121, this._image); + break; + case bt.compressEtc1.COMPRESSED_RGB_ETC1_WEBGL: + t.compressedTexImage2D(3553, 0, this._format, this._w, this._h, 0, this._image) + } + else { + switch (t.pixelStorei(37441, !0), + this._format) { + case 6408: + t.texImage2D(3553, 0, this._format, 6408, 5121, this._image); + break; + case bt.compressEtc1.COMPRESSED_RGB_ETC1_WEBGL: + t.compressedTexImage2D(3553, 0, this._format, this._w, this._h, 0, this._image) + } + t.pixelStorei(37441, !1) + } + var a = this.minFifter + , r = this.magFifter + , s = this.repeat ? 10497 : 33071 + , l = o.isPOT(this._w, this._h); + l ? (this.mipmap ? -1 !== a || (a = 9987) : -1 !== a || (a = 9729), + -1 !== r || (r = 9729), + t.texParameteri(3553, 10241, a), + t.texParameteri(3553, 10240, r), + t.texParameteri(3553, 10242, s), + t.texParameteri(3553, 10243, s), + this.mipmap && t.generateMipmap(3553)) : (-1 !== a || (a = 9729), + -1 !== r || (r = 9729), + t.texParameteri(3553, 10241, a), + t.texParameteri(3553, 10240, r), + t.texParameteri(3553, 10242, 33071), + t.texParameteri(3553, 10243, 33071)), + i && n && wt.bindTexture(t, i, n), + this._image.onload = null, + this._image = null, + l && this.mipmap ? this.memorySize = this._w * this._h * 4 * (1 + 1 / 3) : this.memorySize = this._w * this._h * 4, + this._recreateLock = !1 + } + , + n.recreateResource = function() { + var t = this; + if (null != this._src && "" !== this._src) + if (this._needReleaseAgain = !1, + this._image) { + if (this._recreateLock) + return; + this._allowMerageInAtlas && this._$5__enableMerageInAtlas ? (this.memorySize = 0, + this._recreateLock = !1) : this._createWebGlTexture(), + this.completeCreate() + } else { + this._recreateLock = !0; + var e = this; + this._image = new c.window.Image, + this._image.crossOrigin = 0 == this._src.indexOf("data:") ? null : "", + this._image.onload = function() { + if (e._needReleaseAgain) + return e._needReleaseAgain = !1, + e._image.onload = null, + void (e._image = null); + e._allowMerageInAtlas && e._enableMerageInAtlas ? (t.memorySize = 0, + t._recreateLock = !1) : e._createWebGlTexture(), + e.completeCreate() + } + , + this._image.src = this._src + } + } + , + n.disposeResource = function() { + this._recreateLock && (this._needReleaseAgain = !0), + this._source && (bt.mainContext.deleteTexture(this._source), + this._source = null, + this._image = null, + this.memorySize = 0) + } + , + n.onresize = function() { + this._w = this._image.width, + this._h = this._image.height, + F.enabled && this._w < F.atlasLimitWidth && this._h < F.atlasLimitHeight ? this._allowMerageInAtlas = !0 : this._allowMerageInAtlas = !1 + } + , + n.clearAtlasSource = function() { + this._image = null + } + , + r(0, n, "format", function() { + return this._format + }), + r(0, n, "enableMerageInAtlas", function() { + return this._$5__enableMerageInAtlas + }, function(t) { + this._$5__enableMerageInAtlas = t + }), + r(0, n, "mipmap", function() { + return this._mipmap + }), + r(0, n, "allowMerageInAtlas", function() { + return this._allowMerageInAtlas + }), + r(0, n, "atlasSource", function() { + return this._image + }), + r(0, n, "onload", null, function(t) { + var e = this; + this._onload = t, + this._image && (this._image.onload = null != this._onload ? function() { + e.onresize(), + e._onload() + } + : null) + }), + r(0, n, "onerror", null, function(t) { + var e = this; + this._onerror = t, + this._image && (this._image.onerror = null != this._onerror ? function() { + e._onerror() + } + : null) + }), + e + }(); + i.__init([dt, V, It, vt]) +}(window, document, Laya), +"function" == typeof define && define.amd && define("laya.core", ["require", "exports"], function(t, e) { + "use strict"; + Object.defineProperty(e, "__esModule", { + value: !0 + }); + for (var i in Laya) { + var n = Laya[i]; + n && n.__isclass && (e[i] = n) + } +}), +function(t, e, i) { + i.un, + i.uns; + var n = i.static + , a = i.class + , r = i.getset + , s = i.__newvec + , o = laya.maths.Bezier + , l = laya.utils.Browser + , h = laya.utils.Byte + , c = (laya.events.Event, + laya.events.EventDispatcher) + , _ = laya.display.Graphics + , u = laya.resource.HTMLCanvas + , d = laya.utils.Handler + , f = laya.net.Loader + , p = laya.maths.MathUtil + , m = laya.maths.Matrix + , g = (laya.display.Node, + laya.maths.Point, + laya.maths.Rectangle) + , y = laya.renders.Render + , v = (laya.renders.RenderContext, + laya.resource.Resource) + , b = laya.utils.RunDriver + , w = laya.display.Sprite + , x = laya.utils.Stat + , I = laya.resource.Texture + , C = laya.net.URL + , S = laya.utils.Utils + , M = function() { + function t() { + this.nodes = null, + this.name = null, + this.playTime = NaN, + this.bone3DMap = null, + this.totalKeyframeDatasLength = 0 + } + return a(t, "laya.ani.AnimationContent"), + t + }() + , L = function() { + function t() { + this.name = null, + this.parentIndex = 0, + this.parent = null, + this.keyframeWidth = 0, + this.lerpType = 0, + this.interpolationMethod = null, + this.childs = null, + this.keyFrame = null, + this.playTime = NaN, + this.extenData = null, + this.dataOffset = 0 + } + return a(t, "laya.ani.AnimationNodeContent"), + t + }() + , T = function() { + function t() {} + return a(t, "laya.ani.AnimationParser01"), + t.parse = function(t, e) { + var i = e.__getBuffer() + , n = 0 + , a = 0 + , r = 0 + , s = 0 + , o = 0 + , l = 0 + , c = 0 + , _ = e.readUTFString(); + t._aniClassName = _; + var u, d = e.readUTFString().split("\n"), f = e.getUint8(), p = e.getUint32(), m = e.getUint32(); + p > 0 && (u = i.slice(p, m)); + var g = new h(u); + for (m > 0 && (t._publicExtData = i.slice(m, i.byteLength)), + t._useParent = !!e.getUint8(), + t._anis.length = f, + n = 0; n < f; n++) { + var y = t._anis[n] = new M; + y.nodes = new Array; + var v = y.name = d[e.getUint16()]; + t._aniMap[v] = n, + y.bone3DMap = {}, + y.playTime = e.getFloat32(); + var b = y.nodes.length = e.getUint8(); + for (y.totalKeyframeDatasLength = 0, + a = 0; a < b; a++) { + var w = y.nodes[a] = new L; + w.childs = []; + var x = e.getInt16(); + x >= 0 && (w.name = d[x], + y.bone3DMap[w.name] = a), + w.keyFrame = new Array, + w.parentIndex = e.getInt16(), + -1 == w.parentIndex ? w.parent = null : w.parent = y.nodes[w.parentIndex], + w.lerpType = e.getUint8(); + var I = e.getUint32(); + g.pos = I; + var C = w.keyframeWidth = g.getUint16(); + if (y.totalKeyframeDatasLength += C, + 0 === w.lerpType || 1 === w.lerpType) + for (w.interpolationMethod = [], + w.interpolationMethod.length = C, + r = 0; r < C; r++) + w.interpolationMethod[r] = it.interpolation[g.getUint8()]; + null != w.parent && w.parent.childs.push(w); + var S = e.getUint16(); + S > 0 && (w.extenData = i.slice(e.pos, e.pos + S), + e.pos += S); + var T = e.getUint16(); + w.keyFrame.length = T; + var E, D = 0; + for (r = 0, + s = T; r < s; r++) { + if (E = w.keyFrame[r] = new Z, + E.duration = e.getFloat32(), + E.startTime = D, + 2 === w.lerpType) { + E.interpolationData = []; + var N = e.getUint8() + , A = 0; + switch (A = e.getFloat32()) { + case 254: + for (E.interpolationData.length = C, + c = 0; c < C; c++) + E.interpolationData[c] = 0; + break; + case 255: + for (E.interpolationData.length = C, + c = 0; c < C; c++) + E.interpolationData[c] = 5; + break; + default: + for (E.interpolationData.push(A), + l = 1; l < N; l++) + E.interpolationData.push(e.getFloat32()) + } + } + for (E.data = new Float32Array(C), + o = 0; o < C; o++) + E.data[o] = e.getFloat32(), + E.data[o] > -1e-8 && E.data[o] < 1e-8 && (E.data[o] = 0); + D += E.duration + } + E.startTime = y.playTime, + w.playTime = y.playTime, + t._calculateKeyFrame(w, T, C) + } + } + } + , + t + }() + , E = function() { + function t() {} + return a(t, "laya.ani.AnimationParser02"), + t.READ_DATA = function() { + t._DATA.offset = t._reader.getUint32(), + t._DATA.size = t._reader.getUint32() + } + , + t.READ_BLOCK = function() { + for (var e = t._BLOCK.count = t._reader.getUint16(), i = t._BLOCK.blockStarts = [], n = t._BLOCK.blockLengths = [], a = 0; a < e; a++) + i.push(t._reader.getUint32()), + n.push(t._reader.getUint32()) + } + , + t.READ_STRINGS = function() { + var e = t._reader.getUint32() + , i = t._reader.getUint16() + , n = t._reader.pos; + t._reader.pos = e + t._DATA.offset; + for (var a = 0; a < i; a++) + t._strings[a] = t._reader.readUTFString(); + t._reader.pos = n + } + , + t.parse = function(e, i) { + t._templet = e, + t._reader = i; + i.__getBuffer(); + t.READ_DATA(), + t.READ_BLOCK(), + t.READ_STRINGS(); + for (var n = 0, a = t._BLOCK.count; n < a; n++) { + var r = i.getUint16() + , s = t._strings[r] + , o = t["READ_" + s]; + if (null == o) + throw new Error("model file err,no this function:" + r + " " + s); + o.call() + } + } + , + t.READ_ANIMATIONS = function() { + var e = t._reader + , i = e.__getBuffer() + , n = 0 + , a = 0 + , r = 0 + , s = 0 + , o = e.getUint16() + , l = []; + for (l.length = o, + n = 0; n < o; n++) + l[n] = it.interpolation[e.getByte()]; + var h = e.getUint8(); + for (t._templet._anis.length = h, + n = 0; n < h; n++) { + var c = t._templet._anis[n] = {}; + c.nodes = new Array; + var _ = c.name = t._strings[e.getUint16()]; + t._templet._aniMap[_] = n, + c.bone3DMap = {}, + c.playTime = e.getFloat32(); + var u = c.nodes.length = e.getInt16(); + for (c.totalKeyframeDatasLength = 0, + a = 0; a < u; a++) { + var d = c.nodes[a] = {}; + d.keyframeWidth = o, + d.childs = []; + var f = e.getUint16(); + f >= 0 && (d.name = t._strings[f], + c.bone3DMap[d.name] = a), + d.keyFrame = new Array, + d.parentIndex = e.getInt16(), + -1 == d.parentIndex ? d.parent = null : d.parent = c.nodes[d.parentIndex], + c.totalKeyframeDatasLength += o, + d.interpolationMethod = l, + null != d.parent && d.parent.childs.push(d); + var p = e.getUint16(); + d.keyFrame.length = p; + var m = null + , g = null; + for (r = 0, + s = p; r < s; r++) { + (m = d.keyFrame[r] = {}).startTime = e.getFloat32(), + g && (g.duration = m.startTime - g.startTime); + var y = t._DATA.offset + , v = e.getUint32() + , b = 4 * o + , w = i.slice(y + v, y + v + b); + m.data = new Float32Array(w), + g = m + } + m.duration = 0, + d.playTime = c.playTime, + t._templet._calculateKeyFrame(d, p, o) + } + } + } + , + t._templet = null, + t._reader = null, + t._strings = [], + n(t, ["_BLOCK", function() { + return this._BLOCK = { + count: 0 + } + } + , "_DATA", function() { + return this._DATA = { + offset: 0, + size: 0 + } + } + ]), + t + }() + , D = (function() { + function t() {} + a(t, "laya.ani.AnimationState"), + t.stopped = 0, + t.paused = 1, + t.playing = 2 + }(), + function() { + function t() { + this.name = null, + this.root = null, + this.parentBone = null, + this.length = 10, + this.transform = null, + this.inheritScale = !0, + this.inheritRotation = !0, + this.rotation = NaN, + this.resultRotation = NaN, + this.d = -1, + this._tempMatrix = null, + this._sprite = null, + this.resultTransform = new J, + this.resultMatrix = new m, + this._children = [] + } + a(t, "laya.ani.bone.Bone"); + var e = t.prototype; + return e.setTempMatrix = function(t) { + this._tempMatrix = t; + var e = 0 + , i = 0; + for (e = 0, + i = this._children.length; e < i; e++) + this._children[e].setTempMatrix(this._tempMatrix) + } + , + e.update = function(t) { + this.rotation = this.transform.skX; + var e; + if (t) + e = this.resultTransform.getMatrix(), + m.mul(e, t, this.resultMatrix), + this.resultRotation = this.rotation; + else if (this.resultRotation = this.rotation + this.parentBone.resultRotation, + this.parentBone) + if (this.inheritRotation && this.inheritScale) + e = this.resultTransform.getMatrix(), + m.mul(e, this.parentBone.resultMatrix, this.resultMatrix); + else { + var i = this.parentBone + , n = NaN + , a = NaN + , r = NaN + , s = this.parentBone.resultMatrix; + e = this.resultTransform.getMatrix(); + var o = s.a * e.tx + s.c * e.ty + s.tx + , l = s.b * e.tx + s.d * e.ty + s.ty + , h = new m; + this.inheritRotation ? (n = Math.atan2(i.resultMatrix.b, i.resultMatrix.a), + a = Math.cos(n), + r = Math.sin(n), + h.setTo(a, r, -r, a, 0, 0), + m.mul(this._tempMatrix, h, m.TEMP), + m.TEMP.copyTo(h), + e = this.resultTransform.getMatrix(), + m.mul(e, h, this.resultMatrix), + this.resultTransform.scX * this.resultTransform.scY < 0 && this.resultMatrix.rotate(.5 * Math.PI), + this.resultMatrix.tx = o, + this.resultMatrix.ty = l) : (this.inheritScale, + e = this.resultTransform.getMatrix(), + m.TEMP.identity(), + m.TEMP.d = this.d, + m.mul(e, m.TEMP, this.resultMatrix), + this.resultMatrix.tx = o, + this.resultMatrix.ty = l) + } + else + (e = this.resultTransform.getMatrix()).copyTo(this.resultMatrix); + var c = 0 + , _ = 0; + for (c = 0, + _ = this._children.length; c < _; c++) + this._children[c].update() + } + , + e.updateChild = function() { + var t = 0 + , e = 0; + for (t = 0, + e = this._children.length; t < e; t++) + this._children[t].update() + } + , + e.setRotation = function(t) { + this._sprite && (this._sprite.rotation = 180 * t / Math.PI) + } + , + e.updateDraw = function(e, n) { + t.ShowBones && !t.ShowBones[this.name] || (this._sprite ? (this._sprite.x = e + this.resultMatrix.tx, + this._sprite.y = n + this.resultMatrix.ty) : (this._sprite = new w, + this._sprite.graphics.drawCircle(0, 0, 5, "#ff0000"), + this._sprite.graphics.drawLine(0, 0, this.length, 0, "#00ff00"), + this._sprite.graphics.fillText(this.name, 0, 0, "20px Arial", "#00ff00", "center"), + i.stage.addChild(this._sprite), + this._sprite.x = e + this.resultMatrix.tx, + this._sprite.y = n + this.resultMatrix.ty)); + var a = 0 + , r = 0; + for (a = 0, + r = this._children.length; a < r; a++) + this._children[a].updateDraw(e, n) + } + , + e.addChild = function(t) { + this._children.push(t), + t.parentBone = this + } + , + e.findBone = function(t) { + if (this.name == t) + return this; + var e, i, n = 0, a = 0; + for (n = 0, + a = this._children.length; n < a; n++) + if (e = this._children[n], + i = e.findBone(t)) + return i; + return null + } + , + e.localToWorld = function(t) { + var e = t[0] + , i = t[1]; + t[0] = e * this.resultMatrix.a + i * this.resultMatrix.c + this.resultMatrix.tx, + t[1] = e * this.resultMatrix.b + i * this.resultMatrix.d + this.resultMatrix.ty + } + , + t.ShowBones = {}, + t + }()) + , N = function() { + function t() { + this.name = null, + this.parent = null, + this.attachmentName = null, + this.srcDisplayIndex = -1, + this.type = "src", + this.templet = null, + this.currSlotData = null, + this.currTexture = null, + this.currDisplayData = null, + this.displayIndex = -1, + this._diyTexture = null, + this._parentMatrix = null, + this._resultMatrix = null, + this._replaceDic = {}, + this._curDiyUV = null, + this._curDiyVS = null, + this._skinSprite = null, + this.deformData = null, + this._mVerticleArr = null + } + a(t, "laya.ani.bone.BoneSlot"); + var e = t.prototype; + return e.showSlotData = function(t, e) { + void 0 === e && (e = !0), + this.currSlotData = t, + e && (this.displayIndex = this.srcDisplayIndex), + this.currDisplayData = null, + this.currTexture = null + } + , + e.showDisplayByName = function(t) { + this.currSlotData && this.showDisplayByIndex(this.currSlotData.getDisplayByName(t)) + } + , + e.replaceDisplayByName = function(t, e) { + if (this.currSlotData) { + var i = 0; + i = this.currSlotData.getDisplayByName(t); + var n = 0; + n = this.currSlotData.getDisplayByName(e), + this.replaceDisplayByIndex(i, n) + } + } + , + e.replaceDisplayByIndex = function(t, e) { + this.currSlotData && (this._replaceDic[t] = e, + this.displayIndex == t && this.showDisplayByIndex(t)) + } + , + e.showDisplayByIndex = function(t) { + if (null != this._replaceDic[t] && (t = this._replaceDic[t]), + this.currSlotData && t > -1 && t < this.currSlotData.displayArr.length) { + if (this.displayIndex = t, + this.currDisplayData = this.currSlotData.displayArr[t], + this.currDisplayData) { + var e = this.currDisplayData.name; + this.currTexture = this.templet.getTexture(e), + this.currTexture && 0 == this.currDisplayData.type && this.currDisplayData.uvs && (!y.isConchApp || y.isConchApp && w.RUNTIMEVERION > "0.9.15") && (this.currTexture = this.currDisplayData.createTexture(this.currTexture)) + } + } else + this.displayIndex = -1, + this.currDisplayData = null, + this.currTexture = null + } + , + e.replaceSkin = function(t) { + this._diyTexture = t, + this._curDiyUV && (this._curDiyUV.length = 0), + this.currDisplayData && this._diyTexture == this.currDisplayData.texture && (this._diyTexture = null) + } + , + e.setParentMatrix = function(t) { + this._parentMatrix = t + } + , + e.draw = function(e, i, n, a) { + if (void 0 === n && (n = !1), + void 0 === a && (a = 1), + (null != this._diyTexture || null != this.currTexture) && null != this.currDisplayData || this.currDisplayData && 3 == this.currDisplayData.type) { + var r = this.currTexture; + this._diyTexture && (r = this._diyTexture); + var s; + switch (this.currDisplayData.type) { + case 0: + if (e) { + var o = this.getDisplayMatrix(); + if (this._parentMatrix) { + var l = !1; + if (o) { + m.mul(o, this._parentMatrix, m.TEMP); + var h; + if (n ? (null == this._resultMatrix && (this._resultMatrix = new m), + h = this._resultMatrix) : h = new m, + !y.isWebGL && this.currDisplayData.uvs || y.isWebGL && this._diyTexture && this.currDisplayData.uvs) { + var c = t._tempMatrix; + c.identity(), + this.currDisplayData.uvs[1] > this.currDisplayData.uvs[5] && (c.d = -1), + this.currDisplayData.uvs[0] > this.currDisplayData.uvs[4] && this.currDisplayData.uvs[1] > this.currDisplayData.uvs[5] && (l = !0, + c.rotate(-Math.PI / 2)), + m.mul(c, m.TEMP, h) + } else + m.TEMP.copyTo(h); + l ? e.drawTexture(r, -this.currDisplayData.height / 2, -this.currDisplayData.width / 2, this.currDisplayData.height, this.currDisplayData.width, h) : e.drawTexture(r, -this.currDisplayData.width / 2, -this.currDisplayData.height / 2, this.currDisplayData.width, this.currDisplayData.height, h) + } + } + } + break; + case 1: + if (n ? (null == this._skinSprite && (this._skinSprite = t.createSkinMesh()), + s = this._skinSprite) : s = t.createSkinMesh(), + null == s) + return; + var _; + if (null == this.currDisplayData.bones) { + var u = this.currDisplayData.weights; + this.deformData && (u = this.deformData); + var d; + this._diyTexture ? (this._curDiyUV || (this._curDiyUV = []), + 0 == this._curDiyUV.length && (this._curDiyUV = K.getRelativeUV(this.currTexture.uv, this.currDisplayData.uvs, this._curDiyUV), + this._curDiyUV = K.getAbsoluteUV(this._diyTexture.uv, this._curDiyUV, this._curDiyUV)), + d = this._curDiyUV) : d = this.currDisplayData.uvs, + this._mVerticleArr = u; + this.currDisplayData.triangles.length; + _ = this.currDisplayData.triangles, + s.init2(r, null, _, this._mVerticleArr, d); + var f = this.getDisplayMatrix(); + if (this._parentMatrix && f) { + m.mul(f, this._parentMatrix, m.TEMP); + var p; + n ? (null == this._resultMatrix && (this._resultMatrix = new m), + p = this._resultMatrix) : p = new m, + m.TEMP.copyTo(p), + s.transform = p + } + } else + this.skinMesh(i, s, a); + e.drawSkin(s); + break; + case 2: + if (n ? (null == this._skinSprite && (this._skinSprite = t.createSkinMesh()), + s = this._skinSprite) : s = t.createSkinMesh(), + null == s) + return; + this.skinMesh(i, s, a), + e.drawSkin(s) + } + } + } + , + e.skinMesh = function(t, e, i) { + var n, a = this.currTexture, r = this.currDisplayData.bones; + this._diyTexture ? (a = this._diyTexture, + this._curDiyUV || (this._curDiyUV = []), + 0 == this._curDiyUV.length && (this._curDiyUV = K.getRelativeUV(this.currTexture.uv, this.currDisplayData.uvs, this._curDiyUV), + this._curDiyUV = K.getAbsoluteUV(this._diyTexture.uv, this._curDiyUV, this._curDiyUV)), + n = this._curDiyUV) : n = this.currDisplayData.uvs; + var s, o, l = this.currDisplayData.weights, h = this.currDisplayData.triangles, c = 0, _ = 0, u = 0, d = NaN, f = NaN, p = 0, m = 0, g = [], y = 0, v = 0; + if (this.deformData && this.deformData.length > 0) { + var b = 0; + for (y = 0, + v = r.length; y < v; ) { + for (u = r[y++] + y, + c = 0, + _ = 0; y < u; y++) + o = t[r[y]], + d = l[p] + this.deformData[b++], + f = l[p + 1] + this.deformData[b++], + m = l[p + 2], + c += (d * o.a + f * o.c + o.tx) * m, + _ += (d * o.b + f * o.d + o.ty) * m, + p += 3; + g.push(c, _) + } + } else + for (y = 0, + v = r.length; y < v; ) { + for (u = r[y++] + y, + c = 0, + _ = 0; y < u; y++) + o = t[r[y]], + d = l[p], + f = l[p + 1], + m = l[p + 2], + c += (d * o.a + f * o.c + o.tx) * m, + _ += (d * o.b + f * o.d + o.ty) * m, + p += 3; + g.push(c, _) + } + this._mVerticleArr = g, + s = h, + e.init2(a, null, s, this._mVerticleArr, n) + } + , + e.drawBonePoint = function(t) { + t && this._parentMatrix && t.drawCircle(this._parentMatrix.tx, this._parentMatrix.ty, 5, "#ff0000") + } + , + e.getDisplayMatrix = function() { + return this.currDisplayData ? this.currDisplayData.transform.getMatrix() : null + } + , + e.getMatrix = function() { + return this._resultMatrix + } + , + e.copy = function() { + var e = new t; + return e.type = "copy", + e.name = this.name, + e.attachmentName = this.attachmentName, + e.srcDisplayIndex = this.srcDisplayIndex, + e.parent = this.parent, + e.displayIndex = this.displayIndex, + e.templet = this.templet, + e.currSlotData = this.currSlotData, + e.currTexture = this.currTexture, + e.currDisplayData = this.currDisplayData, + e + } + , + t.createSkinMesh = function() { + return y.isWebGL || y.isConchApp ? b.skinAniSprite() : y.isWebGL ? null : at.useSimpleMeshInCanvas ? new nt : new et + } + , + n(t, ["_tempMatrix", function() { + return this._tempMatrix = new m + } + ]), + t + }() + , A = function() { + function t() { + this.mesh = null, + this.transform = null, + this.context = null, + this.mode = 0 + } + a(t, "laya.ani.bone.canvasmesh.CanvasMeshRender"); + var e = t.prototype; + return e.renderToContext = function(t) { + this.context = t.ctx || t, + this.mesh && (0 == this.mode ? this._renderWithIndexes(this.mesh) : this._renderNoIndexes(this.mesh)) + } + , + e._renderNoIndexes = function(t) { + var e = 0 + , i = t.vertices.length / 2 + , n = 0; + for (e = 0; e < i - 2; e++) + n = 2 * e, + this._renderDrawTriangle(t, n, n + 2, n + 4) + } + , + e._renderWithIndexes = function(t) { + var e = t.indexes + , i = 0 + , n = e.length; + for (i = 0; i < n; i += 3) { + var a = 2 * e[i] + , r = 2 * e[i + 1] + , s = 2 * e[i + 2]; + this._renderDrawTriangle(t, a, r, s) + } + } + , + e._renderDrawTriangle = function(t, e, i, n) { + var a = this.context + , r = t.uvs + , s = t.vertices + , o = t.texture + , l = o.bitmap + , h = l.source + , c = o.width + , _ = o.height + , u = l.width + , d = l.height + , f = NaN + , p = NaN + , m = NaN + , g = NaN + , y = NaN + , v = NaN; + if (t.useUvTransform) { + var b = t.uvTransform; + f = (r[e] * b.a + r[e + 1] * b.c + b.tx) * u, + p = (r[i] * b.a + r[i + 1] * b.c + b.tx) * u, + m = (r[n] * b.a + r[n + 1] * b.c + b.tx) * u, + g = (r[e] * b.b + r[e + 1] * b.d + b.ty) * d, + y = (r[i] * b.b + r[i + 1] * b.d + b.ty) * d, + v = (r[n] * b.b + r[n + 1] * b.d + b.ty) * d + } else + f = r[e] * u, + p = r[i] * u, + m = r[n] * u, + g = r[e + 1] * d, + y = r[i + 1] * d, + v = r[n + 1] * d; + var w = s[e] + , x = s[i] + , I = s[n] + , C = s[e + 1] + , S = s[i + 1] + , M = s[n + 1]; + if (t.canvasPadding > 0) { + var L = t.canvasPadding + , T = t.canvasPadding + , E = (w + x + I) / 3 + , D = (C + S + M) / 3 + , N = w - E + , A = C - D + , B = Math.sqrt(N * N + A * A); + w = E + N / B * (B + L), + C = D + A / B * (B + T), + A = S - D, + x = E + (N = x - E) / (B = Math.sqrt(N * N + A * A)) * (B + L), + S = D + A / B * (B + T), + A = M - D, + I = E + (N = I - E) / (B = Math.sqrt(N * N + A * A)) * (B + L), + M = D + A / B * (B + T) + } + if (a.save(), + this.transform) { + var k = this.transform; + a.transform(k.a, k.b, k.c, k.d, k.tx, k.ty) + } + a.beginPath(), + a.moveTo(w, C), + a.lineTo(x, S), + a.lineTo(I, M), + a.closePath(), + a.clip(); + var R = 1 / (f * y + g * m + p * v - y * m - g * p - f * v) + , P = w * y + g * I + x * v - y * I - g * x - w * v + , O = f * x + w * m + p * I - x * m - w * p - f * I + , U = f * y * I + g * x * m + w * p * v - w * y * m - g * p * I - f * x * v + , V = C * y + g * M + S * v - y * M - g * S - C * v + , F = f * S + C * m + p * M - S * m - C * p - f * M + , H = f * y * M + g * S * m + C * p * v - C * y * m - g * p * M - f * S * v; + a.transform(P * R, V * R, O * R, F * R, U * R, H * R), + a.drawImage(h, o.uv[0] * u, o.uv[1] * d, c, _, o.uv[0] * u, o.uv[1] * d, c, _), + a.restore() + } + , + t + }() + , B = function() { + function t() { + this.texture = null, + this.uvs = [0, 0, 1, 0, 1, 1, 0, 1], + this.vertices = [0, 0, 100, 0, 100, 100, 0, 100], + this.indexes = [0, 1, 3, 3, 1, 2], + this.uvTransform = null, + this.useUvTransform = !1, + this.canvasPadding = 1 + } + a(t, "laya.ani.bone.canvasmesh.MeshData"); + return t.prototype.getBounds = function() { + return g._getWrapRec(this.vertices) + } + , + t + }() + , k = function() { + function t() { + this.skinName = null, + this.deformSlotDataList = [] + } + return a(t, "laya.ani.bone.DeformAniData"), + t + }() + , R = function() { + function t() { + this.deformSlotDisplayList = [] + } + return a(t, "laya.ani.bone.DeformSlotData"), + t + }() + , P = function() { + function t() { + this.boneSlot = null, + this.slotIndex = -1, + this.attachment = null, + this.deformData = null, + this.frameIndex = 0, + this.timeList = [], + this.vectices = [], + this.tweenKeyList = [] + } + a(t, "laya.ani.bone.DeformSlotDisplayData"); + var e = t.prototype; + return e.binarySearch1 = function(t, e) { + var i = 0 + , n = t.length - 2; + if (0 == n) + return 1; + for (var a = n >>> 1; ; ) { + if (t[Math.floor(a + 1)] <= e ? i = a + 1 : n = a, + i == n) + return i + 1; + a = i + n >>> 1 + } + return 0 + } + , + e.apply = function(t, e, i) { + if (void 0 === i && (i = 1), + t += .05, + !(this.timeList.length <= 0)) { + var n = 0; + if (!(t < this.timeList[0])) { + var a = this.vectices[0].length + , r = [] + , s = this.binarySearch1(this.timeList, t); + if (this.frameIndex = s, + t >= this.timeList[this.timeList.length - 1]) { + var o = this.vectices[this.vectices.length - 1]; + if (i < 1) + for (n = 0; n < a; n++) + r[n] += (o[n] - r[n]) * i; + else + for (n = 0; n < a; n++) + r[n] = o[n]; + this.deformData = r + } else { + this.tweenKeyList[this.frameIndex]; + var l = this.vectices[this.frameIndex - 1] + , h = this.vectices[this.frameIndex] + , c = this.timeList[this.frameIndex - 1] + , _ = this.timeList[this.frameIndex]; + i = this.tweenKeyList[s - 1] ? (t - c) / (_ - c) : 0; + var u = NaN; + for (n = 0; n < a; n++) + u = l[n], + r[n] = u + (h[n] - u) * i; + this.deformData = r + } + } + } + } + , + t + }() + , O = function() { + function t() { + this.time = NaN, + this.drawOrder = [] + } + return a(t, "laya.ani.bone.DrawOrderData"), + t + }() + , U = function() { + function t() { + this.name = null, + this.intValue = 0, + this.floatValue = NaN, + this.stringValue = null, + this.time = NaN + } + return a(t, "laya.ani.bone.EventData"), + t + }() + , V = function() { + function t(t, e) { + this._targetBone = null, + this._bones = null, + this._data = null, + this.name = null, + this.mix = NaN, + this.bendDirection = NaN, + this.isSpine = !0, + this._sp = null, + this.isDebug = !1, + this._data = t, + this._targetBone = e[t.targetBoneIndex], + this.isSpine = t.isSpine, + null == this._bones && (this._bones = []), + this._bones.length = 0; + for (var i = 0, n = t.boneIndexs.length; i < n; i++) + this._bones.push(e[t.boneIndexs[i]]); + this.name = t.name, + this.mix = t.mix, + this.bendDirection = t.bendDirection + } + a(t, "laya.ani.bone.IkConstraint"); + var e = t.prototype; + return e.apply = function() { + switch (this._bones.length) { + case 1: + this._applyIk1(this._bones[0], this._targetBone.resultMatrix.tx, this._targetBone.resultMatrix.ty, this.mix); + break; + case 2: + this.isSpine ? this._applyIk2(this._bones[0], this._bones[1], this._targetBone.resultMatrix.tx, this._targetBone.resultMatrix.ty, this.bendDirection, this.mix) : this._applyIk3(this._bones[0], this._bones[1], this._targetBone.resultMatrix.tx, this._targetBone.resultMatrix.ty, this.bendDirection, this.mix) + } + } + , + e._applyIk1 = function(e, i, n, a) { + var r = e.parentBone + , s = 1 / (r.resultMatrix.a * r.resultMatrix.d - r.resultMatrix.b * r.resultMatrix.c) + , o = i - r.resultMatrix.tx + , l = n - r.resultMatrix.ty + , h = (o * r.resultMatrix.d - l * r.resultMatrix.c) * s - e.transform.x + , c = (l * r.resultMatrix.a - o * r.resultMatrix.b) * s - e.transform.y + , _ = Math.atan2(c, h) * t.radDeg - 0 - e.transform.skX; + e.transform.scX < 0 && (_ += 180), + _ > 180 ? _ -= 360 : _ < -180 && (_ += 360), + e.transform.skX = e.transform.skY = e.transform.skX + _ * a, + e.update() + } + , + e.updatePos = function(t, e) { + this._sp && this._sp.pos(t, e) + } + , + e._applyIk2 = function(e, n, a, r, s, o) { + if (0 != o) { + var l = e.resultTransform.x + , h = e.resultTransform.y + , c = e.transform.scX + , _ = e.transform.scY + , u = n.transform.scX + , d = 0 + , f = 0 + , p = 0; + c < 0 ? (c = -c, + d = 180, + p = -1) : (d = 0, + p = 1), + _ < 0 && (_ = -_, + p = -p), + u < 0 ? (u = -u, + f = 180) : f = 0; + var m = n.resultTransform.x + , g = NaN + , y = NaN + , v = NaN + , b = e.resultMatrix.a + , x = e.resultMatrix.c + , I = e.resultMatrix.b + , C = e.resultMatrix.d + , S = Math.abs(c - _) <= 1e-4; + S ? (y = b * m + x * (g = n.resultTransform.y) + e.resultMatrix.tx, + v = I * m + C * g + e.resultMatrix.ty) : (g = 0, + y = b * m + e.resultMatrix.tx, + v = I * m + e.resultMatrix.ty), + this.isDebug && (this._sp || (this._sp = new w, + i.stage.addChild(this._sp)), + this._sp.graphics.clear(), + this._sp.graphics.drawCircle(a, r, 15, "#ffff00"), + this._sp.graphics.drawCircle(y, v, 15, "#ff00ff")), + e.setRotation(Math.atan2(v - e.resultMatrix.ty, y - e.resultMatrix.tx)); + var M = e.parentBone; + b = M.resultMatrix.a, + x = M.resultMatrix.c, + I = M.resultMatrix.b; + var L = 1 / (b * (C = M.resultMatrix.d) - x * I) + , T = a - M.resultMatrix.tx + , E = r - M.resultMatrix.ty + , D = (T * C - E * x) * L - l + , N = (E * b - T * I) * L - h + , A = ((T = y - M.resultMatrix.tx) * C - (E = v - M.resultMatrix.ty) * x) * L - l + , B = (E * b - T * I) * L - h + , k = Math.sqrt(A * A + B * B) + , R = n.length * u + , P = NaN + , O = NaN; + if (S) { + var U = (D * D + N * N - k * k - (R *= c) * R) / (2 * k * R); + U < -1 ? U = -1 : U > 1 && (U = 1), + O = Math.acos(U) * s, + b = k + R * U, + x = R * Math.sin(O), + P = Math.atan2(N * b - D * x, D * b + N * x) + } else { + var V = (b = c * R) * b + , F = (x = _ * R) * x + , H = D * D + N * N + , G = Math.atan2(N, D) + , z = -2 * F * k + , j = F - V; + if ((C = z * z - 4 * j * (I = F * k * k + V * H - V * F)) > 0) { + var W = Math.sqrt(C); + z < 0 && (W = -W); + var X = (W = -(z + W) / 2) / j + , q = I / W + , Y = Math.abs(X) < Math.abs(q) ? X : q; + Y * Y <= H && (E = Math.sqrt(H - Y * Y) * s, + P = G - Math.atan2(E, Y), + O = Math.atan2(E / _, (Y - k) / c)) + } + var J = 0 + , K = Number.MAX_VALUE + , Z = 0 + , Q = 0 + , $ = 0 + , tt = 0 + , et = 0 + , it = 0; + (C = (T = k + b) * T) > tt && ($ = 0, + tt = C, + et = T), + (C = (T = k - b) * T) < K && (J = Math.PI, + K = C, + Z = T); + var nt = Math.acos(-b * k / (V - F)); + (C = (T = b * Math.cos(nt) + k) * T + (E = x * Math.sin(nt)) * E) < K && (J = nt, + K = C, + Z = T, + Q = E), + C > tt && ($ = nt, + tt = C, + et = T, + it = E), + H <= (K + tt) / 2 ? (P = G - Math.atan2(Q * s, Z), + O = J * s) : (P = G - Math.atan2(it * s, et), + O = $ * s) + } + var at = Math.atan2(g, m) * p + , rt = e.resultTransform.skX; + (P = (P - at) * t.radDeg + d - rt) > 180 ? P -= 360 : P < -180 && (P += 360), + e.resultTransform.x = l, + e.resultTransform.y = h, + e.resultTransform.skX = e.resultTransform.skY = rt + P * o, + rt = n.resultTransform.skX, + (O = ((O + at) * t.radDeg - 0) * p + f - (rt %= 360)) > 180 ? O -= 360 : O < -180 && (O += 360), + n.resultTransform.x = m, + n.resultTransform.y = g, + n.resultTransform.skX = n.resultTransform.skY = n.resultTransform.skY + O * o, + e.update() + } + } + , + e._applyIk3 = function(e, n, a, r, s, o) { + if (0 != o) { + var l = NaN + , h = NaN + , c = n.resultMatrix.a * n.length + , _ = n.resultMatrix.b * n.length + , u = c * c + _ * _ + , d = Math.sqrt(u) + , f = e.resultMatrix.tx + , p = e.resultMatrix.ty + , m = n.resultMatrix.tx + , g = n.resultMatrix.ty + , y = m - f + , v = g - p + , b = y * y + v * v + , x = Math.sqrt(b) + , I = (y = a - e.resultMatrix.tx) * y + (v = r - e.resultMatrix.ty) * v + , C = Math.sqrt(I); + if (d + x <= C || C + d <= x || C + x <= d) { + var S = NaN; + m = f + (S = d + x <= C ? 1 : -1) * (a - f) * x / C, + g = p + S * (r - p) * x / C + } else { + var M = (b - u + I) / (2 * I) + , L = Math.sqrt(b - M * M * I) / C + , T = f + y * M + , E = p + v * M + , D = -v * L + , N = y * L; + s > 0 ? (m = T - D, + g = E - N) : (m = T + D, + g = E + N) + } + l = m, + h = g, + this.isDebug && (this._sp || (this._sp = new w, + i.stage.addChild(this._sp)), + this._sp.graphics.clear(), + this._sp.graphics.drawCircle(f, p, 15, "#ff00ff"), + this._sp.graphics.drawCircle(a, r, 15, "#ffff00"), + this._sp.graphics.drawCircle(l, h, 15, "#ff00ff")); + var A = NaN; + A = Math.atan2(h - e.resultMatrix.ty, l - e.resultMatrix.tx), + e.setRotation(A); + var B; + (B = t._tempMatrix).identity(), + B.rotate(A), + B.scale(e.resultMatrix.getScaleX(), e.resultMatrix.getScaleY()), + B.translate(e.resultMatrix.tx, e.resultMatrix.ty), + B.copyTo(e.resultMatrix), + e.updateChild(); + var k = NaN; + k = Math.atan2(r - h, a - l), + n.setRotation(k); + var R; + (R = t._tempMatrix).identity(), + R.rotate(k), + R.scale(n.resultMatrix.getScaleX(), n.resultMatrix.getScaleY()), + R.translate(l, h), + B.copyTo(n.resultMatrix), + n.updateChild() + } + } + , + n(t, ["radDeg", function() { + return this.radDeg = 180 / Math.PI + } + , "degRad", function() { + return this.degRad = Math.PI / 180 + } + , "_tempMatrix", function() { + return this._tempMatrix = new m + } + ]), + t + }() + , F = function() { + function t() { + this.name = null, + this.targetBoneName = null, + this.bendDirection = 1, + this.mix = 1, + this.isSpine = !0, + this.targetBoneIndex = -1, + this.boneNames = [], + this.boneIndexs = [] + } + return a(t, "laya.ani.bone.IkConstraintData"), + t + }() + , H = function() { + function t() {} + return a(t, "laya.ani.bone.MeshTools"), + t.findEdge = function(t, e, i) { + void 0 === e && (e = 0), + void 0 === i && (i = !0); + var n = 0 + , a = 0 + , r = 0; + for (a = t.length, + r = -1, + n = 0; n < a; n += 2) + (r < 0 || i == t[r + e] < t[n + e]) && (r = n); + return r + } + , + t.findBestTriangle = function(e) { + var i = 0; + i = t.findEdge(e, 1, !0); + var n = 0; + n = t.findEdge(e, 1, !1); + var a = 0; + a = t.findEdge(e, 0, !0); + var r = 0; + r = t.findEdge(e, 0, !1); + var s; + return s = t._bestTriangle, + s.length = 0, + s.push(a, r), + s.indexOf(i) < 0 && s.push(i), + s.indexOf(n) < 0 && s.push(n), + s + } + , + t.solveMesh = function(e, i) { + (i = i || []).length = 0; + var n; + n = e.uvs; + var a; + a = e.vertices; + var r, s, o = 0, l = 0, h = 0; + o = (s = t.findBestTriangle(n))[0], + l = s[1], + h = s[2], + t._absArr.length = 0; + return t.isNormalUV(e.texture.uv) && t.adptTexture(e), + r = t.solvePoints(e.texture.uv, n[o], n[o + 1], n[l] - n[o], n[l + 1] - n[o + 1], n[h] - n[o], n[h + 1] - n[o + 1], t._absArr), + t.transPoints(r, a[o], a[o + 1], a[l] - a[o], a[l + 1] - a[o + 1], a[h] - a[o], a[h + 1] - a[o + 1], i) + } + , + t.findWrapRect = function(e) { + var i = 0; + i = t.findEdge(e, 1, !0); + var n = 0; + n = t.findEdge(e, 1, !1); + var a = 0; + a = t.findEdge(e, 0, !0); + var r = 0; + r = t.findEdge(e, 0, !1); + var s = NaN; + s = e[a]; + var o = NaN; + o = e[r]; + var l = NaN; + l = e[i + 1]; + var h = NaN; + return [o, h = e[n + 1], s - o, l - h] + } + , + t.adptTexture = function(e) { + var i; + i = t.findWrapRect(e.uvs); + var n, a, r = (n = e.texture).width, s = n.height; + a = I.create(n, i[0] * r, i[1] * s, i[2] * r, i[3] * s), + e.texture = a + } + , + t.isNormalUV = function(t) { + return 0 == t[0] && 0 == t[1] && 1 == t[4] && 1 == t[5] + } + , + t.solvePoints = function(e, i, n, a, r, s, o, l) { + l = l || []; + var h = 0 + , c = 0; + c = e.length; + var _; + for (h = 0; h < c; h += 2) + _ = t.solve2(e[h], e[h + 1], i, n, a, r, s, o), + l.push(_[0], _[1]); + return l + } + , + t.transPoints = function(e, i, n, a, r, s, o, l) { + l = l || []; + var h = 0 + , c = 0; + c = e.length; + for (h = 0; h < c; h += 2) + t.transPoint(e[h], e[h + 1], i, n, a, r, s, o, l); + return l + } + , + t.transPoint = function(t, e, i, n, a, r, s, o, l) { + var h = NaN + , c = NaN; + return h = i + a * t + s * e, + c = n + r * t + o * e, + (l = l || []).push(h, c), + l + } + , + t.solve2 = function(e, i, n, a, r, s, o, l, h, c) { + void 0 === h && (h = !1), + c = c || []; + var _ = NaN + , u = NaN; + if (0 == r) + return t.solve2(e, i, n, a, o, l, r, s, !0, c); + var d = NaN + , f = NaN; + return d = e - n, + f = i - a, + u = (f - d * s / r) / (l - o * s / r), + _ = (d - u * o) / r, + h ? c.push(u, _) : c.push(_, u), + c + } + , + t.solve = function(e, i, n, a) { + return t.solve2(e.x, e.y, i.x, i.y, n.x, n.y, a.x, a.y) + } + , + t._bestTriangle = [], + t._absArr = [], + t + }() + , G = function() { + function t(t, e) { + this.target = null, + this.data = null, + this.bones = null, + this.position = NaN, + this.spacing = NaN, + this.rotateMix = NaN, + this.translateMix = NaN, + this._debugKey = !1, + this._spaces = null, + this._segments = [], + this._curves = [], + this.data = t, + this.position = t.position, + this.spacing = t.spacing, + this.rotateMix = t.rotateMix, + this.translateMix = t.translateMix, + this.bones = []; + for (var i = this.data.bones, n = 0, a = i.length; n < a; n++) + this.bones.push(e[i[n]]) + } + a(t, "laya.ani.bone.PathConstraint"); + var e = t.prototype; + return e.apply = function(t, e) { + if (this.target) { + var i = this.translateMix + , n = this.translateMix + , a = n > 0 + , r = this.data.spacingMode + , s = "length" == r + , o = this.data.rotateMode + , l = "tangent" == o + , h = "chainScale" == o + , c = [] + , _ = this.bones.length + , u = l ? _ : _ + 1 + , d = []; + this._spaces = d, + d[0] = this.position; + var f = this.spacing; + if (h || s) + for (var p = 0, m = u - 1; p < m; ) { + var g = this.bones[p] + , y = g.length + , v = y * g.resultMatrix.a + , b = y * g.resultMatrix.b; + y = Math.sqrt(v * v + b * b), + h && (c[p] = y), + d[++p] = s ? Math.max(0, y + f) : f + } + else + for (p = 1; p < u; p++) + d[p] = f; + var w = this.computeWorldPositions(this.target, t, e, u, l, "percent" == this.data.positionMode, "percent" == r); + if (this._debugKey) { + for (p = 0; p < w.length; p++) + e.drawCircle(w[p++], w[p++], 5, "#00ff00"); + var x = []; + for (p = 0; p < w.length; p++) + x.push(w[p++], w[p++]); + e.drawLines(0, 0, x, "#ff0000") + } + var I = w[0] + , C = w[1] + , S = this.data.offsetRotation + , M = "chain" == o && 0 == S + , L = NaN; + for (p = 0, + L = 3; p < _; p++, + L += 3) { + (g = this.bones[p]).resultMatrix.tx += (I - g.resultMatrix.tx) * i, + g.resultMatrix.ty += (C - g.resultMatrix.ty) * i; + var T = (v = w[L]) - I + , E = (b = w[L + 1]) - C; + if (h && 0 != (y = c[p])) { + var D = (Math.sqrt(T * T + E * E) / y - 1) * n + 1; + g.resultMatrix.a *= D, + g.resultMatrix.c *= D + } + if (I = v, + C = b, + a) { + var N = g.resultMatrix.a + , A = g.resultMatrix.c + , B = g.resultMatrix.b + , k = g.resultMatrix.d + , R = NaN + , P = NaN + , O = NaN; + R = l ? w[L - 1] : 0 == d[p + 1] ? w[L + 2] : Math.atan2(E, T), + R -= Math.atan2(B, N) - S / 180 * Math.PI, + M && (P = Math.cos(R), + O = Math.sin(R), + I += ((y = g.length) * (P * N - O * B) - T) * n, + C += (y * (O * N + P * B) - E) * n), + R > Math.PI ? R -= 2 * Math.PI : R < -Math.PI && (R += 2 * Math.PI), + R *= n, + P = Math.cos(R), + O = Math.sin(R), + g.resultMatrix.a = P * N - O * B, + g.resultMatrix.c = P * A - O * k, + g.resultMatrix.b = O * N + P * B, + g.resultMatrix.d = O * A + P * k + } + } + } + } + , + e.computeWorldVertices2 = function(e, i, n, a, r, s) { + var o, l, h = e.currDisplayData.bones, c = e.currDisplayData.weights, _ = e.currDisplayData.triangles, u = 0, d = 0, f = 0, p = 0, m = 0, g = 0, y = 0, v = 0, b = 0, w = 0, x = 0; + if (null != h) { + for (u = 0; u < n; u += 2) + d += (p = h[d]) + 1, + f += p; + var I = i; + for (m = s, + g = 3 * f; m < a; m += 2) { + for (y = 0, + v = 0, + p = h[d++], + p += d; d < p; d++, + g += 3) { + o = I[h[d]].resultMatrix, + b = c[g], + w = c[g + 1]; + var C = c[g + 2]; + y += (b * o.a + w * o.c + o.tx) * C, + v += (b * o.b + w * o.d + o.ty) * C + } + r[m] = y, + r[m + 1] = v + } + } else { + _ || (_ = c), + e.deformData && (_ = e.deformData); + var S; + if (S = e.parent, + i) + for (x = i.length, + u = 0; u < x; u++) + if (i[u].name == S) { + l = i[u]; + break + } + var M; + l && (M = l.resultMatrix), + M || (M = t._tempMt); + var L = M.tx + , T = M.ty + , E = M.a + , D = M.b + , N = M.c + , A = M.d; + for (l && (A *= l.d), + d = n, + m = s; m < a; d += 2, + m += 2) + b = _[d], + w = _[d + 1], + r[m] = b * E + w * D + L, + r[m + 1] = -(b * N + w * A + T) + } + } + , + e.computeWorldPositions = function(t, e, i, n, a, r, s) { + t.currDisplayData.bones, + t.currDisplayData.weights, + t.currDisplayData.triangles; + var o = [] + , l = 0 + , h = t.currDisplayData.verLen + , c = this.position + , _ = this._spaces + , u = [] + , d = [] + , f = h / 6 + , p = -1 + , m = NaN + , g = 0 + , y = 0 + , v = NaN + , b = NaN + , w = NaN + , x = NaN; + if (f--, + h -= 4, + this.computeWorldVertices2(t, e, 2, h, o, 0), + this._debugKey) + for (l = 0; l < o.length; ) + i.drawCircle(o[l++], o[l++], 10, "#ff0000"); + u = o, + this._curves.length = f; + var I = this._curves; + m = 0; + var C = u[0] + , S = u[1] + , M = 0 + , L = 0 + , T = 0 + , E = 0 + , D = 0 + , N = 0 + , A = NaN + , B = NaN + , k = NaN + , R = NaN + , P = NaN + , O = NaN + , U = NaN + , V = NaN + , F = 0; + for (l = 0, + F = 2; l < f; l++, + F += 6) + M = u[F], + L = u[F + 1], + T = u[F + 2], + E = u[F + 3], + P = 2 * (A = .1875 * (C - 2 * M + T)) + (k = .09375 * (3 * (M - T) - C + (D = u[F + 4]))), + O = 2 * (B = .1875 * (S - 2 * L + E)) + (R = .09375 * (3 * (L - E) - S + (N = u[F + 5]))), + U = .75 * (M - C) + A + .16666667 * k, + V = .75 * (L - S) + B + .16666667 * R, + m += Math.sqrt(U * U + V * V), + U += P, + V += O, + P += k, + O += R, + m += Math.sqrt(U * U + V * V), + U += P, + V += O, + m += Math.sqrt(U * U + V * V), + U += P + k, + V += O + R, + m += Math.sqrt(U * U + V * V), + I[l] = m, + C = D, + S = N; + if (r && (c *= m), + s) + for (l = 0; l < n; l++) + _[l] *= m; + var H = this._segments + , G = 0 + , z = 0; + for (l = 0, + g = 0, + y = 0, + z = 0; l < n; l++, + g += 3) + if (b = _[l], + c += b, + (v = c) < 0) + this.addBeforePosition(v, u, 0, d, g); + else if (v > m) + this.addAfterPosition(v - m, u, h - 4, d, g); + else { + for (; ; y++) + if (x = I[y], + !(v > x)) { + 0 == y ? v /= x : v = (v - (w = I[y - 1])) / (x - w); + break + } + if (y != p) { + p = y; + var j = 6 * y; + for (C = u[j], + S = u[j + 1], + M = u[j + 2], + L = u[j + 3], + T = u[j + 4], + E = u[j + 5], + P = 2 * (A = .03 * (C - 2 * M + T)) + (k = .006 * (3 * (M - T) - C + (D = u[j + 6]))), + O = 2 * (B = .03 * (S - 2 * L + E)) + (R = .006 * (3 * (L - E) - S + (N = u[j + 7]))), + U = .3 * (M - C) + A + .16666667 * k, + V = .3 * (L - S) + B + .16666667 * R, + G = Math.sqrt(U * U + V * V), + H[0] = G, + j = 1; j < 8; j++) + U += P, + V += O, + P += k, + O += R, + G += Math.sqrt(U * U + V * V), + H[j] = G; + U += P, + V += O, + G += Math.sqrt(U * U + V * V), + H[8] = G, + U += P + k, + V += O + R, + G += Math.sqrt(U * U + V * V), + H[9] = G, + z = 0 + } + for (v *= G; ; z++) + if (x = H[z], + !(v > x)) { + 0 == z ? v /= x : v = z + (v - (w = H[z - 1])) / (x - w); + break + } + this.addCurvePosition(.1 * v, C, S, M, L, T, E, D, N, d, g, a || l > 0 && 0 == b) + } + return d + } + , + e.addBeforePosition = function(t, e, i, n, a) { + var r = e[i] + , s = e[i + 1] + , o = e[i + 2] - r + , l = e[i + 3] - s + , h = Math.atan2(l, o); + n[a] = r + t * Math.cos(h), + n[a + 1] = s + t * Math.sin(h), + n[a + 2] = h + } + , + e.addAfterPosition = function(t, e, i, n, a) { + var r = e[i + 2] + , s = e[i + 3] + , o = r - e[i] + , l = s - e[i + 1] + , h = Math.atan2(l, o); + n[a] = r + t * Math.cos(h), + n[a + 1] = s + t * Math.sin(h), + n[a + 2] = h + } + , + e.addCurvePosition = function(t, e, i, n, a, r, s, o, l, h, c, _) { + 0 == t && (t = 1e-4); + var u = t * t + , d = u * t + , f = 1 - t + , p = f * f + , m = p * f + , g = f * t + , y = 3 * g + , v = f * y + , b = y * t + , w = e * m + n * v + r * b + o * d + , x = i * m + a * v + s * b + l * d; + h[c] = w, + h[c + 1] = x, + h[c + 2] = _ ? Math.atan2(x - (i * p + a * g * 2 + s * u), w - (e * p + n * g * 2 + r * u)) : 0 + } + , + t.NONE = -1, + t.BEFORE = -2, + t.AFTER = -3, + n(t, ["_tempMt", function() { + return this._tempMt = new m + } + ]), + t + }() + , z = function() { + function t() { + this.name = null, + this.target = null, + this.positionMode = null, + this.spacingMode = null, + this.rotateMode = null, + this.offsetRotation = NaN, + this.position = NaN, + this.spacing = NaN, + this.rotateMix = NaN, + this.translateMix = NaN, + this.bones = [] + } + return a(t, "laya.ani.bone.PathConstraintData"), + t + }() + , j = function() { + function t() { + this.name = null, + this.slotArr = [] + } + return a(t, "laya.ani.bone.SkinData"), + t + }() + , W = function() { + function t() { + this.name = null, + this.attachmentName = null, + this.type = 0, + this.transform = null, + this.width = NaN, + this.height = NaN, + this.texture = null, + this.bones = null, + this.uvs = null, + this.weights = null, + this.triangles = null, + this.vertices = null, + this.lengths = null, + this.verLen = 0 + } + a(t, "laya.ani.bone.SkinSlotDisplayData"); + var e = t.prototype; + return e.createTexture = function(t) { + return this.texture ? this.texture : (this.texture = new I(t.bitmap,this.uvs), + this.uvs[0] > this.uvs[4] && this.uvs[1] > this.uvs[5] ? (this.texture.width = t.height, + this.texture.height = t.width, + this.texture.offsetX = -t.offsetX, + this.texture.offsetY = -t.offsetY, + this.texture.sourceWidth = t.sourceHeight, + this.texture.sourceHeight = t.sourceWidth) : (this.texture.width = t.width, + this.texture.height = t.height, + this.texture.offsetX = -t.offsetX, + this.texture.offsetY = -t.offsetY, + this.texture.sourceWidth = t.sourceWidth, + this.texture.sourceHeight = t.sourceHeight), + y.isWebGL || this.uvs[1] > this.uvs[5] && (this.texture.offsetY = this.texture.sourceHeight - this.texture.height - this.texture.offsetY), + this.texture) + } + , + e.destory = function() { + this.texture && this.texture.destroy() + } + , + t + }() + , X = function() { + function t() { + this.name = null, + this.displayArr = [] + } + a(t, "laya.ani.bone.SlotData"); + return t.prototype.getDisplayByName = function(t) { + for (var e = 0, i = this.displayArr.length; e < i; e++) + if (this.displayArr[e].attachmentName == t) + return e; + return -1 + } + , + t + }() + , q = function() { + function t(t, e) { + this._data = null, + this._bones = null, + this.target = null, + this.rotateMix = NaN, + this.translateMix = NaN, + this.scaleMix = NaN, + this.shearMix = NaN, + this._temp = s(2, 0), + this._data = t, + null == this._bones && (this._bones = []), + this.target = e[t.targetIndex]; + var i = 0 + , n = 0; + for (i = 0, + n = t.boneIndexs.length; i < n; i++) + this._bones.push(e[t.boneIndexs[i]]); + this.rotateMix = t.rotateMix, + this.translateMix = t.translateMix, + this.scaleMix = t.scaleMix, + this.shearMix = t.shearMix + } + a(t, "laya.ani.bone.TfConstraint"); + return t.prototype.apply = function() { + for (var t, e = this.target.resultMatrix.a, i = this.target.resultMatrix.b, n = this.target.resultMatrix.c, a = this.target.resultMatrix.d, r = 0, s = this._bones.length; r < s; r++) { + if (t = this._bones[r], + this.rotateMix > 0) { + var o = t.resultMatrix.a + , l = t.resultMatrix.b + , h = t.resultMatrix.c + , c = t.resultMatrix.d + , _ = Math.atan2(n, e) - Math.atan2(h, o) + this._data.offsetRotation * Math.PI / 180; + _ > Math.PI ? _ -= 2 * Math.PI : _ < -Math.PI && (_ += 2 * Math.PI), + _ *= this.rotateMix; + var u = Math.cos(_) + , d = Math.sin(_); + t.resultMatrix.a = u * o - d * h, + t.resultMatrix.b = u * l - d * c, + t.resultMatrix.c = d * o + u * h, + t.resultMatrix.d = d * l + u * c + } + if (this.translateMix && (this._temp[0] = this._data.offsetX, + this._temp[1] = this._data.offsetY, + this.target.localToWorld(this._temp), + t.resultMatrix.tx += (this._temp[0] - t.resultMatrix.tx) * this.translateMix, + t.resultMatrix.ty += (this._temp[1] - t.resultMatrix.ty) * this.translateMix, + t.updateChild()), + this.scaleMix > 0) { + var f = Math.sqrt(t.resultMatrix.a * t.resultMatrix.a + t.resultMatrix.c * t.resultMatrix.c) + , p = Math.sqrt(e * e + n * n) + , m = f > 1e-5 ? (f + (p - f + this._data.offsetScaleX) * this.scaleMix) / f : 0; + t.resultMatrix.a *= m, + t.resultMatrix.c *= m, + f = Math.sqrt(t.resultMatrix.b * t.resultMatrix.b + t.resultMatrix.d * t.resultMatrix.d), + p = Math.sqrt(i * i + a * a), + m = f > 1e-5 ? (f + (p - f + this._data.offsetScaleY) * this.scaleMix) / f : 0, + t.resultMatrix.b *= m, + t.resultMatrix.d *= m + } + if (this.shearMix > 0) { + l = t.resultMatrix.b, + c = t.resultMatrix.d; + var g = Math.atan2(c, l); + (_ = Math.atan2(a, i) - Math.atan2(n, e) - (g - Math.atan2(t.resultMatrix.c, t.resultMatrix.a))) > Math.PI ? _ -= 2 * Math.PI : _ < -Math.PI && (_ += 2 * Math.PI), + _ = g + (_ + this._data.offsetShearY * Math.PI / 180) * this.shearMix, + m = Math.sqrt(l * l + c * c), + t.resultMatrix.b = Math.cos(_) * m, + t.resultMatrix.d = Math.sin(_) * m + } + } + } + , + t + }() + , Y = function() { + function t() { + this.name = null, + this.targetIndex = 0, + this.rotateMix = NaN, + this.translateMix = NaN, + this.scaleMix = NaN, + this.shearMix = NaN, + this.offsetRotation = NaN, + this.offsetX = NaN, + this.offsetY = NaN, + this.offsetScaleX = NaN, + this.offsetScaleY = NaN, + this.offsetShearY = NaN, + this.boneIndexs = [] + } + return a(t, "laya.ani.bone.TfConstraintData"), + t + }() + , J = function() { + function t() { + this.skX = 0, + this.skY = 0, + this.scX = 1, + this.scY = 1, + this.x = 0, + this.y = 0, + this.skewX = 0, + this.skewY = 0, + this.mMatrix = null + } + a(t, "laya.ani.bone.Transform"); + var e = t.prototype; + return e.initData = function(t) { + void 0 != t.x && (this.x = t.x), + void 0 != t.y && (this.y = t.y), + void 0 != t.skX && (this.skX = t.skX), + void 0 != t.skY && (this.skY = t.skY), + void 0 != t.scX && (this.scX = t.scX), + void 0 != t.scY && (this.scY = t.scY) + } + , + e.getMatrix = function() { + var t; + return (t = this.mMatrix ? this.mMatrix : this.mMatrix = new m).identity(), + t.scale(this.scX, this.scY), + (this.skewX || this.skewY) && this.skew(t, this.skewX * Math.PI / 180, this.skewY * Math.PI / 180), + t.rotate(this.skX * Math.PI / 180), + t.translate(this.x, this.y), + t + } + , + e.skew = function(t, e, i) { + var n = Math.sin(i) + , a = Math.cos(i) + , r = Math.sin(e) + , s = Math.cos(e); + return t.setTo(t.a * s - t.b * n, t.a * r + t.b * a, t.c * s - t.d * n, t.c * r + t.d * a, t.tx * s - t.ty * n, t.tx * r + t.ty * a), + t + } + , + t + }() + , K = function() { + function t() {} + return a(t, "laya.ani.bone.UVTools"), + t.getRelativeUV = function(t, e, i) { + var n = t[0] + , a = t[2] - t[0] + , r = t[1] + , s = t[5] - t[1]; + i || (i = []), + i.length = e.length; + var o = 0 + , l = 0; + l = i.length; + var h = 1 / a + , c = 1 / s; + for (o = 0; o < l; o += 2) + i[o] = (e[o] - n) * h, + i[o + 1] = (e[o + 1] - r) * c; + return i + } + , + t.getAbsoluteUV = function(t, e, i) { + if (0 == t[0] && 0 == t[1] && 1 == t[4] && 1 == t[5]) + return i ? (S.copyArray(i, e), + i) : e; + var n = t[0] + , a = t[2] - t[0] + , r = t[1] + , s = t[5] - t[1]; + i || (i = []), + i.length = e.length; + var o = 0 + , l = 0; + for (l = i.length, + o = 0; o < l; o += 2) + i[o] = e[o] * a + n, + i[o + 1] = e[o + 1] * s + r; + return i + } + , + t + }() + , Z = function() { + function t() { + this.startTime = NaN, + this.duration = NaN, + this.interpolationData = null, + this.data = null, + this.nextData = null + } + return a(t, "laya.ani.KeyFramesContent"), + t + }() + , Q = function() { + function t() {} + return a(t, "laya.ani.math.BezierLerp"), + t.getBezierRate = function(e, i, n, a, r) { + var s = t._getBezierParamKey(i, n, a, r) + , o = 100 * s + e; + if (t._bezierResultCache[o]) + return t._bezierResultCache[o]; + var l = t._getBezierPoints(i, n, a, r, s) + , h = 0 + , c = 0; + for (c = l.length, + h = 0; h < c; h += 2) + if (e <= l[h]) + return t._bezierResultCache[o] = l[h + 1], + l[h + 1]; + return t._bezierResultCache[o] = 1, + 1 + } + , + t._getBezierParamKey = function(t, e, i, n) { + return 100 * (100 * (100 * (100 * t + e) + i) + n) + } + , + t._getBezierPoints = function(e, i, n, a, r) { + if (t._bezierPointsCache[r]) + return t._bezierPointsCache[r]; + var s; + s = [0, 0, e, i, n, a, 1, 1]; + var l; + return l = (new o).getBezierPoints(s, 100, 3), + t._bezierPointsCache[r] = l, + l + } + , + t._bezierResultCache = {}, + t._bezierPointsCache = {}, + t + }() + , $ = function(t) { + function e() { + this._destroyed = !1, + this._templet = null, + this._currentTime = NaN, + this._currentFrameTime = NaN, + this._playStart = NaN, + this._playEnd = NaN, + this._playDuration = NaN, + this._overallDuration = NaN, + this._stopWhenCircleFinish = !1, + this._elapsedPlaybackTime = NaN, + this._startUpdateLoopCount = NaN, + this._currentAnimationClipIndex = 0, + this._currentKeyframeIndex = 0, + this._paused = !1, + this._cacheFrameRate = 0, + this._cacheFrameRateInterval = NaN, + this._cachePlayRate = NaN, + this._fullFrames = null, + this.isCache = !0, + this.playbackRate = 1, + this.returnToZeroStopped = !1, + e.__super.call(this), + this._destroyed = !1, + this._currentAnimationClipIndex = -1, + this._currentKeyframeIndex = -1, + this._currentTime = 0, + this._overallDuration = Number.MAX_VALUE, + this._stopWhenCircleFinish = !1, + this._elapsedPlaybackTime = 0, + this._startUpdateLoopCount = -1, + this._cachePlayRate = 1, + this.cacheFrameRate = 60, + this.returnToZeroStopped = !1 + } + a(e, "laya.ani.AnimationPlayer", c); + var n = e.prototype; + return i.imps(n, { + "laya.resource.IDestroy": !0 + }), + n._onTempletLoadedComputeFullKeyframeIndices = function(t, e, i) { + this._templet === i && this._cachePlayRate === t && this._cacheFrameRate === e && this._computeFullKeyframeIndices() + } + , + n._computeFullKeyframeIndices = function() { + for (var t = this._fullFrames = [], e = this._templet, i = this._cacheFrameRateInterval * this._cachePlayRate, n = 0, a = e.getAnimationCount(); n < a; n++) { + for (var r = [], s = 0, o = e.getAnimation(n).nodes.length; s < o; s++) { + for (var l = e.getAnimation(n).nodes[s], h = Math.floor(l.playTime / i + .01), c = new Uint16Array(h + 1), _ = -1, u = 0, d = l.keyFrame.length; u < d; u++) { + var f = l.keyFrame[u] + , p = f.startTime + , m = p + f.duration + i; + do { + for (var g = Math.floor(p / i + .5), y = _ + 1; y < g; y++) + c[y] = u; + _ = g, + c[g] = u, + p += i + } while (p <= m) + } + r.push(c) + } + t.push(r) + } + } + , + n._onAnimationTempletLoaded = function() { + this.destroyed || this._calculatePlayDuration() + } + , + n._calculatePlayDuration = function() { + if (0 !== this.state) { + var t = this._templet.getAniDuration(this._currentAnimationClipIndex); + 0 === this._playEnd && (this._playEnd = t), + this._playEnd > t && (this._playEnd = t), + this._playDuration = this._playEnd - this._playStart + } + } + , + n._setPlayParams = function(t, e) { + this._currentTime = t, + this._currentKeyframeIndex = Math.max(Math.floor(this.currentPlayTime / e + .01), 0), + this._currentFrameTime = this._currentKeyframeIndex * e + } + , + n._setPlayParamsWhenStop = function(t, e) { + this._currentTime = t, + this._currentKeyframeIndex = Math.max(Math.floor(t / e + .01), 0), + this._currentFrameTime = this._currentKeyframeIndex * e, + this._currentAnimationClipIndex = -1 + } + , + n._update = function(t) { + if (-1 !== this._currentAnimationClipIndex && !this._paused && this._templet && this._templet.loaded) { + var e = this._cacheFrameRateInterval * this._cachePlayRate + , i = 0; + this._startUpdateLoopCount !== x.loopCount && (i = t * this.playbackRate, + this._elapsedPlaybackTime += i); + var n = this.playDuration; + if (0 !== this._overallDuration && this._elapsedPlaybackTime >= this._overallDuration || 0 === this._overallDuration && this._elapsedPlaybackTime >= n) + return this._setPlayParamsWhenStop(n, e), + void this.event("stopped"); + if (i += this._currentTime, + n > 0) + if (i >= n) + do { + if (i -= n, + this._stopWhenCircleFinish) + return this._setPlayParamsWhenStop(n, e), + this._stopWhenCircleFinish = !1, + void this.event("stopped"); + i < n && (this._setPlayParams(i, e), + this.event("complete")) + } while (i >= n); + else + this._setPlayParams(i, e); + else { + if (this._stopWhenCircleFinish) + return this._setPlayParamsWhenStop(n, e), + this._stopWhenCircleFinish = !1, + void this.event("stopped"); + this._currentTime = this._currentFrameTime = this._currentKeyframeIndex = 0, + this.event("complete") + } + } + } + , + n._destroy = function() { + this.offAll(), + this._templet = null, + this._fullFrames = null, + this._destroyed = !0 + } + , + n.play = function(t, e, i, n, a) { + if (void 0 === t && (t = 0), + void 0 === e && (e = 1), + void 0 === i && (i = 2147483647), + void 0 === n && (n = 0), + void 0 === a && (a = 0), + !this._templet) + throw new Error("AnimationPlayer:templet must not be null,maybe you need to set url."); + if (i < 0 || n < 0 || a < 0) + throw new Error("AnimationPlayer:overallDuration,playStart and playEnd must large than zero."); + if (0 !== a && n > a) + throw new Error("AnimationPlayer:start must less than end."); + this._currentTime = 0, + this._currentFrameTime = 0, + this._elapsedPlaybackTime = 0, + this.playbackRate = e, + this._overallDuration = i, + this._playStart = n, + this._playEnd = a, + this._paused = !1, + this._currentAnimationClipIndex = t, + this._currentKeyframeIndex = 0, + this._startUpdateLoopCount = x.loopCount, + this.event("played"), + this._templet.loaded ? this._calculatePlayDuration() : this._templet.once("loaded", this, this._onAnimationTempletLoaded), + this._update(0) + } + , + n.playByFrame = function(t, e, i, n, a, r) { + void 0 === t && (t = 0), + void 0 === e && (e = 1), + void 0 === i && (i = 2147483647), + void 0 === n && (n = 0), + void 0 === a && (a = 0), + void 0 === r && (r = 30); + var s = 1e3 / r; + this.play(t, e, i, n * s, a * s) + } + , + n.stop = function(t) { + void 0 === t && (t = !0), + t ? (this._currentTime = this._currentFrameTime = this._currentKeyframeIndex = 0, + this._currentAnimationClipIndex = -1, + this.event("stopped")) : this._stopWhenCircleFinish = !0 + } + , + r(0, n, "playEnd", function() { + return this._playEnd + }), + r(0, n, "templet", function() { + return this._templet + }, function(t) { + 0 === !this.state && this.stop(!0), + this._templet !== t && (this._templet = t, + t.loaded ? this._computeFullKeyframeIndices() : t.once("loaded", this, this._onTempletLoadedComputeFullKeyframeIndices, [this._cachePlayRate, this._cacheFrameRate])) + }), + r(0, n, "playStart", function() { + return this._playStart + }), + r(0, n, "playDuration", function() { + return this._playDuration + }), + r(0, n, "state", function() { + return -1 === this._currentAnimationClipIndex ? 0 : this._paused ? 1 : 2 + }), + r(0, n, "currentKeyframeIndex", function() { + return this._currentKeyframeIndex + }), + r(0, n, "overallDuration", function() { + return this._overallDuration + }), + r(0, n, "currentFrameTime", function() { + return this._currentFrameTime + }), + r(0, n, "currentAnimationClipIndex", function() { + return this._currentAnimationClipIndex + }), + r(0, n, "currentPlayTime", function() { + return this._currentTime + this._playStart + }), + r(0, n, "cachePlayRate", function() { + return this._cachePlayRate + }, function(t) { + this._cachePlayRate !== t && (this._cachePlayRate = t, + this._templet && (this._templet.loaded ? this._computeFullKeyframeIndices() : this._templet.once("loaded", this, this._onTempletLoadedComputeFullKeyframeIndices, [t, this._cacheFrameRate]))) + }), + r(0, n, "cacheFrameRate", function() { + return this._cacheFrameRate + }, function(t) { + this._cacheFrameRate !== t && (this._cacheFrameRate = t, + this._cacheFrameRateInterval = 1e3 / this._cacheFrameRate, + this._templet && (this._templet.loaded ? this._computeFullKeyframeIndices() : this._templet.once("loaded", this, this._onTempletLoadedComputeFullKeyframeIndices, [this._cachePlayRate, t]))) + }), + r(0, n, "currentTime", null, function(t) { + if (-1 !== this._currentAnimationClipIndex && this._templet && this._templet.loaded) { + if (t < this._playStart || t > this._playEnd) + throw new Error("AnimationPlayer:value must large than playStartTime,small than playEndTime."); + this._startUpdateLoopCount = x.loopCount; + var e = this._cacheFrameRateInterval * this._cachePlayRate; + this._currentTime = t, + this._currentKeyframeIndex = Math.max(Math.floor(this.currentPlayTime / e), 0), + this._currentFrameTime = this._currentKeyframeIndex * e + } + }), + r(0, n, "paused", function() { + return this._paused + }, function(t) { + this._paused = t, + t && this.event("paused") + }), + r(0, n, "cacheFrameRateInterval", function() { + return this._cacheFrameRateInterval + }), + r(0, n, "destroyed", function() { + return this._destroyed + }), + e + }() + , tt = function(t) { + function e() { + e.__super.call(this), + y.isConchNode && (this.drawSkin = function(t) { + t.transform || (t.transform = m.EMPTY), + this._addCmd([t]), + this.setSkinMesh && this.setSkinMesh(t._ps, t.mVBData, t.mEleNum, 0, t.mTexture, t.transform) + } + ) + } + a(e, "laya.ani.GraphicsAni", _); + return e.prototype.drawSkin = function(t) { + var e = [t]; + this._saveToCmd(y._context._drawSkin, e) + } + , + e.create = function() { + return e._caches.pop() || new e + } + , + e.recycle = function(t) { + t.clear(), + e._caches.push(t) + } + , + e._caches = [], + e + }() + , et = function(t) { + function e() { + e.__super.call(this), + this.mesh = new B + } + a(e, "laya.ani.bone.canvasmesh.SkinMeshCanvas", A); + var i = e.prototype; + return i.init2 = function(t, e, i, n, a) { + this.transform && (this.transform = null); + var r; + i ? r = i : (r = []).push(0, 1, 3, 3, 1, 2), + this.mesh.texture = t, + this.mesh.indexes = r, + this.mesh.vertices = n, + this.mesh.uvs = a + } + , + i.render = function(t, i, n) { + this.mesh.texture && (this.transform ? (this.transform.translate(i, n), + this.renderToContext(t), + this.transform.translate(-i, -n)) : (this.transform = e._tempMatrix, + this.transform.identity(), + this.transform.translate(i, n), + this.renderToContext(t), + this.transform.translate(-i, -n), + this.transform = null)) + } + , + n(e, ["_tempMatrix", function() { + return this._tempMatrix = new m + } + ]), + e + }() + , it = function(t) { + function e() { + this._aniMap = {}, + this.unfixedLastAniIndex = -1, + e.__super.call(this), + this._anis = new Array + } + a(e, "laya.ani.AnimationTemplet", v); + var n = e.prototype; + return n.parse = function(t) { + var e = new h(t); + this._aniVersion = e.readUTFString(), + T.parse(this, e) + } + , + n._calculateKeyFrame = function(t, e, i) { + var n = t.keyFrame; + n[e] = n[0]; + for (var a = 0; a < e; a++) { + var r = n[a]; + r.nextData = 0 === r.duration ? r.data : n[a + 1].data + } + n.length-- + } + , + n.onAsynLoaded = function(t, e, i) { + var n = new h(e); + switch (this._aniVersion = n.readUTFString(), + this._aniVersion) { + case "LAYAANIMATION:02": + E.parse(this, n); + break; + default: + T.parse(this, n) + } + this._endLoaded() + } + , + n.disposeResource = function() { + this._aniVersion = null, + this._anis = null, + this._aniMap = null, + this._publicExtData = null, + this.unfixedCurrentFrameIndexes = null, + this.unfixedCurrentTimes = null, + this.unfixedKeyframes = null, + this._aniClassName = null, + this._animationDatasCache = null + } + , + n.getAnimationCount = function() { + return this._anis.length + } + , + n.getAnimation = function(t) { + return this._anis[t] + } + , + n.getAniDuration = function(t) { + return this._anis[t].playTime + } + , + n.getNodes = function(t) { + return this._anis[t].nodes + } + , + n.getNodeIndexWithName = function(t, e) { + return this._anis[t].bone3DMap[e] + } + , + n.getNodeCount = function(t) { + return this._anis[t].nodes.length + } + , + n.getTotalkeyframesLength = function(t) { + return this._anis[t].totalKeyframeDatasLength + } + , + n.getPublicExtData = function() { + return this._publicExtData + } + , + n.getAnimationDataWithCache = function(t, e, i, n) { + var a = e[i]; + if (a) { + var r = a[t]; + return r ? r[n] : null + } + return null + } + , + n.setAnimationDataWithCache = function(t, e, i, n, a) { + var r = e[i] || (e[i] = {}); + (r[t] || (r[t] = []))[n] = a + } + , + n.getOriginalData = function(t, i, n, a, r) { + for (var s = this._anis[t].nodes, o = 0, l = 0, h = s.length, c = 0; l < h; l++) { + var _, u = s[l]; + _ = u.keyFrame[n[l][a]], + u.dataOffset = c; + var d = r - _.startTime + , f = u.lerpType; + if (f) + switch (f) { + case 0: + case 1: + for (o = 0; o < u.keyframeWidth; ) + o += u.interpolationMethod[o](u, o, i, c + o, _.data, d, null, _.duration, _.nextData); + break; + case 2: + var p = _.interpolationData + , m = p.length + , g = 0; + for (o = 0; o < m; ) { + var y = p[o]; + switch (y) { + case 6: + case 7: + o += e.interpolation[y](u, g, i, c + g, _.data, d, null, _.duration, _.nextData, p, o + 1); + break; + default: + o += e.interpolation[y](u, g, i, c + g, _.data, d, null, _.duration, _.nextData) + } + g++ + } + } + else + for (o = 0; o < u.keyframeWidth; ) + o += u.interpolationMethod[o](u, o, i, c + o, _.data, d, null, _.duration, _.nextData); + c += u.keyframeWidth + } + } + , + n.getNodesCurrentFrameIndex = function(t, e) { + var i = this._anis[t].nodes; + t !== this.unfixedLastAniIndex && (this.unfixedCurrentFrameIndexes = new Uint32Array(i.length), + this.unfixedCurrentTimes = new Float32Array(i.length), + this.unfixedLastAniIndex = t); + for (var n = 0, a = i.length; n < a; n++) { + var r = i[n]; + for (e < this.unfixedCurrentTimes[n] && (this.unfixedCurrentFrameIndexes[n] = 0), + this.unfixedCurrentTimes[n] = e; this.unfixedCurrentFrameIndexes[n] < r.keyFrame.length && !(r.keyFrame[this.unfixedCurrentFrameIndexes[n]].startTime > this.unfixedCurrentTimes[n]); ) + this.unfixedCurrentFrameIndexes[n]++; + this.unfixedCurrentFrameIndexes[n]-- + } + return this.unfixedCurrentFrameIndexes + } + , + n.getOriginalDataUnfixedRate = function(t, i, n) { + var a = this._anis[t].nodes; + t !== this.unfixedLastAniIndex && (this.unfixedCurrentFrameIndexes = new Uint32Array(a.length), + this.unfixedCurrentTimes = new Float32Array(a.length), + this.unfixedKeyframes = s(a.length), + this.unfixedLastAniIndex = t); + for (var r = 0, o = 0, l = a.length, h = 0; o < l; o++) { + var c = a[o]; + for (n < this.unfixedCurrentTimes[o] && (this.unfixedCurrentFrameIndexes[o] = 0), + this.unfixedCurrentTimes[o] = n; this.unfixedCurrentFrameIndexes[o] < c.keyFrame.length && !(c.keyFrame[this.unfixedCurrentFrameIndexes[o]].startTime > this.unfixedCurrentTimes[o]); ) + this.unfixedKeyframes[o] = c.keyFrame[this.unfixedCurrentFrameIndexes[o]], + this.unfixedCurrentFrameIndexes[o]++; + var _ = this.unfixedKeyframes[o]; + c.dataOffset = h; + var u = n - _.startTime; + if (c.lerpType) + switch (c.lerpType) { + case 0: + case 1: + for (r = 0; r < c.keyframeWidth; ) + r += c.interpolationMethod[r](c, r, i, h + r, _.data, u, null, _.duration, _.nextData); + break; + case 2: + var d = _.interpolationData + , f = d.length + , p = 0; + for (r = 0; r < f; ) { + var m = d[r]; + switch (m) { + case 6: + case 7: + r += e.interpolation[m](c, p, i, h + p, _.data, u, null, _.duration, _.nextData, d, r + 1); + break; + default: + r += e.interpolation[m](c, p, i, h + p, _.data, u, null, _.duration, _.nextData) + } + p++ + } + } + else + for (r = 0; r < c.keyframeWidth; ) + r += c.interpolationMethod[r](c, r, i, h + r, _.data, u, null, _.duration, _.nextData); + h += c.keyframeWidth + } + } + , + e._LinearInterpolation_0 = function(t, e, i, n, a, r, s, o, l, h) { + var c = 0 === o ? 0 : r / o; + return i[n] = (1 - c) * a[e] + c * l[e], + 1 + } + , + e._QuaternionInterpolation_1 = function(t, e, i, n, a, r, s, o, l, h) { + var c = 0 === o ? 0 : r / o; + return p.slerpQuaternionArray(a, e, l, e, c, i, n), + 4 + } + , + e._AngleInterpolation_2 = function(t, e, i, n, a, r, s, o, l, h) { + return 0 + } + , + e._RadiansInterpolation_3 = function(t, e, i, n, a, r, s, o, l, h) { + return 0 + } + , + e._Matrix4x4Interpolation_4 = function(t, e, i, n, a, r, s, o, l, h) { + for (var c = 0; c < 16; c++, + e++) + i[n + c] = a[e] + r * s[e]; + return 16 + } + , + e._NoInterpolation_5 = function(t, e, i, n, a, r, s, o, l, h) { + return i[n] = a[e], + 1 + } + , + e._BezierInterpolation_6 = function(t, e, i, n, a, r, s, o, l, h, c) { + return void 0 === c && (c = 0), + i[n] = a[e] + (l[e] - a[e]) * Q.getBezierRate(r / o, h[c], h[c + 1], h[c + 2], h[c + 3]), + 5 + } + , + e._BezierInterpolation_7 = function(t, e, i, n, a, r, s, o, l, h, c) { + return void 0 === c && (c = 0), + i[n] = h[c + 4] + h[c + 5] * Q.getBezierRate((.001 * r + h[c + 6]) / h[c + 7], h[c], h[c + 1], h[c + 2], h[c + 3]), + 9 + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e.interpolation = [e._LinearInterpolation_0, e._QuaternionInterpolation_1, e._AngleInterpolation_2, e._RadiansInterpolation_3, e._Matrix4x4Interpolation_4, e._NoInterpolation_5, e._BezierInterpolation_6, e._BezierInterpolation_7], + e + }() + , nt = (function(t) { + function e() { + this.isCached = !1, + this.canvas = null, + this.tex = null, + this.rec = null, + e.__super.call(this) + } + a(e, "laya.ani.bone.canvasmesh.CacheAbleSkinMesh", et); + var i = e.prototype; + i.getCanvasPic = function() { + var t = new u("2D") + , i = t.getContext("2d"); + this.rec = this.mesh.getBounds(), + t.size(this.rec.width, this.rec.height); + var n; + return n = this.transform, + this.transform = e.tempMt, + this.transform.identity(), + this.transform.translate(-this.rec.x, -this.rec.y), + this.renderToContext(i), + this.transform.translate(+this.rec.x, +this.rec.y), + this.transform = n, + new I(t) + } + , + i.render = function(t, e, i) { + this.mesh.texture && (this.isCached || (this.isCached = !0, + this.tex = this.getCanvasPic()), + this.transform ? (this.transform.translate(e, i), + this._renderTextureToContext(t), + this.transform.translate(-e, -i)) : (this.transform = et._tempMatrix, + this.transform.identity(), + this.transform.translate(e, i), + this._renderTextureToContext(t), + this.transform.translate(-e, -i), + this.transform = null)) + } + , + i._renderTextureToContext = function(t) { + this.context = t.ctx || t, + t.save(); + var e; + if (e = this.tex, + this.transform) { + var i = this.transform; + t.transform(i.a, i.b, i.c, i.d, i.tx, i.ty) + } + this.rec = this.mesh.getBounds(), + t.translate(this.rec.x, this.rec.y), + t.drawTexture(e, 0, 0, e.width, e.height, 0, 0), + t.restore() + } + , + n(e, ["tempMt", function() { + return this.tempMt = new m + } + ]) + }(), + function(t) { + function e() { + this.cacheOK = !1, + this.cacheCmdOK = !1, + this.transformCmds = [], + this.drawCmds = [], + e.__super.call(this), + this.tempMesh = new B + } + a(e, "laya.ani.bone.canvasmesh.SimpleSkinMeshCanvas", t); + var i = e.prototype; + return i.init2 = function(e, i, n, a, r) { + t.prototype.init2.call(this, e, i, n, a, r), + this.cacheOK = !1, + this.cacheCmdOK = !1, + this.transformCmds.length = 6, + this.drawCmds.length = 9 + } + , + i.renderToContext = function(t) { + if (this.context = t.ctx || t, + this.mesh) { + if (this.mesh.uvs.length <= 8) + return void (0 == this.mode ? this._renderWithIndexes(this.mesh) : this._renderNoIndexes(this.mesh)); + this.cacheOK || (this.tempMesh.texture = this.mesh.texture, + this.tempMesh.uvs = this.mesh.texture.uv, + this.tempMesh.vertices = H.solveMesh(this.mesh, this.tempMesh.vertices), + this.cacheOK = !0), + 0 == this.mode ? this._renderWithIndexes(this.tempMesh) : this._renderNoIndexes(this.tempMesh) + } + } + , + i._renderWithIndexes = function(t) { + if (this.cacheCmdOK) + this.renderByCache(t); + else { + var e = t.indexes + , i = 0 + , n = e.length; + for (n > 1 && (n = 1), + i = 0; i < n; i += 3) { + var a = 2 * e[i] + , r = 2 * e[i + 1] + , s = 2 * e[i + 2]; + this._renderDrawTriangle(t, a, r, s) + } + this.cacheCmdOK = !0 + } + } + , + i._renderDrawTriangle = function(t, e, i, n) { + var a = this.context + , r = t.uvs + , s = t.vertices + , o = t.texture + , l = o.bitmap + , h = l.source + , c = o.width + , _ = o.height + , u = l.width + , d = l.height + , f = NaN + , p = NaN + , m = NaN + , g = NaN + , y = NaN + , v = NaN; + if (t.useUvTransform) { + var b = t.uvTransform; + f = (r[e] * b.a + r[e + 1] * b.c + b.tx) * u, + p = (r[i] * b.a + r[i + 1] * b.c + b.tx) * u, + m = (r[n] * b.a + r[n + 1] * b.c + b.tx) * u, + g = (r[e] * b.b + r[e + 1] * b.d + b.ty) * d, + y = (r[i] * b.b + r[i + 1] * b.d + b.ty) * d, + v = (r[n] * b.b + r[n + 1] * b.d + b.ty) * d + } else + f = r[e] * u, + p = r[i] * u, + m = r[n] * u, + g = r[e + 1] * d, + y = r[i + 1] * d, + v = r[n + 1] * d; + var w = s[e] + , x = s[i] + , I = s[n] + , C = s[e + 1] + , S = s[i + 1] + , M = s[n + 1] + , L = 1 / (f * y + g * m + p * v - y * m - g * p - f * v) + , T = w * y + g * I + x * v - y * I - g * x - w * v + , E = f * x + w * m + p * I - x * m - w * p - f * I + , D = f * y * I + g * x * m + w * p * v - w * y * m - g * p * I - f * x * v + , N = C * y + g * M + S * v - y * M - g * S - C * v + , A = f * S + C * m + p * M - S * m - C * p - f * M + , B = f * y * M + g * S * m + C * p * v - C * y * m - g * p * M - f * S * v; + if (this.transformCmds[0] = T * L, + this.transformCmds[1] = N * L, + this.transformCmds[2] = E * L, + this.transformCmds[3] = A * L, + this.transformCmds[4] = D * L, + this.transformCmds[5] = B * L, + this.drawCmds[0] = h, + this.drawCmds[1] = o.uv[0] * u, + this.drawCmds[2] = o.uv[1] * d, + this.drawCmds[3] = c, + this.drawCmds[4] = _, + this.drawCmds[5] = o.uv[0] * u, + this.drawCmds[6] = o.uv[1] * d, + this.drawCmds[7] = c, + this.drawCmds[8] = _, + a.save(), + this.transform) { + var k = this.transform; + a.transform(k.a, k.b, k.c, k.d, k.tx, k.ty) + } + a.transform.apply(a, this.transformCmds), + a.drawImage.apply(a, this.drawCmds), + a.restore() + } + , + i.renderByCache = function(t) { + var e = this.context; + if (e.save(), + this.transform) { + var i = this.transform; + e.transform(i.a, i.b, i.c, i.d, i.tx, i.ty) + } + e.transform.apply(e, this.transformCmds), + e.drawImage.apply(e, this.drawCmds), + e.restore() + } + , + e + }(et)) + , at = function(t) { + function e(t, i) { + this._templet = null, + this._player = null, + this._curOriginalData = null, + this._boneMatrixArray = [], + this._lastTime = 0, + this._currAniName = null, + this._currAniIndex = -1, + this._pause = !0, + this._aniClipIndex = -1, + this._clipIndex = -1, + this._skinIndex = 0, + this._skinName = "default", + this._aniMode = 0, + this._graphicsCache = null, + this._boneSlotDic = null, + this._bindBoneBoneSlotDic = null, + this._boneSlotArray = null, + this._index = -1, + this._total = -1, + this._indexControl = !1, + this._aniPath = null, + this._texturePath = null, + this._complete = null, + this._loadAniMode = 0, + this._yReverseMatrix = null, + this._ikArr = null, + this._tfArr = null, + this._pathDic = null, + this._rootBone = null, + this._boneList = null, + this._aniSectionDic = null, + this._eventIndex = 0, + this._drawOrderIndex = 0, + this._drawOrder = null, + this._lastAniClipIndex = -1, + this._lastUpdateAniClipIndex = -1, + e.__super.call(this), + void 0 === i && (i = 0), + t && this.init(t, i) + } + a(e, "laya.ani.bone.Skeleton", t); + var n = e.prototype; + return n.init = function(t, e) { + void 0 === e && (e = 0); + var i = 0 + , n = 0; + if (1 == e) + for (this._graphicsCache = [], + i = 0, + n = t.getAnimationCount(); i < n; i++) + this._graphicsCache.push([]); + if (this._yReverseMatrix = t.yReverseMatrix, + this._aniMode = e, + this._templet = t, + this._player = new $, + this._player.cacheFrameRate = t.rate, + this._player.templet = t, + this._player.play(), + this._parseSrcBoneMatrix(), + this._boneList = t.mBoneArr, + this._rootBone = t.mRootBone, + this._aniSectionDic = t.aniSectionDic, + t.ikArr.length > 0) + for (this._ikArr = [], + i = 0, + n = t.ikArr.length; i < n; i++) + this._ikArr.push(new V(t.ikArr[i],this._boneList)); + if (t.pathArr.length > 0) { + var a, r; + null == this._pathDic && (this._pathDic = {}); + var s; + for (i = 0, + n = t.pathArr.length; i < n; i++) + a = t.pathArr[i], + r = new G(a,this._boneList), + (s = this._boneSlotDic[a.name]) && ((r = new G(a,this._boneList)).target = s), + this._pathDic[a.name] = r + } + if (t.tfArr.length > 0) + for (this._tfArr = [], + i = 0, + n = t.tfArr.length; i < n; i++) + this._tfArr.push(new q(t.tfArr[i],this._boneList)); + if (t.skinDataArray.length > 0) { + var o = this._templet.skinDataArray[this._skinIndex]; + this._skinName = o.name + } + this._player.on("played", this, this._onPlay), + this._player.on("stopped", this, this._onStop), + this._player.on("paused", this, this._onPause) + } + , + n.load = function(t, e, n) { + void 0 === n && (n = 0), + this._aniPath = t, + this._complete = e, + this._loadAniMode = n, + i.loader.load([{ + url: t, + type: "arraybuffer" + }], d.create(this, this._onLoaded)) + } + , + n._onLoaded = function() { + var t = f.getRes(this._aniPath); + if (null != t) { + null == rt.TEMPLET_DICTIONARY && (rt.TEMPLET_DICTIONARY = {}); + var e; + (e = rt.TEMPLET_DICTIONARY[this._aniPath]) ? e.isParseFail ? this._parseFail() : e.isParserComplete ? this._parseComplete() : (e.on("complete", this, this._parseComplete), + e.on("error", this, this._parseFail)) : ((e = new rt)._setUrl(this._aniPath), + rt.TEMPLET_DICTIONARY[this._aniPath] = e, + e.on("complete", this, this._parseComplete), + e.on("error", this, this._parseFail), + e.isParserComplete = !1, + e.parseData(null, t)) + } + } + , + n._parseComplete = function() { + var t = rt.TEMPLET_DICTIONARY[this._aniPath]; + t && (this.init(t, this._loadAniMode), + this.play(0, !0)), + this._complete && this._complete.runWith(this) + } + , + n._parseFail = function() { + console.log("[Error]:" + this._aniPath + "解析失败") + } + , + n._onPlay = function() { + this.event("played") + } + , + n._onStop = function() { + var t, e = this._templet.eventAniArr[this._aniClipIndex]; + if (e && this._eventIndex < e.length) + for (; this._eventIndex < e.length; this._eventIndex++) + (t = e[this._eventIndex]).time >= this._player.playStart && t.time <= this._player.playEnd && this.event("label", t); + this._eventIndex = 0, + this._drawOrder = null, + this.event("stopped") + } + , + n._onPause = function() { + this.event("paused") + } + , + n._parseSrcBoneMatrix = function() { + var t = 0 + , e = 0; + for (e = this._templet.srcBoneMatrixArr.length, + t = 0; t < e; t++) + this._boneMatrixArray.push(new m); + if (0 == this._aniMode) + this._boneSlotDic = this._templet.boneSlotDic, + this._bindBoneBoneSlotDic = this._templet.bindBoneBoneSlotDic, + this._boneSlotArray = this._templet.boneSlotArray; + else { + null == this._boneSlotDic && (this._boneSlotDic = {}), + null == this._bindBoneBoneSlotDic && (this._bindBoneBoneSlotDic = {}), + null == this._boneSlotArray && (this._boneSlotArray = []); + var i, n, a = this._templet.boneSlotArray; + for (t = 0, + e = a.length; t < e; t++) + i = a[t], + null == (n = this._bindBoneBoneSlotDic[i.parent]) && (this._bindBoneBoneSlotDic[i.parent] = n = []), + this._boneSlotDic[i.name] = i = i.copy(), + n.push(i), + this._boneSlotArray.push(i) + } + } + , + n._emitMissedEvents = function(t, e, i) { + void 0 === i && (i = 0); + var n = this._templet.eventAniArr[this._player.currentAnimationClipIndex]; + if (n) { + var a, r = 0, s = 0; + for (s = n.length, + r = i; r < s; r++) + (a = n[r]).time >= this._player.playStart && a.time <= this._player.playEnd && this.event("label", a) + } + } + , + n._update = function(t) { + if (void 0 === t && (t = !0), + !(this._pause || t && this._indexControl)) { + var e = this.timer.currTimer + , i = this._player.currentKeyframeIndex + , n = e - this._lastTime; + if (t ? this._player._update(n) : i = -1, + this._lastTime = e, + this._player && (this._index = this._clipIndex = this._player.currentKeyframeIndex, + !(this._index < 0 || n > 0 && this._clipIndex == i && this._lastUpdateAniClipIndex == this._aniClipIndex))) { + this._lastUpdateAniClipIndex = this._aniClipIndex, + i > this._clipIndex && 0 != this._eventIndex && (this._emitMissedEvents(this._player.playStart, this._player.playEnd, this._eventIndex), + this._eventIndex = 0); + var a, r = this._templet.eventAniArr[this._aniClipIndex]; + r && this._eventIndex < r.length && ((a = r[this._eventIndex]).time >= this._player.playStart && a.time <= this._player.playEnd ? this._player.currentPlayTime >= a.time && (this.event("label", a), + this._eventIndex++) : this._eventIndex++); + var s; + if (0 == this._aniMode) { + if (s = this._templet.getGrahicsDataWithCache(this._aniClipIndex, this._clipIndex)) + return void (this.graphics != s && (this.graphics = s)); + var o = 0 + , l = 0; + for (l = this._clipIndex; !this._templet.getGrahicsDataWithCache(this._aniClipIndex, l - 1) && l > 0; ) + l--; + if (l < this._clipIndex) + for (o = l; o < this._clipIndex; o++) + this._createGraphics(o) + } else if (1 == this._aniMode) { + if (s = this._getGrahicsDataWithCache(this._aniClipIndex, this._clipIndex)) + return void (this.graphics != s && (this.graphics = s)); + for (l = this._clipIndex; !this._getGrahicsDataWithCache(this._aniClipIndex, l - 1) && l > 0; ) + l--; + if (l < this._clipIndex) + for (o = l; o < this._clipIndex; o++) + this._createGraphics(o) + } + this._createGraphics() + } + } + } + , + n._createGraphics = function(t) { + void 0 === t && (t = -1), + -1 == t && (t = this._clipIndex); + var e, i = t * this._player.cacheFrameRateInterval, n = this._templet.drawOrderAniArr[this._aniClipIndex]; + if (n && n.length > 0) + for (this._drawOrderIndex = 0, + e = n[this._drawOrderIndex]; i >= e.time && (this._drawOrder = e.drawOrder, + this._drawOrderIndex++, + !(this._drawOrderIndex >= n.length)); ) + e = n[this._drawOrderIndex]; + var a; + 0 == this._aniMode || 1 == this._aniMode ? this.graphics = tt.create() : this.graphics instanceof laya.ani.GraphicsAni ? this.graphics.clear() : this.graphics = tt.create(), + a = this.graphics; + var r = this._templet.getNodes(this._aniClipIndex); + this._templet.getOriginalData(this._aniClipIndex, this._curOriginalData, this._player._fullFrames[this._aniClipIndex], t, i); + var s, o, l, c, _ = this._aniSectionDic[this._aniClipIndex], u = 0, d = 0, f = 0, p = 0, g = 0, y = this._templet.srcBoneMatrixArr.length; + for (d = 0, + g = _[0]; d < y; d++) + c = this._boneList[d], + l = this._templet.srcBoneMatrixArr[d], + c.resultTransform.scX = l.scX * this._curOriginalData[u++], + c.resultTransform.skX = l.skX + this._curOriginalData[u++], + c.resultTransform.skY = l.skY + this._curOriginalData[u++], + c.resultTransform.scY = l.scY * this._curOriginalData[u++], + c.resultTransform.x = l.x + this._curOriginalData[u++], + c.resultTransform.y = l.y + this._curOriginalData[u++], + 8 === this._templet.tMatrixDataLen && (c.resultTransform.skewX = l.skewX + this._curOriginalData[u++], + c.resultTransform.skewY = l.skewY + this._curOriginalData[u++]); + var v, b = {}, w = {}; + for (g += _[1]; d < g; d++) + b[(v = r[d]).name] = this._curOriginalData[u++], + w[v.name] = this._curOriginalData[u++], + this._curOriginalData[u++], + this._curOriginalData[u++], + this._curOriginalData[u++], + this._curOriginalData[u++]; + var x = {} + , I = {}; + for (g += _[2]; d < g; d++) + x[(v = r[d]).name] = this._curOriginalData[u++], + I[v.name] = this._curOriginalData[u++], + this._curOriginalData[u++], + this._curOriginalData[u++], + this._curOriginalData[u++], + this._curOriginalData[u++]; + if (this._pathDic) { + var C; + for (g += _[3]; d < g; d++) + if (v = r[d], + C = this._pathDic[v.name]) { + switch (new h(v.extenData).getByte()) { + case 1: + C.position = this._curOriginalData[u++]; + break; + case 2: + C.spacing = this._curOriginalData[u++]; + break; + case 3: + C.rotateMix = this._curOriginalData[u++], + C.translateMix = this._curOriginalData[u++] + } + } + } + if (this._yReverseMatrix ? this._rootBone.update(this._yReverseMatrix) : this._rootBone.update(m.TEMP.identity()), + this._ikArr) { + var S; + for (d = 0, + g = this._ikArr.length; d < g; d++) + S = this._ikArr[d], + x.hasOwnProperty(S.name) && (S.bendDirection = x[S.name]), + I.hasOwnProperty(S.name) && (S.mix = I[S.name]), + S.apply() + } + if (this._pathDic) + for (var M in this._pathDic) + (C = this._pathDic[M]).apply(this._boneList, a); + if (this._tfArr) { + for (d = 0, + p = this._tfArr.length; d < p; d++) + this._tfArr[d].apply() + } + for (d = 0, + p = this._boneList.length; d < p; d++) + if (c = this._boneList[d], + o = this._bindBoneBoneSlotDic[c.name], + c.resultMatrix.copyTo(this._boneMatrixArray[d]), + o) + for (f = 0, + g = o.length; f < g; f++) + (s = o[f]) && s.setParentMatrix(c.resultMatrix); + var L, T = {}, E = this._templet.deformAniArr; + if (E && E.length > 0) { + if (this._lastAniClipIndex != this._aniClipIndex) + for (this._lastAniClipIndex = this._aniClipIndex, + d = 0, + g = this._boneSlotArray.length; d < g; d++) + (s = this._boneSlotArray[d]).deformData = null; + var D = E[this._aniClipIndex]; + L = D.default, + this._setDeform(L, T, this._boneSlotArray, i); + var N; + for (N in D) + "default" != N && N != this._skinName && (L = D[N], + this._setDeform(L, T, this._boneSlotArray, i)); + L = D[this._skinName], + this._setDeform(L, T, this._boneSlotArray, i) + } + var A, B, k; + if (this._drawOrder) + for (d = 0, + g = this._drawOrder.length; d < g; d++) + A = b[(s = this._boneSlotArray[this._drawOrder[d]]).name], + B = w[s.name], + isNaN(B) || (a.save(), + a.alpha(B)), + isNaN(A) || -2 == A || (this._templet.attachmentNames ? s.showDisplayByName(this._templet.attachmentNames[A]) : s.showDisplayByIndex(A)), + T[this._drawOrder[d]] ? (k = T[this._drawOrder[d]], + s.currDisplayData && k[s.currDisplayData.attachmentName] ? s.deformData = k[s.currDisplayData.attachmentName] : s.deformData = null) : s.deformData = null, + isNaN(B) ? s.draw(a, this._boneMatrixArray, 2 == this._aniMode) : s.draw(a, this._boneMatrixArray, 2 == this._aniMode, B), + isNaN(B) || a.restore(); + else + for (d = 0, + g = this._boneSlotArray.length; d < g; d++) + A = b[(s = this._boneSlotArray[d]).name], + B = w[s.name], + isNaN(B) || (a.save(), + a.alpha(B)), + isNaN(A) || -2 == A || (this._templet.attachmentNames ? s.showDisplayByName(this._templet.attachmentNames[A]) : s.showDisplayByIndex(A)), + T[d] ? (k = T[d], + s.currDisplayData && k[s.currDisplayData.attachmentName] ? s.deformData = k[s.currDisplayData.attachmentName] : s.deformData = null) : s.deformData = null, + isNaN(B) ? s.draw(a, this._boneMatrixArray, 2 == this._aniMode) : s.draw(a, this._boneMatrixArray, 2 == this._aniMode, B), + isNaN(B) || a.restore(); + 0 == this._aniMode ? this._templet.setGrahicsDataWithCache(this._aniClipIndex, t, a) : 1 == this._aniMode && this._setGrahicsDataWithCache(this._aniClipIndex, t, a) + } + , + n._setDeform = function(t, e, i, n) { + if (t) { + var a, r, s, o = 0, l = 0, h = 0; + if (t) + for (o = 0, + l = t.deformSlotDataList.length; o < l; o++) + for (a = t.deformSlotDataList[o], + h = 0; h < a.deformSlotDisplayList.length; h++) + s = i[(r = a.deformSlotDisplayList[h]).slotIndex], + r.apply(n, s), + e[r.slotIndex] || (e[r.slotIndex] = {}), + e[r.slotIndex][r.attachment] = r.deformData + } + } + , + n.getAnimNum = function() { + return this._templet.getAnimationCount() + } + , + n.getAniNameByIndex = function(t) { + return this._templet.getAniNameByIndex(t) + } + , + n.getSlotByName = function(t) { + return this._boneSlotDic[t] + } + , + n.showSkinByName = function(t, e) { + void 0 === e && (e = !0), + this.showSkinByIndex(this._templet.getSkinIndexByName(t), e) + } + , + n.showSkinByIndex = function(t, e) { + void 0 === e && (e = !0); + for (var i = 0; i < this._boneSlotArray.length; i++) + this._boneSlotArray[i].showSlotData(null, e); + if (this._templet.showSkinByIndex(this._boneSlotDic, t, e)) { + var n = this._templet.skinDataArray[t]; + this._skinIndex = t, + this._skinName = n.name + } + this._clearCache() + } + , + n.showSlotSkinByIndex = function(t, e) { + if (0 != this._aniMode) { + var i = this.getSlotByName(t); + i && i.showDisplayByIndex(e), + this._clearCache() + } + } + , + n.showSlotSkinByName = function(t, e) { + if (0 != this._aniMode) { + var i = this.getSlotByName(t); + i && i.showDisplayByName(e), + this._clearCache() + } + } + , + n.replaceSlotSkinName = function(t, e, i) { + if (0 != this._aniMode) { + var n = this.getSlotByName(t); + n && n.replaceDisplayByName(e, i), + this._clearCache() + } + } + , + n.replaceSlotSkinByIndex = function(t, e, i) { + if (0 != this._aniMode) { + var n = this.getSlotByName(t); + n && n.replaceDisplayByIndex(e, i), + this._clearCache() + } + } + , + n.setSlotSkin = function(t, e) { + if (0 != this._aniMode) { + var i = this.getSlotByName(t); + i && i.replaceSkin(e), + this._clearCache() + } + } + , + n._clearCache = function() { + if (1 == this._aniMode) + for (var t = 0, e = this._graphicsCache.length; t < e; t++) { + for (var i = 0, n = this._graphicsCache[t].length; i < n; i++) { + var a = this._graphicsCache[t][i]; + a != this.graphics && tt.recycle(a) + } + this._graphicsCache[t].length = 0 + } + } + , + n.play = function(t, e, i, n, a, r) { + void 0 === i && (i = !0), + void 0 === n && (n = 0), + void 0 === a && (a = 0), + void 0 === r && (r = !0), + this._indexControl = !1; + var s = -1 + , o = NaN; + if (o = e ? 2147483647 : 0, + "string" == typeof t) + for (var h = 0, c = this._templet.getAnimationCount(); h < c; h++) { + var _ = this._templet.getAnimation(h); + if (_ && t == _.name) { + s = h; + break + } + } + else + s = t; + s > -1 && s < this.getAnimNum() && (this._aniClipIndex = s, + (i || this._pause || this._currAniIndex != s) && (this._currAniIndex = s, + this._curOriginalData = new Float32Array(this._templet.getTotalkeyframesLength(s)), + this._drawOrder = null, + this._eventIndex = 0, + this._player.play(s, this._player.playbackRate, o, n, a), + r && this._templet.showSkinByIndex(this._boneSlotDic, this._skinIndex), + this._pause && (this._pause = !1, + this._lastTime = l.now(), + this.timer.frameLoop(1, this, this._update, null, !0)), + this._update())) + } + , + n.stop = function() { + this._pause || (this._pause = !0, + this._player && this._player.stop(!0), + this.timer.clear(this, this._update)) + } + , + n.playbackRate = function(t) { + this._player && (this._player.playbackRate = t) + } + , + n.paused = function() { + this._pause || (this._pause = !0, + this._player && (this._player.paused = !0), + this.timer.clear(this, this._update)) + } + , + n.resume = function() { + this._indexControl = !1, + this._pause && (this._pause = !1, + this._player && (this._player.paused = !1), + this._lastTime = l.now(), + this.timer.frameLoop(1, this, this._update, null, !0)) + } + , + n._getGrahicsDataWithCache = function(t, e) { + return this._graphicsCache[t][e] + } + , + n._setGrahicsDataWithCache = function(t, e, i) { + this._graphicsCache[t][e] = i + } + , + n.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, e), + this._templet = null, + this._player && this._player.offAll(), + this._player = null, + this._curOriginalData = null, + this._boneMatrixArray.length = 0, + this._lastTime = 0, + this.timer.clear(this, this._update) + } + , + r(0, n, "url", function() { + return this._aniPath + }, function(t) { + this.load(t) + }), + r(0, n, "index", function() { + return this._index + }, function(t) { + this.player && (this._index = t, + this._player.currentTime = 1e3 * this._index / this._player.cacheFrameRate, + this._indexControl = !0, + this._update(!1)) + }), + r(0, n, "total", function() { + return this._templet && this._player ? this._total = Math.floor(this._templet.getAniDuration(this._player.currentAnimationClipIndex) / 1e3 * this._player.cacheFrameRate) : this._total = -1, + this._total + }), + r(0, n, "templet", function() { + return this._templet + }), + r(0, n, "player", function() { + return this._player + }), + e.useSimpleMeshInCanvas = !1, + e + }(w) + , rt = (function(t) { + function e(t) { + this._start = 0, + this._Pos = 0, + this._data = null, + this._curIndex = 0, + this._preIndex = 0, + this._playIndex = 0, + this._playing = !1, + this._ended = !0, + this._count = 0, + this._ids = null, + this._loadedImage = {}, + this._idOfSprite = null, + this._parentMovieClip = null, + this._movieClipList = null, + this._labels = null, + this.basePath = null, + this._atlasPath = null, + this._url = null, + this._isRoot = !1, + this._completeHandler = null, + this._endFrame = -1, + this.interval = 30, + this.loop = !1, + e.__super.call(this), + this._ids = {}, + this._idOfSprite = [], + this._reset(), + this._playing = !1, + this._parentMovieClip = t, + t ? (this._isRoot = !1, + this._movieClipList = t._movieClipList, + this._movieClipList.push(this)) : (this._movieClipList = [this], + this._isRoot = !0, + this._setUpNoticeType(1)) + } + a(e, "laya.ani.swf.MovieClip", t); + var n = e.prototype; + n.destroy = function(e) { + void 0 === e && (e = !0), + this._clear(), + t.prototype.destroy.call(this, e) + } + , + n._setDisplay = function(e) { + t.prototype._setDisplay.call(this, e), + this._isRoot && this._$3__onDisplay(e) + } + , + n._$3__onDisplay = function(t) { + t ? this.timer.loop(this.interval, this, this.updates, null, !0) : this.timer.clear(this, this.updates) + } + , + n.updates = function() { + if (!this._parentMovieClip) { + var t = 0 + , e = 0; + for (e = this._movieClipList.length, + t = 0; t < e; t++) + this._movieClipList[t] && this._movieClipList[t]._update() + } + } + , + n.addLabel = function(t, e) { + this._labels || (this._labels = {}), + this._labels[e] = t + } + , + n.removeLabel = function(t) { + if (t) { + if (!this._labels) + for (var e in this._labels) + if (this._labels[e] === t) { + delete this._labels[e]; + break + } + } else + this._labels = null + } + , + n._update = function() { + if (this._data && this._playing) { + if (this._playIndex++, + this._playIndex >= this._count) { + if (!this.loop) + return this._playIndex--, + void this.stop(); + this._playIndex = 0 + } + if (this._parse(this._playIndex), + this._labels && this._labels[this._playIndex] && this.event("label", this._labels[this._playIndex]), + -1 != this._endFrame && this._endFrame == this._playIndex) { + if (this._endFrame = -1, + null != this._completeHandler) { + var t = this._completeHandler; + this._completeHandler = null, + t.run() + } + this.stop() + } + } + } + , + n.stop = function() { + this._playing = !1 + } + , + n.gotoAndStop = function(t) { + this.index = t, + this.stop() + } + , + n._clear = function() { + if (this.stop(), + this._idOfSprite.length = 0, + !this._parentMovieClip) { + this.timer.clear(this, this.updates); + var t = 0 + , e = 0; + for (e = this._movieClipList.length, + t = 0; t < e; t++) + this._movieClipList[t] != this && this._movieClipList[t]._clear(); + this._movieClipList.length = 0 + } + this._atlasPath && f.clearRes(this._atlasPath); + var i; + for (i in this._loadedImage) + this._loadedImage[i] && (f.clearRes(i), + this._loadedImage[i] = !1); + this.removeChildren(), + this.graphics = null, + this._parentMovieClip = null + } + , + n.play = function(t, e) { + void 0 === t && (t = 0), + void 0 === e && (e = !0), + this.loop = e, + this._playing = !0, + this._data && this._displayFrame(t) + } + , + n._displayFrame = function(t) { + void 0 === t && (t = -1), + -1 != t && (this._curIndex > t && this._reset(), + this._parse(t)) + } + , + n._reset = function(t) { + void 0 === t && (t = !0), + t && 1 != this._curIndex && this.removeChildren(), + this._preIndex = this._curIndex = -1, + this._Pos = this._start + } + , + n._parse = function(t) { + var i, n, a, r = 0, s = 0, o = 0, l = !1, h = this._idOfSprite, c = this._data; + for (this._ended && this._reset(), + c.pos = this._Pos, + this._ended = !1, + this._playIndex = t, + this._curIndex > t && t < this._preIndex && (this._reset(!0), + c.pos = this._Pos); this._curIndex <= t && !this._ended; ) + switch (c.getUint16()) { + case 12: + if (r = c.getUint16(), + s = this._ids[c.getUint16()], + this._Pos = c.pos, + c.pos = s, + 0 == (o = c.getUint8())) { + var _ = c.getUint16(); + if (!(n = h[r])) { + n = h[r] = new w; + var u = new w; + u.loadImage(this.basePath + _ + ".png"), + this._loadedImage[this.basePath + _ + ".png"] = !0, + n.addChild(u), + u.size(c.getFloat32(), c.getFloat32()); + var d = c._getMatrix(); + u.transform = d + } + n.alpha = 1 + } else + 1 == o && ((i = h[r]) || (h[r] = i = new e(this), + i.interval = this.interval, + i._ids = this._ids, + i.basePath = this.basePath, + i._setData(c, s), + i._initState(), + i.play(0)), + i.alpha = 1); + c.pos = this._Pos; + break; + case 3: + var f = h[c.getUint16()]; + f && (this.addChild(f), + f.zOrder = c.getUint16(), + l = !0); + break; + case 4: + (f = h[c.getUint16()]) && f.removeSelf(); + break; + case 5: + h[c.getUint16()][e._ValueList[c.getUint16()]] = c.getFloat32(); + break; + case 6: + h[c.getUint16()].visible = c.getUint8() > 0; + break; + case 7: + var p = (n = h[c.getUint16()]).transform || m.create(); + p.setTo(c.getFloat32(), c.getFloat32(), c.getFloat32(), c.getFloat32(), c.getFloat32(), c.getFloat32()), + n.transform = p; + break; + case 8: + h[c.getUint16()].setPos(c.getFloat32(), c.getFloat32()); + break; + case 9: + h[c.getUint16()].setSize(c.getFloat32(), c.getFloat32()); + break; + case 10: + h[c.getUint16()].alpha = c.getFloat32(); + break; + case 11: + h[c.getUint16()].setScale(c.getFloat32(), c.getFloat32()); + break; + case 98: + a = c.getString(), + this.event(a), + "stop" == a && this.stop(); + break; + case 99: + this._curIndex = c.getUint16(), + l && this.updateZOrder(); + break; + case 100: + this._count = this._curIndex + 1, + this._ended = !0, + this._playing && (this.event("enterframe"), + this.event("end"), + this.event("complete")), + this._reset(!1) + } + this._playing && !this._ended && this.event("enterframe"), + this._Pos = c.pos + } + , + n._setData = function(t, e) { + this._data = t, + this._start = e + 3 + } + , + n.load = function(t, e, n) { + void 0 === e && (e = !1), + this._url = t = C.formatURL(t), + e && (this._atlasPath = n || t.split(".swf")[0] + ".json"), + this.stop(), + this._clear(), + this._movieClipList = [this]; + var a; + a = [{ + url: t, + type: "arraybuffer" + }], + this._atlasPath && a.push({ + url: this._atlasPath, + type: "atlas" + }), + i.loader.load(a, d.create(this, this._onLoaded)) + } + , + n._onLoaded = function() { + var t; + (t = f.getRes(this._url)) ? (this.basePath = this._atlasPath ? f.getAtlas(this._atlasPath).dir : this._url.split(".swf")[0] + "/image/", + this._initData(t)) : this.event("error", "file not find") + } + , + n._initState = function() { + this._reset(), + this._ended = !1; + var t = this._playing; + for (this._playing = !1, + this._curIndex = 0; !this._ended; ) + this._parse(++this._curIndex); + this._playing = t + } + , + n._initData = function(t) { + this._data = new h(t); + var e = 0 + , i = this._data.getUint16(); + for (e = 0; e < i; e++) + this._ids[this._data.getInt16()] = this._data.getInt32(); + this.interval = 1e3 / this._data.getUint16(), + this._setData(this._data, this._ids[32767]), + this._initState(), + this.play(0), + this.event("loaded"), + this._parentMovieClip || this.timer.loop(this.interval, this, this.updates, null, !0) + } + , + n.playTo = function(t, e, i) { + this._completeHandler = i, + this._endFrame = e, + this.play(t, !1) + } + , + r(0, n, "index", function() { + return this._playIndex + }, function(t) { + this._playIndex = t, + this._data && this._displayFrame(this._playIndex), + this._labels && this._labels[t] && this.event("label", this._labels[t]) + }), + r(0, n, "count", function() { + return this._count + }), + r(0, n, "playing", function() { + return this._playing + }), + r(0, n, "url", null, function(t) { + this.load(t) + }), + e._ValueList = ["x", "y", "width", "height", "scaleX", "scaleY", "rotation", "alpha"] + }(w), + function(t) { + function e() { + this._mainTexture = null, + this._textureJson = null, + this._graphicsCache = [], + this.srcBoneMatrixArr = [], + this.ikArr = [], + this.tfArr = [], + this.pathArr = [], + this.boneSlotDic = {}, + this.bindBoneBoneSlotDic = {}, + this.boneSlotArray = [], + this.skinDataArray = [], + this.skinDic = {}, + this.subTextureDic = {}, + this.isParseFail = !1, + this.yReverseMatrix = null, + this.drawOrderAniArr = [], + this.eventAniArr = [], + this.attachmentNames = null, + this.deformAniArr = [], + this._isDestroyed = !1, + this._rate = 30, + this.isParserComplete = !1, + this.aniSectionDic = {}, + this._skBufferUrl = null, + this._textureDic = {}, + this._loadList = null, + this._path = null, + this.tMatrixDataLen = 0, + this.mRootBone = null, + e.__super.call(this), + this.skinSlotDisplayDataArr = [], + this.mBoneArr = [] + } + a(e, "laya.ani.bone.Templet", t); + var n = e.prototype; + return n.loadAni = function(t) { + this._skBufferUrl = t, + i.loader.load(t, d.create(this, this.onComplete), null, "arraybuffer") + } + , + n.onComplete = function(t) { + if (this._isDestroyed) + this.destroy(); + else { + var e = f.getRes(this._skBufferUrl); + e ? (this._path = this._skBufferUrl.slice(0, this._skBufferUrl.lastIndexOf("/")) + "/", + this.parseData(null, e)) : this.event("error", "load failed:" + this._skBufferUrl) + } + } + , + n.parseData = function(t, e, i) { + void 0 === i && (i = 30), + !this._path && this.url && (this._path = this.url.slice(0, this.url.lastIndexOf("/")) + "/"), + this._mainTexture = t, + this._mainTexture && y.isWebGL && t.bitmap && (t.bitmap.enableMerageInAtlas = !1), + this._rate = i, + this.parse(e) + } + , + n.buildArmature = function(t) { + return void 0 === t && (t = 0), + new at(this,t) + } + , + n.parse = function(i) { + t.prototype.parse.call(this, i), + this._endLoaded(), + this._aniVersion != e.LAYA_ANIMATION_VISION && (console.log("[Error] 版本不一致,请使用IDE版本配套的重新导出" + this._aniVersion + "->" + e.LAYA_ANIMATION_VISION), + this._loaded = !1), + this.loaded ? this._mainTexture ? this._parsePublicExtData() : this._parseTexturePath() : (this.event("error", this), + this.isParseFail = !0) + } + , + n._parseTexturePath = function() { + if (this._isDestroyed) + this.destroy(); + else { + var t = 0; + this._loadList = []; + var e, n = new h(this.getPublicExtData()), a = 0, r = 0, s = 0, o = n.getInt32(), l = n.readUTFString(), c = l.split("\n"); + for (t = 0; t < o; t++) + e = this._path + c[2 * t], + l = c[2 * t + 1], + n.getFloat32(), + n.getFloat32(), + a = n.getFloat32(), + r = n.getFloat32(), + s = n.getFloat32(), + isNaN(s) ? 0 : s, + s = n.getFloat32(), + isNaN(s) ? 0 : s, + s = n.getFloat32(), + isNaN(s) ? a : s, + s = n.getFloat32(), + isNaN(s) ? r : s, + -1 == this._loadList.indexOf(e) && this._loadList.push(e); + i.loader.load(this._loadList, d.create(this, this._textureComplete)) + } + } + , + n._textureComplete = function() { + for (var t, e, i = 0, n = this._loadList.length; i < n; i++) + e = this._loadList[i], + t = this._textureDic[e] = f.getRes(e), + y.isWebGL && t && t.bitmap && (t.bitmap.enableMerageInAtlas = !1); + this._parsePublicExtData() + } + , + n._parsePublicExtData = function() { + var t = 0 + , e = 0 + , i = 0 + , n = 0 + , a = 0; + for (t = 0, + a = this.getAnimationCount(); t < a; t++) + this._graphicsCache.push([]); + var r = !1; + r = "Dragon" != this._aniClassName; + var s, o, l = new h(this.getPublicExtData()), c = 0, _ = 0, u = 0, d = 0, f = 0, p = 0, g = 0, y = 0, v = 0, b = l.getInt32(), w = l.readUTFString(), x = w.split("\n"); + for (t = 0; t < b; t++) { + if (s = this._mainTexture, + o = this._path + x[2 * t], + w = x[2 * t + 1], + null == this._mainTexture && (s = this._textureDic[o]), + !s) + return this.event("error", this), + void (this.isParseFail = !0); + c = l.getFloat32(), + _ = l.getFloat32(), + u = l.getFloat32(), + d = l.getFloat32(), + v = l.getFloat32(), + f = isNaN(v) ? 0 : v, + v = l.getFloat32(), + p = isNaN(v) ? 0 : v, + v = l.getFloat32(), + g = isNaN(v) ? u : v, + v = l.getFloat32(), + y = isNaN(v) ? d : v, + this.subTextureDic[w] = I.create(s, c, _, u, d, -f, -p, g, y) + } + this._mainTexture = s; + var C, S = l.getUint16(); + for (t = 0; t < S; t++) + (C = []).push(l.getUint16()), + C.push(l.getUint16()), + C.push(l.getUint16()), + C.push(l.getUint16()), + this.aniSectionDic[t] = C; + var M, L, T, E, A, B = l.getInt16(), V = {}; + for (t = 0; t < B; t++) + M = new D, + 0 == t ? A = M : M.root = A, + M.d = r ? -1 : 1, + T = l.readUTFString(), + E = l.readUTFString(), + M.length = l.getFloat32(), + 1 == l.getByte() && (M.inheritRotation = !1), + 1 == l.getByte() && (M.inheritScale = !1), + M.name = T, + E && ((L = V[E]) ? L.addChild(M) : this.mRootBone = M), + V[T] = M, + this.mBoneArr.push(M); + this.tMatrixDataLen = l.getUint16(); + var H, G = l.getUint16(), q = Math.floor(G / this.tMatrixDataLen), K = this.srcBoneMatrixArr; + for (t = 0; t < q; t++) + (H = new J).scX = l.getFloat32(), + H.skX = l.getFloat32(), + H.skY = l.getFloat32(), + H.scY = l.getFloat32(), + H.x = l.getFloat32(), + H.y = l.getFloat32(), + 8 === this.tMatrixDataLen && (H.skewX = l.getFloat32(), + H.skewY = l.getFloat32()), + K.push(H), + (M = this.mBoneArr[t]).transform = H; + var Z, Q = l.getUint16(), $ = 0; + for (t = 0; t < Q; t++) { + for (Z = new F, + $ = l.getUint16(), + e = 0; e < $; e++) + Z.boneNames.push(l.readUTFString()), + Z.boneIndexs.push(l.getInt16()); + Z.name = l.readUTFString(), + Z.targetBoneName = l.readUTFString(), + Z.targetBoneIndex = l.getInt16(), + Z.bendDirection = l.getFloat32(), + Z.mix = l.getFloat32(), + Z.isSpine = r, + this.ikArr.push(Z) + } + var tt, et = l.getUint16(), it = 0; + for (t = 0; t < et; t++) { + for (tt = new Y, + it = l.getUint16(), + e = 0; e < it; e++) + tt.boneIndexs.push(l.getInt16()); + tt.name = l.getUTFString(), + tt.targetIndex = l.getInt16(), + tt.rotateMix = l.getFloat32(), + tt.translateMix = l.getFloat32(), + tt.scaleMix = l.getFloat32(), + tt.shearMix = l.getFloat32(), + tt.offsetRotation = l.getFloat32(), + tt.offsetX = l.getFloat32(), + tt.offsetY = l.getFloat32(), + tt.offsetScaleX = l.getFloat32(), + tt.offsetScaleY = l.getFloat32(), + tt.offsetShearY = l.getFloat32(), + this.tfArr.push(tt) + } + var nt, at = l.getUint16(), rt = 0; + for (t = 0; t < at; t++) { + for ((nt = new z).name = l.readUTFString(), + rt = l.getUint16(), + e = 0; e < rt; e++) + nt.bones.push(l.getInt16()); + nt.target = l.readUTFString(), + nt.positionMode = l.readUTFString(), + nt.spacingMode = l.readUTFString(), + nt.rotateMode = l.readUTFString(), + nt.offsetRotation = l.getFloat32(), + nt.position = l.getFloat32(), + nt.spacing = l.getFloat32(), + nt.rotateMix = l.getFloat32(), + nt.translateMix = l.getFloat32(), + this.pathArr.push(nt) + } + var st, ot, lt, ht, ct = 0, _t = 0, ut = 0, dt = NaN, ft = 0, pt = l.getInt16(); + for (t = 0; t < pt; t++) { + var mt = l.getUint8() + , gt = {}; + this.deformAniArr.push(gt); + for (var yt = 0; yt < mt; yt++) + for ((st = new k).skinName = l.getUTFString(), + gt[st.skinName] = st, + ct = l.getInt16(), + e = 0; e < ct; e++) + for (ot = new R, + st.deformSlotDataList.push(ot), + _t = l.getInt16(), + i = 0; i < _t; i++) + for (lt = new P, + ot.deformSlotDisplayList.push(lt), + lt.slotIndex = l.getInt16(), + lt.attachment = l.getUTFString(), + ut = l.getInt16(), + n = 0; n < ut; n++) + for (1 == l.getByte() ? lt.tweenKeyList.push(!0) : lt.tweenKeyList.push(!1), + dt = l.getFloat32(), + lt.timeList.push(dt), + ht = [], + lt.vectices.push(ht), + ft = l.getInt16(), + a = 0; a < ft; a++) + ht.push(l.getFloat32()) + } + var vt, bt, wt = l.getInt16(), xt = 0, It = 0; + for (t = 0; t < wt; t++) { + for (xt = l.getInt16(), + vt = [], + e = 0; e < xt; e++) { + for ((bt = new O).time = l.getFloat32(), + It = l.getInt16(), + i = 0; i < It; i++) + bt.drawOrder.push(l.getInt16()); + vt.push(bt) + } + this.drawOrderAniArr.push(vt) + } + var Ct, St, Mt = l.getInt16(), Lt = 0; + for (t = 0; t < Mt; t++) { + for (Lt = l.getInt16(), + Ct = [], + e = 0; e < Lt; e++) + (St = new U).name = l.getUTFString(), + St.intValue = l.getInt32(), + St.floatValue = l.getFloat32(), + St.stringValue = l.getUTFString(), + St.time = l.getFloat32(), + Ct.push(St); + this.eventAniArr.push(Ct) + } + var Tt = l.getInt16(); + if (Tt > 0) + for (this.attachmentNames = [], + t = 0; t < Tt; t++) + this.attachmentNames.push(l.getUTFString()); + var Et, Dt, Nt = l.getInt16(); + for (t = 0; t < Nt; t++) + (Et = new N).name = l.readUTFString(), + Et.parent = l.readUTFString(), + Et.attachmentName = l.readUTFString(), + Et.srcDisplayIndex = Et.displayIndex = l.getInt16(), + Et.templet = this, + this.boneSlotDic[Et.name] = Et, + null == (Dt = this.bindBoneBoneSlotDic[Et.parent]) && (this.bindBoneBoneSlotDic[Et.parent] = Dt = []), + Dt.push(Et), + this.boneSlotArray.push(Et); + var At, Bt, kt, Rt = l.readUTFString().split("\n"), Pt = 0, Ot = l.getUint8(), Ut = 0, Vt = 0, Ft = 0, Ht = 0, Gt = 0, zt = 0, jt = 0; + for (t = 0; t < Ot; t++) { + for ((At = new j).name = Rt[Pt++], + Ut = l.getUint8(), + e = 0; e < Ut; e++) { + for ((Bt = new X).name = Rt[Pt++], + Et = this.boneSlotDic[Bt.name], + Vt = l.getUint8(), + i = 0; i < Vt; i++) { + if (kt = new W, + this.skinSlotDisplayDataArr.push(kt), + kt.name = Rt[Pt++], + kt.attachmentName = Rt[Pt++], + kt.transform = new J, + kt.transform.scX = l.getFloat32(), + kt.transform.skX = l.getFloat32(), + kt.transform.skY = l.getFloat32(), + kt.transform.scY = l.getFloat32(), + kt.transform.x = l.getFloat32(), + kt.transform.y = l.getFloat32(), + Bt.displayArr.push(kt), + kt.width = l.getFloat32(), + kt.height = l.getFloat32(), + kt.type = l.getUint8(), + kt.verLen = l.getUint16(), + (B = l.getUint16()) > 0) + for (kt.bones = [], + n = 0; n < B; n++) { + var Wt = l.getUint16(); + kt.bones.push(Wt) + } + if ((Ft = l.getUint16()) > 0) + for (kt.uvs = [], + n = 0; n < Ft; n++) + kt.uvs.push(l.getFloat32()); + if ((Ht = l.getUint16()) > 0) + for (kt.weights = [], + n = 0; n < Ht; n++) + kt.weights.push(l.getFloat32()); + if ((Gt = l.getUint16()) > 0) + for (kt.triangles = [], + n = 0; n < Gt; n++) + kt.triangles.push(l.getUint16()); + if ((zt = l.getUint16()) > 0) + for (kt.vertices = [], + n = 0; n < zt; n++) + kt.vertices.push(l.getFloat32()); + if ((jt = l.getUint16()) > 0) + for (kt.lengths = [], + n = 0; n < jt; n++) + kt.lengths.push(l.getFloat32()) + } + At.slotArr.push(Bt) + } + this.skinDic[At.name] = At, + this.skinDataArray.push(At) + } + 1 == l.getUint8() ? (this.yReverseMatrix = new m(1,0,0,-1,0,0), + A && A.setTempMatrix(this.yReverseMatrix)) : A && A.setTempMatrix(new m), + this.showSkinByIndex(this.boneSlotDic, 0), + this.isParserComplete = !0, + this.event("complete", this) + } + , + n.getTexture = function(t) { + var e = this.subTextureDic[t]; + return e || (e = this.subTextureDic[t.substr(0, t.length - 1)]), + null == e ? this._mainTexture : e + } + , + n.showSkinByIndex = function(t, e, i) { + if (void 0 === i && (i = !0), + e < 0 && e >= this.skinDataArray.length) + return !1; + var n, a, r = 0, s = 0, o = this.skinDataArray[e]; + if (o) { + for (r = 0, + s = o.slotArr.length; r < s; r++) + (a = o.slotArr[r]) && (n = t[a.name]) && (n.showSlotData(a, i), + i && "undefined" != n.attachmentName && "null" != n.attachmentName ? n.showDisplayByName(n.attachmentName) : n.showDisplayByIndex(n.displayIndex)); + return !0 + } + return !1 + } + , + n.getSkinIndexByName = function(t) { + for (var e = 0, i = this.skinDataArray.length; e < i; e++) + if (this.skinDataArray[e].name == t) + return e; + return -1 + } + , + n.getGrahicsDataWithCache = function(t, e) { + return this._graphicsCache[t][e] + } + , + n.setGrahicsDataWithCache = function(t, e, i) { + this._graphicsCache[t][e] = i + } + , + n.destroy = function() { + this._isDestroyed = !0; + var t; + for (var i in this.subTextureDic) + (t = this.subTextureDic[i]) && t.destroy(); + for (i in this._textureDic) + (t = this._textureDic[i]) && t.destroy(); + for (var n = 0, a = this.skinSlotDisplayDataArr.length; n < a; n++) + this.skinSlotDisplayDataArr[n].destory(); + this.skinSlotDisplayDataArr.length = 0, + this.url && delete e.TEMPLET_DICTIONARY[this.url], + laya.resource.Resource.prototype.destroy.call(this) + } + , + n.getAniNameByIndex = function(t) { + var e = this.getAnimation(t); + return e ? e.name : null + } + , + r(0, n, "rate", function() { + return this._rate + }, function(t) { + this._rate = t + }), + e.LAYA_ANIMATION_VISION = "LAYAANIMATION:1.6.0", + e.TEMPLET_DICTIONARY = null, + e + }(it)) +}(window, document, Laya), +"function" == typeof define && define.amd && define("laya.core", ["require", "exports"], function(t, e) { + "use strict"; + Object.defineProperty(e, "__esModule", { + value: !0 + }); + for (var i in Laya) { + var n = Laya[i]; + n && n.__isclass && (e[i] = n) + } +}), +function(t, e, i) { + i.un, + i.uns; + var n = i.static + , a = i.class + , r = i.getset + , s = (i.__newvec, + laya.utils.Browser, + laya.display.css.CSSStyle) + , o = laya.utils.ClassUtils + , l = (laya.events.Event, + laya.utils.HTMLChar) + , h = laya.net.Loader + , c = (laya.display.Node, + laya.maths.Rectangle) + , _ = laya.renders.Render + , u = (laya.renders.RenderContext, + laya.renders.RenderSprite, + laya.display.Sprite) + , d = laya.utils.Stat + , f = laya.display.Text + , p = laya.resource.Texture + , m = laya.net.URL + , g = laya.utils.Utils + , y = function() { + function t() {} + return a(t, "laya.html.utils.HTMLParse"), + t.parse = function(e, i, n) { + i = (i = "" + (i = i.replace(/
/g, "
")) + "
").replace(t.spacePattern, t.char255); + var a = g.parseXMLFromString(i); + t._parseXML(e, a.childNodes[0].childNodes, n) + } + , + t._parseXML = function(e, i, n, a) { + var r = 0 + , s = 0; + if (i.join || i.item) + for (r = 0, + s = i.length; r < s; ++r) + t._parseXML(e, i[r], n, a); + else { + var l, h; + if (3 == i.nodeType) { + var c; + return void (e instanceof laya.html.dom.HTMLDivElement ? (null == i.nodeName && (i.nodeName = "#text"), + h = i.nodeName.toLowerCase(), + (c = i.textContent.replace(/^\s+|\s+$/g, "")).length > 0 && (l = o.getInstance(h)) && (e.addChild(l), + l.innerTEXT = c.replace(t.char255AndOneSpacePattern, " "))) : (c = i.textContent.replace(/^\s+|\s+$/g, "")).length > 0 && (e.innerTEXT = c.replace(t.char255AndOneSpacePattern, " "))) + } + if ("#comment" == (h = i.nodeName.toLowerCase())) + return; + if (l = o.getInstance(h)) { + (l = e.addChild(l)).URI = n, + l.href = a; + var _ = i.attributes; + if (_ && _.length > 0) + for (r = 0, + s = _.length; r < s; ++r) { + var u = _[r] + , d = u.nodeName + , f = u.value; + l._setAttributes(d, f) + } + t._parseXML(l, i.childNodes, n, l.href) + } else + t._parseXML(e, i.childNodes, n, a) + } + } + , + t.char255 = String.fromCharCode(255), + t.spacePattern = / | /g, + t.char255AndOneSpacePattern = new RegExp(String.fromCharCode(255) + "|(\\s+)","g"), + t + }() + , v = function() { + function t() {} + return a(t, "laya.html.utils.Layout"), + t.later = function(e) { + null == t._will && (t._will = [], + i.stage.frameLoop(1, null, function() { + if (!(t._will.length < 1)) { + for (var e = 0; e < t._will.length; e++) + laya.html.utils.Layout.layout(t._will[e]); + t._will.length = 0 + } + })), + t._will.push(e) + } + , + t.layout = function(e) { + if (!e || !e._style) + return null; + if (0 == (512 & e._style._type)) + return null; + e.getStyle()._type &= -513; + var i = t._multiLineLayout(e); + return _.isConchApp && e.layaoutCallNative && e.layaoutCallNative(), + i + } + , + t._multiLineLayout = function(e) { + function i() { + E.y = S, + S += E.h + d, + 0 == E.h && (S += p), + E.mWidth = A, + A = 0, + E = new b, + T.push(E), + E.h = 0, + C = 0, + B = !0, + D = !1 + } + if (f.RightToLeft) + return t._multiLineLayout2(e); + var n = new Array; + e._addChildsToLayout(n); + var a, r, s, o, l, h = 0, c = n.length, _ = e._getCSSStyle(), u = _.letterSpacing, d = _.leading, p = _.lineHeight, m = _._widthAuto() || !_.wordWrap, g = m ? 999999 : e.width, y = (e.height, + 0), v = _.italic ? _.fontSize / 3 : 0, w = _._getAlign(), x = _._getValign(), I = 0 !== x || 0 !== w || 0 != p, C = 0, S = 0, M = 0, L = 0, T = new Array, E = T[0] = new b, D = !1, N = !1; + E.h = 0, + _.italic && (g -= _.fontSize / 3); + var A = 0 + , B = !0; + for (h = 0; h < c; h++) + if (null != (a = n[h])) + if (B = !1, + a instanceof laya.html.dom.HTMLBrElement) + i(), + E.y = S; + else { + if (a._isChar()) { + if ((o = a).isWord) + D = N || "\n" === o.char, + E.wordStartIndex = E.elements.length; + else { + if (T.length > 0 && C + M > g && E.wordStartIndex > 0) { + var k = 0; + k = E.elements.length - E.wordStartIndex + 1, + E.elements.length = E.wordStartIndex, + h -= k, + i(); + continue + } + D = !1, + A += o.width + } + M = o.width + u, + L = o.height, + N = !1, + (D = D || C + M > g) && i(), + E.minTextHeight = Math.min(E.minTextHeight, a.height) + } else + l = a, + s = (r = a._getCSSStyle()).padding, + 0 === r._getCssFloat() || (I = !0), + D = N || r.lineElement, + M = l.width * l._style._tf.scaleX + s[1] + s[3] + u, + L = l.height * l._style._tf.scaleY + s[0] + s[2], + N = r.lineElement, + (D = D || C + M > g && r.wordWrap) && i(); + E.elements.push(a), + E.h = Math.max(E.h, L), + a.x = C, + a.y = S, + C += M, + E.w = C - u, + E.y = S, + y = Math.max(C + v, y) + } + else + B || (C += t.DIV_ELEMENT_PADDING), + E.wordStartIndex = E.elements.length; + if (S = E.y + E.h, + I) { + var R = 0 + , P = g; + for (m && e.width > 0 && (P = e.width), + h = 0, + c = T.length; h < c; h++) + T[h].updatePos(0, P, h, R, w, x, p), + R += Math.max(p, T[h].h + d); + S = R + } + return m && (e.width = y), + S > e.height && (e.height = S), + [y, S] + } + , + t._multiLineLayout2 = function(e) { + function i() { + T.y = C, + C += T.h + d, + 0 == T.h && (C += f), + T.mWidth = N, + N = 0, + T = new b, + L.push(T), + T.h = 0, + I = 0, + A = !0, + E = !1 + } + var n = new Array; + e._addChildsToLayout(n); + var a, r, s, o, l, h = 0, c = n.length, _ = e._getCSSStyle(), u = _.letterSpacing, d = _.leading, f = _.lineHeight, p = _._widthAuto() || !_.wordWrap, m = p ? 999999 : e.width, g = (e.height, + 0), y = _.italic ? _.fontSize / 3 : 0, v = 2 - _._getAlign(), w = _._getValign(), x = 0 !== w || 0 !== v || 0 != f, I = 0, C = 0, S = 0, M = 0, L = new Array, T = L[0] = new b, E = !1, D = !1; + T.h = 0, + _.italic && (m -= _.fontSize / 3); + var N = 0 + , A = !0; + for (h = 0; h < c; h++) + if (null != (a = n[h])) + if (A = !1, + a instanceof laya.html.dom.HTMLBrElement) + i(), + T.y = C; + else { + if (a._isChar()) { + if ((o = a).isWord) + E = D || "\n" === o.char, + T.wordStartIndex = T.elements.length; + else { + if (L.length > 0 && I + S > m && T.wordStartIndex > 0) { + var B = 0; + B = T.elements.length - T.wordStartIndex + 1, + T.elements.length = T.wordStartIndex, + h -= B, + i(); + continue + } + E = !1, + N += o.width + } + S = o.width + u, + M = o.height, + D = !1, + (E = E || I + S > m) && i(), + T.minTextHeight = Math.min(T.minTextHeight, a.height) + } else + l = a, + s = (r = a._getCSSStyle()).padding, + 0 === r._getCssFloat() || (x = !0), + E = D || r.lineElement, + S = l.width * l._style._tf.scaleX + s[1] + s[3] + u, + M = l.height * l._style._tf.scaleY + s[0] + s[2], + D = r.lineElement, + (E = E || I + S > m && r.wordWrap) && i(); + T.elements.push(a), + T.h = Math.max(T.h, M), + a.x = I, + a.y = C, + I += S, + T.w = I - u, + T.y = C, + g = Math.max(I + y, g) + } + else + A || (I += t.DIV_ELEMENT_PADDING), + T.wordStartIndex = T.elements.length; + if (C = T.y + T.h, + x) { + var k = 0 + , R = m; + for (h = 0, + c = L.length; h < c; h++) + L[h].updatePos(0, R, h, k, v, w, f), + k += Math.max(f, L[h].h + d); + C = k + } + for (p && (e.width = g), + C > e.height && (e.height = C), + h = 0, + c = L.length; h < c; h++) + L[h].revertOrder(m); + return [g, C] + } + , + t._will = null, + t.DIV_ELEMENT_PADDING = 0, + t + }() + , b = function() { + function t() { + this.x = 0, + this.y = 0, + this.w = 0, + this.h = 0, + this.wordStartIndex = 0, + this.minTextHeight = 99999, + this.mWidth = 0, + this.elements = new Array + } + a(t, "laya.html.utils.LayoutLine"); + var e = t.prototype; + return e.updatePos = function(t, e, i, n, a, r, s) { + var o, l = 0; + this.elements.length > 0 && (l = (o = this.elements[this.elements.length - 1]).x + o.width - this.elements[0].x); + var h = 0 + , c = NaN; + 1 === a && (h = (e - l) / 2), + 2 === a && (h = e - l), + 0 === s || 0 != r || (r = 1); + for (var _ = 0, u = this.elements.length; _ < u; _++) { + var d = (o = this.elements[_])._getCSSStyle(); + switch (0 !== h && (o.x += h), + d._getValign()) { + case 0: + o.y = n; + break; + case 1: + var f = 0; + 99999 != this.minTextHeight && (f = this.minTextHeight); + var p = (f + s) / 2; + p = Math.max(p, this.h), + c = (laya.html.dom.HTMLImageElement, + n + p - o.height), + o.y = c; + break; + case 2: + o.y = n + (s - o.height) + } + } + } + , + e.revertOrder = function(t) { + var e; + if (this.elements.length > 0) { + var i = 0 + , n = 0; + for (n = this.elements.length, + i = 0; i < n; i++) + (e = this.elements[i]).x = t - e.x - e.width + } + } + , + t + }() + , w = function(t) { + function e() { + this.URI = null, + this._href = null, + e.__super.call(this), + this._text = e._EMPTYTEXT, + this.setStyle(new s(this)), + this._getCSSStyle().valign = "middle", + this.mouseEnabled = !0 + } + a(e, "laya.html.dom.HTMLElement", t); + var n = e.prototype; + return n.layaoutCallNative = function() { + var t = 0; + if (this._childs && (t = this._childs.length) > 0) + for (var e = 0; e < t; e++) + this._childs[e].layaoutCallNative && this._childs[e].layaoutCallNative(); + var i = this._getWords(); + i ? laya.html.dom.HTMLElement.fillWords(this, i, 0, 0, this.style.font, this.style.color, this.style.underLine) : this.graphics.clear() + } + , + n.appendChild = function(t) { + return this.addChild(t) + } + , + n._getWords2 = function() { + var t = this._text.text; + if (!t || 0 === t.length) + return null; + var e, i, n = 0, a = 0; + if (this._text.drawWords) + i = this._text.drawWords; + else { + for (a = (e = t.split(" ")).length - 1, + i = [], + n = 0; n < a; n++) + i.push(e[n], " "); + a >= 0 && i.push(e[a]), + this._text.drawWords = i + } + var r = this._text.words; + if (r && r.length === i.length) + return r; + null === r && (this._text.words = r = []), + r.length = i.length; + var s, o = this.style, h = o.font; + for (n = 0, + a = i.length; n < a; n++) { + s = g.measureText(i[n], h); + var c = r[n] = new l(i[n],s.width,s.height || o.fontSize,o); + if (c.char.length > 1 && (c.charNum = c.char), + this.href) { + var _ = new u; + this.addChild(_), + c.setSprite(_) + } + } + return r + } + , + n._getWords = function() { + if (!f.CharacterCache) + return this._getWords2(); + var t = this._text.text; + if (!t || 0 === t.length) + return null; + var e = this._text.words; + if (e && e.length === t.length) + return e; + null === e && (this._text.words = e = []), + e.length = t.length; + for (var i, n = this.style, a = n.font, r = 0, s = t.length; r < s; r++) { + i = g.measureText(t.charAt(r), a); + var o = e[r] = new l(t.charAt(r),i.width,i.height || n.fontSize,n); + if (this.href) { + var h = new u; + this.addChild(h), + o.setSprite(h) + } + } + return e + } + , + n.showLinkSprite = function() { + var t = this._text.words; + if (t) + for (var e, i, n = [], a = 0; a < t.length; a++) + i = t[a], + (e = new u).graphics.drawRect(0, 0, i.width, i.height, "#ff0000"), + e.width = i.width, + e.height = i.height, + this.addChild(e), + n.push(e) + } + , + n._layoutLater = function() { + var t = this.style; + 512 & t._type || (t.widthed(this) && (this._childs.length > 0 || null != this._getWords()) && t.block ? (v.later(this), + t._type |= 512) : this.parent && this.parent._layoutLater()) + } + , + n._setAttributes = function(e, i) { + switch (e) { + case "style": + return void this.style.cssText(i); + case "class": + return void (this.className = i) + } + t.prototype._setAttributes.call(this, e, i) + } + , + n.updateHref = function() { + if (null != this._href) { + var t = this._getWords(); + if (t) + for (var e, i, n = 0; n < t.length; n++) + (i = (e = t[n]).getSprite()) && (i.size(e.width, e.height), + i.on("click", this, this.onLinkHandler)) + } + } + , + n.onLinkHandler = function(t) { + switch (t.type) { + case "click": + for (var e = this; e; ) + e.event("link", [this.href]), + e = e.parent + } + } + , + n.formatURL = function(t) { + return this.URI ? m.formatURL(t, this.URI ? this.URI.path : null) : t + } + , + r(0, n, "href", function() { + return this._href + }, function(t) { + this._href = t, + null != t && (this._getCSSStyle().underLine = 1, + this.updateHref()) + }), + r(0, n, "color", null, function(t) { + this.style.color = t + }), + r(0, n, "onClick", null, function(t) { + i._runScript("fn=function(event){" + t + ";}"), + this.on("click", this, void 0) + }), + r(0, n, "id", null, function(t) { + I.document.setElementById(t, this) + }), + r(0, n, "innerTEXT", function() { + return this._text.text + }, function(t) { + this.text = t + }), + r(0, n, "style", function() { + return this._style + }), + r(0, n, "text", function() { + return this._text.text + }, function(t) { + this._text == e._EMPTYTEXT ? this._text = { + text: t, + words: null + } : (this._text.text = t, + this._text.words && (this._text.words.length = 0)), + _.isConchApp && this.layaoutCallNative(), + this._renderType |= 2048, + this.repaint(), + this.updateHref() + }), + r(0, n, "parent", t.prototype._$get_parent, function(t) { + if (t instanceof laya.html.dom.HTMLElement) { + var e = t; + this.URI || (this.URI = e.URI), + this.style.inherit(e.style) + } + i.superSet(u, this, "parent", t) + }), + r(0, n, "className", null, function(t) { + this.style.attrs(I.document.styleSheets["." + t]) + }), + e.fillWords = function(t, e, i, n, a, r, s) { + t.graphics.clear(); + for (var o = 0, l = e.length; o < l; o++) { + var h = e[o]; + t.graphics.fillText(h.char, h.x + i, h.y + n, a, r, "left", s) + } + } + , + e._EMPTYTEXT = { + text: null, + words: null + }, + e + }(u) + , x = (function(t) { + function e() { + e.__super.call(this), + this.style.lineElement = !0, + this.style.block = !0 + } + a(e, "laya.html.dom.HTMLBrElement", w) + }(), + function(t) { + function e() { + this.contextHeight = NaN, + this.contextWidth = NaN, + e.__super.call(this), + this.style.block = !0, + this.style.lineElement = !0, + this.style.width = 200, + this.style.height = 200 + } + a(e, "laya.html.dom.HTMLDivElement", t); + var n = e.prototype; + return n.appendHTML = function(t) { + y.parse(this, t, this.URI), + this.layout() + } + , + n._addChildsToLayout = function(t) { + var e = this._getWords(); + if (null == e && 0 == this._childs.length) + return !1; + e && e.forEach(function(e) { + t.push(e) + }); + for (var i = !0, n = 0, a = this._childs.length; n < a; n++) { + var r = this._childs[n]; + i ? i = !1 : t.push(null), + r._addToLayout(t) + } + return !0 + } + , + n._addToLayout = function(t) { + this.layout() + } + , + n.layout = function() { + if (this.style) { + this.style._type |= 512; + var t = v.layout(this); + if (t) { + this._$P.mHtmlBounds || this._set$P("mHtmlBounds", new c); + var e = this._$P.mHtmlBounds; + e.x = e.y = 0, + e.width = this.contextWidth = t[0], + e.height = this.contextHeight = t[1], + this.setBounds(e) + } + } + } + , + r(0, n, "height", function() { + return this._height ? this._height : this.contextHeight + }, t.prototype._$set_height), + r(0, n, "innerHTML", null, function(t) { + this.destroyChildren(), + this.appendHTML(t) + }), + r(0, n, "width", function() { + return this._width ? this._width : this.contextWidth + }, function(t) { + var e = !1; + e = 0 === t ? t != this._width : t != this.width, + i.superSet(w, this, "width", t), + e && this.layout() + }), + e + }(w)) + , I = function(t) { + function e() { + this.all = new Array, + this.styleSheets = s.styleSheets, + e.__super.call(this) + } + a(e, "laya.html.dom.HTMLDocument", w); + var i = e.prototype; + return i.getElementById = function(t) { + return this.all[t] + } + , + i.setElementById = function(t, e) { + this.all[t] = e + } + , + n(e, ["document", function() { + return this.document = new e + } + ]), + e + }(); + (function(t) { + function e() { + this._tex = null, + this._url = null, + this._renderArgs = [], + e.__super.call(this), + this.style.block = !0 + } + a(e, "laya.html.dom.HTMLImageElement", w); + var i = e.prototype; + i._addToLayout = function(t) { + !this._style.absolute && t.push(this) + } + , + i.render = function(t, e, i) { + !this._tex || !this._tex.loaded || !this._tex.loaded || this._width < 1 || this._height < 1 || (d.spriteCount++, + this._renderArgs[0] = this._tex, + this._renderArgs[1] = this.x, + this._renderArgs[2] = this.y, + this._renderArgs[3] = this.width || this._tex.width, + this._renderArgs[4] = this.height || this._tex.height, + t.ctx.drawTexture2(e, i, this.style.translateX, this.style.translateY, this.transform, this.style.alpha, this.style.blendMode, this._renderArgs)) + } + , + i.layaoutCallNative = function() { + var t = 0; + if (this._childs && (t = this._childs.length) > 0) + for (var e = 0; e < t; e++) + this._childs[e].layaoutCallNative && this._childs[e].layaoutCallNative() + } + , + r(0, i, "src", null, function(t) { + function e() { + var t = i._style; + t.widthed(i) || i._tex.width, + t.heighted(i) || i._tex.height; + t.widthed(i) || i._width == i._tex.width || (i.width = i._tex.width, + i.parent && i.parent._layoutLater()), + t.heighted(i) || i._height == i._tex.height || (i.height = i._tex.height, + i.parent && i.parent._layoutLater()), + _.isConchApp && (i._renderArgs[0] = i._tex, + i._renderArgs[1] = i.x, + i._renderArgs[2] = i.y, + i._renderArgs[3] = i.width || i._tex.width, + i._renderArgs[4] = i.height || i._tex.height, + i.graphics.drawTexture(i._tex, 0, 0, i._renderArgs[3], i._renderArgs[4])), + i.repaint(), + i.parentRepaint() + } + var i = this; + if (t = this.formatURL(t), + this._url != t) { + this._url = t; + var n = this._tex = h.getRes(t); + n || (this._tex = n = new p, + n.load(t), + h.cacheRes(t, n)), + n.loaded ? e() : n.on("loaded", null, e) + } + }) + } + )(), + function(t) { + function e() { + this.type = null, + e.__super.call(this), + this.visible = !1 + } + a(e, "laya.html.dom.HTMLLinkElement", t); + var i = e.prototype; + i._onload = function(t) { + switch (this.type) { + case "text/css": + s.parseCSS(t, this.URI) + } + } + , + r(0, i, "href", t.prototype._$get_href, function(t) { + var e = this; + t = this.formatURL(t), + this.URI = new m(t); + var i = new h; + i.once("complete", null, function(t) { + e._onload(t) + }), + i.load(t, "text") + }), + e._cuttingStyle = new RegExp("((@keyframes[\\s\\t]+|)(.+))[\\t\\n\\r\\s]*{","g") + }(w), + function(t) { + function e() { + e.__super.call(this), + this.visible = !1 + } + a(e, "laya.html.dom.HTMLStyleElement", t); + r(0, e.prototype, "text", t.prototype._$get_text, function(t) { + s.parseCSS(t, null) + }) + }(w), + function(t) { + function e() { + e.__super.call(this), + this._getCSSStyle().valign = "middle" + } + a(e, "laya.html.dom.HTMLIframeElement", t); + r(0, e.prototype, "href", t.prototype._$get_href, function(t) { + var e = this; + t = this.formatURL(t); + var i = new h; + i.once("complete", null, function(i) { + var n = e.URI; + e.URI = new m(t), + e.innerHTML = i, + !n || (e.URI = n) + }), + i.load(t, "text") + }) + }(x) +}(window, document, Laya), +"function" == typeof define && define.amd && define("laya.core", ["require", "exports"], function(t, e) { + "use strict"; + Object.defineProperty(e, "__esModule", { + value: !0 + }); + for (var i in Laya) { + var n = Laya[i]; + n && n.__isclass && (e[i] = n) + } +}), +function(t, e, i) { + i.un, + i.uns; + var n = i.static + , a = i.class + , r = i.getset + , s = (i.__newvec, + laya.webgl.canvas.BlendMode) + , o = (laya.events.Event, + laya.resource.HTMLCanvas) + , l = laya.utils.Handler + , h = laya.webgl.utils.IndexBuffer2D + , c = (laya.net.Loader, + laya.maths.MathUtil) + , _ = laya.maths.Matrix + , u = laya.renders.Render + , d = (laya.renders.RenderContext, + laya.renders.RenderSprite, + laya.webgl.shader.Shader) + , f = laya.display.Sprite + , p = laya.utils.Stat + , m = laya.resource.Texture + , g = laya.utils.Utils + , y = laya.webgl.shader.d2.value.Value2D + , v = laya.webgl.utils.VertexBuffer2D + , b = laya.webgl.WebGL + , w = (laya.webgl.WebGLContext, + function() { + function t() { + this._frameTime = 0, + this._emissionRate = 60, + this._emissionTime = 0, + this.minEmissionTime = 1 / 60, + this._particleTemplate = null + } + a(t, "laya.particle.emitter.EmitterBase"); + var e = t.prototype; + return e.start = function(t) { + void 0 === t && (t = 2147483647), + 0 != this._emissionRate && (this._emissionTime = t) + } + , + e.stop = function() { + this._emissionTime = 0 + } + , + e.clear = function() { + this._emissionTime = 0 + } + , + e.emit = function() {} + , + e.advanceTime = function(t) { + if (void 0 === t && (t = 1), + this._emissionTime -= t, + !(this._emissionTime < 0 || (this._frameTime += t, + this._frameTime < this.minEmissionTime))) + for (; this._frameTime > this.minEmissionTime; ) + this._frameTime -= this.minEmissionTime, + this.emit() + } + , + r(0, e, "particleTemplate", null, function(t) { + this._particleTemplate = t + }), + r(0, e, "emissionRate", function() { + return this._emissionRate + }, function(t) { + t <= 0 || (this._emissionRate = t, + t > 0 && (this.minEmissionTime = 1 / t)) + }), + t + }()) + , x = function() { + function t() { + this.position = null, + this.velocity = null, + this.startColor = null, + this.endColor = null, + this.sizeRotation = null, + this.radius = null, + this.radian = null, + this.durationAddScale = NaN, + this.time = NaN + } + return a(t, "laya.particle.ParticleData"), + t.Create = function(e, i, n, a) { + var r = new t; + r.position = i, + c.scaleVector3(n, e.emitterVelocitySensitivity, t._tempVelocity); + var s = c.lerp(e.minHorizontalVelocity, e.maxHorizontalVelocity, Math.random()) + , o = Math.random() * Math.PI * 2; + t._tempVelocity[0] += s * Math.cos(o), + t._tempVelocity[2] += s * Math.sin(o), + t._tempVelocity[1] += c.lerp(e.minVerticalVelocity, e.maxVerticalVelocity, Math.random()), + r.velocity = t._tempVelocity, + r.startColor = t._tempStartColor, + r.endColor = t._tempEndColor; + var l = 0; + if (e.disableColor) + for (l = 0; l < 4; l++) + r.startColor[l] = 1, + r.endColor[l] = 1; + else if (e.colorComponentInter) + for (l = 0; l < 4; l++) + r.startColor[l] = c.lerp(e.minStartColor[l], e.maxStartColor[l], Math.random()), + r.endColor[l] = c.lerp(e.minEndColor[l], e.maxEndColor[l], Math.random()); + else + c.lerpVector4(e.minStartColor, e.maxStartColor, Math.random(), r.startColor), + c.lerpVector4(e.minEndColor, e.maxEndColor, Math.random(), r.endColor); + r.sizeRotation = t._tempSizeRotation; + var h = Math.random(); + r.sizeRotation[0] = c.lerp(e.minStartSize, e.maxStartSize, h), + r.sizeRotation[1] = c.lerp(e.minEndSize, e.maxEndSize, h), + r.sizeRotation[2] = c.lerp(e.minRotateSpeed, e.maxRotateSpeed, Math.random()), + r.radius = t._tempRadius; + var _ = Math.random(); + r.radius[0] = c.lerp(e.minStartRadius, e.maxStartRadius, _), + r.radius[1] = c.lerp(e.minEndRadius, e.maxEndRadius, _), + r.radian = t._tempRadian, + r.radian[0] = c.lerp(e.minHorizontalStartRadian, e.maxHorizontalStartRadian, Math.random()), + r.radian[1] = c.lerp(e.minVerticalStartRadian, e.maxVerticalStartRadian, Math.random()); + var u = e.useEndRadian; + return r.radian[2] = u ? c.lerp(e.minHorizontalEndRadian, e.maxHorizontalEndRadian, Math.random()) : r.radian[0], + r.radian[3] = u ? c.lerp(e.minVerticalEndRadian, e.maxVerticalEndRadian, Math.random()) : r.radian[1], + r.durationAddScale = e.ageAddScale * Math.random(), + r.time = a, + r + } + , + n(t, ["_tempVelocity", function() { + return this._tempVelocity = new Float32Array(3) + } + , "_tempStartColor", function() { + return this._tempStartColor = new Float32Array(4) + } + , "_tempEndColor", function() { + return this._tempEndColor = new Float32Array(4) + } + , "_tempSizeRotation", function() { + return this._tempSizeRotation = new Float32Array(3) + } + , "_tempRadius", function() { + return this._tempRadius = new Float32Array(2) + } + , "_tempRadian", function() { + return this._tempRadian = new Float32Array(4) + } + ]), + t + }() + , I = (function() { + function t(t, e, i) { + this._templet = null, + this._timeBetweenParticles = NaN, + this._previousPosition = null, + this._timeLeftOver = 0, + this._tempVelocity = new Float32Array([0, 0, 0]), + this._tempPosition = new Float32Array([0, 0, 0]), + this._templet = t, + this._timeBetweenParticles = 1 / e, + this._previousPosition = i + } + a(t, "laya.particle.ParticleEmitter"); + t.prototype.update = function(t, e) { + if ((t /= 1e3) > 0) { + c.subtractVector3(e, this._previousPosition, this._tempVelocity), + c.scaleVector3(this._tempVelocity, 1 / t, this._tempVelocity); + for (var i = this._timeLeftOver + t, n = -this._timeLeftOver; i > this._timeBetweenParticles; ) + n += this._timeBetweenParticles, + i -= this._timeBetweenParticles, + c.lerpVector3(this._previousPosition, e, n / t, this._tempPosition), + this._templet.addParticleArray(this._tempPosition, this._tempVelocity); + this._timeLeftOver = i + } + this._previousPosition[0] = e[0], + this._previousPosition[1] = e[1], + this._previousPosition[2] = e[2] + } + }(), + function() { + function t() { + this.textureName = null, + this.textureCount = 1, + this.maxPartices = 100, + this.duration = 1, + this.ageAddScale = 0, + this.emitterVelocitySensitivity = 1, + this.minStartSize = 100, + this.maxStartSize = 100, + this.minEndSize = 100, + this.maxEndSize = 100, + this.minHorizontalVelocity = 0, + this.maxHorizontalVelocity = 0, + this.minVerticalVelocity = 0, + this.maxVerticalVelocity = 0, + this.endVelocity = 1, + this.minRotateSpeed = 0, + this.maxRotateSpeed = 0, + this.minStartRadius = 0, + this.maxStartRadius = 0, + this.minEndRadius = 0, + this.maxEndRadius = 0, + this.minHorizontalStartRadian = 0, + this.maxHorizontalStartRadian = 0, + this.minVerticalStartRadian = 0, + this.maxVerticalStartRadian = 0, + this.useEndRadian = !0, + this.minHorizontalEndRadian = 0, + this.maxHorizontalEndRadian = 0, + this.minVerticalEndRadian = 0, + this.maxVerticalEndRadian = 0, + this.colorComponentInter = !1, + this.disableColor = !1, + this.blendState = 0, + this.emitterType = "null", + this.emissionRate = 0, + this.sphereEmitterRadius = 1, + this.sphereEmitterVelocity = 0, + this.sphereEmitterVelocityAddVariance = 0, + this.ringEmitterRadius = 30, + this.ringEmitterVelocity = 0, + this.ringEmitterVelocityAddVariance = 0, + this.ringEmitterUp = 2, + this.gravity = new Float32Array([0, 0, 0]), + this.minStartColor = new Float32Array([1, 1, 1, 1]), + this.maxStartColor = new Float32Array([1, 1, 1, 1]), + this.minEndColor = new Float32Array([1, 1, 1, 1]), + this.maxEndColor = new Float32Array([1, 1, 1, 1]), + this.pointEmitterPosition = new Float32Array([0, 0, 0]), + this.pointEmitterPositionVariance = new Float32Array([0, 0, 0]), + this.pointEmitterVelocity = new Float32Array([0, 0, 0]), + this.pointEmitterVelocityAddVariance = new Float32Array([0, 0, 0]), + this.boxEmitterCenterPosition = new Float32Array([0, 0, 0]), + this.boxEmitterSize = new Float32Array([0, 0, 0]), + this.boxEmitterVelocity = new Float32Array([0, 0, 0]), + this.boxEmitterVelocityAddVariance = new Float32Array([0, 0, 0]), + this.sphereEmitterCenterPosition = new Float32Array([0, 0, 0]), + this.ringEmitterCenterPosition = new Float32Array([0, 0, 0]), + this.positionVariance = new Float32Array([0, 0, 0]) + } + return a(t, "laya.particle.ParticleSetting"), + t.checkSetting = function(e) { + var i; + for (i in t._defaultSetting) + e.hasOwnProperty(i) || (e[i] = t._defaultSetting[i]) + } + , + n(t, ["_defaultSetting", function() { + return this._defaultSetting = new t + } + ]), + t + }()) + , C = function() { + function t() { + this.settings = null, + this.texture = null + } + a(t, "laya.particle.ParticleTemplateBase"); + return t.prototype.addParticleArray = function(t, e) {} + , + t + }() + , S = function() { + function t() { + this.u_Duration = NaN, + this.u_EndVelocity = NaN, + this.u_Gravity = null, + this.a_Position = null, + this.a_Velocity = null, + this.a_StartColor = null, + this.a_EndColor = null, + this.a_SizeRotation = null, + this.a_Radius = null, + this.a_Radian = null, + this.a_AgeAddScale = NaN, + this.gl_Position = null, + this.v_Color = null, + this.oSize = NaN, + this._color = new Float32Array(4), + this._position = new Float32Array(3) + } + a(t, "laya.particle.particleUtils.CanvasShader"); + var e = t.prototype; + return e.getLen = function(t) { + return Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]) + } + , + e.ComputeParticlePosition = function(t, e, i, n) { + this._position[0] = t[0], + this._position[1] = t[1], + this._position[2] = t[2]; + var a = this.getLen(e) + , r = a * n + (a * this.u_EndVelocity - a) * n * n / 2 + , s = NaN; + s = this.getLen(e); + var o = 0; + for (3, + o = 0; o < 3; o++) + this._position[o] = this._position[o] + e[o] / s * r * this.u_Duration, + this._position[o] += this.u_Gravity[o] * i * n; + var l = c.lerp(this.a_Radius[0], this.a_Radius[1], n) + , h = c.lerp(this.a_Radian[0], this.a_Radian[2], n) + , _ = c.lerp(this.a_Radian[1], this.a_Radian[3], n) + , u = Math.cos(_) * l; + return this._position[1] += Math.sin(_) * l, + this._position[0] += Math.cos(h) * u, + this._position[2] += Math.sin(h) * u, + new Float32Array([this._position[0], this._position[1], 0, 1]) + } + , + e.ComputeParticleSize = function(t, e, i) { + return c.lerp(t, e, i) + } + , + e.ComputeParticleRotation = function(t, e) { + return t * e + } + , + e.ComputeParticleColor = function(t, e, i) { + var n = this._color; + return c.lerpVector4(t, e, i, n), + n[3] = n[3] * i * (1 - i) * (1 - i) * 6.7, + n + } + , + e.clamp = function(t, e, i) { + return t < e ? e : t > i ? i : t + } + , + e.getData = function(t) { + t *= 1 + this.a_AgeAddScale; + var e = this.clamp(t / this.u_Duration, 0, 1); + this.gl_Position = this.ComputeParticlePosition(this.a_Position, this.a_Velocity, t, e); + var i = this.ComputeParticleSize(this.a_SizeRotation[0], this.a_SizeRotation[1], e) + , n = this.ComputeParticleRotation(this.a_SizeRotation[2], t); + this.v_Color = this.ComputeParticleColor(this.a_StartColor, this.a_EndColor, e); + var a = new _ + , r = NaN; + r = i / this.oSize * 2, + a.scale(r, r), + a.rotate(n), + a.setTranslate(this.gl_Position[0], -this.gl_Position[1]); + var s = NaN; + return s = this.v_Color[3], + [this.v_Color, s, a, this.v_Color[0] * s, this.v_Color[1] * s, this.v_Color[2] * s] + } + , + t + }() + , M = function() { + function t() { + this.maxIndex = 0, + this.cmds = null, + this.id = 0 + } + a(t, "laya.particle.particleUtils.CMDParticle"); + return t.prototype.setCmds = function(t) { + this.cmds = t, + this.maxIndex = t.length - 1 + } + , + t + }() + , L = function() { + function t() {} + return a(t, "laya.particle.particleUtils.PicTool"), + t.getCanvasPic = function(t, e) { + t = t.bitmap; + var i = new o("2D") + , n = i.getContext("2d"); + i.size(t.width, t.height); + var a = e >> 16 & 255 + , r = e >> 8 & 255 + , s = 255 & e; + if (u.isConchApp && n.setFilter(a / 255, r / 255, s / 255, 0), + n.drawImage(t.source, 0, 0), + !u.isConchApp) { + for (var l = n.getImageData(0, 0, i.width, i.height), h = l.data, c = 0, _ = h.length; c < _; c += 4) + 0 != h[c + 3] && (h[c] *= a / 255, + h[c + 1] *= r / 255, + h[c + 2] *= s / 255); + n.putImageData(l, 0, 0) + } + return i + } + , + t.getRGBPic = function(e) { + return [new m(t.getCanvasPic(e, 16711680)), new m(t.getCanvasPic(e, 65280)), new m(t.getCanvasPic(e, 255))] + } + , + t + }() + , T = function(t) { + function e(t) { + this.setting = null, + this._posRange = null, + this._canvasTemplate = null, + this._emitFun = null, + e.__super.call(this), + this.template = t + } + a(e, "laya.particle.emitter.Emitter2D", t); + var i = e.prototype; + return i.emit = function() { + t.prototype.emit.call(this), + null != this._emitFun && this._emitFun() + } + , + i.getRandom = function(t) { + return (2 * Math.random() - 1) * t + } + , + i.webGLEmit = function() { + var t = new Float32Array(3); + t[0] = this.getRandom(this._posRange[0]), + t[1] = this.getRandom(this._posRange[1]), + t[2] = this.getRandom(this._posRange[2]); + var e = new Float32Array(3); + e[0] = 0, + e[1] = 0, + e[2] = 0, + this._particleTemplate.addParticleArray(t, e) + } + , + i.canvasEmit = function() { + var t = new Float32Array(3); + t[0] = this.getRandom(this._posRange[0]), + t[1] = this.getRandom(this._posRange[1]), + t[2] = this.getRandom(this._posRange[2]); + var e = new Float32Array(3); + e[0] = 0, + e[1] = 0, + e[2] = 0, + this._particleTemplate.addParticleArray(t, e) + } + , + r(0, i, "template", function() { + return this._particleTemplate + }, function(t) { + this._particleTemplate = t, + t || (this._emitFun = null, + this.setting = null, + this._posRange = null), + this.setting = t.settings, + this._posRange = this.setting.positionVariance, + this._particleTemplate instanceof laya.particle.ParticleTemplate2D ? this._emitFun = this.webGLEmit : this._particleTemplate instanceof laya.particle.ParticleTemplateCanvas && (this._canvasTemplate = t, + this._emitFun = this.canvasEmit) + }), + e + }(w) + , E = function(t) { + function e(t) { + this._vertices = null, + this._vertexBuffer = null, + this._indexBuffer = null, + this._floatCountPerVertex = 29, + this._firstActiveElement = 0, + this._firstNewElement = 0, + this._firstFreeElement = 0, + this._firstRetiredElement = 0, + this._currentTime = 0, + this._drawCounter = 0, + e.__super.call(this), + this.settings = t + } + a(e, "laya.particle.ParticleTemplateWebGL", C); + var i = e.prototype; + return i.initialize = function() { + this._vertices = new Float32Array(this.settings.maxPartices * this._floatCountPerVertex * 4); + for (var t = 0, e = 0; e < this.settings.maxPartices; e++) { + var i = Math.random() + , n = this.settings.textureCount ? 1 / this.settings.textureCount : 1 + , a = NaN; + for (a = 0; a < this.settings.textureCount && !(i < a + n); a += n) + ; + t = e * this._floatCountPerVertex * 4, + this._vertices[t + 0 * this._floatCountPerVertex + 0] = -1, + this._vertices[t + 0 * this._floatCountPerVertex + 1] = -1, + this._vertices[t + 0 * this._floatCountPerVertex + 2] = 0, + this._vertices[t + 0 * this._floatCountPerVertex + 3] = a, + this._vertices[t + 1 * this._floatCountPerVertex + 0] = 1, + this._vertices[t + 1 * this._floatCountPerVertex + 1] = -1, + this._vertices[t + 1 * this._floatCountPerVertex + 2] = 1, + this._vertices[t + 1 * this._floatCountPerVertex + 3] = a, + this._vertices[t + 2 * this._floatCountPerVertex + 0] = 1, + this._vertices[t + 2 * this._floatCountPerVertex + 1] = 1, + this._vertices[t + 2 * this._floatCountPerVertex + 2] = 1, + this._vertices[t + 2 * this._floatCountPerVertex + 3] = a + n, + this._vertices[t + 3 * this._floatCountPerVertex + 0] = -1, + this._vertices[t + 3 * this._floatCountPerVertex + 1] = 1, + this._vertices[t + 3 * this._floatCountPerVertex + 2] = 0, + this._vertices[t + 3 * this._floatCountPerVertex + 3] = a + n + } + } + , + i.loadContent = function() {} + , + i.update = function(t) { + this._currentTime += t / 1e3, + this.retireActiveParticles(), + this.freeRetiredParticles(), + this._firstActiveElement == this._firstFreeElement && (this._currentTime = 0), + this._firstRetiredElement == this._firstActiveElement && (this._drawCounter = 0) + } + , + i.retireActiveParticles = function() { + for (var t = this.settings.duration; this._firstActiveElement != this._firstNewElement; ) { + var e = this._firstActiveElement * this._floatCountPerVertex * 4 + , i = e + 28 + , n = this._currentTime - this._vertices[i]; + if ((n *= 1 + this._vertices[e + 27]) + 1e-4 < t) + break; + this._vertices[i] = this._drawCounter, + this._firstActiveElement++, + this._firstActiveElement >= this.settings.maxPartices && (this._firstActiveElement = 0) + } + } + , + i.freeRetiredParticles = function() { + for (; this._firstRetiredElement != this._firstActiveElement; ) { + if (this._drawCounter - this._vertices[this._firstRetiredElement * this._floatCountPerVertex * 4 + 28] < 3) + break; + this._firstRetiredElement++, + this._firstRetiredElement >= this.settings.maxPartices && (this._firstRetiredElement = 0) + } + } + , + i.addNewParticlesToVertexBuffer = function() {} + , + i.addParticleArray = function(t, e) { + var i = this._firstFreeElement + 1; + if (i >= this.settings.maxPartices && (i = 0), + i !== this._firstRetiredElement) { + for (var n = x.Create(this.settings, t, e, this._currentTime), a = this._firstFreeElement * this._floatCountPerVertex * 4, r = 0; r < 4; r++) { + var s = 0 + , o = 0; + for (s = 0, + o = 4; s < 3; s++) + this._vertices[a + r * this._floatCountPerVertex + o + s] = n.position[s]; + for (s = 0, + o = 7; s < 3; s++) + this._vertices[a + r * this._floatCountPerVertex + o + s] = n.velocity[s]; + for (s = 0, + o = 10; s < 4; s++) + this._vertices[a + r * this._floatCountPerVertex + o + s] = n.startColor[s]; + for (s = 0, + o = 14; s < 4; s++) + this._vertices[a + r * this._floatCountPerVertex + o + s] = n.endColor[s]; + for (s = 0, + o = 18; s < 3; s++) + this._vertices[a + r * this._floatCountPerVertex + o + s] = n.sizeRotation[s]; + for (s = 0, + o = 21; s < 2; s++) + this._vertices[a + r * this._floatCountPerVertex + o + s] = n.radius[s]; + for (s = 0, + o = 23; s < 4; s++) + this._vertices[a + r * this._floatCountPerVertex + o + s] = n.radian[s]; + this._vertices[a + r * this._floatCountPerVertex + 27] = n.durationAddScale, + this._vertices[a + r * this._floatCountPerVertex + 28] = n.time + } + this._firstFreeElement = i + } + } + , + e + }() + , D = function(t) { + function e(t) { + this._ready = !1, + this.textureList = [], + this.particleList = [], + this.pX = 0, + this.pY = 0, + this.activeParticles = [], + this.deadParticles = [], + this.iList = [], + this._maxNumParticles = 0, + this.textureWidth = NaN, + this.dTextureWidth = NaN, + this.colorChange = !0, + this.step = 1 / 60, + this.canvasShader = new S, + e.__super.call(this), + this.settings = t, + this._maxNumParticles = t.maxPartices, + this.texture = new m, + this.texture.on("loaded", this, this._textureLoaded), + this.texture.load(t.textureName) + } + a(e, "laya.particle.ParticleTemplateCanvas", C); + var i = e.prototype; + return i._textureLoaded = function(t) { + this.setTexture(this.texture), + this._ready = !0 + } + , + i.clear = function(t) { + void 0 === t && (t = !0), + this.deadParticles.length = 0, + this.activeParticles.length = 0, + this.textureList.length = 0 + } + , + i.setTexture = function(t) { + this.texture = t, + this.textureWidth = t.width, + this.dTextureWidth = 1 / this.textureWidth, + this.pX = .5 * -t.width, + this.pY = .5 * -t.height, + this.textureList = e.changeTexture(t, this.textureList), + this.particleList.length = 0, + this.deadParticles.length = 0, + this.activeParticles.length = 0 + } + , + i._createAParticleData = function(t, e) { + this.canvasShader.u_EndVelocity = this.settings.endVelocity, + this.canvasShader.u_Gravity = this.settings.gravity, + this.canvasShader.u_Duration = this.settings.duration; + var i; + i = x.Create(this.settings, t, e, 0), + this.canvasShader.a_Position = i.position, + this.canvasShader.a_Velocity = i.velocity, + this.canvasShader.a_StartColor = i.startColor, + this.canvasShader.a_EndColor = i.endColor, + this.canvasShader.a_SizeRotation = i.sizeRotation, + this.canvasShader.a_Radius = i.radius, + this.canvasShader.a_Radian = i.radian, + this.canvasShader.a_AgeAddScale = i.durationAddScale, + this.canvasShader.oSize = this.textureWidth; + var n = new M + , a = 0 + , r = this.settings.duration / (1 + i.durationAddScale) + , s = []; + for (a = 0; a < r; a += this.step) + s.push(this.canvasShader.getData(a)); + return n.id = this.particleList.length, + this.particleList.push(n), + n.setCmds(s), + n + } + , + i.addParticleArray = function(t, e) { + if (this._ready) { + var i; + this.particleList.length < this._maxNumParticles ? (i = this._createAParticleData(t, e), + this.iList[i.id] = 0, + this.activeParticles.push(i)) : this.deadParticles.length > 0 && (i = this.deadParticles.pop(), + this.iList[i.id] = 0, + this.activeParticles.push(i)) + } + } + , + i.advanceTime = function(t) { + if (void 0 === t && (t = 1), + this._ready) { + var e, i = this.activeParticles, n = this.deadParticles, a = 0, r = i.length, s = 0, o = this.iList; + for (a = r - 1; a > -1; a--) + (s = o[(e = i[a]).id]) >= e.maxIndex ? (s = 0, + i.splice(a, 1), + n.push(e)) : s += 1, + o[e.id] = s + } + } + , + i.render = function(t, e, i) { + this._ready && (this.activeParticles.length < 1 || this.textureList.length < 2 || (this.settings.disableColor ? this.noColorRender(t, e, i) : this.canvasRender(t, e, i))) + } + , + i.noColorRender = function(t, e, i) { + var n, a, r = this.activeParticles, s = 0, o = r.length, l = NaN, h = this.pX, c = this.pY, _ = 2 * -h, u = 2 * -c, d = 0, f = (this.textureList, + this.iList), p = NaN; + for (t.translate(e, i), + p = t.ctx.globalAlpha, + s = 0; s < o; s++) + d = f[(n = r[s]).id], + (a = n.cmds[d]) && ((l = a[1]) <= .01 || (t.setAlpha(p * l), + t.drawTextureWithTransform(this.texture, h, c, _, u, a[2], 1))); + t.setAlpha(p), + t.translate(-e, -i) + } + , + i.canvasRender = function(t, e, i) { + var n, a, r, s = this.activeParticles, o = 0, l = s.length, h = this.pX, c = this.pY, _ = 2 * -h, u = 2 * -c, d = 0, f = this.textureList, p = this.iList, m = NaN; + for (t.translate(e, i), + m = t.ctx.globalAlpha, + r = t.ctx.globalCompositeOperation, + t.blendMode("lighter"), + o = 0; o < l; o++) + d = p[(n = s[o]).id], + (a = n.cmds[d]) && (a[1] <= .01 || (t.save(), + t.transformByMatrix(a[2]), + a[3] > .01 && (t.setAlpha(m * a[3]), + t.drawTexture(f[0], h, c, _, u)), + a[4] > .01 && (t.setAlpha(m * a[4]), + t.drawTexture(f[1], h, c, _, u)), + a[5] > .01 && (t.setAlpha(m * a[5]), + t.drawTexture(f[2], h, c, _, u)), + t.restore())); + t.setAlpha(m), + t.translate(-e, -i), + t.blendMode(r) + } + , + e.changeTexture = function(t, e, i) { + return e || (e = []), + e.length = 0, + i && i.disableColor ? e.push(t, t, t) : g.copyArray(e, L.getRGBPic(t)), + e + } + , + e + }() + , N = function(t) { + function e(t) { + this._vertexBuffer2D = null, + this._indexBuffer2D = null, + this.x = 0, + this.y = 0, + this._blendFn = null, + this._startTime = 0, + this.sv = new A, + e.__super.call(this, t); + var n = this; + i.loader.load(this.settings.textureName, l.create(null, function(t) { + t.bitmap.enableMerageInAtlas = !1, + n.texture = t + })), + this.sv.u_Duration = this.settings.duration, + this.sv.u_Gravity = this.settings.gravity, + this.sv.u_EndVelocity = this.settings.endVelocity, + this._blendFn = s.fns[t.blendState], + this.initialize(), + this._vertexBuffer = this._vertexBuffer2D = v.create(-1, 35048), + this._indexBuffer = this._indexBuffer2D = h.create(35044), + this.loadContent() + } + a(e, "laya.particle.ParticleTemplate2D", t); + var n = e.prototype; + return i.imps(n, { + "laya.webgl.submit.ISubmit": !0 + }), + n.getRenderType = function() { + return -111 + } + , + n.releaseRender = function() {} + , + n.addParticleArray = function(e, i) { + e[0] += this.x, + e[1] += this.y, + t.prototype.addParticleArray.call(this, e, i) + } + , + n.loadContent = function() { + for (var t = new Uint16Array(6 * this.settings.maxPartices), e = 0; e < this.settings.maxPartices; e++) + t[6 * e + 0] = 4 * e + 0, + t[6 * e + 1] = 4 * e + 1, + t[6 * e + 2] = 4 * e + 2, + t[6 * e + 3] = 4 * e + 0, + t[6 * e + 4] = 4 * e + 2, + t[6 * e + 5] = 4 * e + 3; + this._indexBuffer2D.clear(), + this._indexBuffer2D.append(t), + this._indexBuffer2D.upload() + } + , + n.addNewParticlesToVertexBuffer = function() { + this._vertexBuffer2D.clear(), + this._vertexBuffer2D.append(this._vertices); + var t = 0; + this._firstNewElement < this._firstFreeElement ? (t = 4 * this._firstNewElement * this._floatCountPerVertex * 4, + this._vertexBuffer2D.subUpload(t, t, t + 4 * (this._firstFreeElement - this._firstNewElement) * this._floatCountPerVertex * 4)) : (t = 4 * this._firstNewElement * this._floatCountPerVertex * 4, + this._vertexBuffer2D.subUpload(t, t, t + 4 * (this.settings.maxPartices - this._firstNewElement) * this._floatCountPerVertex * 4), + this._firstFreeElement > 0 && (this._vertexBuffer2D.setNeedUpload(), + this._vertexBuffer2D.subUpload(0, 0, 4 * this._firstFreeElement * this._floatCountPerVertex * 4))), + this._firstNewElement = this._firstFreeElement + } + , + n.renderSubmit = function() { + if (this.texture && this.texture.loaded) { + if (this.update(i.timer.delta), + this.sv.u_CurrentTime = this._currentTime, + this._firstNewElement != this._firstFreeElement && this.addNewParticlesToVertexBuffer(), + this.blend(), + this._firstActiveElement != this._firstFreeElement) { + b.mainContext; + this._vertexBuffer2D.bind(this._indexBuffer2D), + this.sv.u_texture = this.texture.source, + this.sv.upload(), + this._firstActiveElement < this._firstFreeElement ? b.mainContext.drawElements(4, 6 * (this._firstFreeElement - this._firstActiveElement), 5123, 6 * this._firstActiveElement * 2) : (b.mainContext.drawElements(4, 6 * (this.settings.maxPartices - this._firstActiveElement), 5123, 6 * this._firstActiveElement * 2), + this._firstFreeElement > 0 && b.mainContext.drawElements(4, 6 * this._firstFreeElement, 5123, 0)), + p.drawCall++ + } + this._drawCounter++ + } + return 1 + } + , + n.blend = function() { + if (s.activeBlendFunction !== this._blendFn) { + var t = b.mainContext; + t.enable(3042), + this._blendFn(t), + s.activeBlendFunction = this._blendFn + } + } + , + n.dispose = function() { + this._vertexBuffer2D.dispose(), + this._indexBuffer2D.dispose() + } + , + e.activeBlendType = -1, + e + }(E) + , A = function(t) { + function e() { + this.a_CornerTextureCoordinate = [4, 5126, !1, 116, 0], + this.a_Position = [3, 5126, !1, 116, 16], + this.a_Velocity = [3, 5126, !1, 116, 28], + this.a_StartColor = [4, 5126, !1, 116, 40], + this.a_EndColor = [4, 5126, !1, 116, 56], + this.a_SizeRotation = [3, 5126, !1, 116, 72], + this.a_Radius = [2, 5126, !1, 116, 84], + this.a_Radian = [4, 5126, !1, 116, 92], + this.a_AgeAddScale = [1, 5126, !1, 116, 108], + this.a_Time = [1, 5126, !1, 116, 112], + this.u_CurrentTime = NaN, + this.u_Duration = NaN, + this.u_Gravity = null, + this.u_EndVelocity = NaN, + this.u_texture = null, + e.__super.call(this, 0, 0) + } + a(e, "laya.particle.shader.value.ParticleShaderValue", y); + return e.prototype.upload = function() { + this.refresh(), + e.pShader.upload(this) + } + , + n(e, ["pShader", function() { + return this.pShader = new B + } + ]), + e + }() + , B = (function(e) { + function n(t) { + this._matrix4 = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], + this._particleTemplate = null, + this._canvasTemplate = null, + this._emitter = null, + this.autoPlay = !0, + n.__super.call(this), + t && this.setParticleSetting(t) + } + a(n, "laya.particle.Particle2D", e); + var s = n.prototype; + s.load = function(t) { + i.loader.load(t, l.create(this, this.setParticleSetting), null, "json") + } + , + s.setParticleSetting = function(e) { + var n = this; + if (!e) + return this.stop(); + if (I.checkSetting(e), + t.ConchParticleTemplate2D && !u.isWebGL || (this.customRenderEnable = !0), + u.isWebGL) + this._particleTemplate = new N(e), + this.graphics._saveToCmd(u.context._drawParticle, [this._particleTemplate]); + else { + if (u.isConchApp && t.ConchParticleTemplate2D) { + this._particleTemplate = new ConchParticleTemplate2D; + var a = this; + return i.loader.load(e.textureName, l.create(null, function(t) { + a._particleTemplate.texture = t, + a._particleTemplate.settings = e, + u.isConchNode ? a.graphics.drawParticle(a._particleTemplate) : a.graphics._saveToCmd(u.context._drawParticle, [n._particleTemplate]) + })), + this._emitter = { + start: function() {} + }, + this.play = this._particleTemplate.play.bind(this._particleTemplate), + this.stop = this._particleTemplate.stop.bind(this._particleTemplate), + void (this.autoPlay && this.play()) + } + this._particleTemplate = this._canvasTemplate = new D(e) + } + this._emitter ? this._emitter.template = this._particleTemplate : this._emitter = new T(this._particleTemplate), + this.autoPlay && (this.emitter.start(), + this.play()) + } + , + s.play = function() { + this.timer.frameLoop(1, this, this._loop) + } + , + s.stop = function() { + this.timer.clear(this, this._loop) + } + , + s._loop = function() { + this.advanceTime(1 / 60) + } + , + s.advanceTime = function(t) { + void 0 === t && (t = 1), + this._canvasTemplate && this._canvasTemplate.advanceTime(t), + this._emitter && this._emitter.advanceTime(t) + } + , + s.customRender = function(t, e, i) { + if (u.isWebGL) { + this._matrix4[0] = t.ctx._curMat.a, + this._matrix4[1] = t.ctx._curMat.b, + this._matrix4[4] = t.ctx._curMat.c, + this._matrix4[5] = t.ctx._curMat.d, + this._matrix4[12] = t.ctx._curMat.tx, + this._matrix4[13] = t.ctx._curMat.ty; + this._particleTemplate.sv.u_mmat = this._matrix4 + } + this._canvasTemplate && this._canvasTemplate.render(t, e, i) + } + , + s.destroy = function(t) { + void 0 === t && (t = !0), + this._particleTemplate instanceof laya.particle.ParticleTemplate2D && this._particleTemplate.dispose(), + e.prototype.destroy.call(this, t) + } + , + r(0, s, "url", null, function(t) { + this.load(t) + }), + r(0, s, "emitter", function() { + return this._emitter + }) + }(f), + function(t) { + function e() { + e.__super.call(this, e.vs, e.ps, "ParticleShader") + } + return a(e, "laya.particle.shader.ParticleShader", d), + n(e, ["vs", function() { + return this.vs = "attribute vec4 a_CornerTextureCoordinate;\nattribute vec3 a_Position;\nattribute vec3 a_Velocity;\nattribute vec4 a_StartColor;\nattribute vec4 a_EndColor;\nattribute vec3 a_SizeRotation;\nattribute vec2 a_Radius;\nattribute vec4 a_Radian;\nattribute float a_AgeAddScale;\nattribute float a_Time;\n\nvarying vec4 v_Color;\nvarying vec2 v_TextureCoordinate;\n\nuniform float u_CurrentTime;\nuniform float u_Duration;\nuniform float u_EndVelocity;\nuniform vec3 u_Gravity;\n\n#ifdef PARTICLE3D\n uniform mat4 u_WorldMat;\n uniform mat4 u_View;\n uniform mat4 u_Projection;\n uniform vec2 u_ViewportScale;\n#else\n uniform vec2 size;\n uniform mat4 mmat;\n uniform mat4 u_mmat;\n#endif\n\nvec4 ComputeParticlePosition(in vec3 position, in vec3 velocity,in float age,in float normalizedAge)\n{\n\n float startVelocity = length(velocity);//起始标量速度\n float endVelocity = startVelocity * u_EndVelocity;//结束标量速度\n\n float velocityIntegral = startVelocity * normalizedAge +(endVelocity - startVelocity) * normalizedAge *normalizedAge/2.0;//计算当前速度的标量(单位空间),vt=v0*t+(1/2)*a*(t^2)\n \n vec3 addPosition = normalize(velocity) * velocityIntegral * u_Duration;//计算受自身速度影响的位置,转换标量到矢量 \n addPosition += u_Gravity * age * normalizedAge;//计算受重力影响的位置\n \n float radius=mix(a_Radius.x, a_Radius.y, normalizedAge); //计算粒子受半径和角度影响(无需计算角度和半径时,可用宏定义优化屏蔽此计算)\n float radianHorizontal =mix(a_Radian.x,a_Radian.z,normalizedAge);\n float radianVertical =mix(a_Radian.y,a_Radian.w,normalizedAge);\n \n float r =cos(radianVertical)* radius;\n addPosition.y += sin(radianVertical) * radius;\n\t\n addPosition.x += cos(radianHorizontal) *r;\n addPosition.z += sin(radianHorizontal) *r;\n \n #ifdef PARTICLE3D\n position+=addPosition;\n return u_Projection*u_View*u_WorldMat*(vec4(position, 1.0));\n #else\n addPosition.y=-addPosition.y;//2D粒子位置更新需要取负,2D粒子坐标系Y轴正向朝上\n position+=addPosition;\n return vec4(position,1.0);\n #endif\n}\n\nfloat ComputeParticleSize(in float startSize,in float endSize, in float normalizedAge)\n{ \n float size = mix(startSize, endSize, normalizedAge);\n \n\t#ifdef PARTICLE3D\n //Project the size into screen coordinates.\n return size * u_Projection[1][1];\n\t#else\n\t return size;\n\t#endif\n}\n\nmat2 ComputeParticleRotation(in float rot,in float age)\n{ \n float rotation =rot * age;\n //计算2x2旋转矩阵.\n float c = cos(rotation);\n float s = sin(rotation);\n return mat2(c, -s, s, c);\n}\n\nvec4 ComputeParticleColor(in vec4 startColor,in vec4 endColor,in float normalizedAge)\n{\n\tvec4 color=mix(startColor,endColor,normalizedAge);\n //硬编码设置,使粒子淡入很快,淡出很慢,6.7的缩放因子把置归一在0到1之间,可以谷歌x*(1-x)*(1-x)*6.7的制图表\n color.a *= normalizedAge * (1.0-normalizedAge) * (1.0-normalizedAge) * 6.7;\n \n return color;\n}\n\nvoid main()\n{\n float age = u_CurrentTime - a_Time;\n age *= 1.0 + a_AgeAddScale;\n float normalizedAge = clamp(age / u_Duration,0.0,1.0);\n gl_Position = ComputeParticlePosition(a_Position, a_Velocity, age, normalizedAge);//计算粒子位置\n float pSize = ComputeParticleSize(a_SizeRotation.x,a_SizeRotation.y, normalizedAge);\n mat2 rotation = ComputeParticleRotation(a_SizeRotation.z, age);\n\t\n #ifdef PARTICLE3D\n\tgl_Position.xy += (rotation*a_CornerTextureCoordinate.xy) * pSize * u_ViewportScale;\n #else\n mat4 mat=u_mmat*mmat;\n gl_Position=vec4((mat*gl_Position).xy,0.0,1.0);\n\tgl_Position.xy += (rotation*a_CornerTextureCoordinate.xy) * pSize*vec2(mat[0][0],mat[1][1]);\n gl_Position=vec4((gl_Position.x/size.x-0.5)*2.0,(0.5-gl_Position.y/size.y)*2.0,0.0,1.0);\n #endif\n \n v_Color = ComputeParticleColor(a_StartColor,a_EndColor, normalizedAge);\n v_TextureCoordinate =a_CornerTextureCoordinate.zw;\n}\n\n" + } + , "ps", function() { + return this.ps = "#ifdef FSHIGHPRECISION\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n\nvarying vec4 v_Color;\nvarying vec2 v_TextureCoordinate;\nuniform sampler2D u_texture;\n\nvoid main()\n{\t\n\tgl_FragColor=texture2D(u_texture,v_TextureCoordinate)*v_Color;\n\tgl_FragColor.xyz *= v_Color.w;\n}" + } + ]), + e + }()) +}(window, document, Laya), +"function" == typeof define && define.amd && define("laya.core", ["require", "exports"], function(t, e) { + "use strict"; + Object.defineProperty(e, "__esModule", { + value: !0 + }); + for (var i in Laya) { + var n = Laya[i]; + n && n.__isclass && (e[i] = n) + } +}), +function(global, undefined) { + "use strict"; + !function(t, e, i) { + function n(i) { + var a = e[i]; + return a || t[i][0].call(a = e[i] = { + exports: {} + }, n, a, a.exports), + a.exports + } + var a = global.protobuf = n(i[0]); + "function" == typeof define && define.amd && define(["long"], function(t) { + return a.util.Long = t, + a.configure(), + a + }), + "object" == typeof module && module && module.exports && (module.exports = a) + }({ + 1: [function(t, e, i) { + e.exports = function(t, e) { + for (var i = [], n = 2; n < arguments.length; ) + i.push(arguments[n++]); + var a = !0; + return new Promise(function(n, r) { + i.push(function(t) { + if (a) + if (a = !1, + t) + r(t); + else { + for (var e = [], i = 1; i < arguments.length; ) + e.push(arguments[i++]); + n.apply(null, e) + } + }); + try { + t.apply(e || this, i) + } catch (t) { + a && (a = !1, + r(t)) + } + } + ) + } + } + , {}], + 2: [function(t, e, i) { + var n = i; + n.length = function(t) { + var e = t.length; + if (!e) + return 0; + for (var i = 0; --e % 4 > 1 && "=" === t.charAt(e); ) + ++i; + return Math.ceil(3 * t.length) / 4 - i + } + ; + for (var a = new Array(64), r = new Array(123), s = 0; s < 64; ) + r[a[s] = s < 26 ? s + 65 : s < 52 ? s + 71 : s < 62 ? s - 4 : s - 59 | 43] = s++; + n.encode = function(t, e, i) { + for (var n, r = [], s = 0, o = 0; e < i; ) { + var l = t[e++]; + switch (o) { + case 0: + r[s++] = a[l >> 2], + n = (3 & l) << 4, + o = 1; + break; + case 1: + r[s++] = a[n | l >> 4], + n = (15 & l) << 2, + o = 2; + break; + case 2: + r[s++] = a[n | l >> 6], + r[s++] = a[63 & l], + o = 0 + } + } + return o && (r[s++] = a[n], + r[s] = 61, + 1 === o && (r[s + 1] = 61)), + String.fromCharCode.apply(String, r) + } + ; + n.decode = function(t, e, i) { + for (var n, a = i, s = 0, o = 0; o < t.length; ) { + var l = t.charCodeAt(o++); + if (61 === l && s > 1) + break; + if ((l = r[l]) === undefined) + throw Error("invalid encoding"); + switch (s) { + case 0: + n = l, + s = 1; + break; + case 1: + e[i++] = n << 2 | (48 & l) >> 4, + n = l, + s = 2; + break; + case 2: + e[i++] = (15 & n) << 4 | (60 & l) >> 2, + n = l, + s = 3; + break; + case 3: + e[i++] = (3 & n) << 6 | l, + s = 0 + } + } + if (1 === s) + throw Error("invalid encoding"); + return i - a + } + , + n.test = function(t) { + return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t) + } + } + , {}], + 3: [function(t, e, i) { + function n() { + function t() { + for (var e = [], n = 0; n < arguments.length; ) + e.push(arguments[n++]); + var u = a.apply(null, e) + , d = c; + if (i.length) { + var f = i[i.length - 1]; + r.test(f) ? d = ++c : l.test(f) && ++d, + o.test(f) && !o.test(u) ? (d = ++c, + _ = !0) : _ && h.test(f) && (d = --c, + _ = !1), + s.test(u) && (d = --c) + } + for (n = 0; n < d; ++n) + u = "\t" + u; + return i.push(u), + t + } + for (var e = [], i = [], c = 1, _ = !1, u = 0; u < arguments.length; ) + e.push(arguments[u++]); + return t.str = function(t) { + return "function" + (t ? " " + t.replace(/[^\w_$]/g, "_") : "") + "(" + e.join(",") + ") {\n" + i.join("\n") + "\n}" + } + , + t.eof = function(e, i) { + "object" == typeof e && (i = e, + e = undefined); + var a = t.str(e); + n.verbose && console.log("--- codegen ---\n" + a.replace(/^/gm, "> ").replace(/\t/g, " ")); + var r = Object.keys(i || (i = {})); + return Function.apply(null, r.concat("return " + a)).apply(null, r.map(function(t) { + return i[t] + })) + } + , + t + } + function a(t) { + for (var e = [], i = 1; i < arguments.length; ) + e.push(arguments[i++]); + if (i = 0, + t = t.replace(/%([dfjs])/g, function(t, n) { + switch (n) { + case "d": + return Math.floor(e[i++]); + case "f": + return Number(e[i++]); + case "j": + return JSON.stringify(e[i++]); + default: + return e[i++] + } + }), + i !== e.length) + throw Error("argument count mismatch"); + return t + } + e.exports = n; + var r = /[{[]$/ + , s = /^[}\]]/ + , o = /:$/ + , l = /^\s*(?:if|}?else if|while|for)\b|\b(?:else)\s*$/ + , h = /\b(?:break|continue)(?: \w+)?;?$|^\s*return\b/; + n.sprintf = a, + n.supported = !1; + try { + n.supported = 1 === n("a", "b")("return a-b").eof()(2, 1) + } catch (t) {} + n.verbose = !1 + } + , {}], + 4: [function(t, e, i) { + function n() { + this._listeners = {} + } + e.exports = n, + n.prototype.on = function(t, e, i) { + return (this._listeners[t] || (this._listeners[t] = [])).push({ + fn: e, + ctx: i || this + }), + this + } + , + n.prototype.off = function(t, e) { + if (t === undefined) + this._listeners = {}; + else if (e === undefined) + this._listeners[t] = []; + else + for (var i = this._listeners[t], n = 0; n < i.length; ) + i[n].fn === e ? i.splice(n, 1) : ++n; + return this + } + , + n.prototype.emit = function(t) { + var e = this._listeners[t]; + if (e) { + for (var i = [], n = 1; n < arguments.length; ) + i.push(arguments[n++]); + for (n = 0; n < e.length; ) + e[n].fn.apply(e[n++].ctx, i) + } + return this + } + } + , {}], + 5: [function(t, e, i) { + function n(t, e, i) { + return "function" == typeof e ? (i = e, + e = {}) : e || (e = {}), + i ? !e.xhr && r && r.readFile ? r.readFile(t, function(a, r) { + return a && "undefined" != typeof XMLHttpRequest ? n.xhr(t, e, i) : a ? i(a) : i(null, e.binary ? r : r.toString("utf8")) + }) : n.xhr(t, e, i) : a(n, this, t, e) + } + e.exports = n; + var a = t(1) + , r = t(6)("fs"); + n.xhr = function(t, e, i) { + var n = new XMLHttpRequest; + n.onreadystatechange = function() { + if (4 !== n.readyState) + return undefined; + if (0 !== n.status && 200 !== n.status) + return i(Error("status " + n.status)); + if (e.binary) { + var t = n.response; + if (!t) { + t = []; + for (var a = 0; a < n.responseText.length; ++a) + t.push(255 & n.responseText.charCodeAt(a)) + } + return i(null, "undefined" != typeof Uint8Array ? new Uint8Array(t) : t) + } + return i(null, n.responseText) + } + , + e.binary && ("overrideMimeType"in n && n.overrideMimeType("text/plain; charset=x-user-defined"), + n.responseType = "arraybuffer"), + n.open("GET", t), + n.send() + } + } + , { + 1: 1, + 6: 6 + }], + 6: [function(require, module, exports) { + function inquire(moduleName) { + try { + var mod = eval("quire".replace(/^/, "re"))(moduleName); + if (mod && (mod.length || Object.keys(mod).length)) + return mod + } catch (t) {} + return null + } + module.exports = inquire + } + , {}], + 7: [function(t, e, i) { + var n = i + , a = n.isAbsolute = function(t) { + return /^(?:\/|\w+:)/.test(t) + } + , r = n.normalize = function(t) { + var e = (t = t.replace(/\\/g, "/").replace(/\/{2,}/g, "/")).split("/") + , i = a(t) + , n = ""; + i && (n = e.shift() + "/"); + for (var r = 0; r < e.length; ) + ".." === e[r] ? r > 0 && ".." !== e[r - 1] ? e.splice(--r, 2) : i ? e.splice(r, 1) : ++r : "." === e[r] ? e.splice(r, 1) : ++r; + return n + e.join("/") + } + ; + n.resolve = function(t, e, i) { + return i || (e = r(e)), + a(e) ? e : (i || (t = r(t)), + (t = t.replace(/(?:\/|^)[^/]+$/, "")).length ? r(t + "/" + e) : e) + } + } + , {}], + 8: [function(t, e, i) { + e.exports = function(t, e, i) { + var n = i || 8192 + , a = n >>> 1 + , r = null + , s = n; + return function(i) { + if (i < 1 || i > a) + return t(i); + s + i > n && (r = t(n), + s = 0); + var o = e.call(r, s, s += i); + return 7 & s && (s = 1 + (7 | s)), + o + } + } + } + , {}], + 9: [function(t, e, i) { + var n = i; + n.length = function(t) { + for (var e = 0, i = 0, n = 0; n < t.length; ++n) + (i = t.charCodeAt(n)) < 128 ? e += 1 : i < 2048 ? e += 2 : 55296 == (64512 & i) && 56320 == (64512 & t.charCodeAt(n + 1)) ? (++n, + e += 4) : e += 3; + return e + } + , + n.read = function(t, e, i) { + if (i - e < 1) + return ""; + for (var n, a = null, r = [], s = 0; e < i; ) + (n = t[e++]) < 128 ? r[s++] = n : n > 191 && n < 224 ? r[s++] = (31 & n) << 6 | 63 & t[e++] : n > 239 && n < 365 ? (n = ((7 & n) << 18 | (63 & t[e++]) << 12 | (63 & t[e++]) << 6 | 63 & t[e++]) - 65536, + r[s++] = 55296 + (n >> 10), + r[s++] = 56320 + (1023 & n)) : r[s++] = (15 & n) << 12 | (63 & t[e++]) << 6 | 63 & t[e++], + s > 8191 && ((a || (a = [])).push(String.fromCharCode.apply(String, r)), + s = 0); + return a ? (s && a.push(String.fromCharCode.apply(String, r.slice(0, s))), + a.join("")) : String.fromCharCode.apply(String, r.slice(0, s)) + } + , + n.write = function(t, e, i) { + for (var n, a, r = i, s = 0; s < t.length; ++s) + (n = t.charCodeAt(s)) < 128 ? e[i++] = n : n < 2048 ? (e[i++] = n >> 6 | 192, + e[i++] = 63 & n | 128) : 55296 == (64512 & n) && 56320 == (64512 & (a = t.charCodeAt(s + 1))) ? (n = 65536 + ((1023 & n) << 10) + (1023 & a), + ++s, + e[i++] = n >> 18 | 240, + e[i++] = n >> 12 & 63 | 128, + e[i++] = n >> 6 & 63 | 128, + e[i++] = 63 & n | 128) : (e[i++] = n >> 12 | 224, + e[i++] = n >> 6 & 63 | 128, + e[i++] = 63 & n | 128); + return i - r + } + } + , {}], + 10: [function(t, e, i) { + function n(e, i) { + if (a || (a = t(34)), + !(e instanceof a)) + throw TypeError("type must be a Type"); + if (i) { + if ("function" != typeof i) + throw TypeError("ctor must be a function") + } else + i = n.generate(e).eof(e.name); + i.constructor = n, + (i.prototype = new r).constructor = i, + s.merge(i, r, !0), + i.$type = e, + i.prototype.$type = e; + for (var o = 0; o < e.fieldsArray.length; ++o) + i.prototype[e._fieldsArray[o].name] = Array.isArray(e._fieldsArray[o].resolve().defaultValue) ? s.emptyArray : s.isObject(e._fieldsArray[o].defaultValue) && !e._fieldsArray[o].long ? s.emptyObject : e._fieldsArray[o].defaultValue; + var l = {}; + for (o = 0; o < e.oneofsArray.length; ++o) + l[e._oneofsArray[o].resolve().name] = { + get: s.oneOfGetter(e._oneofsArray[o].oneof), + set: s.oneOfSetter(e._oneofsArray[o].oneof) + }; + return o && Object.defineProperties(i.prototype, l), + e.ctor = i, + i.prototype + } + e.exports = n; + var a, r = t(21), s = t(36); + n.generate = function(t) { + return s.codegen("p")("if(p){")("for(var ks=Object.keys(p),i=0;i>>0", n, n); + break; + case "int32": + case "sint32": + case "sfixed32": + t("m%s=d%s|0", n, n); + break; + case "uint64": + l = !0; + case "int64": + case "sint64": + case "fixed64": + case "sfixed64": + t("if(util.Long)")("(m%s=util.Long.fromValue(d%s)).unsigned=%j", n, n, l)('else if(typeof d%s==="string")', n)("m%s=parseInt(d%s,10)", n, n)('else if(typeof d%s==="number")', n)("m%s=d%s", n, n)('else if(typeof d%s==="object")', n)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)", n, n, n, l ? "true" : ""); + break; + case "bytes": + t('if(typeof d%s==="string")', n)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)", n, n, n)("else if(d%s.length)", n)("m%s=d%s", n, n); + break; + case "string": + t("m%s=String(d%s)", n, n); + break; + case "bool": + t("m%s=Boolean(d%s)", n, n) + } + } + return t + } + function a(t, e, i, n) { + if (e.resolvedType) + e.resolvedType instanceof s ? t("d%s=o.enums===String?types[%d].values[m%s]:m%s", n, i, n, n) : t("d%s=types[%d].toObject(m%s,o)", n, i, n); + else { + var a = !1; + switch (e.type) { + case "uint64": + a = !0; + case "int64": + case "sint64": + case "fixed64": + case "sfixed64": + t('if(typeof m%s==="number")', n)("d%s=o.longs===String?String(m%s):m%s", n, n, n)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s", n, n, n, n, a ? "true" : "", n); + break; + case "bytes": + t("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s", n, n, n, n, n); + break; + default: + t("d%s=m%s", n, n) + } + } + return t + } + var r = i + , s = t(15) + , o = t(36); + r.fromObject = function(t) { + var e = t.fieldsArray + , i = o.codegen("d")("if(d instanceof this.ctor)")("return d"); + if (!e.length) + return i("return new this.ctor"); + i("var m=new this.ctor"); + for (var a = 0; a < e.length; ++a) { + var r = e[a].resolve() + , l = o.safeProp(r.name); + r.map ? (i("if(d%s){", l)('if(typeof d%s!=="object")', l)("throw TypeError(%j)", r.fullName + ": object expected")("m%s={}", l)("for(var ks=Object.keys(d%s),i=0;i>>3){"); + for (var i = 0; i < t.fieldsArray.length; ++i) { + var l = t._fieldsArray[i].resolve() + , h = l.resolvedType instanceof r ? "uint32" : l.type + , c = "m" + o.safeProp(l.name); + e("case %d:", l.id), + l.map ? (e("r.skip().pos++")("if(%s===util.emptyObject)", c)("%s={}", c)("var k=r.%s()", l.keyType)("r.pos++"), + s.basic[h] === undefined ? e('%s[typeof k==="object"?util.longToHash(k):k]=types[%d].decode(r,r.uint32())', c, i) : e('%s[typeof k==="object"?util.longToHash(k):k]=r.%s()', c, h)) : l.repeated ? (e("if(!(%s&&%s.length))", c, c)("%s=[]", c), + (a.compat || l.packed) && s.packed[h] !== undefined && e("if((t&7)===2){")("var c2=r.uint32()+r.pos")("while(r.pos>> 0, (e.id << 3 | 4) >>> 0) : t("types[%d].encode(%s,w.uint32(%d).fork()).ldelim()", i, n, (e.id << 3 | 2) >>> 0) + } + function a(t, e) { + return t.id - e.id + } + function r(t) { + var e, i = l.codegen("m", "w")("if(!w)")("w=Writer.create()"), h = t.fieldsArray; + r.compat && (h = h.slice().sort(a)); + for (f = 0; f < h.length; ++f) { + var c = h[f].resolve() + , _ = r.compat ? t._fieldsArray.indexOf(c) : f; + if (!c.partOf) { + var u = c.resolvedType instanceof s ? "uint32" : c.type + , d = o.basic[u]; + e = "m" + l.safeProp(c.name), + c.map ? (i("if(%s&&m.hasOwnProperty(%j)){", e, c.name)("for(var ks=Object.keys(%s),i=0;i>> 0, 8 | o.mapKey[c.keyType], c.keyType), + d === undefined ? i("types[%d].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()", _, e) : i(".uint32(%d).%s(%s[ks[i]]).ldelim()", 16 | d, u, e), + i("}")("}")) : c.repeated ? c.packed && o.packed[u] !== undefined ? i("if(%s&&%s.length&&m.hasOwnProperty(%j)){", e, e, c.name)("w.uint32(%d).fork()", (c.id << 3 | 2) >>> 0)("for(var i=0;i<%s.length;++i)", e)("w.%s(%s[i])", u, e)("w.ldelim()")("}") : (i("if(%s!==undefined&&m.hasOwnProperty(%j)){", e, c.name)("for(var i=0;i<%s.length;++i)", e), + d === undefined ? n(i, c, _, e + "[i]") : i("w.uint32(%d).%s(%s[i])", (c.id << 3 | d) >>> 0, u, e), + i("}")) : (c.required || (c.long ? i("if(%s!==undefined&&%s!==null&&m.hasOwnProperty(%j))", e, e, c.name) : c.bytes || c.resolvedType && !(c.resolvedType instanceof s) ? i("if(%s&&m.hasOwnProperty(%j))", e, c.name) : i("if(%s!==undefined&&m.hasOwnProperty(%j))", e, c.name)), + d === undefined ? n(i, c, _, e) : i("w.uint32(%d).%s(%s)", (c.id << 3 | d) >>> 0, u, e)) + } + } + for (var f = 0; f < t.oneofsArray.length; ++f) { + var p = t._oneofsArray[f]; + i("switch(%s){", "m" + l.safeProp(p.name)); + for (var m = 0; m < p.fieldsArray.length; ++m) { + var u = (c = p.fieldsArray[m]).resolvedType instanceof s ? "uint32" : c.type + , d = o.basic[u]; + e = "m" + l.safeProp(c.name), + i("case%j:", c.name), + d === undefined ? n(i, c, t._fieldsArray.indexOf(c), e) : i("w.uint32(%d).%s(%s)", (c.id << 3 | d) >>> 0, u, e), + i("break") + } + i("}") + } + return i("return w") + } + e.exports = r, + r.compat = !0; + var s = t(15) + , o = t(35) + , l = t(36) + } + , { + 15: 15, + 35: 35, + 36: 36 + }], + 15: [function(t, e, i) { + function n(t, e, i) { + if (a.call(this, t, i), + e && "object" != typeof e) + throw TypeError("values must be an object"); + if (this.valuesById = {}, + this.values = Object.create(this.valuesById), + this.comments = {}, + e) + for (var n = Object.keys(e), r = 0; r < n.length; ++r) + this.valuesById[this.values[n[r]] = e[n[r]]] = n[r] + } + e.exports = n; + var a = t(24); + ((n.prototype = Object.create(a.prototype)).constructor = n).className = "Enum"; + var r = t(36); + n.fromJSON = function(t, e) { + return new n(t,e.values,e.options) + } + , + n.prototype.toJSON = function() { + return { + options: this.options, + values: this.values + } + } + , + n.prototype.add = function(t, e, i) { + if (!r.isString(t)) + throw TypeError("name must be a string"); + if (!r.isInteger(e)) + throw TypeError("id must be an integer"); + if (this.values[t] !== undefined) + throw Error("duplicate name"); + if (this.valuesById[e] !== undefined) { + if (!this.options || !this.options.allow_alias) + throw Error("duplicate id"); + this.values[t] = e + } else + this.valuesById[this.values[t] = e] = t; + return this.comments[t] = i || null, + this + } + , + n.prototype.remove = function(t) { + if (!r.isString(t)) + throw TypeError("name must be a string"); + var e = this.values[t]; + if (e === undefined) + throw Error("name does not exist"); + return delete this.valuesById[e], + delete this.values[t], + delete this.comments[t], + this + } + } + , { + 24: 24, + 36: 36 + }], + 16: [function(t, e, i) { + function n(t, e, i, n, r, s) { + if (l.isObject(n) ? (s = n, + n = r = undefined) : l.isObject(r) && (s = r, + r = undefined), + a.call(this, t, s), + !l.isInteger(e) || e < 0) + throw TypeError("id must be a non-negative integer"); + if (!l.isString(i)) + throw TypeError("type must be a string"); + if (n !== undefined && !h.test(n = n.toString().toLowerCase())) + throw TypeError("rule must be a string rule"); + if (r !== undefined && !l.isString(r)) + throw TypeError("extend must be a string"); + this.rule = n && "optional" !== n ? n : undefined, + this.type = i, + this.id = e, + this.extend = r || undefined, + this.required = "required" === n, + this.optional = !this.required, + this.repeated = "repeated" === n, + this.map = !1, + this.message = null, + this.partOf = null, + this.typeDefault = null, + this.defaultValue = null, + this.long = !!l.Long && o.long[i] !== undefined, + this.bytes = "bytes" === i, + this.resolvedType = null, + this.extensionField = null, + this.declaringField = null, + this._packed = null + } + e.exports = n; + var a = t(24); + ((n.prototype = Object.create(a.prototype)).constructor = n).className = "Field"; + var r, s = t(15), o = t(35), l = t(36), h = /^required|optional|repeated$/; + Object.defineProperty(n.prototype, "packed", { + get: function() { + return null === this._packed && (this._packed = !1 !== this.getOption("packed")), + this._packed + } + }), + n.prototype.setOption = function(t, e, i) { + return "packed" === t && (this._packed = null), + a.prototype.setOption.call(this, t, e, i) + } + , + n.fromJSON = function(t, e) { + return new n(t,e.id,e.type,e.rule,e.extend,e.options) + } + , + n.prototype.toJSON = function() { + return { + rule: "optional" !== this.rule && this.rule || undefined, + type: this.type, + id: this.id, + extend: this.extend, + options: this.options + } + } + , + n.prototype.resolve = function() { + if (this.resolved) + return this; + if ((this.typeDefault = o.defaults[this.type]) === undefined) { + r || (r = t(34)); + var e = this.declaringField ? this.declaringField.parent : this.parent; + if (this.resolvedType = e.lookup(this.type, r)) + this.typeDefault = null; + else { + if (!(this.resolvedType = e.lookup(this.type, s))) + throw Error("unresolvable field type: " + this.type + " in " + e); + this.typeDefault = this.resolvedType.values[Object.keys(this.resolvedType.values)[0]] + } + } + if (this.options && this.options.default !== undefined && (this.typeDefault = this.options.default, + this.resolvedType instanceof s && "string" == typeof this.typeDefault && (this.typeDefault = this.resolvedType.values[this.typeDefault])), + !this.options || this.options.packed === undefined || !this.resolvedType || this.resolvedType instanceof s || delete this.options.packed, + this.long) + this.typeDefault = l.Long.fromNumber(this.typeDefault, "u" === this.type.charAt(0)), + Object.freeze && Object.freeze(this.typeDefault); + else if (this.bytes && "string" == typeof this.typeDefault) { + var i; + l.base64.test(this.typeDefault) ? l.base64.decode(this.typeDefault, i = l.newBuffer(l.base64.length(this.typeDefault)), 0) : l.utf8.write(this.typeDefault, i = l.newBuffer(l.utf8.length(this.typeDefault)), 0), + this.typeDefault = i + } + return this.map ? this.defaultValue = l.emptyObject : this.repeated ? this.defaultValue = l.emptyArray : this.defaultValue = this.typeDefault, + a.prototype.resolve.call(this) + } + } + , { + 15: 15, + 24: 24, + 34: 34, + 35: 35, + 36: 36 + }], + 17: [function(t, e, i) { + var n = e.exports = t(18); + n.build = "light", + n.load = function(t, e, i) { + return "function" == typeof e ? (i = e, + e = new n.Root) : e || (e = new n.Root), + e.load(t, i) + } + , + n.loadSync = function(t, e) { + return e || (e = new n.Root), + e.loadSync(t) + } + , + n.encoder = t(14), + n.decoder = t(13), + n.verifier = t(39), + n.converter = t(12), + n.ReflectionObject = t(24), + n.Namespace = t(23), + n.Root = t(29), + n.Enum = t(15), + n.Type = t(34), + n.Field = t(16), + n.OneOf = t(25), + n.MapField = t(20), + n.Service = t(32), + n.Method = t(22), + n.Class = t(10), + n.Message = t(21), + n.types = t(35), + n.util = t(36), + n.ReflectionObject._configure(n.Root), + n.Namespace._configure(n.Type, n.Service), + n.Root._configure(n.Type) + } + , { + 10: 10, + 12: 12, + 13: 13, + 14: 14, + 15: 15, + 16: 16, + 18: 18, + 20: 20, + 21: 21, + 22: 22, + 23: 23, + 24: 24, + 25: 25, + 29: 29, + 32: 32, + 34: 34, + 35: 35, + 36: 36, + 39: 39 + }], + 18: [function(t, e, i) { + function n() { + a.Reader._configure(a.BufferReader), + a.util._configure() + } + var a = i; + a.build = "minimal", + a.roots = {}, + a.Writer = t(40), + a.BufferWriter = t(41), + a.Reader = t(27), + a.BufferReader = t(28), + a.util = t(38), + a.rpc = t(30), + a.configure = n, + a.Writer._configure(a.BufferWriter), + n() + } + , { + 27: 27, + 28: 28, + 30: 30, + 38: 38, + 40: 40, + 41: 41 + }], + 19: [function(t, e, i) { + var n = e.exports = t(17); + n.build = "full", + n.tokenize = t(33), + n.parse = t(26), + n.common = t(11), + n.Root._configure(n.Type, n.parse, n.common) + } + , { + 11: 11, + 17: 17, + 26: 26, + 33: 33 + }], + 20: [function(t, e, i) { + function n(t, e, i, n, r) { + if (a.call(this, t, e, n, r), + !s.isString(i)) + throw TypeError("keyType must be a string"); + this.keyType = i, + this.resolvedKeyType = null, + this.map = !0 + } + e.exports = n; + var a = t(16); + ((n.prototype = Object.create(a.prototype)).constructor = n).className = "MapField"; + var r = t(35) + , s = t(36); + n.fromJSON = function(t, e) { + return new n(t,e.id,e.keyType,e.type,e.options) + } + , + n.prototype.toJSON = function() { + return { + keyType: this.keyType, + type: this.type, + id: this.id, + extend: this.extend, + options: this.options + } + } + , + n.prototype.resolve = function() { + if (this.resolved) + return this; + if (r.mapKey[this.keyType] === undefined) + throw Error("invalid key type: " + this.keyType); + return a.prototype.resolve.call(this) + } + } + , { + 16: 16, + 35: 35, + 36: 36 + }], + 21: [function(t, e, i) { + function n(t) { + if (t) + for (var e = Object.keys(t), i = 0; i < e.length; ++i) + this[e[i]] = t[e[i]] + } + e.exports = n; + var a = t(36); + n.encode = function(t, e) { + return this.$type.encode(t, e) + } + , + n.encodeDelimited = function(t, e) { + return this.$type.encodeDelimited(t, e) + } + , + n.decode = function(t) { + return this.$type.decode(t) + } + , + n.decodeDelimited = function(t) { + return this.$type.decodeDelimited(t) + } + , + n.verify = function(t) { + return this.$type.verify(t) + } + , + n.from = n.fromObject = function(t) { + return this.$type.fromObject(t) + } + , + n.toObject = function(t, e) { + return this.$type.toObject(t, e) + } + , + n.prototype.toObject = function(t) { + return this.$type.toObject(this, t) + } + , + n.prototype.toJSON = function() { + return this.$type.toObject(this, a.toJSONOptions) + } + } + , { + 36: 36 + }], + 22: [function(t, e, i) { + function n(t, e, i, n, s, o, l) { + if (r.isObject(s) ? (l = s, + s = o = undefined) : r.isObject(o) && (l = o, + o = undefined), + e !== undefined && !r.isString(e)) + throw TypeError("type must be a string"); + if (!r.isString(i)) + throw TypeError("requestType must be a string"); + if (!r.isString(n)) + throw TypeError("responseType must be a string"); + a.call(this, t, l), + this.type = e || "rpc", + this.requestType = i, + this.requestStream = !!s || undefined, + this.responseType = n, + this.responseStream = !!o || undefined, + this.resolvedRequestType = null, + this.resolvedResponseType = null + } + e.exports = n; + var a = t(24); + ((n.prototype = Object.create(a.prototype)).constructor = n).className = "Method"; + var r = t(36); + n.fromJSON = function(t, e) { + return new n(t,e.type,e.requestType,e.responseType,e.requestStream,e.responseStream,e.options) + } + , + n.prototype.toJSON = function() { + return { + type: "rpc" !== this.type && this.type || undefined, + requestType: this.requestType, + requestStream: this.requestStream, + responseType: this.responseType, + responseStream: this.responseStream, + options: this.options + } + } + , + n.prototype.resolve = function() { + return this.resolved ? this : (this.resolvedRequestType = this.parent.lookupType(this.requestType), + this.resolvedResponseType = this.parent.lookupType(this.responseType), + a.prototype.resolve.call(this)) + } + } + , { + 24: 24, + 36: 36 + }], + 23: [function(t, e, i) { + function n(t) { + if (!t || !t.length) + return undefined; + for (var e = {}, i = 0; i < t.length; ++i) + e[t[i].name] = t[i].toJSON(); + return e + } + function a(t, e) { + s.call(this, t, e), + this.nested = undefined, + this._nestedArray = null + } + function r(t) { + return t._nestedArray = null, + t + } + e.exports = a; + var s = t(24); + ((a.prototype = Object.create(s.prototype)).constructor = a).className = "Namespace"; + var o, l, h = t(15), c = t(16), _ = t(36); + a.fromJSON = function(t, e) { + return new a(t,e.options).addJSON(e.nested) + } + , + a.arrayToJSON = n, + Object.defineProperty(a.prototype, "nestedArray", { + get: function() { + return this._nestedArray || (this._nestedArray = _.toArray(this.nested)) + } + }), + a.prototype.toJSON = function() { + return { + options: this.options, + nested: n(this.nestedArray) + } + } + , + a.prototype.addJSON = function(t) { + if (t) + for (var e, i = Object.keys(t), n = 0; n < i.length; ++n) + e = t[i[n]], + this.add((e.fields !== undefined ? o.fromJSON : e.values !== undefined ? h.fromJSON : e.methods !== undefined ? l.fromJSON : e.id !== undefined ? c.fromJSON : a.fromJSON)(i[n], e)); + return this + } + , + a.prototype.get = function(t) { + return this.nested && this.nested[t] || null + } + , + a.prototype.getEnum = function(t) { + if (this.nested && this.nested[t]instanceof h) + return this.nested[t].values; + throw Error("no such enum") + } + , + a.prototype.add = function(t) { + if (!(t instanceof c && t.extend !== undefined || t instanceof o || t instanceof h || t instanceof l || t instanceof a)) + throw TypeError("object must be a valid nested object"); + if (this.nested) { + var e = this.get(t.name); + if (e) { + if (!(e instanceof a && t instanceof a) || e instanceof o || e instanceof l) + throw Error("duplicate name '" + t.name + "' in " + this); + for (var i = e.nestedArray, n = 0; n < i.length; ++n) + t.add(i[n]); + this.remove(e), + this.nested || (this.nested = {}), + t.setOptions(e.options, !0) + } + } else + this.nested = {}; + return this.nested[t.name] = t, + t.onAdd(this), + r(this) + } + , + a.prototype.remove = function(t) { + if (!(t instanceof s)) + throw TypeError("object must be a ReflectionObject"); + if (t.parent !== this) + throw Error(t + " is not a member of " + this); + return delete this.nested[t.name], + Object.keys(this.nested).length || (this.nested = undefined), + t.onRemove(this), + r(this) + } + , + a.prototype.define = function(t, e) { + if (_.isString(t)) + t = t.split("."); + else if (!Array.isArray(t)) + throw TypeError("illegal path"); + if (t && t.length && "" === t[0]) + throw Error("path must be relative"); + for (var i = this; t.length > 0; ) { + var n = t.shift(); + if (i.nested && i.nested[n]) { + if (!((i = i.nested[n])instanceof a)) + throw Error("path conflicts with non-namespace objects") + } else + i.add(i = new a(n)) + } + return e && i.addJSON(e), + i + } + , + a.prototype.resolveAll = function() { + for (var t = this.nestedArray, e = 0; e < t.length; ) + t[e]instanceof a ? t[e++].resolveAll() : t[e++].resolve(); + return this.resolve() + } + , + a.prototype.lookup = function(t, e, i) { + if ("boolean" == typeof e && (i = e, + e = undefined), + _.isString(t) && t.length) { + if ("." === t) + return this.root; + t = t.split(".") + } else if (!t.length) + return this; + if ("" === t[0]) + return this.root.lookup(t.slice(1), e); + var n = this.get(t[0]); + if (n) + if (1 === t.length) { + if (!e || n instanceof e) + return n + } else if (n instanceof a && (n = n.lookup(t.slice(1), e, !0))) + return n; + return null === this.parent || i ? null : this.parent.lookup(t, e) + } + , + a.prototype.lookupType = function(t) { + var e = this.lookup(t, o); + if (!e) + throw Error("no such type"); + return e + } + , + a.prototype.lookupService = function(t) { + var e = this.lookup(t, l); + if (!e) + throw Error("no such service"); + return e + } + , + a.prototype.lookupEnum = function(t) { + var e = this.lookup(t, h); + if (!e) + throw Error("no such enum"); + return e.values + } + , + a._configure = function(t, e) { + o = t, + l = e + } + } + , { + 15: 15, + 16: 16, + 24: 24, + 36: 36 + }], + 24: [function(t, e, i) { + function n(t, e) { + if (!r.isString(t)) + throw TypeError("name must be a string"); + if (e && !r.isObject(e)) + throw TypeError("options must be an object"); + this.options = e, + this.name = t, + this.parent = null, + this.resolved = !1, + this.comment = null, + this.filename = null + } + e.exports = n, + n.className = "ReflectionObject"; + var a, r = t(36); + Object.defineProperties(n.prototype, { + root: { + get: function() { + for (var t = this; null !== t.parent; ) + t = t.parent; + return t + } + }, + fullName: { + get: function() { + for (var t = [this.name], e = this.parent; e; ) + t.unshift(e.name), + e = e.parent; + return t.join(".") + } + } + }), + n.prototype.toJSON = function() { + throw Error() + } + , + n.prototype.onAdd = function(t) { + this.parent && this.parent !== t && this.parent.remove(this), + this.parent = t, + this.resolved = !1; + var e = t.root; + e instanceof a && e._handleAdd(this) + } + , + n.prototype.onRemove = function(t) { + var e = t.root; + e instanceof a && e._handleRemove(this), + this.parent = null, + this.resolved = !1 + } + , + n.prototype.resolve = function() { + return this.resolved ? this : (this.root instanceof a && (this.resolved = !0), + this) + } + , + n.prototype.getOption = function(t) { + return this.options ? this.options[t] : undefined + } + , + n.prototype.setOption = function(t, e, i) { + return i && this.options && this.options[t] !== undefined || ((this.options || (this.options = {}))[t] = e), + this + } + , + n.prototype.setOptions = function(t, e) { + if (t) + for (var i = Object.keys(t), n = 0; n < i.length; ++n) + this.setOption(i[n], t[i[n]], e); + return this + } + , + n.prototype.toString = function() { + var t = this.constructor.className + , e = this.fullName; + return e.length ? t + " " + e : t + } + , + n._configure = function(t) { + a = t + } + } + , { + 36: 36 + }], + 25: [function(t, e, i) { + function n(t, e, i) { + if (Array.isArray(e) || (i = e, + e = undefined), + r.call(this, t, i), + e !== undefined && !Array.isArray(e)) + throw TypeError("fieldNames must be an Array"); + this.oneof = e || [], + this.fieldsArray = [] + } + function a(t) { + if (t.parent) + for (var e = 0; e < t.fieldsArray.length; ++e) + t.fieldsArray[e].parent || t.parent.add(t.fieldsArray[e]) + } + e.exports = n; + var r = t(24); + ((n.prototype = Object.create(r.prototype)).constructor = n).className = "OneOf"; + var s = t(16); + n.fromJSON = function(t, e) { + return new n(t,e.oneof,e.options) + } + , + n.prototype.toJSON = function() { + return { + oneof: this.oneof, + options: this.options + } + } + , + n.prototype.add = function(t) { + if (!(t instanceof s)) + throw TypeError("field must be a Field"); + return t.parent && t.parent !== this.parent && t.parent.remove(t), + this.oneof.push(t.name), + this.fieldsArray.push(t), + t.partOf = this, + a(this), + this + } + , + n.prototype.remove = function(t) { + if (!(t instanceof s)) + throw TypeError("field must be a Field"); + var e = this.fieldsArray.indexOf(t); + if (e < 0) + throw Error(t + " is not a member of " + this); + return this.fieldsArray.splice(e, 1), + (e = this.oneof.indexOf(t.name)) > -1 && this.oneof.splice(e, 1), + t.partOf = null, + this + } + , + n.prototype.onAdd = function(t) { + r.prototype.onAdd.call(this, t); + for (var e = 0; e < this.oneof.length; ++e) { + var i = t.get(this.oneof[e]); + i && !i.partOf && (i.partOf = this, + this.fieldsArray.push(i)) + } + a(this) + } + , + n.prototype.onRemove = function(t) { + for (var e, i = 0; i < this.fieldsArray.length; ++i) + (e = this.fieldsArray[i]).parent && e.parent.remove(e); + r.prototype.onRemove.call(this, t) + } + } + , { + 16: 16, + 24: 24 + }], + 26: [function(t, e, i) { + function n(t) { + return null === t ? null : t.toLowerCase() + } + function a(t, e, i) { + function L(t, e, i) { + var n = a.filename; + return i || (a.filename = null), + Error("illegal " + (e || "token") + " '" + t + "' (" + (n ? n + ", " : "") + "line " + X.line() + ")") + } + function T() { + var t, e = []; + do { + if ('"' !== (t = q()) && "'" !== t) + throw L(t); + e.push(q()), + K(t), + t = J() + } while ('"' === t || "'" === t);return e.join("") + } + function E(t) { + var e = q(); + switch (n(e)) { + case "'": + case '"': + return Y(e), + T(); + case "true": + return !0; + case "false": + return !1 + } + try { + return function(t, e) { + var i = 1; + "-" === t.charAt(0) && (i = -1, + t = t.substring(1)); + var a = n(t); + switch (a) { + case "inf": + return i * (1 / 0); + case "nan": + return NaN; + case "0": + return 0 + } + if (m.test(t)) + return i * parseInt(t, 10); + if (y.test(a)) + return i * parseInt(t, 16); + if (b.test(t)) + return i * parseInt(t, 8); + if (x.test(a)) + return i * parseFloat(t); + throw L(t, "number", e) + }(e, !0) + } catch (i) { + if (t && C.test(e)) + return e; + throw L(e, "value") + } + } + function D(t, e) { + var i, n; + do { + !e || '"' !== (i = J()) && "'" !== i ? t.push([n = N(q()), K("to", !0) ? N(q()) : n]) : t.push(T()) + } while (K(",", !0));K(";") + } + function N(t, e) { + var i = n(t); + switch (i) { + case "max": + return 536870911; + case "0": + return 0 + } + if ("-" === t.charAt(0) && !e) + throw L(t, "id"); + if (g.test(t)) + return parseInt(t, 10); + if (v.test(i)) + return parseInt(t, 16); + if (w.test(t)) + return parseInt(t, 8); + throw L(t, "id") + } + function A() { + if (H !== undefined) + throw L("package"); + if (H = q(), + !C.test(H)) + throw L(H, "name"); + tt = tt.define(H), + K(";") + } + function B() { + var t, e = J(); + switch (e) { + case "weak": + t = z || (z = []), + q(); + break; + case "public": + q(); + default: + t = G || (G = []) + } + e = T(), + K(";"), + t.push(e) + } + function k() { + if (K("="), + j = n(T()), + !($ = "proto3" === j) && "proto2" !== j) + throw L(j, "syntax"); + K(";") + } + function R(t, e) { + switch (e) { + case "option": + return O(t, e), + K(";"), + !0; + case "message": + return function(t, e) { + var i = q(); + if (!I.test(i)) + throw L(i, "type name"); + var r = new o(i); + if (r.comment = Z(), + r.filename = a.filename, + K("{", !0)) { + for (; "}" !== (e = q()); ) { + var s = n(e); + if (!R(r, e)) + switch (s) { + case "map": + !function(t) { + K("<"); + var e = q(); + if (f.mapKey[e] === undefined) + throw L(e, "type"); + K(","); + var i = q(); + if (!C.test(i)) + throw L(i, "type"); + K(">"); + var n = q(); + if (!I.test(n)) + throw L(n, "name"); + n = et(n), + K("="); + var r = new h(n,N(q()),e,i) + , s = X.line(); + r.comment = Z(), + r.filename = a.filename, + F(r), + r.comment || (r.comment = Z(s)); + t.add(r) + }(r); + break; + case "required": + case "optional": + case "repeated": + P(r, s); + break; + case "oneof": + !function(t, e) { + var i = q(); + if (!I.test(i)) + throw L(i, "name"); + i = et(i); + var n = new c(i) + , r = X.line(); + if (n.comment = Z(), + n.filename = a.filename, + K("{", !0)) { + for (; "}" !== (e = q()); ) + "option" === e ? (O(n, e), + K(";")) : (Y(e), + P(n, "optional")); + K(";", !0) + } else + K(";"), + n.comment || (n.comment = Z(r)); + t.add(n) + }(r, s); + break; + case "extensions": + D(r.extensions || (r.extensions = [])); + break; + case "reserved": + D(r.reserved || (r.reserved = []), !0); + break; + default: + if (!$ || !C.test(e)) + throw L(e); + Y(e), + P(r, "optional") + } + } + K(";", !0) + } else + K(";"); + t.add(r) + }(t, e), + !0; + case "enum": + return function(t, e) { + var i = q(); + if (!I.test(i)) + throw L(i, "name"); + var r = new _(i); + if (r.comment = Z(), + r.filename = a.filename, + K("{", !0)) { + for (; "}" !== (e = q()); ) + "option" === n(e) ? (O(r, e), + K(";")) : function(t, e) { + if (!I.test(e)) + throw L(e, "name"); + var i = e; + K("="); + var n = N(q(), !0) + , a = X.line(); + t.add(i, n, Z()), + F({}), + t.comments[i] || (t.comments[i] = Z(a)) + }(r, e); + K(";", !0) + } else + K(";"); + t.add(r) + }(t, e), + !0; + case "service": + return function(t, e) { + if (e = q(), + !I.test(e)) + throw L(e, "service name"); + var i = new u(e); + if (i.comment = Z(), + i.filename = a.filename, + K("{", !0)) { + for (; "}" !== (e = q()); ) { + var r = n(e); + switch (r) { + case "option": + O(i, r), + K(";"); + break; + case "rpc": + !function(t, e) { + var i = e + , r = q(); + if (!I.test(r)) + throw L(r, "name"); + var s, o, l, h; + K("("), + K("stream", !0) && (o = !0); + if (!C.test(e = q())) + throw L(e); + s = e, + K(")"), + K("returns"), + K("("), + K("stream", !0) && (h = !0); + if (!C.test(e = q())) + throw L(e); + l = e, + K(")"); + var c = new d(r,i,s,l,o,h) + , _ = X.line(); + if (c.comment = Z(), + c.filename = a.filename, + K("{", !0)) { + for (; "}" !== (e = q()); ) { + var u = n(e); + switch (u) { + case "option": + O(c, u), + K(";"); + break; + default: + throw L(e) + } + } + K(";", !0) + } else + K(";"), + c.comment || (c.comment = Z(_)); + t.add(c) + }(i, r); + break; + default: + throw L(e) + } + } + K(";", !0) + } else + K(";"); + t.add(i) + }(t, e), + !0; + case "extend": + return function(t, e) { + var i = q(); + if (!C.test(i)) + throw L(i, "reference"); + if (K("{", !0)) { + for (; "}" !== (e = q()); ) { + var a = n(e); + switch (a) { + case "required": + case "repeated": + case "optional": + P(t, a, i); + break; + default: + if (!$ || !C.test(e)) + throw L(e); + Y(e), + P(t, "optional", i) + } + } + K(";", !0) + } else + K(";") + }(t, e), + !0 + } + return !1 + } + function P(t, e, i) { + var r = q(); + if ("group" !== r) { + if (!C.test(r)) + throw L(r, "type"); + var s = q(); + if (!I.test(s)) + throw L(s, "name"); + s = et(s), + K("="); + var h = new l(s,N(q()),r,e,i) + , c = X.line(); + h.comment = Z(), + h.filename = a.filename, + F(h), + h.comment || (h.comment = Z(c)), + !$ && h.repeated && h.setOption("packed", !1, !0), + t.add(h) + } else + !function(t, e) { + var i = q(); + if (!I.test(i)) + throw L(i, "name"); + var r = p.lcFirst(i); + i === r && (i = p.ucFirst(i)); + K("="); + var s = N(q()) + , h = new o(i); + h.group = !0, + h.comment = Z(); + var c = new l(r,s,i,e); + h.filename = c.filename = a.filename, + K("{"); + for (; "}" !== (W = q()); ) + switch (W = n(W)) { + case "option": + O(h, W), + K(";"); + break; + case "required": + case "optional": + case "repeated": + P(h, W); + break; + default: + throw L(W) + } + K(";", !0), + t.add(h).add(c) + }(t, e) + } + function O(t, e) { + var i = K("(", !0) + , n = q(); + if (!C.test(n)) + throw L(n, "name"); + i && (K(")"), + n = "(" + n + ")", + e = J(), + S.test(e) && (n += e, + q())), + K("="), + U(t, n) + } + function U(t, e) { + if (K("{", !0)) + do { + if (!I.test(W = q())) + throw L(W, "name"); + "{" === J() ? U(t, e + "." + W) : (K(":"), + V(t, e + "." + W, E(!0))) + } while (!K("}", !0)); + else + V(t, e, E(!0)) + } + function V(t, e, i) { + t.setOption && t.setOption(e, i) + } + function F(t) { + if (K("[", !0)) { + do { + O(t, "option") + } while (K(",", !0));K("]") + } + return K(";"), + t + } + e instanceof s || (i = e, + e = new s), + i || (i = a.defaults); + for (var H, G, z, j, W, X = r(t), q = X.next, Y = X.push, J = X.peek, K = X.skip, Z = X.cmnt, Q = !0, $ = !1, tt = e, et = i.keepCase ? function(t) { + return t + } + : function(t) { + return t.substring(0, 1) + t.substring(1).replace(M, function(t, e) { + return e.toUpperCase() + }) + } + ; null !== (W = q()); ) { + switch (n(W)) { + case "package": + if (!Q) + throw L(W); + A(); + break; + case "import": + if (!Q) + throw L(W); + B(); + break; + case "syntax": + if (!Q) + throw L(W); + k(); + break; + case "option": + if (!Q) + throw L(W); + O(tt, W), + K(";"); + break; + default: + if (R(tt, W)) { + Q = !1; + continue + } + throw L(W) + } + } + return a.filename = null, + { + package: H, + imports: G, + weakImports: z, + syntax: j, + root: e + } + } + e.exports = a, + a.filename = null, + a.defaults = { + keepCase: !1 + }; + var r = t(33) + , s = t(29) + , o = t(34) + , l = t(16) + , h = t(20) + , c = t(25) + , _ = t(15) + , u = t(32) + , d = t(22) + , f = t(35) + , p = t(36) + , m = /^[1-9][0-9]*$/ + , g = /^-?[1-9][0-9]*$/ + , y = /^0[x][0-9a-f]+$/ + , v = /^-?0[x][0-9a-f]+$/ + , b = /^0[0-7]+$/ + , w = /^-?0[0-7]+$/ + , x = /^(?!e)[0-9]*(?:\.[0-9]*)?(?:[e][+-]?[0-9]+)?$/ + , I = /^[a-zA-Z_][a-zA-Z_0-9]*$/ + , C = /^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)+$/ + , S = /^(?:\.[a-zA-Z][a-zA-Z_0-9]*)+$/ + , M = /_([a-z])(?=[a-z]|$)/g + } + , { + 15: 15, + 16: 16, + 20: 20, + 22: 22, + 25: 25, + 29: 29, + 32: 32, + 33: 33, + 34: 34, + 35: 35, + 36: 36 + }], + 27: [function(t, e, i) { + function n(t, e) { + return RangeError("index out of range: " + t.pos + " + " + (e || 1) + " > " + t.len) + } + function a(t) { + this.buf = t, + this.pos = 0, + this.len = t.length + } + function r() { + var t = new c(0,0) + , e = 0; + if (!(this.len - this.pos > 4)) { + for (; e < 3; ++e) { + if (this.pos >= this.len) + throw n(this); + if (t.lo = (t.lo | (127 & this.buf[this.pos]) << 7 * e) >>> 0, + this.buf[this.pos++] < 128) + return t + } + return t.lo = (t.lo | (127 & this.buf[this.pos++]) << 7 * e) >>> 0, + t + } + for (; e < 4; ++e) + if (t.lo = (t.lo | (127 & this.buf[this.pos]) << 7 * e) >>> 0, + this.buf[this.pos++] < 128) + return t; + if (t.lo = (t.lo | (127 & this.buf[this.pos]) << 28) >>> 0, + t.hi = (t.hi | (127 & this.buf[this.pos]) >> 4) >>> 0, + this.buf[this.pos++] < 128) + return t; + if (e = 0, + this.len - this.pos > 4) { + for (; e < 5; ++e) + if (t.hi = (t.hi | (127 & this.buf[this.pos]) << 7 * e + 3) >>> 0, + this.buf[this.pos++] < 128) + return t + } else + for (; e < 5; ++e) { + if (this.pos >= this.len) + throw n(this); + if (t.hi = (t.hi | (127 & this.buf[this.pos]) << 7 * e + 3) >>> 0, + this.buf[this.pos++] < 128) + return t + } + throw Error("invalid varint encoding") + } + function s(t, e) { + return (t[e - 4] | t[e - 3] << 8 | t[e - 2] << 16 | t[e - 1] << 24) >>> 0 + } + function o() { + if (this.pos + 8 > this.len) + throw n(this, 8); + return new c(s(this.buf, this.pos += 4),s(this.buf, this.pos += 4)) + } + e.exports = a; + var l, h = t(38), c = h.LongBits, _ = h.utf8, u = "undefined" != typeof Uint8Array ? function(t) { + if (t instanceof Uint8Array || Array.isArray(t)) + return new a(t); + throw Error("illegal buffer") + } + : function(t) { + if (Array.isArray(t)) + return new a(t); + throw Error("illegal buffer") + } + ; + a.create = h.Buffer ? function(t) { + return (a.create = function(t) { + return h.Buffer.isBuffer(t) ? new l(t) : u(t) + } + )(t) + } + : u, + a.prototype._slice = h.Array.prototype.subarray || h.Array.prototype.slice, + a.prototype.uint32 = function() { + var t = 4294967295; + return function() { + if (t = (127 & this.buf[this.pos]) >>> 0, + this.buf[this.pos++] < 128) + return t; + if (t = (t | (127 & this.buf[this.pos]) << 7) >>> 0, + this.buf[this.pos++] < 128) + return t; + if (t = (t | (127 & this.buf[this.pos]) << 14) >>> 0, + this.buf[this.pos++] < 128) + return t; + if (t = (t | (127 & this.buf[this.pos]) << 21) >>> 0, + this.buf[this.pos++] < 128) + return t; + if (t = (t | (15 & this.buf[this.pos]) << 28) >>> 0, + this.buf[this.pos++] < 128) + return t; + if ((this.pos += 5) > this.len) + throw this.pos = this.len, + n(this, 10); + return t + } + }(), + a.prototype.int32 = function() { + return 0 | this.uint32() + } + , + a.prototype.sint32 = function() { + var t = this.uint32(); + return t >>> 1 ^ -(1 & t) | 0 + } + , + a.prototype.bool = function() { + return 0 !== this.uint32() + } + , + a.prototype.fixed32 = function() { + if (this.pos + 4 > this.len) + throw n(this, 4); + return s(this.buf, this.pos += 4) + } + , + a.prototype.sfixed32 = function() { + if (this.pos + 4 > this.len) + throw n(this, 4); + return 0 | s(this.buf, this.pos += 4) + } + ; + var d = "undefined" != typeof Float32Array ? function() { + var t = new Float32Array(1) + , e = new Uint8Array(t.buffer); + return t[0] = -0, + e[3] ? function(i, n) { + return e[0] = i[n], + e[1] = i[n + 1], + e[2] = i[n + 2], + e[3] = i[n + 3], + t[0] + } + : function(i, n) { + return e[0] = i[n + 3], + e[1] = i[n + 2], + e[2] = i[n + 1], + e[3] = i[n], + t[0] + } + }() : function(t, e) { + var i = s(t, e + 4) + , n = 2 * (i >> 31) + 1 + , a = i >>> 23 & 255 + , r = 8388607 & i; + return 255 === a ? r ? NaN : n * (1 / 0) : 0 === a ? 1.401298464324817e-45 * n * r : n * Math.pow(2, a - 150) * (r + 8388608) + } + ; + a.prototype.float = function() { + if (this.pos + 4 > this.len) + throw n(this, 4); + var t = d(this.buf, this.pos); + return this.pos += 4, + t + } + ; + var f = "undefined" != typeof Float64Array ? function() { + var t = new Float64Array(1) + , e = new Uint8Array(t.buffer); + return t[0] = -0, + e[7] ? function(i, n) { + return e[0] = i[n], + e[1] = i[n + 1], + e[2] = i[n + 2], + e[3] = i[n + 3], + e[4] = i[n + 4], + e[5] = i[n + 5], + e[6] = i[n + 6], + e[7] = i[n + 7], + t[0] + } + : function(i, n) { + return e[0] = i[n + 7], + e[1] = i[n + 6], + e[2] = i[n + 5], + e[3] = i[n + 4], + e[4] = i[n + 3], + e[5] = i[n + 2], + e[6] = i[n + 1], + e[7] = i[n], + t[0] + } + }() : function(t, e) { + var i = s(t, e + 4) + , n = s(t, e + 8) + , a = 2 * (n >> 31) + 1 + , r = n >>> 20 & 2047 + , o = 4294967296 * (1048575 & n) + i; + return 2047 === r ? o ? NaN : a * (1 / 0) : 0 === r ? 5e-324 * a * o : a * Math.pow(2, r - 1075) * (o + 4503599627370496) + } + ; + a.prototype.double = function() { + if (this.pos + 8 > this.len) + throw n(this, 4); + var t = f(this.buf, this.pos); + return this.pos += 8, + t + } + , + a.prototype.bytes = function() { + var t = this.uint32() + , e = this.pos + , i = this.pos + t; + if (i > this.len) + throw n(this, t); + return this.pos += t, + e === i ? new this.buf.constructor(0) : this._slice.call(this.buf, e, i) + } + , + a.prototype.string = function() { + var t = this.bytes(); + return _.read(t, 0, t.length) + } + , + a.prototype.skip = function(t) { + if ("number" == typeof t) { + if (this.pos + t > this.len) + throw n(this, t); + this.pos += t + } else + do { + if (this.pos >= this.len) + throw n(this) + } while (128 & this.buf[this.pos++]);return this + } + , + a.prototype.skipType = function(t) { + switch (t) { + case 0: + this.skip(); + break; + case 1: + this.skip(8); + break; + case 2: + this.skip(this.uint32()); + break; + case 3: + for (; ; ) { + if (4 == (t = 7 & this.uint32())) + break; + this.skipType(t) + } + break; + case 5: + this.skip(4); + break; + default: + throw Error("invalid wire type " + t + " at offset " + this.pos) + } + return this + } + , + a._configure = function(t) { + l = t; + var e = h.Long ? "toLong" : "toNumber"; + h.merge(a.prototype, { + int64: function() { + return r.call(this)[e](!1) + }, + uint64: function() { + return r.call(this)[e](!0) + }, + sint64: function() { + return r.call(this).zzDecode()[e](!1) + }, + fixed64: function() { + return o.call(this)[e](!0) + }, + sfixed64: function() { + return o.call(this)[e](!1) + } + }) + } + } + , { + 38: 38 + }], + 28: [function(t, e, i) { + function n(t) { + a.call(this, t) + } + e.exports = n; + var a = t(27); + (n.prototype = Object.create(a.prototype)).constructor = n; + var r = t(38); + r.Buffer && (n.prototype._slice = r.Buffer.prototype.slice), + n.prototype.string = function() { + var t = this.uint32(); + return this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + t, this.len)) + } + } + , { + 27: 27, + 38: 38 + }], + 29: [function(t, e, i) { + function n(t) { + s.call(this, "", t), + this.deferred = [], + this.files = [] + } + function a() {} + function r(t, e) { + var i = e.parent.lookup(e.extend); + if (i) { + var n = new c(e.fullName,e.id,e.type,e.rule,undefined,e.options); + return n.declaringField = e, + e.extensionField = n, + i.add(n), + !0 + } + return !1 + } + e.exports = n; + var s = t(23); + ((n.prototype = Object.create(s.prototype)).constructor = n).className = "Root"; + var o, l, h, c = t(16), _ = t(15), u = t(36); + n.fromJSON = function(t, e) { + return e || (e = new n), + t.options && e.setOptions(t.options), + e.addJSON(t.nested) + } + , + n.prototype.resolvePath = u.path.resolve, + n.prototype.load = function t(e, i, n) { + function r(t, e) { + if (n) { + var i = n; + if (n = null, + _) + throw t; + i(t, e) + } + } + function s(t, e) { + try { + if (u.isString(e) && "{" === e.charAt(0) && (e = JSON.parse(e)), + u.isString(e)) { + l.filename = t; + var n, a = l(e, c, i), s = 0; + if (a.imports) + for (; s < a.imports.length; ++s) + (n = c.resolvePath(t, a.imports[s])) && o(n); + if (a.weakImports) + for (s = 0; s < a.weakImports.length; ++s) + (n = c.resolvePath(t, a.weakImports[s])) && o(n, !0) + } else + c.setOptions(e.options).addJSON(e.nested) + } catch (t) { + r(t) + } + _ || d || r(null, c) + } + function o(t, e) { + var i = t.lastIndexOf("google/protobuf/"); + if (i > -1) { + var a = t.substring(i); + a in h && (t = a) + } + if (!(c.files.indexOf(t) > -1)) + if (c.files.push(t), + t in h) + _ ? s(t, h[t]) : (++d, + setTimeout(function() { + --d, + s(t, h[t]) + })); + else if (_) { + var o; + try { + o = u.fs.readFileSync(t).toString("utf8") + } catch (t) { + return void (e || r(t)) + } + s(t, o) + } else + ++d, + u.fetch(t, function(i, a) { + --d, + n && (i ? e ? d || r(null, c) : r(i) : s(t, a)) + }) + } + "function" == typeof i && (n = i, + i = undefined); + var c = this; + if (!n) + return u.asPromise(t, c, e, i); + var _ = n === a + , d = 0; + u.isString(e) && (e = [e]); + for (var f, p = 0; p < e.length; ++p) + (f = c.resolvePath("", e[p])) && o(f); + return _ ? c : (d || r(null, c), + undefined) + } + , + n.prototype.loadSync = function(t, e) { + if (!u.isNode) + throw Error("not supported"); + return this.load(t, e, a) + } + , + n.prototype.resolveAll = function() { + if (this.deferred.length) + throw Error("unresolvable extensions: " + this.deferred.map(function(t) { + return "'extend " + t.extend + "' in " + t.parent.fullName + }).join(", ")); + return s.prototype.resolveAll.call(this) + } + ; + var d = /^[A-Z]/; + n.prototype._handleAdd = function(t) { + if (t instanceof c) + t.extend === undefined || t.extensionField || r(0, t) || this.deferred.push(t); + else if (t instanceof _) + d.test(t.name) && (t.parent[t.name] = t.values); + else { + if (t instanceof o) + for (var e = 0; e < this.deferred.length; ) + r(0, this.deferred[e]) ? this.deferred.splice(e, 1) : ++e; + for (var i = 0; i < t.nestedArray.length; ++i) + this._handleAdd(t._nestedArray[i]); + d.test(t.name) && (t.parent[t.name] = t) + } + } + , + n.prototype._handleRemove = function(t) { + if (t instanceof c) { + if (t.extend !== undefined) + if (t.extensionField) + t.extensionField.parent.remove(t.extensionField), + t.extensionField = null; + else { + var e = this.deferred.indexOf(t); + e > -1 && this.deferred.splice(e, 1) + } + } else if (t instanceof _) + d.test(t.name) && delete t.parent[t.name]; + else if (t instanceof s) { + for (var i = 0; i < t.nestedArray.length; ++i) + this._handleRemove(t._nestedArray[i]); + d.test(t.name) && delete t.parent[t.name] + } + } + , + n._configure = function(t, e, i) { + o = t, + l = e, + h = i + } + } + , { + 15: 15, + 16: 16, + 23: 23, + 36: 36 + }], + 30: [function(t, e, i) { + i.Service = t(31) + } + , { + 31: 31 + }], + 31: [function(t, e, i) { + function n(t, e, i) { + if ("function" != typeof t) + throw TypeError("rpcImpl must be a function"); + a.EventEmitter.call(this), + this.rpcImpl = t, + this.requestDelimited = Boolean(e), + this.responseDelimited = Boolean(i) + } + e.exports = n; + var a = t(38); + (n.prototype = Object.create(a.EventEmitter.prototype)).constructor = n, + n.prototype.rpcCall = function t(e, i, n, r, s) { + if (!r) + throw TypeError("request must be specified"); + var o = this; + if (!s) + return a.asPromise(t, o, e, i, n, r); + if (!o.rpcImpl) + return setTimeout(function() { + s(Error("already ended")) + }, 0), + undefined; + try { + return o.rpcImpl(e, i[o.requestDelimited ? "encodeDelimited" : "encode"](r).finish(), function(t, i) { + if (t) + return o.emit("error", t, e), + s(t); + if (null === i) + return o.end(!0), + undefined; + if (!(i instanceof n)) + try { + i = n[o.responseDelimited ? "decodeDelimited" : "decode"](i) + } catch (t) { + return o.emit("error", t, e), + s(t) + } + return o.emit("data", i, e), + s(null, i) + }) + } catch (t) { + return o.emit("error", t, e), + setTimeout(function() { + s(t) + }, 0), + undefined + } + } + , + n.prototype.end = function(t) { + return this.rpcImpl && (t || this.rpcImpl(null, null, null), + this.rpcImpl = null, + this.emit("end").off()), + this + } + } + , { + 38: 38 + }], + 32: [function(t, e, i) { + function n(t, e) { + r.call(this, t, e), + this.methods = {}, + this._methodsArray = null + } + function a(t) { + return t._methodsArray = null, + t + } + e.exports = n; + var r = t(23); + ((n.prototype = Object.create(r.prototype)).constructor = n).className = "Service"; + var s = t(22) + , o = t(36) + , l = t(30); + n.fromJSON = function(t, e) { + var i = new n(t,e.options); + if (e.methods) + for (var a = Object.keys(e.methods), r = 0; r < a.length; ++r) + i.add(s.fromJSON(a[r], e.methods[a[r]])); + return i + } + , + Object.defineProperty(n.prototype, "methodsArray", { + get: function() { + return this._methodsArray || (this._methodsArray = o.toArray(this.methods)) + } + }), + n.prototype.toJSON = function() { + var t = r.prototype.toJSON.call(this); + return { + options: t && t.options || undefined, + methods: r.arrayToJSON(this.methodsArray) || {}, + nested: t && t.nested || undefined + } + } + , + n.prototype.get = function(t) { + return this.methods[t] || r.prototype.get.call(this, t) + } + , + n.prototype.resolveAll = function() { + for (var t = this.methodsArray, e = 0; e < t.length; ++e) + t[e].resolve(); + return r.prototype.resolve.call(this) + } + , + n.prototype.add = function(t) { + if (this.get(t.name)) + throw Error("duplicate name '" + t.name + "' in " + this); + return t instanceof s ? (this.methods[t.name] = t, + t.parent = this, + a(this)) : r.prototype.add.call(this, t) + } + , + n.prototype.remove = function(t) { + if (t instanceof s) { + if (this.methods[t.name] !== t) + throw Error(t + " is not a member of " + this); + return delete this.methods[t.name], + t.parent = null, + a(this) + } + return r.prototype.remove.call(this, t) + } + , + n.prototype.create = function(t, e, i) { + for (var n = new l.Service(t,e,i), a = 0; a < this.methodsArray.length; ++a) + n[o.lcFirst(this._methodsArray[a].resolve().name)] = o.codegen("r", "c")("return this.rpcCall(m,q,s,r,c)").eof(o.lcFirst(this._methodsArray[a].name), { + m: this._methodsArray[a], + q: this._methodsArray[a].resolvedRequestType.ctor, + s: this._methodsArray[a].resolvedResponseType.ctor + }); + return n + } + } + , { + 22: 22, + 23: 23, + 30: 30, + 36: 36 + }], + 33: [function(t, e, i) { + function n(t) { + return t.replace(_, function(t, e) { + switch (e) { + case "\\": + case "": + return e; + default: + return u[e] || "" + } + }) + } + function a(t) { + function e(t) { + return Error("illegal " + t + " (line " + m + ")") + } + function i(e) { + return t.charAt(e) + } + function a(e, i) { + g = t.charAt(e++), + v = m; + for (var n = t.substring(e, i).split(h), a = 0; a < n.length; ++a) + n[a] = n[a].replace(l, "").trim(); + y = n.join("\n").trim() + } + function _() { + if (b.length > 0) + return b.shift(); + if (w) + return function() { + var i = "'" === w ? o : s; + i.lastIndex = f - 1; + var a = i.exec(t); + if (!a) + throw e("string"); + return f = i.lastIndex, + u(w), + w = null, + n(a[1]) + }(); + var l, h, _, d, g; + do { + if (f === p) + return null; + for (l = !1; c.test(_ = i(f)); ) + if ("\n" === _ && ++m, + ++f === p) + return null; + if ("/" === i(f)) { + if (++f === p) + throw e("comment"); + if ("/" === i(f)) { + for (g = "/" === i(d = f + 1); "\n" !== i(++f); ) + if (f === p) + return null; + ++f, + g && a(d, f - 1), + ++m, + l = !0 + } else { + if ("*" !== (_ = i(f))) + return "/"; + g = "*" === i(d = f + 1); + do { + if ("\n" === _ && ++m, + ++f === p) + throw e("comment"); + h = _, + _ = i(f) + } while ("*" !== h || "/" !== _);++f, + g && a(d, f - 2), + l = !0 + } + } + } while (l);var y = f; + r.lastIndex = 0; + if (!r.test(i(y++))) + for (; y < p && !r.test(i(y)); ) + ++y; + var v = t.substring(f, f = y); + return '"' !== v && "'" !== v || (w = v), + v + } + function u(t) { + b.push(t) + } + function d() { + if (!b.length) { + var t = _(); + if (null === t) + return null; + u(t) + } + return b[0] + } + var f = 0 + , p = (t = t.toString()).length + , m = 1 + , g = null + , y = null + , v = 0 + , b = [] + , w = null; + return { + next: _, + peek: d, + push: u, + skip: function(t, i) { + var n = d(); + if (n === t) + return _(), + !0; + if (!i) + throw e("token '" + n + "', '" + t + "' expected"); + return !1 + }, + line: function() { + return m + }, + cmnt: function(t) { + var e; + return t === undefined ? e = v === m - 1 && y || null : (y || d(), + e = v === t && "/" === g && y || null), + e && (g = y = null, + v = 0), + e + } + } + } + e.exports = a; + var r = /[\s{}=;:[\],'"()<>]/g + , s = /(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g + , o = /(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g + , l = /^ *[*/]+ */ + , h = /\n/g + , c = /\s/ + , _ = /\\(.?)/g + , u = { + 0: "\0", + r: "\r", + n: "\n", + t: "\t" + }; + a.unescape = n + } + , {}], + 34: [function(t, e, i) { + function n(t, e) { + r.call(this, t, e), + this.fields = {}, + this.oneofs = undefined, + this.extensions = undefined, + this.reserved = undefined, + this.group = undefined, + this._fieldsById = null, + this._fieldsArray = null, + this._oneofsArray = null, + this._ctor = null + } + function a(t) { + return t._fieldsById = t._fieldsArray = t._oneofsArray = t._ctor = null, + delete t.encode, + delete t.decode, + delete t.verify, + t + } + e.exports = n; + var r = t(23); + ((n.prototype = Object.create(r.prototype)).constructor = n).className = "Type"; + var s = t(15) + , o = t(25) + , l = t(16) + , h = t(20) + , c = t(32) + , _ = t(10) + , u = t(21) + , d = t(27) + , f = t(40) + , p = t(36) + , m = t(14) + , g = t(13) + , y = t(39) + , v = t(12); + n.fromJSON = function(t, e) { + var i = new n(t,e.options); + i.extensions = e.extensions, + i.reserved = e.reserved; + for (var a = Object.keys(e.fields), _ = 0; _ < a.length; ++_) + i.add((void 0 !== e.fields[a[_]].keyType ? h.fromJSON : l.fromJSON)(a[_], e.fields[a[_]])); + if (e.oneofs) + for (a = Object.keys(e.oneofs), + _ = 0; _ < a.length; ++_) + i.add(o.fromJSON(a[_], e.oneofs[a[_]])); + if (e.nested) + for (a = Object.keys(e.nested), + _ = 0; _ < a.length; ++_) { + var u = e.nested[a[_]]; + i.add((u.id !== undefined ? l.fromJSON : u.fields !== undefined ? n.fromJSON : u.values !== undefined ? s.fromJSON : u.methods !== undefined ? c.fromJSON : r.fromJSON)(a[_], u)) + } + return e.extensions && e.extensions.length && (i.extensions = e.extensions), + e.reserved && e.reserved.length && (i.reserved = e.reserved), + e.group && (i.group = !0), + i + } + , + Object.defineProperties(n.prototype, { + fieldsById: { + get: function() { + if (this._fieldsById) + return this._fieldsById; + this._fieldsById = {}; + for (var t = Object.keys(this.fields), e = 0; e < t.length; ++e) { + var i = this.fields[t[e]] + , n = i.id; + if (this._fieldsById[n]) + throw Error("duplicate id " + n + " in " + this); + this._fieldsById[n] = i + } + return this._fieldsById + } + }, + fieldsArray: { + get: function() { + return this._fieldsArray || (this._fieldsArray = p.toArray(this.fields)) + } + }, + oneofsArray: { + get: function() { + return this._oneofsArray || (this._oneofsArray = p.toArray(this.oneofs)) + } + }, + ctor: { + get: function() { + return this._ctor || (this._ctor = _(this).constructor) + }, + set: function(t) { + if (t && !(t.prototype instanceof u)) + throw TypeError("ctor must be a Message constructor"); + t.from || (t.from = u.from), + this._ctor = t + } + } + }), + n.prototype.toJSON = function() { + var t = r.prototype.toJSON.call(this); + return { + options: t && t.options || undefined, + oneofs: r.arrayToJSON(this.oneofsArray), + fields: r.arrayToJSON(this.fieldsArray.filter(function(t) { + return !t.declaringField + })) || {}, + extensions: this.extensions && this.extensions.length ? this.extensions : undefined, + reserved: this.reserved && this.reserved.length ? this.reserved : undefined, + group: this.group || undefined, + nested: t && t.nested || undefined + } + } + , + n.prototype.resolveAll = function() { + for (var t = this.fieldsArray, e = 0; e < t.length; ) + t[e++].resolve(); + var i = this.oneofsArray; + for (e = 0; e < i.length; ) + i[e++].resolve(); + return r.prototype.resolve.call(this) + } + , + n.prototype.get = function(t) { + return this.fields[t] || this.oneofs && this.oneofs[t] || this.nested && this.nested[t] || null + } + , + n.prototype.add = function(t) { + if (this.get(t.name)) + throw Error("duplicate name '" + t.name + "' in " + this); + if (t instanceof l && t.extend === undefined) { + if (this._fieldsById ? this._fieldsById[t.id] : this.fieldsById[t.id]) + throw Error("duplicate id " + t.id + " in " + this); + if (this.isReservedId(t.id)) + throw Error("id " + t.id + " is reserved in " + this); + if (this.isReservedName(t.name)) + throw Error("name '" + t.name + "' is reserved in " + this); + return t.parent && t.parent.remove(t), + this.fields[t.name] = t, + t.message = this, + t.onAdd(this), + a(this) + } + return t instanceof o ? (this.oneofs || (this.oneofs = {}), + this.oneofs[t.name] = t, + t.onAdd(this), + a(this)) : r.prototype.add.call(this, t) + } + , + n.prototype.remove = function(t) { + if (t instanceof l && t.extend === undefined) { + if (!this.fields || this.fields[t.name] !== t) + throw Error(t + " is not a member of " + this); + return delete this.fields[t.name], + t.parent = null, + t.onRemove(this), + a(this) + } + if (t instanceof o) { + if (!this.oneofs || this.oneofs[t.name] !== t) + throw Error(t + " is not a member of " + this); + return delete this.oneofs[t.name], + t.parent = null, + t.onRemove(this), + a(this) + } + return r.prototype.remove.call(this, t) + } + , + n.prototype.isReservedId = function(t) { + if (this.reserved) + for (var e = 0; e < this.reserved.length; ++e) + if ("string" != typeof this.reserved[e] && this.reserved[e][0] <= t && this.reserved[e][1] >= t) + return !0; + return !1 + } + , + n.prototype.isReservedName = function(t) { + if (this.reserved) + for (var e = 0; e < this.reserved.length; ++e) + if (this.reserved[e] === t) + return !0; + return !1 + } + , + n.prototype.create = function(t) { + return new this.ctor(t) + } + , + n.prototype.setup = function() { + for (var t = this.fullName, e = [], i = 0; i < this.fieldsArray.length; ++i) + e.push(this._fieldsArray[i].resolve().resolvedType); + return this.encode = m(this).eof(t + "$encode", { + Writer: f, + types: e, + util: p + }), + this.decode = g(this).eof(t + "$decode", { + Reader: d, + types: e, + util: p + }), + this.verify = y(this).eof(t + "$verify", { + types: e, + util: p + }), + this.fromObject = this.from = v.fromObject(this).eof(t + "$fromObject", { + types: e, + util: p + }), + this.toObject = v.toObject(this).eof(t + "$toObject", { + types: e, + util: p + }), + this + } + , + n.prototype.encode = function(t, e) { + return this.setup().encode(t, e) + } + , + n.prototype.encodeDelimited = function(t, e) { + return this.encode(t, e && e.len ? e.fork() : e).ldelim() + } + , + n.prototype.decode = function(t, e) { + return this.setup().decode(t, e) + } + , + n.prototype.decodeDelimited = function(t) { + return t instanceof d || (t = d.create(t)), + this.decode(t, t.uint32()) + } + , + n.prototype.verify = function(t) { + return this.setup().verify(t) + } + , + n.prototype.fromObject = function(t) { + return this.setup().fromObject(t) + } + , + n.prototype.from = n.prototype.fromObject, + n.prototype.toObject = function(t, e) { + return this.setup().toObject(t, e) + } + } + , { + 10: 10, + 12: 12, + 13: 13, + 14: 14, + 15: 15, + 16: 16, + 20: 20, + 21: 21, + 23: 23, + 25: 25, + 27: 27, + 32: 32, + 36: 36, + 39: 39, + 40: 40 + }], + 35: [function(t, e, i) { + function n(t, e) { + var i = 0 + , n = {}; + for (e |= 0; i < t.length; ) + n[s[i + e]] = t[i++]; + return n + } + var a = i + , r = t(36) + , s = ["double", "float", "int32", "uint32", "sint32", "fixed32", "sfixed32", "int64", "uint64", "sint64", "fixed64", "sfixed64", "bool", "string", "bytes"]; + a.basic = n([1, 5, 0, 0, 0, 5, 5, 0, 0, 0, 1, 1, 0, 2, 2]), + a.defaults = n([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, !1, "", r.emptyArray, null]), + a.long = n([0, 0, 0, 1, 1], 7), + a.mapKey = n([0, 0, 0, 5, 5, 0, 0, 0, 1, 1, 0, 2], 2), + a.packed = n([1, 5, 0, 0, 0, 5, 5, 0, 0, 0, 1, 1, 0]) + } + , { + 36: 36 + }], + 36: [function(t, e, i) { + var n = e.exports = t(38); + n.codegen = t(3), + n.fetch = t(5), + n.path = t(7), + n.fs = n.inquire("fs"), + n.toArray = function(t) { + var e = []; + if (t) + for (var i = Object.keys(t), n = 0; n < i.length; ++n) + e.push(t[i[n]]); + return e + } + ; + var a = /\\/g + , r = /"/g; + n.safeProp = function(t) { + return '["' + t.replace(a, "\\\\").replace(r, '\\"') + '"]' + } + , + n.ucFirst = function(t) { + return t.charAt(0).toUpperCase() + t.substring(1) + } + } + , { + 3: 3, + 38: 38, + 5: 5, + 7: 7 + }], + 37: [function(t, e, i) { + function n(t, e) { + this.lo = t >>> 0, + this.hi = e >>> 0 + } + e.exports = n; + var a = t(38) + , r = n.zero = new n(0,0); + r.toNumber = function() { + return 0 + } + , + r.zzEncode = r.zzDecode = function() { + return this + } + , + r.length = function() { + return 1 + } + ; + var s = n.zeroHash = "\0\0\0\0\0\0\0\0"; + n.fromNumber = function(t) { + if (0 === t) + return r; + var e = t < 0; + e && (t = -t); + var i = t >>> 0 + , a = (t - i) / 4294967296 >>> 0; + return e && (a = ~a >>> 0, + i = ~i >>> 0, + ++i > 4294967295 && (i = 0, + ++a > 4294967295 && (a = 0))), + new n(i,a) + } + , + n.from = function(t) { + if ("number" == typeof t) + return n.fromNumber(t); + if (a.isString(t)) { + if (!a.Long) + return n.fromNumber(parseInt(t, 10)); + t = a.Long.fromString(t) + } + return t.low || t.high ? new n(t.low >>> 0,t.high >>> 0) : r + } + , + n.prototype.toNumber = function(t) { + if (!t && this.hi >>> 31) { + var e = 1 + ~this.lo >>> 0 + , i = ~this.hi >>> 0; + return e || (i = i + 1 >>> 0), + -(e + 4294967296 * i) + } + return this.lo + 4294967296 * this.hi + } + , + n.prototype.toLong = function(t) { + return a.Long ? new a.Long(0 | this.lo,0 | this.hi,Boolean(t)) : { + low: 0 | this.lo, + high: 0 | this.hi, + unsigned: Boolean(t) + } + } + ; + var o = String.prototype.charCodeAt; + n.fromHash = function(t) { + return t === s ? r : new n((o.call(t, 0) | o.call(t, 1) << 8 | o.call(t, 2) << 16 | o.call(t, 3) << 24) >>> 0,(o.call(t, 4) | o.call(t, 5) << 8 | o.call(t, 6) << 16 | o.call(t, 7) << 24) >>> 0) + } + , + n.prototype.toHash = function() { + return String.fromCharCode(255 & this.lo, this.lo >>> 8 & 255, this.lo >>> 16 & 255, this.lo >>> 24, 255 & this.hi, this.hi >>> 8 & 255, this.hi >>> 16 & 255, this.hi >>> 24) + } + , + n.prototype.zzEncode = function() { + var t = this.hi >> 31; + return this.hi = ((this.hi << 1 | this.lo >>> 31) ^ t) >>> 0, + this.lo = (this.lo << 1 ^ t) >>> 0, + this + } + , + n.prototype.zzDecode = function() { + var t = -(1 & this.lo); + return this.lo = ((this.lo >>> 1 | this.hi << 31) ^ t) >>> 0, + this.hi = (this.hi >>> 1 ^ t) >>> 0, + this + } + , + n.prototype.length = function() { + var t = this.lo + , e = (this.lo >>> 28 | this.hi << 4) >>> 0 + , i = this.hi >>> 24; + return 0 === i ? 0 === e ? t < 16384 ? t < 128 ? 1 : 2 : t < 2097152 ? 3 : 4 : e < 16384 ? e < 128 ? 5 : 6 : e < 2097152 ? 7 : 8 : i < 128 ? 9 : 10 + } + } + , { + 38: 38 + }], + 38: [function(t, e, i) { + function n(t, e, i) { + for (var n = Object.keys(e), a = 0; a < n.length; ++a) + t[n[a]] !== undefined && i || (t[n[a]] = e[n[a]]); + return t + } + function a(t) { + function e(t, i) { + if (!(this instanceof e)) + return new e(t,i); + Object.defineProperty(this, "message", { + get: function() { + return t + } + }), + Error.captureStackTrace ? Error.captureStackTrace(this, e) : Object.defineProperty(this, "stack", { + value: (new Error).stack || "" + }), + i && n(this, i) + } + return (e.prototype = Object.create(Error.prototype)).constructor = e, + Object.defineProperty(e.prototype, "name", { + get: function() { + return t + } + }), + e.prototype.toString = function() { + return this.name + ": " + this.message + } + , + e + } + var r = i; + r.asPromise = t(1), + r.base64 = t(2), + r.EventEmitter = t(4), + r.inquire = t(6), + r.utf8 = t(9), + r.pool = t(8), + r.LongBits = t(37), + r.emptyArray = Object.freeze ? Object.freeze([]) : [], + r.emptyObject = Object.freeze ? Object.freeze({}) : {}, + r.isNode = Boolean(global.process && global.process.versions && global.process.versions.node), + r.isInteger = Number.isInteger || function(t) { + return "number" == typeof t && isFinite(t) && Math.floor(t) === t + } + , + r.isString = function(t) { + return "string" == typeof t || t instanceof String + } + , + r.isObject = function(t) { + return t && "object" == typeof t + } + , + r.Buffer = function() { + try { + var t = r.inquire("buffer").Buffer; + return t.prototype.utf8Write ? t : null + } catch (t) { + return null + } + }(), + r._Buffer_from = null, + r._Buffer_allocUnsafe = null, + r.newBuffer = function(t) { + return "number" == typeof t ? r.Buffer ? r._Buffer_allocUnsafe(t) : new r.Array(t) : r.Buffer ? r._Buffer_from(t) : "undefined" == typeof Uint8Array ? t : new Uint8Array(t) + } + , + r.Array = "undefined" != typeof Uint8Array ? Uint8Array : Array, + r.Long = global.dcodeIO && global.dcodeIO.Long || r.inquire("long"), + r.key2Re = /^true|false|0|1$/, + r.key32Re = /^-?(?:0|[1-9][0-9]*)$/, + r.key64Re = /^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/, + r.longToHash = function(t) { + return t ? r.LongBits.from(t).toHash() : r.LongBits.zeroHash + } + , + r.longFromHash = function(t, e) { + var i = r.LongBits.fromHash(t); + return r.Long ? r.Long.fromBits(i.lo, i.hi, e) : i.toNumber(Boolean(e)) + } + , + r.merge = n, + r.lcFirst = function(t) { + return t.charAt(0).toLowerCase() + t.substring(1) + } + , + r.newError = a, + r.ProtocolError = a("ProtocolError"), + r.oneOfGetter = function(t) { + for (var e = {}, i = 0; i < t.length; ++i) + e[t[i]] = 1; + return function() { + for (var t = Object.keys(this), i = t.length - 1; i > -1; --i) + if (1 === e[t[i]] && this[t[i]] !== undefined && null !== this[t[i]]) + return t[i] + } + } + , + r.oneOfSetter = function(t) { + return function(e) { + for (var i = 0; i < t.length; ++i) + t[i] !== e && delete this[t[i]] + } + } + , + r.lazyResolve = function(t, e) { + for (var i = 0; i < e.length; ++i) + for (var n = Object.keys(e[i]), a = 0; a < n.length; ++a) { + for (var r = e[i][n[a]].split("."), s = t; r.length; ) + s = s[r.shift()]; + e[i][n[a]] = s + } + } + , + r.toJSONOptions = { + longs: String, + enums: String, + bytes: String + }, + r._configure = function() { + var t = r.Buffer; + t ? (r._Buffer_from = t.from !== Uint8Array.from && t.from || function(e, i) { + return new t(e,i) + } + , + r._Buffer_allocUnsafe = t.allocUnsafe || function(e) { + return new t(e) + } + ) : r._Buffer_from = r._Buffer_allocUnsafe = null + } + } + , { + 1: 1, + 2: 2, + 37: 37, + 4: 4, + 6: 6, + 8: 8, + 9: 9 + }], + 39: [function(t, e, i) { + function n(t, e) { + return t.name + ": " + e + (t.repeated && "array" !== e ? "[]" : t.map && "object" !== e ? "{k:" + t.keyType + "}" : "") + " expected" + } + function a(t, e, i, a) { + if (e.resolvedType) + if (e.resolvedType instanceof s) { + t("switch(%s){", a)("default:")("return%j", n(e, "enum value")); + for (var r = Object.keys(e.resolvedType.values), o = 0; o < r.length; ++o) + t("case %d:", e.resolvedType.values[r[o]]); + t("break")("}") + } else + t("var e=types[%d].verify(%s);", i, a)("if(e)")("return%j+e", e.name + "."); + else + switch (e.type) { + case "int32": + case "uint32": + case "sint32": + case "fixed32": + case "sfixed32": + t("if(!util.isInteger(%s))", a)("return%j", n(e, "integer")); + break; + case "int64": + case "uint64": + case "sint64": + case "fixed64": + case "sfixed64": + t("if(!util.isInteger(%s)&&!(%s&&util.isInteger(%s.low)&&util.isInteger(%s.high)))", a, a, a, a)("return%j", n(e, "integer|Long")); + break; + case "float": + case "double": + t('if(typeof %s!=="number")', a)("return%j", n(e, "number")); + break; + case "bool": + t('if(typeof %s!=="boolean")', a)("return%j", n(e, "boolean")); + break; + case "string": + t("if(!util.isString(%s))", a)("return%j", n(e, "string")); + break; + case "bytes": + t('if(!(%s&&typeof %s.length==="number"||util.isString(%s)))', a, a, a)("return%j", n(e, "buffer")) + } + return t + } + function r(t, e, i) { + switch (e.keyType) { + case "int32": + case "uint32": + case "sint32": + case "fixed32": + case "sfixed32": + t("if(!util.key32Re.test(%s))", i)("return%j", n(e, "integer key")); + break; + case "int64": + case "uint64": + case "sint64": + case "fixed64": + case "sfixed64": + t("if(!util.key64Re.test(%s))", i)("return%j", n(e, "integer|Long key")); + break; + case "bool": + t("if(!util.key2Re.test(%s))", i)("return%j", n(e, "boolean key")) + } + return t + } + e.exports = function(t) { + for (var e = o.codegen("m")('if(typeof m!=="object"||m===null)')("return%j", "object expected"), i = 0; i < t.fieldsArray.length; ++i) { + var l = t._fieldsArray[i].resolve() + , h = "m" + o.safeProp(l.name); + l.map ? (e("if(%s!==undefined){", h)("if(!util.isObject(%s))", h)("return%j", n(l, "object"))("var k=Object.keys(%s)", h)("for(var i=0;i>> 7 | t.hi << 25) >>> 0, + t.hi >>>= 7; + for (; t.lo > 127; ) + e[i++] = 127 & t.lo | 128, + t.lo = t.lo >>> 7; + e[i++] = t.lo + } + function h(t, e, i) { + e[i++] = 255 & t, + e[i++] = t >>> 8 & 255, + e[i++] = t >>> 16 & 255, + e[i] = t >>> 24 + } + e.exports = r; + var c, _ = t(38), u = _.LongBits, d = _.base64, f = _.utf8; + r.create = _.Buffer ? function() { + return (r.create = function() { + return new c + } + )() + } + : function() { + return new r + } + , + r.alloc = function(t) { + return new _.Array(t) + } + , + _.Array !== Array && (r.alloc = _.pool(r.alloc, _.Array.prototype.subarray)), + r.prototype.push = function(t, e, i) { + return this.tail = this.tail.next = new n(t,e,i), + this.len += e, + this + } + , + (o.prototype = Object.create(n.prototype)).fn = function(t, e, i) { + for (; t > 127; ) + e[i++] = 127 & t | 128, + t >>>= 7; + e[i] = t + } + , + r.prototype.uint32 = function(t) { + return this.len += (this.tail = this.tail.next = new o((t >>>= 0) < 128 ? 1 : t < 16384 ? 2 : t < 2097152 ? 3 : t < 268435456 ? 4 : 5,t)).len, + this + } + , + r.prototype.int32 = function(t) { + return t < 0 ? this.push(l, 10, u.fromNumber(t)) : this.uint32(t) + } + , + r.prototype.sint32 = function(t) { + return this.uint32((t << 1 ^ t >> 31) >>> 0) + } + , + r.prototype.uint64 = function(t) { + var e = u.from(t); + return this.push(l, e.length(), e) + } + , + r.prototype.int64 = r.prototype.uint64, + r.prototype.sint64 = function(t) { + var e = u.from(t).zzEncode(); + return this.push(l, e.length(), e) + } + , + r.prototype.bool = function(t) { + return this.push(s, 1, t ? 1 : 0) + } + , + r.prototype.fixed32 = function(t) { + return this.push(h, 4, t >>> 0) + } + , + r.prototype.sfixed32 = r.prototype.fixed32, + r.prototype.fixed64 = function(t) { + var e = u.from(t); + return this.push(h, 4, e.lo).push(h, 4, e.hi) + } + , + r.prototype.sfixed64 = r.prototype.fixed64; + var p = "undefined" != typeof Float32Array ? function() { + var t = new Float32Array(1) + , e = new Uint8Array(t.buffer); + return t[0] = -0, + e[3] ? function(i, n, a) { + t[0] = i, + n[a++] = e[0], + n[a++] = e[1], + n[a++] = e[2], + n[a] = e[3] + } + : function(i, n, a) { + t[0] = i, + n[a++] = e[3], + n[a++] = e[2], + n[a++] = e[1], + n[a] = e[0] + } + }() : function(t, e, i) { + var n = t < 0 ? 1 : 0; + if (n && (t = -t), + 0 === t) + h(1 / t > 0 ? 0 : 2147483648, e, i); + else if (isNaN(t)) + h(2147483647, e, i); + else if (t > 3.4028234663852886e38) + h((n << 31 | 2139095040) >>> 0, e, i); + else if (t < 1.1754943508222875e-38) + h((n << 31 | Math.round(t / 1.401298464324817e-45)) >>> 0, e, i); + else { + var a = Math.floor(Math.log(t) / Math.LN2); + h((n << 31 | a + 127 << 23 | 8388607 & Math.round(t * Math.pow(2, -a) * 8388608)) >>> 0, e, i) + } + } + ; + r.prototype.float = function(t) { + return this.push(p, 4, t) + } + ; + var m = "undefined" != typeof Float64Array ? function() { + var t = new Float64Array(1) + , e = new Uint8Array(t.buffer); + return t[0] = -0, + e[7] ? function(i, n, a) { + t[0] = i, + n[a++] = e[0], + n[a++] = e[1], + n[a++] = e[2], + n[a++] = e[3], + n[a++] = e[4], + n[a++] = e[5], + n[a++] = e[6], + n[a] = e[7] + } + : function(i, n, a) { + t[0] = i, + n[a++] = e[7], + n[a++] = e[6], + n[a++] = e[5], + n[a++] = e[4], + n[a++] = e[3], + n[a++] = e[2], + n[a++] = e[1], + n[a] = e[0] + } + }() : function(t, e, i) { + var n = t < 0 ? 1 : 0; + if (n && (t = -t), + 0 === t) + h(0, e, i), + h(1 / t > 0 ? 0 : 2147483648, e, i + 4); + else if (isNaN(t)) + h(4294967295, e, i), + h(2147483647, e, i + 4); + else if (t > 1.7976931348623157e308) + h(0, e, i), + h((n << 31 | 2146435072) >>> 0, e, i + 4); + else { + var a; + if (t < 2.2250738585072014e-308) + h((a = t / 5e-324) >>> 0, e, i), + h((n << 31 | a / 4294967296) >>> 0, e, i + 4); + else { + var r = Math.floor(Math.log(t) / Math.LN2); + 1024 === r && (r = 1023), + h(4503599627370496 * (a = t * Math.pow(2, -r)) >>> 0, e, i), + h((n << 31 | r + 1023 << 20 | 1048576 * a & 1048575) >>> 0, e, i + 4) + } + } + } + ; + r.prototype.double = function(t) { + return this.push(m, 8, t) + } + ; + var g = _.Array.prototype.set ? function(t, e, i) { + e.set(t, i) + } + : function(t, e, i) { + for (var n = 0; n < t.length; ++n) + e[i + n] = t[n] + } + ; + r.prototype.bytes = function(t) { + var e = t.length >>> 0; + if (!e) + return this.push(s, 1, 0); + if (_.isString(t)) { + var i = r.alloc(e = d.length(t)); + d.decode(t, i, 0), + t = i + } + return this.uint32(e).push(g, e, t) + } + , + r.prototype.string = function(t) { + var e = f.length(t); + return e ? this.uint32(e).push(f.write, e, t) : this.push(s, 1, 0) + } + , + r.prototype.fork = function() { + return this.states = new function(t) { + this.head = t.head, + this.tail = t.tail, + this.len = t.len, + this.next = t.states + } + (this), + this.head = this.tail = new n(a,0,0), + this.len = 0, + this + } + , + r.prototype.reset = function() { + return this.states ? (this.head = this.states.head, + this.tail = this.states.tail, + this.len = this.states.len, + this.states = this.states.next) : (this.head = this.tail = new n(a,0,0), + this.len = 0), + this + } + , + r.prototype.ldelim = function() { + var t = this.head + , e = this.tail + , i = this.len; + return this.reset().uint32(i), + i && (this.tail.next = t.next, + this.tail = e, + this.len += i), + this + } + , + r.prototype.finish = function() { + for (var t = this.head.next, e = this.constructor.alloc(this.len), i = 0; t; ) + t.fn(t.val, e, i), + i += t.len, + t = t.next; + return e + } + , + r._configure = function(t) { + c = t + } + } + , { + 38: 38 + }], + 41: [function(t, e, i) { + function n() { + r.call(this) + } + function a(t, e, i) { + t.length < 40 ? s.utf8.write(t, e, i) : e.utf8Write(t, i) + } + e.exports = n; + var r = t(40); + (n.prototype = Object.create(r.prototype)).constructor = n; + var s = t(38) + , o = s.Buffer; + n.alloc = function(t) { + return (n.alloc = s._Buffer_allocUnsafe)(t) + } + ; + var l = o && o.prototype instanceof Uint8Array && "set" === o.prototype.set.name ? function(t, e, i) { + e.set(t, i) + } + : function(t, e, i) { + if (t.copy) + t.copy(e, i, 0, t.length); + else + for (var n = 0; n < t.length; ) + e[i++] = t[n++] + } + ; + n.prototype.bytes = function(t) { + s.isString(t) && (t = s._Buffer_from(t, "base64")); + var e = t.length >>> 0; + return this.uint32(e), + e && this.push(l, e, t), + this + } + , + n.prototype.string = function(t) { + var e = o.byteLength(t); + return this.uint32(e), + e && this.push(a, e, t), + this + } + } + , { + 38: 38, + 40: 40 + }] + }, {}, [19]) +}("object" == typeof window && window || "object" == typeof self && self || this), +function(t, e, i) { + i.un, + i.uns; + var n = i.static + , a = i.class + , r = i.getset + , s = (i.__newvec, + laya.display.Animation) + , o = (laya.utils.Browser, + laya.utils.ClassUtils) + , l = laya.filters.ColorFilter + , h = laya.utils.Ease + , c = laya.events.Event + , _ = (laya.events.EventDispatcher, + laya.display.css.Font) + , u = laya.display.FrameAnimation + , d = laya.display.Graphics + , f = laya.utils.Handler + , p = laya.display.Input + , m = laya.net.Loader + , g = (laya.display.Node, + laya.maths.Point) + , y = laya.maths.Rectangle + , v = laya.renders.Render + , b = laya.display.Sprite + , w = laya.display.Text + , x = laya.resource.Texture + , I = laya.utils.Tween + , C = laya.utils.Utils + , S = laya.utils.WeakObject; + i.interface("laya.ui.IItem"), + i.interface("laya.ui.ISelect"), + i.interface("laya.ui.IRender"), + i.interface("laya.ui.IComponent"), + i.interface("laya.ui.IBox", "IComponent"); + var M = function() { + function t() { + this.enable = !1, + this.top = NaN, + this.bottom = NaN, + this.left = NaN, + this.right = NaN, + this.centerX = NaN, + this.centerY = NaN, + this.anchorX = NaN, + this.anchorY = NaN + } + return a(t, "laya.ui.LayoutStyle"), + n(t, ["EMPTY", function() { + return this.EMPTY = new t + } + ]), + t + }() + , L = function() { + function t() {} + return a(t, "laya.ui.Styles"), + t.labelColor = "#000000", + t.buttonStateNum = 3, + t.scrollBarMinNum = 15, + t.scrollBarDelayTime = 500, + n(t, ["defaultSizeGrid", function() { + return this.defaultSizeGrid = [4, 4, 4, 4, 0] + } + , "labelPadding", function() { + return this.labelPadding = [2, 2, 2, 2] + } + , "inputLabelPadding", function() { + return this.inputLabelPadding = [1, 1, 1, 3] + } + , "buttonLabelColors", function() { + return this.buttonLabelColors = ["#32556b", "#32cc6b", "#ff0000", "#C0C0C0"] + } + , "comboBoxItemColors", function() { + return this.comboBoxItemColors = ["#5e95b6", "#ffffff", "#000000", "#8fa4b1", "#ffffff"] + } + ]), + t + }() + , T = function() { + function t() {} + return a(t, "laya.ui.UIUtils"), + t.fillArray = function(t, e, i) { + var n = t.concat(); + if (e) + for (var a = e.split(","), r = 0, s = Math.min(n.length, a.length); r < s; r++) { + var o = a[r]; + n[r] = "true" == o || "false" != o && o, + null != i && (n[r] = i(o)) + } + return n + } + , + t.toColor = function(t) { + return C.toHexColor(t) + } + , + t.gray = function(e, i) { + void 0 === i && (i = !0), + i ? t.addFilter(e, t.grayFilter) : t.clearFilter(e, l) + } + , + t.addFilter = function(t, e) { + var i = t.filters || []; + i.push(e), + t.filters = i + } + , + t.clearFilter = function(t, e) { + var n = t.filters; + if (null != n && n.length > 0) { + for (var a = n.length - 1; a > -1; a--) { + var r = n[a]; + i.__typeof(r, e) && n.splice(a, 1) + } + t.filters = n + } + } + , + t._getReplaceStr = function(e) { + return t.escapeSequence[e] + } + , + t.adptString = function(e) { + return e.replace(/\\(\w)/g, t._getReplaceStr) + } + , + t.getBindFun = function(e) { + var n = t._funMap.get(e); + if (null == n) { + var a = '"' + e + '"' + , r = "(function(data){if(data==null)return;with(data){try{\nreturn " + (a = a.replace(/^"\${|}"$/g, "").replace(/\${/g, '"+').replace(/}/g, '+"')) + "\n}catch(e){}}})"; + n = i._runScript(r), + t._funMap.set(e, n) + } + return n + } + , + n(t, ["grayFilter", function() { + return this.grayFilter = new l([.3086, .6094, .082, 0, 0, .3086, .6094, .082, 0, 0, .3086, .6094, .082, 0, 0, 0, 0, 0, 1, 0]) + } + , "escapeSequence", function() { + return this.escapeSequence = { + "\\n": "\n", + "\\t": "\t" + } + } + , "_funMap", function() { + return this._funMap = new S + } + ]), + t + }() + , E = function() { + function t() {} + return a(t, "UIConfig"), + t.touchScrollEnable = !0, + t.mouseWheelEnable = !0, + t.showButtons = !0, + t.popupBgColor = "#000000", + t.popupBgAlpha = .5, + t.closeDialogOnSide = !0, + t + }() + , D = function(t) { + function e() { + this.autoCacheCmd = !0, + this._width = 0, + this._height = 0, + this._source = null, + this._sizeGrid = null, + this._isChanged = !1, + this._offset = null, + e.__super.call(this) + } + a(e, "laya.ui.AutoBitmap", t); + var n = e.prototype; + return n.destroy = function() { + t.prototype.destroy.call(this), + this._source = null, + this._sizeGrid = null, + this._offset = null + } + , + n._setChanged = function() { + this._isChanged || (this._isChanged = !0, + i.timer.callLater(this, this.changeSource)) + } + , + n.changeSource = function() { + this._isChanged = !1; + var t = this._source; + if (t && t.bitmap) { + var i = this.width + , n = this.height + , a = this._sizeGrid + , r = t.sourceWidth + , s = t.sourceHeight; + if (!a || r === i && s === n) + this.cleanByTexture(t, this._offset ? this._offset[0] : 0, this._offset ? this._offset[1] : 0, i, n); + else { + t.$_GID || (t.$_GID = C.getGID()); + var o = t.$_GID + "." + i + "." + n + "." + a.join("."); + if (C.isOKCmdList(S.I.get(o))) + return void (this.cmds = S.I.get(o)); + this.clear(); + var l = a[0] + , h = a[1] + , c = a[2] + , _ = a[3] + , u = a[4] + , d = !1; + if (i == r && (_ = h = 0), + n == s && (l = c = 0), + _ + h > i) { + var f = i; + d = !0, + i = _ + h, + this.save(), + this.clipRect(0, 0, f, n) + } + _ && l && this.drawTexture(e.getTexture(t, 0, 0, _, l), 0, 0, _, l), + h && l && this.drawTexture(e.getTexture(t, r - h, 0, h, l), i - h, 0, h, l), + _ && c && this.drawTexture(e.getTexture(t, 0, s - c, _, c), 0, n - c, _, c), + h && c && this.drawTexture(e.getTexture(t, r - h, s - c, h, c), i - h, n - c, h, c), + l && this.drawBitmap(u, e.getTexture(t, _, 0, r - _ - h, l), _, 0, i - _ - h, l), + c && this.drawBitmap(u, e.getTexture(t, _, s - c, r - _ - h, c), _, n - c, i - _ - h, c), + _ && this.drawBitmap(u, e.getTexture(t, 0, l, _, s - l - c), 0, l, _, n - l - c), + h && this.drawBitmap(u, e.getTexture(t, r - h, l, h, s - l - c), i - h, l, h, n - l - c), + this.drawBitmap(u, e.getTexture(t, _, l, r - _ - h, s - l - c), _, l, i - _ - h, n - l - c), + d && this.restore(), + this.autoCacheCmd && !v.isConchApp && S.I.set(o, this.cmds) + } + this._repaint() + } + } + , + n.drawBitmap = function(t, e, i, n, a, r) { + void 0 === a && (a = 0), + void 0 === r && (r = 0), + a < .1 || r < .1 || (!t || e.width == a && e.height == r ? this.drawTexture(e, i, n, a, r) : this.fillTexture(e, i, n, a, r)) + } + , + n.clear = function(e) { + void 0 === e && (e = !0), + t.prototype.clear.call(this, !1) + } + , + r(0, n, "sizeGrid", function() { + return this._sizeGrid + }, function(t) { + this._sizeGrid = t, + this._setChanged() + }), + r(0, n, "width", function() { + return this._width ? this._width : this._source ? this._source.sourceWidth : 0 + }, function(t) { + this._width != t && (this._width = t, + this._setChanged()) + }), + r(0, n, "height", function() { + return this._height ? this._height : this._source ? this._source.sourceHeight : 0 + }, function(t) { + this._height != t && (this._height = t, + this._setChanged()) + }), + r(0, n, "source", function() { + return this._source + }, function(t) { + t ? (this._source = t, + this._setChanged()) : (this._source = null, + this.clear()) + }), + e.getTexture = function(t, e, i, n, a) { + n <= 0 && (n = 1), + a <= 0 && (a = 1), + t.$_GID || (t.$_GID = C.getGID()); + var r = t.$_GID + "." + e + "." + i + "." + n + "." + a + , s = S.I.get(r); + return s && s.source || (s = x.createFromTexture(t, e, i, n, a), + S.I.set(r, s)), + s + } + , + e + }(d) + , N = (function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.ui.UIEvent", c), + e.SHOW_TIP = "showtip", + e.HIDE_TIP = "hidetip" + }(), + function(t) { + function e() { + this._comXml = null, + this._dataSource = null, + this._toolTip = null, + this._tag = null, + this._disabled = !1, + this._gray = !1, + this.layoutEnabled = !0, + e.__super.call(this), + this._layout = M.EMPTY, + this.preinitialize(), + this.createChildren(), + this.initialize() + } + a(e, "laya.ui.Component", t); + var n = e.prototype; + return i.imps(n, { + "laya.ui.IComponent": !0 + }), + n.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, e), + this._dataSource = this._layout = null, + this._tag = null, + this._toolTip = null + } + , + n.preinitialize = function() {} + , + n.createChildren = function() {} + , + n.initialize = function() {} + , + n.callLater = function(t, e) { + i.timer.callLater(this, t, e) + } + , + n.runCallLater = function(t) { + i.timer.runCallLater(this, t) + } + , + n.commitMeasure = function() {} + , + n.changeSize = function() { + this.event("resize") + } + , + n.getLayout = function() { + return this._layout === M.EMPTY && (this._layout = new M), + this._layout + } + , + n._setLayoutEnabled = function(t) { + this._layout && this._layout.enable != t && (this._layout.enable = t, + this.on("added", this, this.onAdded), + this.on("removed", this, this.onRemoved), + this.parent && this.onAdded()) + } + , + n.onRemoved = function() { + this.parent.off("resize", this, this.onCompResize) + } + , + n.onAdded = function() { + this.parent.on("resize", this, this.onCompResize), + this.resetLayoutX(), + this.resetLayoutY() + } + , + n.onCompResize = function() { + this._layout && this._layout.enable && (this.resetLayoutX(), + this.resetLayoutY()) + } + , + n.resetLayoutX = function() { + var t = this._layout; + if (isNaN(t.anchorX) || (this.pivotX = t.anchorX * this.width), + this.layoutEnabled) { + var e = this.parent; + e && (isNaN(t.centerX) ? isNaN(t.left) ? isNaN(t.right) || (this.x = Math.round(e.width - this.displayWidth - t.right + this.pivotX * this.scaleX)) : (this.x = Math.round(t.left + this.pivotX * this.scaleX), + isNaN(t.right) || (this.width = (e._width - t.left - t.right) / (this.scaleX || .01))) : this.x = Math.round(.5 * (e.width - this.displayWidth) + t.centerX + this.pivotX * this.scaleX)) + } + } + , + n.resetLayoutY = function() { + var t = this._layout; + if (isNaN(t.anchorY) || (this.pivotY = t.anchorY * this.height), + this.layoutEnabled) { + var e = this.parent; + e && (isNaN(t.centerY) ? isNaN(t.top) ? isNaN(t.bottom) || (this.y = Math.round(e.height - this.displayHeight - t.bottom + this.pivotY * this.scaleY)) : (this.y = Math.round(t.top + this.pivotY * this.scaleY), + isNaN(t.bottom) || (this.height = (e._height - t.top - t.bottom) / (this.scaleY || .01))) : this.y = Math.round(.5 * (e.height - this.displayHeight) + t.centerY + this.pivotY * this.scaleY)) + } + } + , + n.onMouseOver = function(t) { + i.stage.event("showtip", this._toolTip) + } + , + n.onMouseOut = function(t) { + i.stage.event("hidetip", this._toolTip) + } + , + r(0, n, "displayWidth", function() { + return this.width * this.scaleX + }), + r(0, n, "width", function() { + return this._width ? this._width : this.measureWidth + }, function(t) { + this._width != t && (this._width = t, + this.conchModel && this.conchModel.size(this._width, this._height), + this.callLater(this.changeSize), + !this._layout.enable || isNaN(this._layout.centerX) && isNaN(this._layout.right) && isNaN(this._layout.anchorX) || this.resetLayoutX()) + }), + r(0, n, "measureWidth", function() { + var t = 0; + this.commitMeasure(); + for (var e = this.numChildren - 1; e > -1; e--) { + var i = this.getChildAt(e); + i.visible && (t = Math.max(i.x + i.width * i.scaleX, t)) + } + return t + }), + r(0, n, "displayHeight", function() { + return this.height * this.scaleY + }), + r(0, n, "height", function() { + return this._height ? this._height : this.measureHeight + }, function(t) { + this._height != t && (this._height = t, + this.conchModel && this.conchModel.size(this._width, this._height), + this.callLater(this.changeSize), + !this._layout.enable || isNaN(this._layout.centerY) && isNaN(this._layout.bottom) && isNaN(this._layout.anchorY) || this.resetLayoutY()) + }), + r(0, n, "dataSource", function() { + return this._dataSource + }, function(t) { + this._dataSource = t; + for (var e in this._dataSource) + this.hasOwnProperty(e) && "function" != typeof this[e] && (this[e] = this._dataSource[e]) + }), + r(0, n, "scaleY", t.prototype._$get_scaleY, function(t) { + i.superGet(b, this, "scaleY") != t && (i.superSet(b, this, "scaleY", t), + this.callLater(this.changeSize), + this._layout.enable && this.resetLayoutY()) + }), + r(0, n, "measureHeight", function() { + var t = 0; + this.commitMeasure(); + for (var e = this.numChildren - 1; e > -1; e--) { + var i = this.getChildAt(e); + i.visible && (t = Math.max(i.y + i.height * i.scaleY, t)) + } + return t + }), + r(0, n, "scaleX", t.prototype._$get_scaleX, function(t) { + i.superGet(b, this, "scaleX") != t && (i.superSet(b, this, "scaleX", t), + this.callLater(this.changeSize), + this._layout.enable && this.resetLayoutX()) + }), + r(0, n, "top", function() { + return this._layout.top + }, function(t) { + t != this._layout.top && (this.getLayout().top = t, + this._setLayoutEnabled(!0)), + this.resetLayoutY() + }), + r(0, n, "bottom", function() { + return this._layout.bottom + }, function(t) { + t != this._layout.bottom && (this.getLayout().bottom = t, + this._setLayoutEnabled(!0)), + this.resetLayoutY() + }), + r(0, n, "left", function() { + return this._layout.left + }, function(t) { + t != this._layout.left && (this.getLayout().left = t, + this._setLayoutEnabled(!0)), + this.resetLayoutX() + }), + r(0, n, "right", function() { + return this._layout.right + }, function(t) { + t != this._layout.right && (this.getLayout().right = t, + this._setLayoutEnabled(!0)), + this.resetLayoutX() + }), + r(0, n, "centerX", function() { + return this._layout.centerX + }, function(t) { + t != this._layout.centerX && (this.getLayout().centerX = t, + this._setLayoutEnabled(!0)), + this.resetLayoutX() + }), + r(0, n, "centerY", function() { + return this._layout.centerY + }, function(t) { + t != this._layout.centerY && (this.getLayout().centerY = t, + this._setLayoutEnabled(!0)), + this.resetLayoutY() + }), + r(0, n, "anchorX", function() { + return this._layout.anchorX + }, function(t) { + t != this._layout.anchorX && (this.getLayout().anchorX = t, + this._setLayoutEnabled(!0)), + this.resetLayoutX() + }), + r(0, n, "anchorY", function() { + return this._layout.anchorY + }, function(t) { + t != this._layout.anchorY && (this.getLayout().anchorY = t, + this._setLayoutEnabled(!0)), + this.resetLayoutY() + }), + r(0, n, "tag", function() { + return this._tag + }, function(t) { + this._tag = t + }), + r(0, n, "toolTip", function() { + return this._toolTip + }, function(t) { + this._toolTip != t && (this._toolTip = t, + null != t ? (this.on("mouseover", this, this.onMouseOver), + this.on("mouseout", this, this.onMouseOut)) : (this.off("mouseover", this, this.onMouseOver), + this.off("mouseout", this, this.onMouseOut))) + }), + r(0, n, "comXml", function() { + return this._comXml + }, function(t) { + this._comXml = t + }), + r(0, n, "gray", function() { + return this._gray + }, function(t) { + t !== this._gray && (this._gray = t, + T.gray(this, t)) + }), + r(0, n, "disabled", function() { + return this._disabled + }, function(t) { + t !== this._disabled && (this.gray = this._disabled = t, + this.mouseEnabled = !t) + }), + e + }(b)) + , A = function(t) { + function e() { + this.lockLayer = null, + this.popupEffect = function(t) { + t.scale(1, 1), + I.from(t, { + x: i.stage.width / 2, + y: i.stage.height / 2, + scaleX: 0, + scaleY: 0 + }, 300, h.backOut, f.create(this, this.doOpen, [t])) + } + , + this.closeEffect = function(t, e) { + I.to(t, { + x: i.stage.width / 2, + y: i.stage.height / 2, + scaleX: 0, + scaleY: 0 + }, 300, h.strongOut, f.create(this, this.doClose, [t, e])) + } + , + e.__super.call(this), + this.maskLayer = new b, + this.popupEffectHandler = new f(this,this.popupEffect), + this.closeEffectHandler = new f(this,this.closeEffect), + this.mouseEnabled = this.maskLayer.mouseEnabled = !0, + this.zOrder = 1e3, + i.stage.addChild(this), + i.stage.on("resize", this, this._onResize), + E.closeDialogOnSide && this.maskLayer.on("click", this, this._closeOnSide), + this._onResize(null) + } + a(e, "laya.ui.DialogManager", b); + var n = e.prototype; + return n._closeOnSide = function() { + var t = this.getChildAt(this.numChildren - 1); + t instanceof laya.ui.Dialog && t.close("side") + } + , + n.setLockView = function(t) { + this.lockLayer || (this.lockLayer = new B, + this.lockLayer.mouseEnabled = !0, + this.lockLayer.size(i.stage.width, i.stage.height)), + this.lockLayer.removeChildren(), + t && (t.centerX = t.centerY = 0, + this.lockLayer.addChild(t)) + } + , + n._onResize = function(t) { + var e = this.maskLayer.width = i.stage.width + , n = this.maskLayer.height = i.stage.height; + this.lockLayer && this.lockLayer.size(e, n), + this.maskLayer.graphics.clear(), + this.maskLayer.graphics.drawRect(0, 0, e, n, E.popupBgColor), + this.maskLayer.alpha = E.popupBgAlpha; + for (var a = this.numChildren - 1; a > -1; a--) { + var r = this.getChildAt(a); + r.popupCenter && this._centerDialog(r) + } + } + , + n._centerDialog = function(t) { + t.x = Math.round((i.stage.width - t.width >> 1) + t.pivotX), + t.y = Math.round((i.stage.height - t.height >> 1) + t.pivotY) + } + , + n.open = function(t, e, i) { + void 0 === e && (e = !1), + void 0 === i && (i = !1), + e && this._closeAll(), + t.popupCenter && this._centerDialog(t), + this.addChild(t), + (t.isModal || this._$P.hasZorder) && this.timer.callLater(this, this._checkMask), + i && null != t.popupEffect ? t.popupEffect.runWith(t) : this.doOpen(t), + this.event("open") + } + , + n.doOpen = function(t) { + t.onOpened() + } + , + n.lock = function(t) { + this.lockLayer && (t ? this.addChild(this.lockLayer) : this.lockLayer.removeSelf()) + } + , + n.close = function(t, e, i) { + void 0 === i && (i = !1), + i && null != t.closeEffect ? t.closeEffect.runWith([t, e]) : this.doClose(t, e), + this.event("close") + } + , + n.doClose = function(t, e) { + t.removeSelf(), + t.isModal && this._checkMask(), + t.closeHandler && t.closeHandler.runWith(e), + t.onClosed(e) + } + , + n.closeAll = function() { + this._closeAll(), + this.event("close") + } + , + n._closeAll = function() { + for (var t = this.numChildren - 1; t > -1; t--) { + var e = this.getChildAt(t); + e && null != e.close && this.doClose(e) + } + } + , + n.getDialogsByGroup = function(t) { + for (var e = [], i = this.numChildren - 1; i > -1; i--) { + var n = this.getChildAt(i); + n && n.group === t && e.push(n) + } + return e + } + , + n.closeByGroup = function(t) { + for (var e = [], i = this.numChildren - 1; i > -1; i--) { + var n = this.getChildAt(i); + n && n.group === t && (n.close(), + e.push(n)) + } + return e + } + , + n._checkMask = function() { + this.maskLayer.removeSelf(); + for (var t = this.numChildren - 1; t > -1; t--) { + var e = this.getChildAt(t); + if (e && e.isModal) + return void this.addChildAt(this.maskLayer, t) + } + } + , + e + }() + , B = function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.ui.Box", t); + var n = e.prototype; + return i.imps(n, { + "laya.ui.IBox": !0 + }), + r(0, n, "dataSource", t.prototype._$get_dataSource, function(t) { + this._dataSource = t; + for (var e in t) { + var i = this.getChildByName(e); + i ? i.dataSource = t[e] : this.hasOwnProperty(e) && "function" != typeof this[e] && (this[e] = t[e]) + } + }), + e + }(N) + , k = function(t) { + function e(t, i) { + this.toggle = !1, + this._bitmap = null, + this._text = null, + this._strokeColors = null, + this._state = 0, + this._selected = !1, + this._skin = null, + this._autoSize = !0, + this._sources = null, + this._clickHandler = null, + this._stateChanged = !1, + e.__super.call(this), + this._labelColors = L.buttonLabelColors, + this._stateNum = L.buttonStateNum, + void 0 === i && (i = ""), + this.skin = t, + this.label = i + } + a(e, "laya.ui.Button", t); + var s = e.prototype; + return i.imps(s, { + "laya.ui.ISelect": !0 + }), + s.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, e), + this._bitmap && this._bitmap.destroy(), + this._text && this._text.destroy(e), + this._bitmap = null, + this._text = null, + this._clickHandler = null, + this._labelColors = this._sources = this._strokeColors = null + } + , + s.createChildren = function() { + this.graphics = this._bitmap = new D + } + , + s.createText = function() { + this._text || (this._text = new w, + this._text.overflow = w.HIDDEN, + this._text.align = "center", + this._text.valign = "middle", + this._text.width = this._width, + this._text.height = this._height) + } + , + s.initialize = function() { + 1 !== this._mouseEnableState && (this.mouseEnabled = !0, + this._setBit(2, !0)), + this._createListener("mouseover", this, this.onMouse, null, !1, !1), + this._createListener("mouseout", this, this.onMouse, null, !1, !1), + this._createListener("mousedown", this, this.onMouse, null, !1, !1), + this._createListener("mouseup", this, this.onMouse, null, !1, !1), + this._createListener("click", this, this.onMouse, null, !1, !1) + } + , + s.onMouse = function(t) { + if (!1 !== this.toggle || !this._selected) + return "click" === t.type ? (this.toggle && (this.selected = !this._selected), + void (this._clickHandler && this._clickHandler.run())) : void (!this._selected && (this.state = e.stateMap[t.type])) + } + , + s.changeClips = function() { + var t = m.getRes(this._skin); + if (t) { + var e = t.sourceWidth + , i = t.sourceHeight / this._stateNum; + t.$_GID || (t.$_GID = C.getGID()); + var n = t.$_GID + "-" + this._stateNum + , a = S.I.get(n); + if (C.isOkTextureList(a) || (a = null), + a) + this._sources = a; + else { + if (this._sources = [], + 1 === this._stateNum) + this._sources.push(t); + else + for (var r = 0; r < this._stateNum; r++) + this._sources.push(x.createFromTexture(t, 0, i * r, e, i)); + S.I.set(n, this._sources) + } + this._autoSize ? (this._bitmap.width = this._width || e, + this._bitmap.height = this._height || i, + this._text && (this._text.width = this._bitmap.width, + this._text.height = this._bitmap.height)) : this._text && (this._text.x = e) + } + } + , + s.changeState = function() { + this._stateChanged = !1, + this.runCallLater(this.changeClips); + var t = this._state < this._stateNum ? this._state : this._stateNum - 1; + this._sources && (this._bitmap.source = this._sources[t]), + this.label && (this._text.color = this._labelColors[t], + this._strokeColors && (this._text.strokeColor = this._strokeColors[t])) + } + , + s._setStateChanged = function() { + this._stateChanged || (this._stateChanged = !0, + this.callLater(this.changeState)) + } + , + r(0, s, "labelStrokeColor", function() { + return this.createText(), + this._text.strokeColor + }, function(t) { + this.createText(), + this._text.strokeColor = t + }), + r(0, s, "measureHeight", function() { + return this.runCallLater(this.changeClips), + this._text ? Math.max(this._bitmap.height, this._text.height) : this._bitmap.height + }), + r(0, s, "skin", function() { + return this._skin + }, function(t) { + this._skin != t && (this._skin = t, + this.callLater(this.changeClips), + this._setStateChanged()) + }), + r(0, s, "state", function() { + return this._state + }, function(t) { + this._state != t && (this._state = t, + this._setStateChanged()) + }), + r(0, s, "text", function() { + return this.createText(), + this._text + }), + r(0, s, "stateNum", function() { + return this._stateNum + }, function(t) { + "string" == typeof t && (t = parseInt(t)), + this._stateNum != t && (this._stateNum = t < 1 ? 1 : t > 3 ? 3 : t, + this.callLater(this.changeClips)) + }), + r(0, s, "strokeColors", function() { + return this._strokeColors ? this._strokeColors.join(",") : "" + }, function(t) { + this._strokeColors = T.fillArray(L.buttonLabelColors, t, String), + this._setStateChanged() + }), + r(0, s, "labelColors", function() { + return this._labelColors.join(",") + }, function(t) { + this._labelColors = T.fillArray(L.buttonLabelColors, t, String), + this._setStateChanged() + }), + r(0, s, "measureWidth", function() { + return this.runCallLater(this.changeClips), + this._autoSize ? this._bitmap.width : (this.runCallLater(this.changeState), + this._bitmap.width + (this._text ? this._text.width : 0)) + }), + r(0, s, "label", function() { + return this._text ? this._text.text : null + }, function(t) { + (this._text || t) && (this.createText(), + this._text.text != t && (t && !this._text.parent && this.addChild(this._text), + this._text.text = (t + "").replace(/\\n/g, "\n"), + this._setStateChanged())) + }), + r(0, s, "selected", function() { + return this._selected + }, function(t) { + this._selected != t && (this._selected = t, + this.state = this._selected ? 2 : 0, + this.event("change")) + }), + r(0, s, "labelPadding", function() { + return this.createText(), + this._text.padding.join(",") + }, function(t) { + this.createText(), + this._text.padding = T.fillArray(L.labelPadding, t, Number) + }), + r(0, s, "labelSize", function() { + return this.createText(), + this._text.fontSize + }, function(t) { + this.createText(), + this._text.fontSize = t + }), + r(0, s, "labelStroke", function() { + return this.createText(), + this._text.stroke + }, function(t) { + this.createText(), + this._text.stroke = t + }), + r(0, s, "labelBold", function() { + return this.createText(), + this._text.bold + }, function(t) { + this.createText(), + this._text.bold = t + }), + r(0, s, "labelFont", function() { + return this.createText(), + this._text.font + }, function(t) { + this.createText(), + this._text.font = t + }), + r(0, s, "labelAlign", function() { + return this.createText(), + this._text.align + }, function(t) { + this.createText(), + this._text.align = t + }), + r(0, s, "clickHandler", function() { + return this._clickHandler + }, function(t) { + this._clickHandler = t + }), + r(0, s, "sizeGrid", function() { + return this._bitmap.sizeGrid ? this._bitmap.sizeGrid.join(",") : null + }, function(t) { + this._bitmap.sizeGrid = T.fillArray(L.defaultSizeGrid, t, Number) + }), + r(0, s, "width", t.prototype._$get_width, function(t) { + i.superSet(N, this, "width", t), + this._autoSize && (this._bitmap.width = t, + this._text && (this._text.width = t)) + }), + r(0, s, "height", t.prototype._$get_height, function(t) { + i.superSet(N, this, "height", t), + this._autoSize && (this._bitmap.height = t, + this._text && (this._text.height = t)) + }), + r(0, s, "dataSource", t.prototype._$get_dataSource, function(t) { + this._dataSource = t, + "number" == typeof t || "string" == typeof t ? this.label = t + "" : i.superSet(N, this, "dataSource", t) + }), + r(0, s, "iconOffset", function() { + return this._bitmap._offset ? this._bitmap._offset.join(",") : null + }, function(t) { + this._bitmap._offset = t ? T.fillArray([1, 1], t, Number) : [] + }), + n(e, ["stateMap", function() { + return this.stateMap = { + mouseup: 0, + mouseover: 1, + mousedown: 2, + mouseout: 0 + } + } + ]), + e + }(N) + , R = function(t) { + function e(t, i, n) { + this._sources = null, + this._bitmap = null, + this._skin = null, + this._clipX = 1, + this._clipY = 1, + this._clipWidth = 0, + this._clipHeight = 0, + this._autoPlay = !1, + this._interval = 50, + this._complete = null, + this._isPlaying = !1, + this._index = 0, + this._clipChanged = !1, + this._group = null, + this._toIndex = -1, + e.__super.call(this), + void 0 === i && (i = 1), + void 0 === n && (n = 1), + this._clipX = i, + this._clipY = n, + this.skin = t + } + a(e, "laya.ui.Clip", t); + var n = e.prototype; + return n.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, !0), + this._bitmap && this._bitmap.destroy(), + this._bitmap = null, + this._sources = null + } + , + n.dispose = function() { + this.destroy(!0), + i.loader.clearRes(this._skin) + } + , + n.createChildren = function() { + this.graphics = this._bitmap = new D + } + , + n._onDisplay = function(t) { + this._isPlaying ? this._displayedInStage ? this.play() : this.stop() : this._autoPlay && this.play() + } + , + n.changeClip = function() { + if (this._clipChanged = !1, + this._skin) { + var t = m.getRes(this._skin); + t ? this.loadComplete(this._skin, t) : i.loader.load(this._skin, f.create(this, this.loadComplete, [this._skin])) + } + } + , + n.loadComplete = function(t, e) { + if (t === this._skin && e) { + var i = this._clipWidth || Math.ceil(e.sourceWidth / this._clipX) + , n = this._clipHeight || Math.ceil(e.sourceHeight / this._clipY) + , a = this._skin + i + n + , r = S.I.get(a); + if (C.isOkTextureList(r) || (r = null), + r) + this._sources = r; + else { + this._sources = []; + for (var s = 0; s < this._clipY; s++) + for (var o = 0; o < this._clipX; o++) + this._sources.push(x.createFromTexture(e, i * o, n * s, i, n)); + S.I.set(a, this._sources) + } + this.index = this._index, + this.event("loaded"), + this.onCompResize() + } + } + , + n.play = function(t, e) { + void 0 === t && (t = 0), + void 0 === e && (e = -1), + this._isPlaying = !0, + this.index = t, + this._toIndex = e, + this._index++, + i.timer.loop(this.interval, this, this._loop), + this.on("display", this, this._onDisplay), + this.on("undisplay", this, this._onDisplay) + } + , + n._loop = function() { + this._style.visible && this._sources && (this._index++, + this._toIndex > -1 && this._index >= this._toIndex ? this.stop() : this._index >= this._sources.length && (this._index = 0), + this.index = this._index) + } + , + n.stop = function() { + this._isPlaying = !1, + i.timer.clear(this, this._loop), + this.event("complete") + } + , + n._setClipChanged = function() { + this._clipChanged || (this._clipChanged = !0, + this.callLater(this.changeClip)) + } + , + r(0, n, "interval", function() { + return this._interval + }, function(t) { + this._interval != t && (this._interval = t, + this._isPlaying && this.play()) + }), + r(0, n, "skin", function() { + return this._skin + }, function(t) { + this._skin != t && (this._skin = t, + t ? this._setClipChanged() : this._bitmap.source = null) + }), + r(0, n, "sources", function() { + return this._sources + }, function(t) { + this._sources = t, + this.index = this._index, + this.event("loaded") + }), + r(0, n, "clipX", function() { + return this._clipX + }, function(t) { + this._clipX = t || 1, + this._setClipChanged() + }), + r(0, n, "clipY", function() { + return this._clipY + }, function(t) { + this._clipY = t || 1, + this._setClipChanged() + }), + r(0, n, "total", function() { + return this.runCallLater(this.changeClip), + this._sources ? this._sources.length : 0 + }), + r(0, n, "clipWidth", function() { + return this._clipWidth + }, function(t) { + this._clipWidth = t, + this._setClipChanged() + }), + r(0, n, "sizeGrid", function() { + return this._bitmap.sizeGrid ? this._bitmap.sizeGrid.join(",") : null + }, function(t) { + this._bitmap.sizeGrid = T.fillArray(L.defaultSizeGrid, t, Number) + }), + r(0, n, "group", function() { + return this._group + }, function(t) { + t && this._skin && m.setGroup(this._skin, t), + this._group = t + }), + r(0, n, "clipHeight", function() { + return this._clipHeight + }, function(t) { + this._clipHeight = t, + this._setClipChanged() + }), + r(0, n, "width", t.prototype._$get_width, function(t) { + i.superSet(N, this, "width", t), + this._bitmap.width = t + }), + r(0, n, "height", t.prototype._$get_height, function(t) { + i.superSet(N, this, "height", t), + this._bitmap.height = t + }), + r(0, n, "measureWidth", function() { + return this.runCallLater(this.changeClip), + this._bitmap.width + }), + r(0, n, "measureHeight", function() { + return this.runCallLater(this.changeClip), + this._bitmap.height + }), + r(0, n, "index", function() { + return this._index + }, function(t) { + this._index = t, + this._bitmap && this._sources && (this._bitmap.source = this._sources[t]), + this.event("change") + }), + r(0, n, "autoPlay", function() { + return this._autoPlay + }, function(t) { + this._autoPlay != t && (this._autoPlay = t, + t ? this.play() : this.stop()) + }), + r(0, n, "isPlaying", function() { + return this._isPlaying + }, function(t) { + this._isPlaying = t + }), + r(0, n, "dataSource", t.prototype._$get_dataSource, function(t) { + this._dataSource = t, + "number" == typeof t && Math.floor(t) == t || "string" == typeof t ? this.index = parseInt(t) : i.superSet(N, this, "dataSource", t) + }), + r(0, n, "bitmap", function() { + return this._bitmap + }), + e + }(N) + , P = function(t) { + function e() { + this.changeHandler = null, + this._gridSize = 11, + this._bgColor = "#ffffff", + this._borderColor = "#000000", + this._inputColor = "#000000", + this._inputBgColor = "#efefef", + this._colorPanel = null, + this._colorTiles = null, + this._colorBlock = null, + this._colorInput = null, + this._colorButton = null, + this._colors = [], + this._selectedColor = "#000000", + this._panelChanged = !1, + e.__super.call(this) + } + a(e, "laya.ui.ColorPicker", t); + var n = e.prototype; + return n.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, e), + this._colorPanel && this._colorPanel.destroy(e), + this._colorButton && this._colorButton.destroy(e), + this._colorPanel = null, + this._colorTiles = null, + this._colorBlock = null, + this._colorInput = null, + this._colorButton = null, + this._colors = null, + this.changeHandler = null + } + , + n.createChildren = function() { + this.addChild(this._colorButton = new k), + this._colorPanel = new B, + this._colorPanel.size(230, 166), + this._colorPanel.addChild(this._colorTiles = new b), + this._colorPanel.addChild(this._colorBlock = new b), + this._colorPanel.addChild(this._colorInput = new p) + } + , + n.initialize = function() { + this._colorButton.on("click", this, this.onColorButtonClick), + this._colorBlock.pos(5, 5), + this._colorInput.pos(60, 5), + this._colorInput.size(60, 20), + this._colorInput.on("change", this, this.onColorInputChange), + this._colorInput.on("keydown", this, this.onColorFieldKeyDown), + this._colorTiles.pos(5, 30), + this._colorTiles.on("mousemove", this, this.onColorTilesMouseMove), + this._colorTiles.on("click", this, this.onColorTilesClick), + this._colorTiles.size(20 * this._gridSize, 12 * this._gridSize), + this._colorPanel.on("mousedown", this, this.onPanelMouseDown), + this.bgColor = this._bgColor + } + , + n.onPanelMouseDown = function(t) { + t.stopPropagation() + } + , + n.changePanel = function() { + this._panelChanged = !1; + var t = this._colorPanel.graphics; + t.clear(), + t.drawRect(0, 0, 230, 166, this._bgColor, this._borderColor), + this.drawBlock(this._selectedColor), + this._colorInput.borderColor = this._borderColor, + this._colorInput.bgColor = this._inputBgColor, + this._colorInput.color = this._inputColor, + (t = this._colorTiles.graphics).clear(); + for (var e = [0, 3355443, 6710886, 10066329, 13421772, 16777215, 16711680, 65280, 255, 16776960, 65535, 16711935], i = 0; i < 12; i++) + for (var n = 0; n < 20; n++) { + var a = 0; + a = 0 === n ? e[i] : 1 === n ? 0 : 51 * (((3 * i + n / 6) % 3 << 0) + 3 * (i / 6 << 0)) << 16 | n % 6 * 51 << 8 | (i << 0) % 6 * 51; + var r = T.toColor(a); + this._colors.push(r); + var s = n * this._gridSize + , o = i * this._gridSize; + t.drawRect(s, o, this._gridSize, this._gridSize, r, "#000000") + } + } + , + n.onColorButtonClick = function(t) { + this._colorPanel.parent ? this.close() : this.open() + } + , + n.open = function() { + var t = this.localToGlobal(new g) + , e = t.x + this._colorPanel.width <= i.stage.width ? t.x : i.stage.width - this._colorPanel.width + , n = t.y + this._colorButton.height; + n = n + this._colorPanel.height <= i.stage.height ? n : t.y - this._colorPanel.height, + this._colorPanel.pos(e, n), + this._colorPanel.zOrder = 1001, + i._currentStage.addChild(this._colorPanel), + i.stage.on("mousedown", this, this.removeColorBox) + } + , + n.close = function() { + i.stage.off("mousedown", this, this.removeColorBox), + this._colorPanel.removeSelf() + } + , + n.removeColorBox = function(t) { + this.close() + } + , + n.onColorFieldKeyDown = function(t) { + 13 == t.keyCode && (this._colorInput.text ? this.selectedColor = this._colorInput.text : this.selectedColor = null, + this.close(), + t.stopPropagation()) + } + , + n.onColorInputChange = function(t) { + this._colorInput.text ? this.drawBlock(this._colorInput.text) : this.drawBlock("#FFFFFF") + } + , + n.onColorTilesClick = function(t) { + this.selectedColor = this.getColorByMouse(), + this.close() + } + , + n.onColorTilesMouseMove = function(t) { + this._colorInput.focus = !1; + var e = this.getColorByMouse(); + this._colorInput.text = e, + this.drawBlock(e) + } + , + n.getColorByMouse = function() { + var t = this._colorTiles.getMousePoint() + , e = Math.floor(t.x / this._gridSize) + , i = Math.floor(t.y / this._gridSize); + return this._colors[20 * i + e] + } + , + n.drawBlock = function(t) { + var e = this._colorBlock.graphics; + e.clear(); + var i = t || "#ffffff"; + e.drawRect(0, 0, 50, 20, i, this._borderColor), + t || e.drawLine(0, 0, 50, 20, "#ff0000") + } + , + n.changeColor = function() { + var t = this.graphics; + t.clear(); + var e = this._selectedColor || "#000000"; + t.drawRect(0, 0, this._colorButton.width, this._colorButton.height, e) + } + , + n._setPanelChanged = function() { + this._panelChanged || (this._panelChanged = !0, + this.callLater(this.changePanel)) + } + , + r(0, n, "inputBgColor", function() { + return this._inputBgColor + }, function(t) { + this._inputBgColor = t, + this._setPanelChanged() + }), + r(0, n, "selectedColor", function() { + return this._selectedColor + }, function(t) { + this._selectedColor != t && (this._selectedColor = this._colorInput.text = t, + this.drawBlock(t), + this.changeColor(), + this.changeHandler && this.changeHandler.runWith(this._selectedColor), + this.event("change", c.EMPTY.setTo("change", this, this))) + }), + r(0, n, "skin", function() { + return this._colorButton.skin + }, function(t) { + this._colorButton.skin = t, + this.changeColor() + }), + r(0, n, "bgColor", function() { + return this._bgColor + }, function(t) { + this._bgColor = t, + this._setPanelChanged() + }), + r(0, n, "borderColor", function() { + return this._borderColor + }, function(t) { + this._borderColor = t, + this._setPanelChanged() + }), + r(0, n, "inputColor", function() { + return this._inputColor + }, function(t) { + this._inputColor = t, + this._setPanelChanged() + }), + e + }(N) + , O = function(t) { + function e(t, i) { + this._visibleNum = 6, + this._button = null, + this._list = null, + this._isOpen = !1, + this._itemSize = 12, + this._labels = [], + this._selectedIndex = -1, + this._selectHandler = null, + this._itemHeight = NaN, + this._listHeight = NaN, + this._listChanged = !1, + this._itemChanged = !1, + this._scrollBarSkin = null, + this._isCustomList = !1, + this.itemRender = null, + e.__super.call(this), + this._itemColors = L.comboBoxItemColors, + this.skin = t, + this.labels = i + } + a(e, "laya.ui.ComboBox", t); + var n = e.prototype; + return n.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, e), + this._button && this._button.destroy(e), + this._list && this._list.destroy(e), + this._button = null, + this._list = null, + this._itemColors = null, + this._labels = null, + this._selectHandler = null + } + , + n.createChildren = function() { + this.addChild(this._button = new k), + this._button.text.align = "left", + this._button.labelPadding = "0,0,0,5", + this._button.on("mousedown", this, this.onButtonMouseDown) + } + , + n._createList = function() { + this._list = new q, + this._scrollBarSkin && (this._list.vScrollBarSkin = this._scrollBarSkin), + this._setListEvent(this._list) + } + , + n._setListEvent = function(t) { + this._list.selectEnable = !0, + this._list.on("mousedown", this, this.onListDown), + this._list.mouseHandler = f.create(this, this.onlistItemMouse, null, !1), + this._list.scrollBar && this._list.scrollBar.on("mousedown", this, this.onScrollBarDown) + } + , + n.onListDown = function(t) { + t.stopPropagation() + } + , + n.onScrollBarDown = function(t) { + t.stopPropagation() + } + , + n.onButtonMouseDown = function(t) { + this.callLater(this.switchTo, [!this._isOpen]) + } + , + n.changeList = function() { + this._listChanged = !1; + var t = this.width - 2 + , e = this._itemColors[2]; + this._itemHeight = this._itemSize + 6, + this._list.itemRender = this.itemRender || { + type: "Box", + child: [{ + type: "Label", + props: { + name: "label", + x: 1, + padding: "3,3,3,3", + width: t, + height: this._itemHeight, + fontSize: this._itemSize, + color: e + } + }] + }, + this._list.repeatY = this._visibleNum, + this._list.refresh() + } + , + n.onlistItemMouse = function(t, e) { + var i = t.type; + if ("mouseover" === i || "mouseout" === i) { + if (this._isCustomList) + return; + var n = this._list.getCell(e); + if (!n) + return; + var a = n.getChildByName("label"); + a && ("mouseover" === i ? (a.bgColor = this._itemColors[0], + a.color = this._itemColors[1]) : (a.bgColor = null, + a.color = this._itemColors[2])) + } else + "click" === i && (this.selectedIndex = e, + this.isOpen = !1) + } + , + n.switchTo = function(t) { + this.isOpen = t + } + , + n.changeOpen = function() { + this.isOpen = !this._isOpen + } + , + n.changeItem = function() { + if (this._itemChanged = !1, + this._listHeight = this._labels.length > 0 ? Math.min(this._visibleNum, this._labels.length) * this._itemHeight : this._itemHeight, + !this._isCustomList) { + var t = this._list.graphics; + t.clear(), + t.drawRect(0, 0, this.width - 1, this._listHeight, this._itemColors[4], this._itemColors[3]) + } + var e = this._list.array || []; + e.length = 0; + for (var i = 0, n = this._labels.length; i < n; i++) + e.push({ + label: this._labels[i] + }); + this._list.height = this._listHeight, + this._list.array = e + } + , + n.changeSelected = function() { + this._button.label = this.selectedLabel + } + , + n._onStageMouseWheel = function(t) { + this._list && !this._list.contains(t.target) && this.removeList(null) + } + , + n.removeList = function(t) { + i.stage.off("mousedown", this, this.removeList), + i.stage.off("mousewheel", this, this._onStageMouseWheel), + this.isOpen = !1 + } + , + r(0, n, "selectedIndex", function() { + return this._selectedIndex + }, function(t) { + this._selectedIndex != t && (this._selectedIndex = t, + this._labels.length > 0 ? this.changeSelected() : this.callLater(this.changeSelected), + this.event("change", [c.EMPTY.setTo("change", this, this)]), + this._selectHandler && this._selectHandler.runWith(this._selectedIndex)) + }), + r(0, n, "measureHeight", function() { + return this._button.height + }), + r(0, n, "skin", function() { + return this._button.skin + }, function(t) { + this._button.skin != t && (this._button.skin = t, + this._listChanged = !0) + }), + r(0, n, "measureWidth", function() { + return this._button.width + }), + r(0, n, "width", t.prototype._$get_width, function(t) { + i.superSet(N, this, "width", t), + this._button.width = this._width, + this._itemChanged = !0, + this._listChanged = !0 + }), + r(0, n, "selectedLabel", function() { + return this._selectedIndex > -1 && this._selectedIndex < this._labels.length ? this._labels[this._selectedIndex] : null + }, function(t) { + this.selectedIndex = this._labels.indexOf(t) + }), + r(0, n, "labels", function() { + return this._labels.join(",") + }, function(t) { + this._labels.length > 0 && (this.selectedIndex = -1), + t ? this._labels = t.split(",") : this._labels.length = 0, + this._itemChanged = !0 + }), + r(0, n, "height", t.prototype._$get_height, function(t) { + i.superSet(N, this, "height", t), + this._button.height = this._height + }), + r(0, n, "selectHandler", function() { + return this._selectHandler + }, function(t) { + this._selectHandler = t + }), + r(0, n, "visibleNum", function() { + return this._visibleNum + }, function(t) { + this._visibleNum = t, + this._listChanged = !0 + }), + r(0, n, "labelBold", function() { + return this._button.text.bold + }, function(t) { + this._button.text.bold = t + }), + r(0, n, "itemColors", function() { + return String(this._itemColors) + }, function(t) { + this._itemColors = T.fillArray(this._itemColors, t, String), + this._listChanged = !0 + }), + r(0, n, "itemSize", function() { + return this._itemSize + }, function(t) { + this._itemSize = t, + this._listChanged = !0 + }), + r(0, n, "scrollBar", function() { + return this.list.scrollBar + }), + r(0, n, "isOpen", function() { + return this._isOpen + }, function(t) { + if (this._isOpen != t) + if (this._isOpen = t, + this._button.selected = this._isOpen, + this._isOpen) { + this._list || this._createList(), + this._listChanged && !this._isCustomList && this.changeList(), + this._itemChanged && this.changeItem(); + var e = this.localToGlobal(g.TEMP.setTo(0, 0)) + , n = e.y + this._button.height; + n = n + this._listHeight <= i.stage.height ? n : e.y - this._listHeight, + this._list.pos(e.x, n), + this._list.zOrder = 1001, + i._currentStage.addChild(this._list), + i.stage.once("mousedown", this, this.removeList), + i.stage.on("mousewheel", this, this._onStageMouseWheel), + this._list.selectedIndex = this._selectedIndex + } else + this._list && this._list.removeSelf() + }), + r(0, n, "scrollBarSkin", function() { + return this._scrollBarSkin + }, function(t) { + this._scrollBarSkin = t + }), + r(0, n, "sizeGrid", function() { + return this._button.sizeGrid + }, function(t) { + this._button.sizeGrid = t + }), + r(0, n, "button", function() { + return this._button + }), + r(0, n, "list", function() { + return this._list || this._createList(), + this._list + }, function(t) { + t && (t.removeSelf(), + this._isCustomList = !0, + this._list = t, + this._setListEvent(t), + this._itemHeight = t.getCell(0).height + t.spaceY) + }), + r(0, n, "dataSource", t.prototype._$get_dataSource, function(t) { + this._dataSource = t, + "number" == typeof t && Math.floor(t) == t || "string" == typeof t ? this.selectedIndex = parseInt(t) : t instanceof Array ? this.labels = t.join(",") : i.superSet(N, this, "dataSource", t) + }), + r(0, n, "labelColors", function() { + return this._button.labelColors + }, function(t) { + this._button.labelColors != t && (this._button.labelColors = t) + }), + r(0, n, "labelPadding", function() { + return this._button.text.padding.join(",") + }, function(t) { + this._button.text.padding = T.fillArray(L.labelPadding, t, Number) + }), + r(0, n, "labelSize", function() { + return this._button.text.fontSize + }, function(t) { + this._button.text.fontSize = t + }), + r(0, n, "labelFont", function() { + return this._button.text.font + }, function(t) { + this._button.text.font = t + }), + r(0, n, "stateNum", function() { + return this._button.stateNum + }, function(t) { + this._button.stateNum = t + }), + e + }(N) + , U = function(t) { + function e(t) { + this.rollRatio = .95, + this.changeHandler = null, + this.scaleBar = !0, + this.autoHide = !1, + this.elasticDistance = 0, + this.elasticBackTime = 500, + this.upButton = null, + this.downButton = null, + this.slider = null, + this._scrollSize = 1, + this._skin = null, + this._thumbPercent = 1, + this._target = null, + this._lastPoint = null, + this._lastOffset = 0, + this._checkElastic = !1, + this._isElastic = !1, + this._value = NaN, + this._hide = !1, + this._clickOnly = !0, + this._offsets = null, + e.__super.call(this), + this._showButtons = E.showButtons, + this._touchScrollEnable = E.touchScrollEnable, + this._mouseWheelEnable = E.mouseWheelEnable, + this.skin = t, + this.max = 1 + } + a(e, "laya.ui.ScrollBar", t); + var n = e.prototype; + return n.destroy = function(e) { + void 0 === e && (e = !0), + this.stopScroll(), + this.target = null, + t.prototype.destroy.call(this, e), + this.upButton && this.upButton.destroy(e), + this.downButton && this.downButton.destroy(e), + this.slider && this.slider.destroy(e), + this.upButton = this.downButton = null, + this.slider = null, + this.changeHandler = null, + this._offsets = null + } + , + n.createChildren = function() { + this.addChild(this.slider = new V), + this.addChild(this.upButton = new k), + this.addChild(this.downButton = new k) + } + , + n.initialize = function() { + this.slider.showLabel = !1, + this.slider.on("change", this, this.onSliderChange), + this.slider.setSlider(0, 0, 0), + this.upButton.on("mousedown", this, this.onButtonMouseDown), + this.downButton.on("mousedown", this, this.onButtonMouseDown) + } + , + n.onSliderChange = function() { + this._value != this.slider.value && (this.value = this.slider.value) + } + , + n.onButtonMouseDown = function(t) { + var e = t.currentTarget === this.upButton; + this.slide(e), + i.timer.once(L.scrollBarDelayTime, this, this.startLoop, [e]), + i.stage.once("mouseup", this, this.onStageMouseUp) + } + , + n.startLoop = function(t) { + i.timer.frameLoop(1, this, this.slide, [t]) + } + , + n.slide = function(t) { + t ? this.value -= this._scrollSize : this.value += this._scrollSize + } + , + n.onStageMouseUp = function(t) { + i.timer.clear(this, this.startLoop), + i.timer.clear(this, this.slide) + } + , + n.changeScrollBar = function() { + this.upButton.visible = this._showButtons, + this.downButton.visible = this._showButtons, + this._showButtons && (this.upButton.skin = this._skin.replace(".png", "$up.png"), + this.downButton.skin = this._skin.replace(".png", "$down.png")), + this.slider.isVertical ? this.slider.y = this._showButtons ? this.upButton.height : 0 : this.slider.x = this._showButtons ? this.upButton.width : 0, + this.resetPositions(), + this.repaint() + } + , + n.changeSize = function() { + t.prototype.changeSize.call(this), + this.repaint(), + this.resetPositions(), + this.event("change"), + this.changeHandler && this.changeHandler.runWith(this.value) + } + , + n.resetPositions = function() { + this.slider.isVertical ? this.slider.height = this.height - (this._showButtons ? this.upButton.height + this.downButton.height : 0) : this.slider.width = this.width - (this._showButtons ? this.upButton.width + this.downButton.width : 0), + this.resetButtonPosition() + } + , + n.resetButtonPosition = function() { + this.slider.isVertical ? this.downButton.y = this.slider.y + this.slider.height : this.downButton.x = this.slider.x + this.slider.width + } + , + n.setScroll = function(t, e, i) { + this.runCallLater(this.changeSize), + this.slider.setSlider(t, e, i), + this.slider.bar.visible = e > 0, + !this._hide && this.autoHide && (this.visible = !1) + } + , + n.onTargetMouseWheel = function(t) { + this.value -= t.delta * this._scrollSize, + this.target = this._target + } + , + n.onTargetMouseDown = function(t) { + this._clickOnly = !0, + this._lastOffset = 0, + this._checkElastic = !1, + this._lastPoint || (this._lastPoint = new g), + this._lastPoint.setTo(i.stage.mouseX, i.stage.mouseY), + i.timer.clear(this, this.tweenMove), + I.clearTween(this), + i.stage.once("mouseup", this, this.onStageMouseUp2), + i.stage.once("mouseout", this, this.onStageMouseUp2), + i.timer.frameLoop(1, this, this.loop) + } + , + n.loop = function() { + var t = i.stage.mouseY + , e = i.stage.mouseX; + if (this._lastOffset = this.isVertical ? t - this._lastPoint.y : e - this._lastPoint.x, + this._clickOnly) { + if (!(Math.abs(this._lastOffset * (this.isVertical ? i.stage._canvasTransform.getScaleY() : i.stage._canvasTransform.getScaleX())) > 1)) + return; + this._clickOnly = !1, + this._offsets || (this._offsets = []), + this._offsets.length = 0, + this._target.mouseEnabled = !1, + !this.hide && this.autoHide && (this.alpha = 1, + this.visible = !0), + this.event("start") + } + this._offsets.push(this._lastOffset), + this._lastPoint.x = e, + this._lastPoint.y = t, + 0 !== this._lastOffset && (this._checkElastic || (this.elasticDistance > 0 ? this._checkElastic || 0 == this._lastOffset || (this._lastOffset > 0 && this._value <= this.min || this._lastOffset < 0 && this._value >= this.max ? (this._isElastic = !0, + this._checkElastic = !0) : this._isElastic = !1) : this._checkElastic = !0), + this._isElastic ? this._value <= this.min ? this.value -= this._lastOffset * Math.max(0, 1 - (this.min - this._value) / this.elasticDistance) : this._value >= this.max && (this.value -= this._lastOffset * Math.max(0, 1 - (this._value - this.max) / this.elasticDistance)) : this.value -= this._lastOffset) + } + , + n.onStageMouseUp2 = function(t) { + if (i.stage.off("mouseup", this, this.onStageMouseUp2), + i.stage.off("mouseout", this, this.onStageMouseUp2), + i.timer.clear(this, this.loop), + !(this._clickOnly && this._value >= this.min && this._value <= this.max)) + if (this._target.mouseEnabled = !0, + this._isElastic) + this._value < this.min ? I.to(this, { + value: this.min + }, this.elasticBackTime, h.sineOut, f.create(this, this.elasticOver)) : this._value > this.max && I.to(this, { + value: this.max + }, this.elasticBackTime, h.sineOut, f.create(this, this.elasticOver)); + else { + if (!this._offsets) + return; + this._offsets.length < 1 && (this._offsets[0] = this.isVertical ? i.stage.mouseY - this._lastPoint.y : i.stage.mouseX - this._lastPoint.x); + for (var e = 0, n = Math.min(this._offsets.length, 3), a = 0; a < n; a++) + e += this._offsets[this._offsets.length - 1 - a]; + if (this._lastOffset = e / n, + (e = Math.abs(this._lastOffset)) < 2) + return void this.event("end"); + e > 60 && (this._lastOffset = this._lastOffset > 0 ? 60 : -60); + var r = Math.round(Math.abs(this.elasticDistance * (this._lastOffset / 240))); + i.timer.frameLoop(1, this, this.tweenMove, [r]) + } + } + , + n.elasticOver = function() { + this._isElastic = !1, + !this.hide && this.autoHide && I.to(this, { + alpha: 0 + }, 500), + this.event("end") + } + , + n.tweenMove = function(t) { + this._lastOffset *= this.rollRatio; + var e = NaN; + if (t > 0 && (this._lastOffset > 0 && this.value <= this.min ? (this._isElastic = !0, + e = .5 * -(this.min - t - this.value), + this._lastOffset > e && (this._lastOffset = e)) : this._lastOffset < 0 && this.value >= this.max && (this._isElastic = !0, + e = .5 * -(this.max + t - this.value), + this._lastOffset < e && (this._lastOffset = e))), + this.value -= this._lastOffset, + Math.abs(this._lastOffset) < 1) { + if (i.timer.clear(this, this.tweenMove), + this._isElastic) + return void (this._value < this.min ? I.to(this, { + value: this.min + }, this.elasticBackTime, h.sineOut, f.create(this, this.elasticOver)) : this._value > this.max ? I.to(this, { + value: this.max + }, this.elasticBackTime, h.sineOut, f.create(this, this.elasticOver)) : this.elasticOver()); + this.event("end"), + !this.hide && this.autoHide && I.to(this, { + alpha: 0 + }, 500) + } + } + , + n.stopScroll = function() { + this.onStageMouseUp2(null), + i.timer.clear(this, this.tweenMove), + I.clearTween(this) + } + , + r(0, n, "measureHeight", function() { + return this.slider.isVertical ? 100 : this.slider.height + }), + r(0, n, "skin", function() { + return this._skin + }, function(t) { + this._skin != t && (this._skin = t, + this.slider.skin = this._skin, + this.callLater(this.changeScrollBar)) + }), + r(0, n, "max", function() { + return this.slider.max + }, function(t) { + this.slider.max = t + }), + r(0, n, "showButtons", function() { + return this._showButtons + }, function(t) { + this._showButtons = t, + this.callLater(this.changeScrollBar) + }), + r(0, n, "measureWidth", function() { + return this.slider.isVertical ? this.slider.width : 100 + }), + r(0, n, "min", function() { + return this.slider.min + }, function(t) { + this.slider.min = t + }), + r(0, n, "value", function() { + return this._value + }, function(t) { + t !== this._value && (this._value = t, + this._isElastic || (this.slider._value != t && (this.slider._value = t, + this.slider.changeValue()), + this._value = this.slider._value), + this.event("change"), + this.changeHandler && this.changeHandler.runWith(this._value)) + }), + r(0, n, "isVertical", function() { + return this.slider.isVertical + }, function(t) { + this.slider.isVertical = t + }), + r(0, n, "sizeGrid", function() { + return this.slider.sizeGrid + }, function(t) { + this.slider.sizeGrid = t + }), + r(0, n, "scrollSize", function() { + return this._scrollSize + }, function(t) { + this._scrollSize = t + }), + r(0, n, "dataSource", t.prototype._$get_dataSource, function(t) { + this._dataSource = t, + "number" == typeof t || "string" == typeof t ? this.value = Number(t) : i.superSet(N, this, "dataSource", t) + }), + r(0, n, "thumbPercent", function() { + return this._thumbPercent + }, function(t) { + this.runCallLater(this.changeScrollBar), + this.runCallLater(this.changeSize), + t = t >= 1 ? .99 : t, + this._thumbPercent = t, + this.scaleBar && (this.slider.isVertical ? this.slider.bar.height = Math.max(this.slider.height * t, L.scrollBarMinNum) : this.slider.bar.width = Math.max(this.slider.width * t, L.scrollBarMinNum)) + }), + r(0, n, "target", function() { + return this._target + }, function(t) { + this._target && (this._target.off("mousewheel", this, this.onTargetMouseWheel), + this._target.off("mousedown", this, this.onTargetMouseDown)), + this._target = t, + t && (this._mouseWheelEnable && this._target.on("mousewheel", this, this.onTargetMouseWheel), + this._touchScrollEnable && this._target.on("mousedown", this, this.onTargetMouseDown)) + }), + r(0, n, "hide", function() { + return this._hide + }, function(t) { + this._hide = t, + this.visible = !t + }), + r(0, n, "touchScrollEnable", function() { + return this._touchScrollEnable + }, function(t) { + this._touchScrollEnable = t, + this.target = this._target + }), + r(0, n, "mouseWheelEnable", function() { + return this._mouseWheelEnable + }, function(t) { + this._mouseWheelEnable = t + }), + r(0, n, "tick", function() { + return this.slider.tick + }, function(t) { + this.slider.tick = t + }), + e + }(N) + , V = function(t) { + function e(t) { + this.changeHandler = null, + this.isVertical = !0, + this.showLabel = !0, + this._allowClickBack = !1, + this._max = 100, + this._min = 0, + this._tick = 1, + this._value = 0, + this._skin = null, + this._bg = null, + this._progress = null, + this._bar = null, + this._tx = NaN, + this._ty = NaN, + this._maxMove = NaN, + this._globalSacle = null, + e.__super.call(this), + this.skin = t + } + a(e, "laya.ui.Slider", t); + var s = e.prototype; + return s.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, e), + this._bg && this._bg.destroy(e), + this._bar && this._bar.destroy(e), + this._progress && this._progress.destroy(e), + this._bg = null, + this._bar = null, + this._progress = null, + this.changeHandler = null + } + , + s.createChildren = function() { + this.addChild(this._bg = new F), + this.addChild(this._bar = new k) + } + , + s.initialize = function() { + this._bar.on("mousedown", this, this.onBarMouseDown), + this._bg.sizeGrid = this._bar.sizeGrid = "4,4,4,4,0", + this._progress && (this._progress.sizeGrid = this._bar.sizeGrid), + this.allowClickBack = !0 + } + , + s.onBarMouseDown = function(t) { + this._globalSacle || (this._globalSacle = new g), + this._globalSacle.setTo(this.globalScaleX || .01, this.globalScaleY || .01), + this._maxMove = this.isVertical ? this.height - this._bar.height : this.width - this._bar.width, + this._tx = i.stage.mouseX, + this._ty = i.stage.mouseY, + i.stage.on("mousemove", this, this.mouseMove), + i.stage.once("mouseup", this, this.mouseUp), + i.stage.once("mouseout", this, this.mouseUp), + this.showValueText() + } + , + s.showValueText = function() { + if (this.showLabel) { + var t = laya.ui.Slider.label; + this.addChild(t), + t.textField.changeText(this._value + ""), + this.isVertical ? (t.x = this._bar.x + 20, + t.y = .5 * (this._bar.height - t.height) + this._bar.y) : (t.y = this._bar.y - 20, + t.x = .5 * (this._bar.width - t.width) + this._bar.x) + } + } + , + s.hideValueText = function() { + laya.ui.Slider.label && laya.ui.Slider.label.removeSelf() + } + , + s.mouseUp = function(t) { + i.stage.off("mousemove", this, this.mouseMove), + i.stage.off("mouseup", this, this.mouseUp), + i.stage.off("mouseout", this, this.mouseUp), + this.sendChangeEvent("changed"), + this.hideValueText() + } + , + s.mouseMove = function(t) { + var e = this._value; + this.isVertical ? (this._bar.y += (i.stage.mouseY - this._ty) / this._globalSacle.y, + this._bar.y > this._maxMove ? this._bar.y = this._maxMove : this._bar.y < 0 && (this._bar.y = 0), + this._value = this._bar.y / this._maxMove * (this._max - this._min) + this._min, + this._progress && (this._progress.height = this._bar.y + .5 * this._bar.height)) : (this._bar.x += (i.stage.mouseX - this._tx) / this._globalSacle.x, + this._bar.x > this._maxMove ? this._bar.x = this._maxMove : this._bar.x < 0 && (this._bar.x = 0), + this._value = this._bar.x / this._maxMove * (this._max - this._min) + this._min, + this._progress && (this._progress.width = this._bar.x + .5 * this._bar.width)), + this._tx = i.stage.mouseX, + this._ty = i.stage.mouseY; + var n = Math.pow(10, (this._tick + "").length - 1); + this._value = Math.round(Math.round(this._value / this._tick) * this._tick * n) / n, + this._value != e && this.sendChangeEvent(), + this.showValueText() + } + , + s.sendChangeEvent = function(t) { + void 0 === t && (t = "change"), + this.event(t), + this.changeHandler && this.changeHandler.runWith(this._value) + } + , + s.setBarPoint = function() { + this.isVertical ? this._bar.x = Math.round(.5 * (this._bg.width - this._bar.width)) : this._bar.y = Math.round(.5 * (this._bg.height - this._bar.height)) + } + , + s.changeSize = function() { + t.prototype.changeSize.call(this), + this.isVertical ? this._bg.height = this.height : this._bg.width = this.width, + this.setBarPoint(), + this.changeValue() + } + , + s.setSlider = function(t, e, i) { + this._value = -1, + this._min = t, + this._max = e > t ? e : t, + this.value = i < t ? t : i > e ? e : i + } + , + s.changeValue = function() { + var t = Math.pow(10, (this._tick + "").length - 1); + this._value = Math.round(Math.round(this._value / this._tick) * this._tick * t) / t, + this._value = this._value > this._max ? this._max : this._value < this._min ? this._min : this._value; + var e = this._max - this._min; + 0 === e && (e = 1), + this.isVertical ? (this._bar.y = (this._value - this._min) / e * (this.height - this._bar.height), + this._progress && (this._progress.height = this._bar.y + .5 * this._bar.height)) : (this._bar.x = (this._value - this._min) / e * (this.width - this._bar.width), + this._progress && (this._progress.width = this._bar.x + .5 * this._bar.width)) + } + , + s.onBgMouseDown = function(t) { + var e = this._bg.getMousePoint(); + this.isVertical ? this.value = e.y / (this.height - this._bar.height) * (this._max - this._min) + this._min : this.value = e.x / (this.width - this._bar.width) * (this._max - this._min) + this._min + } + , + r(0, s, "measureHeight", function() { + return Math.max(this._bg.height, this._bar.height) + }), + r(0, s, "skin", function() { + return this._skin + }, function(t) { + if (this._skin != t) { + this._skin = t, + this._bg.skin = this._skin, + this._bar.skin = this._skin.replace(".png", "$bar.png"); + var e = this._skin.replace(".png", "$progress.png"); + m.getRes(e) && (this._progress || (this.addChild(this._progress = new F), + this._progress.sizeGrid = this._bar.sizeGrid, + this.setChildIndex(this._progress, 1)), + this._progress.skin = e), + this.setBarPoint(), + this.callLater(this.changeValue) + } + }), + r(0, s, "allowClickBack", function() { + return this._allowClickBack + }, function(t) { + this._allowClickBack != t && (this._allowClickBack = t, + t ? this._bg.on("mousedown", this, this.onBgMouseDown) : this._bg.off("mousedown", this, this.onBgMouseDown)) + }), + r(0, s, "max", function() { + return this._max + }, function(t) { + this._max != t && (this._max = t, + this.callLater(this.changeValue)) + }), + r(0, s, "measureWidth", function() { + return Math.max(this._bg.width, this._bar.width) + }), + r(0, s, "tick", function() { + return this._tick + }, function(t) { + this._tick != t && (this._tick = t, + this.callLater(this.changeValue)) + }), + r(0, s, "sizeGrid", function() { + return this._bg.sizeGrid + }, function(t) { + this._bg.sizeGrid = t, + this._bar.sizeGrid = t, + this._progress && (this._progress.sizeGrid = this._bar.sizeGrid) + }), + r(0, s, "min", function() { + return this._min + }, function(t) { + this._min != t && (this._min = t, + this.callLater(this.changeValue)) + }), + r(0, s, "value", function() { + return this._value + }, function(t) { + if (this._value != t) { + var e = this._value; + this._value = t, + this.changeValue(), + this._value != e && this.sendChangeEvent() + } + }), + r(0, s, "dataSource", t.prototype._$get_dataSource, function(t) { + this._dataSource = t, + "number" == typeof t || "string" == typeof t ? this.value = Number(t) : i.superSet(N, this, "dataSource", t) + }), + r(0, s, "bar", function() { + return this._bar + }), + n(e, ["label", function() { + return this.label = new H + } + ]), + e + }(N) + , F = function(t) { + function e(t) { + this._bitmap = null, + this._skin = null, + this._group = null, + e.__super.call(this), + this.skin = t + } + a(e, "laya.ui.Image", t); + var n = e.prototype; + return n.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, !0), + this._bitmap && this._bitmap.destroy(), + this._bitmap = null + } + , + n.dispose = function() { + this.destroy(!0), + i.loader.clearRes(this._skin) + } + , + n.createChildren = function() { + this.graphics = this._bitmap = new D, + this._bitmap.autoCacheCmd = !1 + } + , + n.setSource = function(t, e) { + t === this._skin && e && (this.source = e, + this.onCompResize()) + } + , + r(0, n, "source", function() { + return this._bitmap.source + }, function(t) { + this._bitmap && (this._bitmap.source = t, + this.event("loaded"), + this.repaint()) + }), + r(0, n, "dataSource", t.prototype._$get_dataSource, function(t) { + this._dataSource = t, + "string" == typeof t ? this.skin = t : i.superSet(N, this, "dataSource", t) + }), + r(0, n, "measureHeight", function() { + return this._bitmap.height + }), + r(0, n, "skin", function() { + return this._skin + }, function(t) { + if (this._skin != t || !this.source) + if (this._skin = t, + t) { + var e = m.getRes(t); + e ? (this.source = e, + this.onCompResize()) : this.source = null + } else + this.source = null + }), + r(0, n, "group", function() { + return this._group + }, function(t) { + t && this._skin && m.setGroup(this._skin, t), + this._group = t + }), + r(0, n, "sizeGrid", function() { + return this._bitmap.sizeGrid ? this._bitmap.sizeGrid.join(",") : null + }, function(t) { + this._bitmap.sizeGrid = T.fillArray(L.defaultSizeGrid, t, Number) + }), + r(0, n, "measureWidth", function() { + return this._bitmap.width + }), + r(0, n, "width", t.prototype._$get_width, function(t) { + i.superSet(N, this, "width", t), + this._bitmap.width = 0 == t ? 1e-7 : t + }), + r(0, n, "height", t.prototype._$get_height, function(t) { + i.superSet(N, this, "height", t), + this._bitmap.height = 0 == t ? 1e-7 : t + }), + e + }(N) + , H = function(t) { + function e(t) { + this._tf = null, + e.__super.call(this), + void 0 === t && (t = ""), + _.defaultColor = L.labelColor, + this.text = t + } + a(e, "laya.ui.Label", t); + var n = e.prototype; + return n.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, e), + this._tf = null + } + , + n.createChildren = function() { + this.addChild(this._tf = new w) + } + , + n.changeText = function(t) { + this._tf.changeText(t) + } + , + r(0, n, "padding", function() { + return this._tf.padding.join(",") + }, function(t) { + this._tf.padding = T.fillArray(L.labelPadding, t, Number) + }), + r(0, n, "bold", function() { + return this._tf.bold + }, function(t) { + this._tf.bold = t + }), + r(0, n, "align", function() { + return this._tf.align + }, function(t) { + this._tf.align = t + }), + r(0, n, "text", function() { + return this._tf.text + }, function(t) { + this._tf.text != t && (t && (t = T.adptString(t + "")), + this._tf.text = t, + this.event("change"), + this._width && this._height || this.onCompResize()) + }), + r(0, n, "italic", function() { + return this._tf.italic + }, function(t) { + this._tf.italic = t + }), + r(0, n, "wordWrap", function() { + return this._tf.wordWrap + }, function(t) { + this._tf.wordWrap = t + }), + r(0, n, "font", function() { + return this._tf.font + }, function(t) { + this._tf.font = t + }), + r(0, n, "dataSource", t.prototype._$get_dataSource, function(t) { + this._dataSource = t, + "number" == typeof t || "string" == typeof t ? this.text = t + "" : i.superSet(N, this, "dataSource", t) + }), + r(0, n, "color", function() { + return this._tf.color + }, function(t) { + this._tf.color = t + }), + r(0, n, "valign", function() { + return this._tf.valign + }, function(t) { + this._tf.valign = t + }), + r(0, n, "leading", function() { + return this._tf.leading + }, function(t) { + this._tf.leading = t + }), + r(0, n, "fontSize", function() { + return this._tf.fontSize + }, function(t) { + this._tf.fontSize = t + }), + r(0, n, "bgColor", function() { + return this._tf.bgColor + }, function(t) { + this._tf.bgColor = t + }), + r(0, n, "borderColor", function() { + return this._tf.borderColor + }, function(t) { + this._tf.borderColor = t + }), + r(0, n, "stroke", function() { + return this._tf.stroke + }, function(t) { + this._tf.stroke = t + }), + r(0, n, "strokeColor", function() { + return this._tf.strokeColor + }, function(t) { + this._tf.strokeColor = t + }), + r(0, n, "textField", function() { + return this._tf + }), + r(0, n, "measureWidth", function() { + return this._tf.width + }), + r(0, n, "measureHeight", function() { + return this._tf.height + }), + r(0, n, "width", function() { + return this._width || this._tf.text ? i.superGet(N, this, "width") : 0 + }, function(t) { + i.superSet(N, this, "width", t), + this._tf.width = t + }), + r(0, n, "height", function() { + return this._height || this._tf.text ? i.superGet(N, this, "height") : 0 + }, function(t) { + i.superSet(N, this, "height", t), + this._tf.height = t + }), + r(0, n, "overflow", function() { + return this._tf.overflow + }, function(t) { + this._tf.overflow = t + }), + r(0, n, "underline", function() { + return this._tf.underline + }, function(t) { + this._tf.underline = t + }), + r(0, n, "underlineColor", function() { + return this._tf.underlineColor + }, function(t) { + this._tf.underlineColor = t + }), + e + }(N) + , G = function(t) { + function e(t) { + this.changeHandler = null, + this._bg = null, + this._bar = null, + this._skin = null, + this._value = .5, + e.__super.call(this), + this.skin = t + } + a(e, "laya.ui.ProgressBar", t); + var n = e.prototype; + return n.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, e), + this._bg && this._bg.destroy(e), + this._bar && this._bar.destroy(e), + this._bg = this._bar = null, + this.changeHandler = null + } + , + n.createChildren = function() { + this.addChild(this._bg = new F), + this.addChild(this._bar = new F), + this._bar._bitmap.autoCacheCmd = !1 + } + , + n.changeValue = function() { + if (this.sizeGrid) { + var t = this.sizeGrid.split(",") + , e = Number(t[3]) + , i = Number(t[1]) + , n = (this.width - e - i) * this._value; + this._bar.width = e + i + n, + this._bar.visible = this._bar.width > e + i + } else + this._bar.width = this.width * this._value + } + , + r(0, n, "measureHeight", function() { + return this._bg.height + }), + r(0, n, "skin", function() { + return this._skin + }, function(t) { + this._skin != t && (this._skin = t, + this._bg.skin = this._skin, + this._bar.skin = this._skin.replace(".png", "$bar.png"), + this.callLater(this.changeValue)) + }), + r(0, n, "measureWidth", function() { + return this._bg.width + }), + r(0, n, "height", t.prototype._$get_height, function(t) { + i.superSet(N, this, "height", t), + this._bg.height = this._height, + this._bar.height = this._height + }), + r(0, n, "bar", function() { + return this._bar + }), + r(0, n, "value", function() { + return this._value + }, function(t) { + this._value != t && (t = t > 1 ? 1 : t < 0 ? 0 : t, + this._value = t, + this.callLater(this.changeValue), + this.event("change"), + this.changeHandler && this.changeHandler.runWith(t)) + }), + r(0, n, "bg", function() { + return this._bg + }), + r(0, n, "sizeGrid", function() { + return this._bg.sizeGrid + }, function(t) { + this._bg.sizeGrid = this._bar.sizeGrid = t + }), + r(0, n, "width", t.prototype._$get_width, function(t) { + i.superSet(N, this, "width", t), + this._bg.width = this._width, + this.callLater(this.changeValue) + }), + r(0, n, "dataSource", t.prototype._$get_dataSource, function(t) { + this._dataSource = t, + "number" == typeof t || "string" == typeof t ? this.value = Number(t) : i.superSet(N, this, "dataSource", t) + }), + e + }(N) + , z = (function(t) { + function e() { + this._tipBox = null, + this._tipText = null, + this._defaultTipHandler = null, + e.__super.call(this), + this._tipBox = new N, + this._tipBox.addChild(this._tipText = new w), + this._tipText.x = this._tipText.y = 5, + this._tipText.color = e.tipTextColor, + this._defaultTipHandler = this._showDefaultTip, + i.stage.on("showtip", this, this._onStageShowTip), + i.stage.on("hidetip", this, this._onStageHideTip), + this.zOrder = 1100 + } + a(e, "laya.ui.TipManager", N); + var n = e.prototype; + n._onStageHideTip = function(t) { + i.timer.clear(this, this._showTip), + this.closeAll(), + this.removeSelf() + } + , + n._onStageShowTip = function(t) { + i.timer.once(e.tipDelay, this, this._showTip, [t], !0) + } + , + n._showTip = function(t) { + if ("string" == typeof t) { + var e = String(t); + Boolean(e) && this._defaultTipHandler(e) + } else + t instanceof laya.utils.Handler ? t.run() : "function" == typeof t && t.apply(); + i.stage.on("mousemove", this, this._onStageMouseMove), + i.stage.on("mousedown", this, this._onStageMouseDown), + this._onStageMouseMove(null) + } + , + n._onStageMouseDown = function(t) { + this.closeAll() + } + , + n._onStageMouseMove = function(t) { + this._showToStage(this, e.offsetX, e.offsetY) + } + , + n._showToStage = function(t, e, n) { + void 0 === e && (e = 0), + void 0 === n && (n = 0); + var a = t.getBounds(); + t.x = i.stage.mouseX + e, + t.y = i.stage.mouseY + n, + t.x + a.width > i.stage.width && (t.x -= a.width + e), + t.y + a.height > i.stage.height && (t.y -= a.height + n) + } + , + n.closeAll = function() { + i.timer.clear(this, this._showTip), + i.stage.off("mousemove", this, this._onStageMouseMove), + i.stage.off("mousedown", this, this._onStageMouseDown), + this.removeChildren() + } + , + n.showDislayTip = function(t) { + this.addChild(t), + this._showToStage(this), + i._currentStage.addChild(this) + } + , + n._showDefaultTip = function(t) { + this._tipText.text = t; + var n = this._tipBox.graphics; + n.clear(), + n.drawRect(0, 0, this._tipText.width + 10, this._tipText.height + 10, e.tipBackColor), + this.addChild(this._tipBox), + this._showToStage(this), + i._currentStage.addChild(this) + } + , + r(0, n, "defaultTipHandler", function() { + return this._defaultTipHandler + }, function(t) { + this._defaultTipHandler = t + }), + e.offsetX = 10, + e.offsetY = 15, + e.tipTextColor = "#ffffff", + e.tipBackColor = "#111111", + e.tipDelay = 200 + }(), + function(t) { + function e() { + this._idMap = null, + this._aniList = null, + this._watchMap = {}, + e.__super.call(this) + } + var r; + a(e, "laya.ui.View", B); + var l = e.prototype; + return l.createView = function(t) { + if (t.animations && !this._idMap && (this._idMap = {}), + e.createComp(t, this, this), + t.animations) { + var i, n, a = [], r = t.animations, s = 0, o = r.length; + for (s = 0; s < o; s++) { + switch (i = new u, + n = r[s], + i._setUp(this._idMap, n), + this[n.name] = i, + i._setControlNode(this), + n.action) { + case 1: + i.play(0, !1); + break; + case 2: + i.play(0, !0) + } + a.push(i) + } + this._aniList = a + } + this._width > 0 && null == t.props.hitTestPrior && !this.mouseThrough && (this.hitTestPrior = !0) + } + , + l.onEvent = function(t, e) {} + , + l.loadUI = function(t) { + var i = e.uiMap[t]; + i && this.createView(i) + } + , + l.destroy = function(t) { + void 0 === t && (t = !0), + this._aniList && (this._aniList.length = 0), + this._idMap = null, + this._aniList = null, + this._watchMap = null, + laya.ui.Component.prototype.destroy.call(this, t) + } + , + l.changeData = function(t) { + var e = this._watchMap[t]; + if (e) { + console.log("change", t); + for (var i = 0, n = e.length; i < n; i++) { + e[i].exe(this) + } + } + } + , + e._regs = function() { + for (var t in e.uiClassMap) + o.regClass(t, e.uiClassMap[t]) + } + , + e.createComp = function(t, n, a, r) { + if (!(n = n || e.getCompInstance(t))) + return console.warn("can not create:" + t.type), + null; + var s = t.child; + if (s) + for (var l = n instanceof laya.ui.List, h = 0, c = s.length; h < c; h++) { + var _ = s[h]; + if (!n.hasOwnProperty("itemRender") || "render" != _.props.name && "render" !== _.props.renderType) + if ("Graphic" == _.type) + o.addGraphicsToSprite(_, n); + else if (o.isDrawType(_.type)) + o.addGraphicToSprite(_, n, !0); + else { + if (l) { + var u = [] + , d = e.createComp(_, null, a, u); + u.length && (d._$bindData = u) + } else + d = e.createComp(_, null, a, r); + "Script" == _.type ? ("owner"in d ? d.owner = n : "target"in d && (d.target = n), + "copydata"in d && (d.copydata = t), + n.scriptMap || (n.scriptMap = {}), + n.scriptMap[_.props.runtime] = d) : "mask" == _.props.renderType || "mask" == _.props.name ? n.mask = d : d instanceof laya.display.Sprite && n.addChild(d) + } + else + n.itemRender = _ + } + var f = t.props; + for (var p in f) { + var m = f[p]; + e.eventDic[p] ? m && a && n.on(p, a, a.onEvent, [m]) : e.setCompValue(n, p, m, a, r) + } + return i.__typeof(n, "laya.ui.IItem") && n.initItems(), + t.compId && a && a._idMap && (a._idMap[t.compId] = n), + n + } + , + e.setCompValue = function(t, n, a, s, l) { + if ("string" == typeof a && a.indexOf("${") > -1) { + if (e._sheet || (e._sheet = o.getClass("laya.data.Table")), + !e._sheet) + return void console.warn("Can not find class Sheet"); + if (l) + l.push(t, n, a); + else if (s) { + -1 == a.indexOf("].") && (a = a.replace(".", "[0].")); + var h = new r(t,n,a); + h.exe(s); + for (var c, _, u = a.replace(/\[.*?\]\./g, "."); null != (c = e._parseWatchData.exec(u)); ) { + for (var d = c[1]; null != (_ = e._parseKeyWord.exec(d)); ) { + var f = _[0] + , p = s._watchMap[f] || (s._watchMap[f] = []); + p.push(h), + e._sheet.I.notifer.on(f, s, s.changeData, [f]) + } + (p = s._watchMap[d] || (s._watchMap[d] = [])).push(h), + e._sheet.I.notifer.on(d, s, s.changeData, [d]) + } + } + } else if ("var" === n && s) + s[a] = t; + else if ("onClick" == n) { + var m = i._runScript("(function(){" + a + "})"); + t.on("click", s, m) + } else + t[n] = "true" === a || "false" !== a && a + } + , + e.getCompInstance = function(t) { + var n, a = t.props ? t.props.runtime : null; + return n = a ? e.viewClassMap[a] || e.uiClassMap[a] || i.__classmap[a] : e.uiClassMap[t.type], + t.props && t.props.hasOwnProperty("renderType") && "instance" == t.props.renderType ? n.instance : n ? new n : null + } + , + e.regComponent = function(t, i) { + e.uiClassMap[t] = i, + o.regClass(t, i) + } + , + e.regViewRuntime = function(t, i) { + e.viewClassMap[t] = i + } + , + e.uiMap = {}, + e.viewClassMap = {}, + e._sheet = null, + n(e, ["uiClassMap", function() { + return this.uiClassMap = { + ViewStack: tt, + LinkButton: k, + TextArea: ht, + ColorPicker: P, + Box: B, + Button: k, + CheckBox: j, + Clip: R, + ComboBox: O, + Component: N, + HScrollBar: Y, + HSlider: K, + Image: F, + Label: H, + List: q, + Panel: J, + ProgressBar: G, + Radio: Q, + RadioGroup: ot, + ScrollBar: U, + Slider: V, + Tab: lt, + TextInput: it, + View: e, + VScrollBar: et, + VSlider: nt, + Tree: $, + HBox: rt, + VBox: st, + Sprite: b, + Animation: s, + Text: w, + FontClip: X + } + } + , "eventDic", function() { + return this.eventDic = { + mousedown: !0, + mouseup: !0, + mousemove: !0, + mouseover: !0, + mouseout: !0, + click: !0, + doubleclick: !0, + rightmousedown: !0, + rightmouseup: !0, + rightclick: !0 + } + } + , "_parseWatchData", function() { + return this._parseWatchData = /\${(.*?)}/g + } + , "_parseKeyWord", function() { + return this._parseKeyWord = /[a-zA-Z_][a-zA-Z0-9_]*(?:(?:\.[a-zA-Z_][a-zA-Z0-9_]*)+)/g + } + ]), + e.__init$ = function() { + e._regs(), + r = function() { + function t(t, e, i) { + this.comp = null, + this.prop = null, + this.value = null, + this.comp = t, + this.prop = e, + this.value = i + } + a(t, ""); + return t.prototype.exe = function(t) { + var e = T.getBindFun(this.value); + this.comp[this.prop] = e.call(this, t) + } + , + t + }() + } + , + e + }()) + , j = function(t) { + function e(t, i) { + void 0 === i && (i = ""), + e.__super.call(this, t, i) + } + a(e, "laya.ui.CheckBox", t); + var n = e.prototype; + return n.preinitialize = function() { + laya.ui.Component.prototype.preinitialize.call(this), + this.toggle = !0, + this._autoSize = !1 + } + , + n.initialize = function() { + t.prototype.initialize.call(this), + this.createText(), + this._text.align = "left", + this._text.valign = "top", + this._text.width = 0 + } + , + r(0, n, "dataSource", t.prototype._$get_dataSource, function(t) { + this._dataSource = t, + "boolean" == typeof t ? this.selected = t : "string" == typeof t ? this.selected = "true" === t : i.superSet(k, this, "dataSource", t) + }), + e + }(k) + , W = function(t) { + function e() { + this._space = 0, + this._align = "none", + this._itemChanged = !1, + e.__super.call(this) + } + a(e, "laya.ui.LayoutBox", B); + var i = e.prototype; + return i.addChild = function(t) { + return t.on("resize", this, this.onResize), + this._setItemChanged(), + laya.display.Node.prototype.addChild.call(this, t) + } + , + i.onResize = function(t) { + this._setItemChanged() + } + , + i.addChildAt = function(t, e) { + return t.on("resize", this, this.onResize), + this._setItemChanged(), + laya.display.Node.prototype.addChildAt.call(this, t, e) + } + , + i.removeChild = function(t) { + return t.off("resize", this, this.onResize), + this._setItemChanged(), + laya.display.Node.prototype.removeChild.call(this, t) + } + , + i.removeChildAt = function(t) { + return this.getChildAt(t).off("resize", this, this.onResize), + this._setItemChanged(), + laya.display.Node.prototype.removeChildAt.call(this, t) + } + , + i.refresh = function() { + this._setItemChanged() + } + , + i.changeItems = function() { + this._itemChanged = !1 + } + , + i.sortItem = function(t) { + t && t.sort(function(t, e) { + return t.y - e.y + }) + } + , + i._setItemChanged = function() { + this._itemChanged || (this._itemChanged = !0, + this.callLater(this.changeItems)) + } + , + r(0, i, "space", function() { + return this._space + }, function(t) { + this._space = t, + this._setItemChanged() + }), + r(0, i, "align", function() { + return this._align + }, function(t) { + this._align = t, + this._setItemChanged() + }), + e + }() + , X = function(t) { + function e(t, i) { + this._valueArr = null, + this._indexMap = null, + this._sheet = null, + this._direction = "horizontal", + this._spaceX = 0, + this._spaceY = 0, + this._align = "left", + this._wordsW = 0, + this._wordsH = 0, + e.__super.call(this), + t && (this.skin = t), + i && (this.sheet = i) + } + a(e, "laya.ui.FontClip", t); + var n = e.prototype; + return n.createChildren = function() { + this._bitmap = new D, + this.on("loaded", this, this._onClipLoaded) + } + , + n._onClipLoaded = function() { + this.callLater(this.changeValue) + } + , + n.changeValue = function() { + if (this._sources && this._valueArr) { + this.graphics.clear(!0); + var t; + if (t = this._sources[0]) { + var e = "horizontal" === this._direction; + e ? (this._wordsW = this._valueArr.length * (t.sourceWidth + this.spaceX), + this._wordsH = t.sourceHeight) : (this._wordsW = t.sourceWidth, + this._wordsH = (t.sourceHeight + this.spaceY) * this._valueArr.length); + var i = 0; + if (this._width) + switch (this._align) { + case "center": + i = .5 * (this._width - this._wordsW); + break; + case "right": + i = this._width - this._wordsW; + break; + default: + i = 0 + } + for (var n = 0, a = this._valueArr.length; n < a; n++) { + var r = this._indexMap[this._valueArr.charAt(n)]; + this.sources[r] && (t = this.sources[r], + e ? this.graphics.drawTexture(t, i + n * (t.sourceWidth + this.spaceX), 0, t.sourceWidth, t.sourceHeight) : this.graphics.drawTexture(t, 0 + i, n * (t.sourceHeight + this.spaceY), t.sourceWidth, t.sourceHeight)) + } + this._width || (this.resetLayoutX(), + this.callLater(this.changeSize)), + this._height || (this.resetLayoutY(), + this.callLater(this.changeSize)) + } + } + } + , + n.destroy = function(e) { + void 0 === e && (e = !0), + this._valueArr = null, + this._indexMap = null, + this.graphics.clear(!0), + this.removeSelf(), + this.off("loaded", this, this._onClipLoaded), + t.prototype.destroy.call(this, e) + } + , + r(0, n, "sheet", function() { + return this._sheet + }, function(t) { + t += "", + this._sheet = t; + var e = t.split(" "); + this._clipX = String(e[0]).length, + this.clipY = e.length, + this._indexMap = {}; + for (var i = 0; i < this._clipY; i++) + for (var n = e[i].split(""), a = 0, r = n.length; a < r; a++) + this._indexMap[n[a]] = i * this._clipX + a + }), + r(0, n, "height", t.prototype._$get_height, function(t) { + i.superSet(R, this, "height", t), + this.callLater(this.changeValue) + }), + r(0, n, "direction", function() { + return this._direction + }, function(t) { + this._direction = t, + this.callLater(this.changeValue) + }), + r(0, n, "value", function() { + return this._valueArr ? this._valueArr : "" + }, function(t) { + t += "", + this._valueArr = t, + this.callLater(this.changeValue) + }), + r(0, n, "width", t.prototype._$get_width, function(t) { + i.superSet(R, this, "width", t), + this.callLater(this.changeValue) + }), + r(0, n, "spaceX", function() { + return this._spaceX + }, function(t) { + this._spaceX = t, + "horizontal" === this._direction && this.callLater(this.changeValue) + }), + r(0, n, "spaceY", function() { + return this._spaceY + }, function(t) { + this._spaceY = t, + "horizontal" !== this._direction && this.callLater(this.changeValue) + }), + r(0, n, "align", function() { + return this._align + }, function(t) { + this._align = t, + this.callLater(this.changeValue) + }), + r(0, n, "measureWidth", function() { + return this._wordsW + }), + r(0, n, "measureHeight", function() { + return this._wordsH + }), + e + }(R) + , q = function(t) { + function e() { + this.selectHandler = null, + this.renderHandler = null, + this.mouseHandler = null, + this.selectEnable = !1, + this.totalPage = 0, + this._content = null, + this._scrollBar = null, + this._itemRender = null, + this._repeatX = 0, + this._repeatY = 0, + this._repeatX2 = 0, + this._repeatY2 = 0, + this._spaceX = 0, + this._spaceY = 0, + this._array = null, + this._startIndex = 0, + this._selectedIndex = -1, + this._page = 0, + this._isVertical = !0, + this._cellSize = 20, + this._cellOffset = 0, + this._isMoved = !1, + this.cacheContent = !1, + this._createdLine = 0, + this._cellChanged = !1, + e.__super.call(this), + this._cells = [], + this._offset = new g + } + a(e, "laya.ui.List", t); + var n = e.prototype; + return i.imps(n, { + "laya.ui.IRender": !0, + "laya.ui.IItem": !0 + }), + n.destroy = function(t) { + void 0 === t && (t = !0), + this._content && this._content.destroy(t), + this._scrollBar && this._scrollBar.destroy(t), + laya.ui.Component.prototype.destroy.call(this, t), + this._content = null, + this._scrollBar = null, + this._itemRender = null, + this._cells = null, + this._array = null, + this.selectHandler = this.renderHandler = this.mouseHandler = null + } + , + n.createChildren = function() { + this.addChild(this._content = new B) + } + , + n.onScrollStart = function() { + this._$P.cacheAs || (this._$P.cacheAs = i.superGet(B, this, "cacheAs")), + i.superSet(B, this, "cacheAs", "none"), + this._scrollBar.once("end", this, this.onScrollEnd) + } + , + n.onScrollEnd = function() { + i.superSet(B, this, "cacheAs", this._$P.cacheAs) + } + , + n._removePreScrollBar = function() { + var t = this.removeChildByName("scrollBar"); + t && t.destroy(!0) + } + , + n.changeCells = function() { + if (this._cellChanged = !1, + this._itemRender) { + this.scrollBar = this.getChildByName("scrollBar"); + var t = this._getOneCell() + , e = t.width + this._spaceX || 1 + , i = t.height + this._spaceY || 1; + this._width > 0 && (this._repeatX2 = this._isVertical ? Math.round(this._width / e) : Math.ceil(this._width / e)), + this._height > 0 && (this._repeatY2 = this._isVertical ? Math.ceil(this._height / i) : Math.round(this._height / i)); + var n = this._width ? this._width : e * this.repeatX - this._spaceX + , a = this._height ? this._height : i * this.repeatY - this._spaceY; + this._cellSize = this._isVertical ? i : e, + this._cellOffset = this._isVertical ? i * Math.max(this._repeatY2, this._repeatY) - a - this._spaceY : e * Math.max(this._repeatX2, this._repeatX) - n - this._spaceX, + this._isVertical && this._scrollBar ? this._scrollBar.height = a : !this._isVertical && this._scrollBar && (this._scrollBar.width = n), + this.setContentSize(n, a); + var r = this._isVertical ? this.repeatX : this.repeatY + , s = (this._isVertical ? this.repeatY : this.repeatX) + (this._scrollBar ? 1 : 0); + this._createItems(0, r, s), + this._createdLine = s, + this._array && (this.array = this._array, + this.runCallLater(this.renderItems)) + } + } + , + n._getOneCell = function() { + if (0 === this._cells.length) { + var t = this.createItem(); + if (this._offset.setTo(t.x, t.y), + this.cacheContent) + return t; + this._cells.push(t) + } + return this._cells[0] + } + , + n._createItems = function(t, e, i) { + var n = this._content + , a = this._getOneCell() + , r = a.width + this._spaceX + , s = a.height + this._spaceY; + if (this.cacheContent) { + var o = new B; + o.cacheAsBitmap = !0, + o.pos((this._isVertical ? 0 : t) * r, (this._isVertical ? t : 0) * s), + this._content.addChild(o), + this._content.optimizeScrollRect = !0, + n = o + } else { + for (var l = [], h = this._cells.length - 1; h > -1; h--) { + var c = this._cells[h]; + c.removeSelf(), + l.push(c) + } + this._cells.length = 0 + } + for (var _ = t; _ < i; _++) + for (var u = 0; u < e; u++) + (a = l && l.length ? l.pop() : this.createItem()).x = (this._isVertical ? u : _) * r - n.x, + a.y = (this._isVertical ? _ : u) * s - n.y, + a.name = "item" + (_ * e + u), + n.addChild(a), + this.addCell(a) + } + , + n.createItem = function() { + var t = []; + if ("function" == typeof this._itemRender) + var e = new this._itemRender; + else + e = z.createComp(this._itemRender, null, null, t); + if (0 == t.length && e._watchMap) { + var i = e._watchMap; + for (var n in i) + for (var a = i[n], r = 0; r < a.length; r++) { + var s = a[r]; + t.push(s.comp, s.prop, s.value) + } + } + return t.length && (e._$bindData = t), + e + } + , + n.addCell = function(t) { + t.on("click", this, this.onCellMouse), + t.on("rightclick", this, this.onCellMouse), + t.on("mouseover", this, this.onCellMouse), + t.on("mouseout", this, this.onCellMouse), + t.on("mousedown", this, this.onCellMouse), + t.on("mouseup", this, this.onCellMouse), + this._cells.push(t) + } + , + n.initItems = function() { + if (!this._itemRender && null != this.getChildByName("item0")) { + this.repeatX = 1; + var t = 0; + t = 0; + for (var e = 0; e < 1e4; e++) { + var i = this.getChildByName("item" + e); + { + if (!i) + break; + this.addCell(i), + t++ + } + } + this.repeatY = t + } + } + , + n.setContentSize = function(t, e) { + this._content.width = t, + this._content.height = e, + (this._scrollBar || 0 != this._offset.x || 0 != this._offset.y) && (this._content.scrollRect || (this._content.scrollRect = new y), + this._content.scrollRect.setTo(-this._offset.x, -this._offset.y, t, e), + this._content.scrollRect = this._content.scrollRect), + this.event("resize") + } + , + n.onCellMouse = function(t) { + "mousedown" === t.type && (this._isMoved = !1); + var e = t.currentTarget + , i = this._startIndex + this._cells.indexOf(e); + i < 0 || ("click" === t.type || "rightclick" === t.type ? this.selectEnable && !this._isMoved ? this.selectedIndex = i : this.changeCellState(e, !0, 0) : "mouseover" !== t.type && "mouseout" !== t.type || this._selectedIndex === i || this.changeCellState(e, "mouseover" === t.type, 0), + this.mouseHandler && this.mouseHandler.runWith([t, i])) + } + , + n.changeCellState = function(t, e, i) { + var n = t.getChildByName("selectBox"); + n && (this.selectEnable = !0, + n.visible = e, + n.index = i) + } + , + n.changeSize = function() { + laya.ui.Component.prototype.changeSize.call(this), + this.setContentSize(this.width, this.height), + this._scrollBar && this.callLater(this.onScrollBarChange) + } + , + n.onScrollBarChange = function(t) { + this.runCallLater(this.changeCells); + var e = this._scrollBar.value + , i = this._isVertical ? this.repeatX : this.repeatY + , n = this._isVertical ? this.repeatY : this.repeatX + , a = Math.floor(e / this._cellSize); + if (this.cacheContent) + s = n + 1, + this._createdLine - a < s && (this._createItems(this._createdLine, i, this._createdLine + s), + this.renderItems(this._createdLine * i, 0), + this._createdLine += s); + else { + var r = a * i + , s = 0; + if (r > this._startIndex) { + s = r - this._startIndex; + var o = !0 + , l = this._startIndex + i * (n + 1); + this._isMoved = !0 + } else + r < this._startIndex && (s = this._startIndex - r, + o = !1, + l = this._startIndex - 1, + this._isMoved = !0); + for (var h = 0; h < s; h++) { + if (o) { + var c = this._cells.shift(); + this._cells[this._cells.length] = c; + var _ = l + h + } else + c = this._cells.pop(), + this._cells.unshift(c), + _ = l - h; + var u = Math.floor(_ / i) * this._cellSize; + this._isVertical ? c.y = u : c.x = u, + this.renderItem(c, _) + } + this._startIndex = r, + this.changeSelectStatus() + } + var d = this._content.scrollRect; + this._isVertical ? (d.y = e - this._offset.y, + d.x = -this._offset.x) : (d.y = -this._offset.y, + d.x = e - this._offset.x), + this._content.scrollRect = d + } + , + n.posCell = function(t, e) { + if (this._scrollBar) { + var i = this._isVertical ? this.repeatX : this.repeatY + , n = (this._isVertical ? this.repeatY : this.repeatX, + Math.floor(e / i) * this._cellSize); + this._isVertical ? t.y = n : t.x = n + } + } + , + n.changeSelectStatus = function() { + for (var t = 0, e = this._cells.length; t < e; t++) + this.changeCellState(this._cells[t], this._selectedIndex === this._startIndex + t, 1) + } + , + n.renderItems = function(t, e) { + void 0 === t && (t = 0), + void 0 === e && (e = 0); + for (var i = t, n = e || this._cells.length; i < n; i++) + this.renderItem(this._cells[i], this._startIndex + i); + this.changeSelectStatus() + } + , + n.renderItem = function(t, e) { + this._array && e >= 0 && e < this._array.length ? (t.visible = !0, + t._$bindData ? (t._dataSource = this._array[e], + this._bindData(t, this._array[e])) : t.dataSource = this._array[e], + this.cacheContent || this.posCell(t, e), + this.hasListener("render") && this.event("render", [t, e]), + this.renderHandler && this.renderHandler.runWith([t, e])) : (t.visible = !1, + t.dataSource = null) + } + , + n._bindData = function(t, e) { + for (var i = t._$bindData, n = 0, a = i.length; n < a; n++) { + var r = i[n++] + , s = i[n++] + , o = i[n] + , l = T.getBindFun(o); + r[s] = l.call(this, e) + } + } + , + n.refresh = function() { + this.array = this._array + } + , + n.getItem = function(t) { + return t > -1 && t < this._array.length ? this._array[t] : null + } + , + n.changeItem = function(t, e) { + t > -1 && t < this._array.length && (this._array[t] = e, + t >= this._startIndex && t < this._startIndex + this._cells.length && this.renderItem(this.getCell(t), t)) + } + , + n.setItem = function(t, e) { + this.changeItem(t, e) + } + , + n.addItem = function(t) { + this._array.push(t), + this.array = this._array + } + , + n.addItemAt = function(t, e) { + this._array.splice(e, 0, t), + this.array = this._array + } + , + n.deleteItem = function(t) { + this._array.splice(t, 1), + this.array = this._array + } + , + n.getCell = function(t) { + return this.runCallLater(this.changeCells), + t > -1 && this._cells ? this._cells[(t - this._startIndex) % this._cells.length] : null + } + , + n.scrollTo = function(t) { + if (this._scrollBar) { + var e = this._isVertical ? this.repeatX : this.repeatY; + this._scrollBar.value = Math.floor(t / e) * this._cellSize + } else + this.startIndex = t + } + , + n.tweenTo = function(t, e, i) { + if (void 0 === e && (e = 200), + this._scrollBar) { + var n = this._isVertical ? this.repeatX : this.repeatY; + I.to(this._scrollBar, { + value: Math.floor(t / n) * this._cellSize + }, e, null, i, 0, !0) + } else + this.startIndex = t, + i && i.run() + } + , + n._setCellChanged = function() { + this._cellChanged || (this._cellChanged = !0, + this.callLater(this.changeCells)) + } + , + n.commitMeasure = function() { + this.runCallLater(this.changeCells) + } + , + r(0, n, "cacheAs", t.prototype._$get_cacheAs, function(t) { + i.superSet(B, this, "cacheAs", t), + this._scrollBar && (this._$P.cacheAs = null, + "none" !== t ? this._scrollBar.on("start", this, this.onScrollStart) : this._scrollBar.off("start", this, this.onScrollStart)) + }), + r(0, n, "content", function() { + return this._content + }), + r(0, n, "height", t.prototype._$get_height, function(t) { + t != this._height && (i.superSet(B, this, "height", t), + this._setCellChanged()) + }), + r(0, n, "itemRender", function() { + return this._itemRender + }, function(t) { + if (this._itemRender != t) { + this._itemRender = t; + for (var e = this._cells.length - 1; e > -1; e--) + this._cells[e].destroy(); + this._cells.length = 0, + this._setCellChanged() + } + }), + r(0, n, "vScrollBarSkin", function() { + return this._scrollBar ? this._scrollBar.skin : null + }, function(t) { + this._removePreScrollBar(); + var e = new et; + e.name = "scrollBar", + e.right = 0, + t && " " != t && (e.skin = t), + this.scrollBar = e, + this.addChild(e), + this._setCellChanged() + }), + r(0, n, "page", function() { + return this._page + }, function(t) { + this._page = t, + this._array && (this._page = t > 0 ? t : 0, + this._page = this._page < this.totalPage ? this._page : this.totalPage - 1, + this.startIndex = this._page * this.repeatX * this.repeatY) + }), + r(0, n, "hScrollBarSkin", function() { + return this._scrollBar ? this._scrollBar.skin : null + }, function(t) { + this._removePreScrollBar(); + var e = new Y; + e.name = "scrollBar", + e.bottom = 0, + t && " " != t && (e.skin = t), + this.scrollBar = e, + this.addChild(e), + this._setCellChanged() + }), + r(0, n, "repeatX", function() { + return this._repeatX > 0 ? this._repeatX : this._repeatX2 > 0 ? this._repeatX2 : 1 + }, function(t) { + this._repeatX = t, + this._setCellChanged() + }), + r(0, n, "scrollBar", function() { + return this._scrollBar + }, function(t) { + this._scrollBar != t && (this._scrollBar = t, + t && (this._isVertical = this._scrollBar.isVertical, + this.addChild(this._scrollBar), + this._scrollBar.on("change", this, this.onScrollBarChange))) + }), + r(0, n, "width", t.prototype._$get_width, function(t) { + t != this._width && (i.superSet(B, this, "width", t), + this._setCellChanged()) + }), + r(0, n, "repeatY", function() { + return this._repeatY > 0 ? this._repeatY : this._repeatY2 > 0 ? this._repeatY2 : 1 + }, function(t) { + this._repeatY = t, + this._setCellChanged() + }), + r(0, n, "spaceX", function() { + return this._spaceX + }, function(t) { + this._spaceX = t, + this._setCellChanged() + }), + r(0, n, "spaceY", function() { + return this._spaceY + }, function(t) { + this._spaceY = t, + this._setCellChanged() + }), + r(0, n, "selectedIndex", function() { + return this._selectedIndex + }, function(t) { + this._selectedIndex != t && (this._selectedIndex = t, + this.changeSelectStatus(), + this.event("change"), + this.selectHandler && this.selectHandler.runWith(t), + this.startIndex = this._startIndex) + }), + r(0, n, "selectedItem", function() { + return -1 != this._selectedIndex ? this._array[this._selectedIndex] : null + }, function(t) { + this.selectedIndex = this._array.indexOf(t) + }), + r(0, n, "length", function() { + return this._array ? this._array.length : 0 + }), + r(0, n, "selection", function() { + return this.getCell(this._selectedIndex) + }, function(t) { + this.selectedIndex = this._startIndex + this._cells.indexOf(t) + }), + r(0, n, "startIndex", function() { + return this._startIndex + }, function(t) { + this._startIndex = t > 0 ? t : 0, + this.callLater(this.renderItems) + }), + r(0, n, "array", function() { + return this._array + }, function(t) { + this.runCallLater(this.changeCells), + this._array = t || []; + var e = this._array.length; + if (this.totalPage = Math.ceil(e / (this.repeatX * this.repeatY)), + this._selectedIndex = this._selectedIndex < e ? this._selectedIndex : e - 1, + this.startIndex = this._startIndex, + this._scrollBar) { + this._scrollBar.stopScroll(); + var i = this._isVertical ? this.repeatX : this.repeatY + , n = this._isVertical ? this.repeatY : this.repeatX + , a = Math.ceil(e / i); + (this._cellOffset > 0 ? this.totalPage + 1 : this.totalPage) > 1 ? (this._scrollBar.scrollSize = this._cellSize, + this._scrollBar.thumbPercent = n / a, + this._scrollBar.setScroll(0, (a - n) * this._cellSize + this._cellOffset, this._scrollBar.value), + this._scrollBar.target = this._content) : (this._scrollBar.setScroll(0, 0, 0), + this._scrollBar.target = this._content) + } + }), + r(0, n, "dataSource", t.prototype._$get_dataSource, function(t) { + this._dataSource = t, + "number" == typeof t && Math.floor(t) == t || "string" == typeof t ? this.selectedIndex = parseInt(t) : t instanceof Array ? this.array = t : i.superSet(B, this, "dataSource", t) + }), + r(0, n, "cells", function() { + return this.runCallLater(this.changeCells), + this._cells + }), + e + }(B) + , Y = function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.ui.HScrollBar", t); + return e.prototype.initialize = function() { + t.prototype.initialize.call(this), + this.slider.isVertical = !1 + } + , + e + }(U) + , J = function(t) { + function e() { + this._content = null, + this._vScrollBar = null, + this._hScrollBar = null, + this._scrollChanged = !1, + e.__super.call(this), + this.width = this.height = 100 + } + a(e, "laya.ui.Panel", t); + var n = e.prototype; + return n.destroy = function(t) { + void 0 === t && (t = !0), + laya.ui.Component.prototype.destroy.call(this, t), + this._content && this._content.destroy(t), + this._vScrollBar && this._vScrollBar.destroy(t), + this._hScrollBar && this._hScrollBar.destroy(t), + this._vScrollBar = null, + this._hScrollBar = null, + this._content = null + } + , + n.destroyChildren = function() { + this._content.destroyChildren() + } + , + n.createChildren = function() { + laya.display.Node.prototype.addChild.call(this, this._content = new B) + } + , + n.addChild = function(t) { + return t.on("resize", this, this.onResize), + this._setScrollChanged(), + this._content.addChild(t) + } + , + n.onResize = function() { + this._setScrollChanged() + } + , + n.addChildAt = function(t, e) { + return t.on("resize", this, this.onResize), + this._setScrollChanged(), + this._content.addChildAt(t, e) + } + , + n.removeChild = function(t) { + return t.off("resize", this, this.onResize), + this._setScrollChanged(), + this._content.removeChild(t) + } + , + n.removeChildAt = function(t) { + return this.getChildAt(t).off("resize", this, this.onResize), + this._setScrollChanged(), + this._content.removeChildAt(t) + } + , + n.removeChildren = function(t, e) { + void 0 === t && (t = 0), + void 0 === e && (e = 2147483647); + for (var i = this._content.numChildren - 1; i > -1; i--) + this._content.removeChildAt(i); + return this._setScrollChanged(), + this + } + , + n.getChildAt = function(t) { + return this._content.getChildAt(t) + } + , + n.getChildByName = function(t) { + return this._content.getChildByName(t) + } + , + n.getChildIndex = function(t) { + return this._content.getChildIndex(t) + } + , + n.changeScroll = function() { + this._scrollChanged = !1; + var t = this.contentWidth || 1 + , e = this.contentHeight || 1 + , i = this._vScrollBar + , n = this._hScrollBar + , a = i && e > this._height + , r = n && t > this._width + , s = a ? this._width - i.width : this._width + , o = r ? this._height - n.height : this._height; + i && (i.x = this._width - i.width, + i.y = 0, + i.height = this._height - (r ? n.height : 0), + i.scrollSize = Math.max(.033 * this._height, 1), + i.thumbPercent = o / e, + i.setScroll(0, e - o, i.value)), + n && (n.x = 0, + n.y = this._height - n.height, + n.width = this._width - (a ? i.width : 0), + n.scrollSize = Math.max(.033 * this._width, 1), + n.thumbPercent = s / t, + n.setScroll(0, t - s, n.value)) + } + , + n.changeSize = function() { + laya.ui.Component.prototype.changeSize.call(this), + this.setContentSize(this._width, this._height) + } + , + n.setContentSize = function(t, e) { + var i = this._content; + i.width = t, + i.height = e, + i.scrollRect || (i.scrollRect = new y), + i.scrollRect.setTo(0, 0, t, e), + i.scrollRect = i.scrollRect + } + , + n.onScrollBarChange = function(t) { + var e = this._content.scrollRect; + if (e) { + var i = Math.round(t.value); + t.isVertical ? e.y = i : e.x = i, + this._content.scrollRect = e + } + } + , + n.scrollTo = function(t, e) { + void 0 === t && (t = 0), + void 0 === e && (e = 0), + this.vScrollBar && (this.vScrollBar.value = e), + this.hScrollBar && (this.hScrollBar.value = t) + } + , + n.refresh = function() { + this.changeScroll() + } + , + n.onScrollStart = function() { + this._$P.cacheAs || (this._$P.cacheAs = i.superGet(B, this, "cacheAs")), + i.superSet(B, this, "cacheAs", "none"), + this._hScrollBar && this._hScrollBar.once("end", this, this.onScrollEnd), + this._vScrollBar && this._vScrollBar.once("end", this, this.onScrollEnd) + } + , + n.onScrollEnd = function() { + i.superSet(B, this, "cacheAs", this._$P.cacheAs) + } + , + n._setScrollChanged = function() { + this._scrollChanged || (this._scrollChanged = !0, + this.callLater(this.changeScroll)) + } + , + r(0, n, "numChildren", function() { + return this._content.numChildren + }), + r(0, n, "hScrollBarSkin", function() { + return this._hScrollBar ? this._hScrollBar.skin : null + }, function(t) { + null == this._hScrollBar && (laya.display.Node.prototype.addChild.call(this, this._hScrollBar = new Y), + this._hScrollBar.on("change", this, this.onScrollBarChange, [this._hScrollBar]), + this._hScrollBar.target = this._content, + this._setScrollChanged()), + this._hScrollBar.skin = t + }), + r(0, n, "contentWidth", function() { + for (var t = 0, e = this._content.numChildren - 1; e > -1; e--) { + var i = this._content.getChildAt(e); + t = Math.max(i.x + i.width * i.scaleX, t) + } + return t + }), + r(0, n, "contentHeight", function() { + for (var t = 0, e = this._content.numChildren - 1; e > -1; e--) { + var i = this._content.getChildAt(e); + t = Math.max(i.y + i.height * i.scaleY, t) + } + return t + }), + r(0, n, "width", t.prototype._$get_width, function(t) { + i.superSet(B, this, "width", t), + this._setScrollChanged() + }), + r(0, n, "hScrollBar", function() { + return this._hScrollBar + }), + r(0, n, "content", function() { + return this._content + }), + r(0, n, "height", t.prototype._$get_height, function(t) { + i.superSet(B, this, "height", t), + this._setScrollChanged() + }), + r(0, n, "vScrollBarSkin", function() { + return this._vScrollBar ? this._vScrollBar.skin : null + }, function(t) { + null == this._vScrollBar && (laya.display.Node.prototype.addChild.call(this, this._vScrollBar = new et), + this._vScrollBar.on("change", this, this.onScrollBarChange, [this._vScrollBar]), + this._vScrollBar.target = this._content, + this._setScrollChanged()), + this._vScrollBar.skin = t + }), + r(0, n, "vScrollBar", function() { + return this._vScrollBar + }), + r(0, n, "cacheAs", t.prototype._$get_cacheAs, function(t) { + i.superSet(B, this, "cacheAs", t), + this._$P.cacheAs = null, + "none" !== t ? (this._hScrollBar && this._hScrollBar.on("start", this, this.onScrollStart), + this._vScrollBar && this._vScrollBar.on("start", this, this.onScrollStart)) : (this._hScrollBar && this._hScrollBar.off("start", this, this.onScrollStart), + this._vScrollBar && this._vScrollBar.off("start", this, this.onScrollStart)) + }), + e + }(B) + , K = function(t) { + function e(t) { + e.__super.call(this, t), + this.isVertical = !1 + } + return a(e, "laya.ui.HSlider", V), + e + }() + , Z = function(t) { + function e(t, i) { + this.selectHandler = null, + this._items = null, + this._selectedIndex = -1, + this._skin = null, + this._direction = "horizontal", + this._space = 0, + this._labels = null, + this._labelColors = null, + this._labelFont = null, + this._labelStrokeColor = null, + this._strokeColors = null, + this._labelStroke = NaN, + this._labelSize = 0, + this._labelBold = !1, + this._labelPadding = null, + this._labelAlign = null, + this._stateNum = 0, + this._labelChanged = !1, + e.__super.call(this), + this.skin = i, + this.labels = t + } + a(e, "laya.ui.UIGroup", t); + var n = e.prototype; + return i.imps(n, { + "laya.ui.IItem": !0 + }), + n.preinitialize = function() { + this.mouseEnabled = !0 + } + , + n.destroy = function(t) { + void 0 === t && (t = !0), + laya.ui.Component.prototype.destroy.call(this, t), + this._items && (this._items.length = 0), + this._items = null, + this.selectHandler = null + } + , + n.addItem = function(t, e) { + void 0 === e && (e = !0); + var i = t + , n = this._items.length; + if (i.name = "item" + n, + this.addChild(i), + this.initItems(), + e && n > 0) { + var a = this._items[n - 1]; + "horizontal" == this._direction ? i.x = a.x + a.width + this._space : i.y = a.y + a.height + this._space + } else + e && (i.x = 0, + i.y = 0); + return n + } + , + n.delItem = function(t, e) { + void 0 === e && (e = !0); + var i = this._items.indexOf(t); + if (-1 != i) { + var n = t; + this.removeChild(n); + for (var a = i + 1, r = this._items.length; a < r; a++) { + var s = this._items[a]; + s.name = "item" + (a - 1), + e && ("horizontal" == this._direction ? s.x -= n.width + this._space : s.y -= n.height + this._space) + } + if (this.initItems(), + this._selectedIndex > -1) { + var o = 0; + o = this._selectedIndex < this._items.length ? this._selectedIndex : this._selectedIndex - 1, + this._selectedIndex = -1, + this.selectedIndex = o + } + } + } + , + n.initItems = function() { + this._items || (this._items = []), + this._items.length = 0; + for (var t = 0; t < 1e4; t++) { + var e = this.getChildByName("item" + t); + if (null == e) + break; + this._items.push(e), + e.selected = t === this._selectedIndex, + e.clickHandler = f.create(this, this.itemClick, [t], !1) + } + } + , + n.itemClick = function(t) { + this.selectedIndex = t + } + , + n.setSelect = function(t, e) { + this._items && t > -1 && t < this._items.length && (this._items[t].selected = e) + } + , + n.createItem = function(t, e) { + return null + } + , + n.changeLabels = function() { + if (this._labelChanged = !1, + this._items) + for (var t = 0, e = 0, i = this._items.length; e < i; e++) { + var n = this._items[e]; + this._skin && (n.skin = this._skin), + this._labelColors && (n.labelColors = this._labelColors), + this._labelSize && (n.labelSize = this._labelSize), + this._labelStroke && (n.labelStroke = this._labelStroke), + this._labelStrokeColor && (n.labelStrokeColor = this._labelStrokeColor), + this._strokeColors && (n.strokeColors = this._strokeColors), + this._labelBold && (n.labelBold = this._labelBold), + this._labelPadding && (n.labelPadding = this._labelPadding), + this._labelAlign && (n.labelAlign = this._labelAlign), + this._stateNum && (n.stateNum = this._stateNum), + this._labelFont && (n.labelFont = this._labelFont), + "horizontal" === this._direction ? (n.y = 0, + n.x = t, + t += n.width + this._space) : (n.x = 0, + n.y = t, + t += n.height + this._space) + } + this.changeSize() + } + , + n.commitMeasure = function() { + this.runCallLater(this.changeLabels) + } + , + n._setLabelChanged = function() { + this._labelChanged || (this._labelChanged = !0, + this.callLater(this.changeLabels)) + } + , + r(0, n, "labelStrokeColor", function() { + return this._labelStrokeColor + }, function(t) { + this._labelStrokeColor != t && (this._labelStrokeColor = t, + this._setLabelChanged()) + }), + r(0, n, "skin", function() { + return this._skin + }, function(t) { + this._skin != t && (this._skin = t, + this._setLabelChanged()) + }), + r(0, n, "selectedIndex", function() { + return this._selectedIndex + }, function(t) { + this._selectedIndex != t && (this.setSelect(this._selectedIndex, !1), + this._selectedIndex = t, + this.setSelect(t, !0), + this.event("change"), + this.selectHandler && this.selectHandler.runWith(this._selectedIndex)) + }), + r(0, n, "labels", function() { + return this._labels + }, function(t) { + if (this._labels != t) { + if (this._labels = t, + this.removeChildren(), + this._setLabelChanged(), + this._labels) + for (var e = this._labels.split(","), i = 0, n = e.length; i < n; i++) { + var a = this.createItem(this._skin, e[i]); + a.name = "item" + i, + this.addChild(a) + } + this.initItems() + } + }), + r(0, n, "strokeColors", function() { + return this._strokeColors + }, function(t) { + this._strokeColors != t && (this._strokeColors = t, + this._setLabelChanged()) + }), + r(0, n, "labelColors", function() { + return this._labelColors + }, function(t) { + this._labelColors != t && (this._labelColors = t, + this._setLabelChanged()) + }), + r(0, n, "labelStroke", function() { + return this._labelStroke + }, function(t) { + this._labelStroke != t && (this._labelStroke = t, + this._setLabelChanged()) + }), + r(0, n, "labelSize", function() { + return this._labelSize + }, function(t) { + this._labelSize != t && (this._labelSize = t, + this._setLabelChanged()) + }), + r(0, n, "stateNum", function() { + return this._stateNum + }, function(t) { + this._stateNum != t && (this._stateNum = t, + this._setLabelChanged()) + }), + r(0, n, "labelBold", function() { + return this._labelBold + }, function(t) { + this._labelBold != t && (this._labelBold = t, + this._setLabelChanged()) + }), + r(0, n, "labelFont", function() { + return this._labelFont + }, function(t) { + this._labelFont != t && (this._labelFont = t, + this._setLabelChanged()) + }), + r(0, n, "labelPadding", function() { + return this._labelPadding + }, function(t) { + this._labelPadding != t && (this._labelPadding = t, + this._setLabelChanged()) + }), + r(0, n, "direction", function() { + return this._direction + }, function(t) { + this._direction = t, + this._setLabelChanged() + }), + r(0, n, "space", function() { + return this._space + }, function(t) { + this._space = t, + this._setLabelChanged() + }), + r(0, n, "items", function() { + return this._items + }), + r(0, n, "selection", function() { + return this._selectedIndex > -1 && this._selectedIndex < this._items.length ? this._items[this._selectedIndex] : null + }, function(t) { + this.selectedIndex = this._items.indexOf(t) + }), + r(0, n, "dataSource", t.prototype._$get_dataSource, function(t) { + this._dataSource = t, + "number" == typeof t && Math.floor(t) == t || "string" == typeof t ? this.selectedIndex = parseInt(t) : t instanceof Array ? this.labels = t.join(",") : i.superSet(B, this, "dataSource", t) + }), + e + }(B) + , Q = function(t) { + function e(t, i) { + this._value = null, + void 0 === i && (i = ""), + e.__super.call(this, t, i) + } + a(e, "laya.ui.Radio", t); + var i = e.prototype; + return i.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, e), + this._value = null + } + , + i.preinitialize = function() { + laya.ui.Component.prototype.preinitialize.call(this), + this.toggle = !1, + this._autoSize = !1 + } + , + i.initialize = function() { + t.prototype.initialize.call(this), + this.createText(), + this._text.align = "left", + this._text.valign = "top", + this._text.width = 0, + this.on("click", this, this.onClick) + } + , + i.onClick = function(t) { + this.selected = !0 + } + , + r(0, i, "value", function() { + return null != this._value ? this._value : this.label + }, function(t) { + this._value = t + }), + e + }(k) + , $ = function(t) { + function e() { + this._list = null, + this._source = null, + this._renderHandler = null, + this._spaceLeft = 10, + this._spaceBottom = 0, + this._keepStatus = !0, + e.__super.call(this), + this.width = this.height = 200 + } + a(e, "laya.ui.Tree", t); + var n = e.prototype; + return i.imps(n, { + "laya.ui.IRender": !0 + }), + n.destroy = function(t) { + void 0 === t && (t = !0), + laya.ui.Component.prototype.destroy.call(this, t), + this._list && this._list.destroy(t), + this._list = null, + this._source = null, + this._renderHandler = null + } + , + n.createChildren = function() { + this.addChild(this._list = new q), + this._list.renderHandler = f.create(this, this.renderItem, null, !1), + this._list.repeatX = 1, + this._list.on("change", this, this.onListChange) + } + , + n.onListChange = function(t) { + this.event("change") + } + , + n.getArray = function() { + var t, e = []; + for (var i in this._source) + t = this._source[i], + this.getParentOpenStatus(t) && (t.x = this._spaceLeft * this.getDepth(t), + e.push(t)); + return e + } + , + n.getDepth = function(t, e) { + return void 0 === e && (e = 0), + null == t.nodeParent ? e : this.getDepth(t.nodeParent, e + 1) + } + , + n.getParentOpenStatus = function(t) { + var e = t.nodeParent; + return null == e || !!e.isOpen && (null == e.nodeParent || this.getParentOpenStatus(e)) + } + , + n.renderItem = function(t, e) { + var i = t.dataSource; + if (i) { + t.left = i.x; + var n = t.getChildByName("arrow"); + n && (i.hasChild ? (n.visible = !0, + n.index = i.isOpen ? 1 : 0, + n.tag = e, + n.off("click", this, this.onArrowClick), + n.on("click", this, this.onArrowClick)) : n.visible = !1); + var a = t.getChildByName("folder"); + a && (2 == a.clipY ? a.index = i.isDirectory ? 0 : 1 : a.index = i.isDirectory ? i.isOpen ? 1 : 0 : 2), + this._renderHandler && this._renderHandler.runWith([t, e]) + } + } + , + n.onArrowClick = function(t) { + var e = t.currentTarget.tag; + this._list.array[e].isOpen = !this._list.array[e].isOpen, + this.event("open"), + this._list.array = this.getArray() + } + , + n.setItemState = function(t, e) { + this._list.array[t] && (this._list.array[t].isOpen = e, + this._list.array = this.getArray()) + } + , + n.fresh = function() { + this._list.array = this.getArray(), + this.repaint() + } + , + n.parseXml = function(t, e, i, n) { + var a, r = t.childNodes, s = r.length; + if (!n) { + a = {}; + var o, l = t.attributes; + for (var h in l) { + var c = (o = l[h]).nodeName + , _ = o.nodeValue; + a[c] = "true" == _ || "false" != _ && _ + } + a.nodeParent = i, + s > 0 && (a.isDirectory = !0), + a.hasChild = s > 0, + e.push(a) + } + for (var u = 0; u < s; u++) { + var d = r[u]; + this.parseXml(d, e, a, !1) + } + } + , + n.parseOpenStatus = function(t, e) { + for (var i = 0, n = e.length; i < n; i++) { + var a = e[i]; + if (a.isDirectory) + for (var r = 0, s = t.length; r < s; r++) { + var o = t[r]; + if (o.isDirectory && this.isSameParent(o, a) && a.label == o.label) { + a.isOpen = o.isOpen; + break + } + } + } + } + , + n.isSameParent = function(t, e) { + return null == t.nodeParent && null == e.nodeParent || null != t.nodeParent && null != e.nodeParent && (t.nodeParent.label == e.nodeParent.label && this.isSameParent(t.nodeParent, e.nodeParent)) + } + , + n.filter = function(t) { + if (Boolean(t)) { + var e = []; + this.getFilterSource(this._source, e, t), + this._list.array = e + } else + this._list.array = this.getArray() + } + , + n.getFilterSource = function(t, e, i) { + i = i.toLocaleLowerCase(); + var n; + for (var a in t) + !(n = t[a]).isDirectory && String(n.label).toLowerCase().indexOf(i) > -1 && (n.x = 0, + e.push(n)), + n.child && n.child.length > 0 && this.getFilterSource(n.child, e, i) + } + , + r(0, n, "spaceBottom", function() { + return this._list.spaceY + }, function(t) { + this._list.spaceY = t + }), + r(0, n, "keepStatus", function() { + return this._keepStatus + }, function(t) { + this._keepStatus = t + }), + r(0, n, "itemRender", function() { + return this._list.itemRender + }, function(t) { + this._list.itemRender = t + }), + r(0, n, "array", function() { + return this._list.array + }, function(t) { + this._keepStatus && this._list.array && t && this.parseOpenStatus(this._list.array, t), + this._source = t, + this._list.array = this.getArray() + }), + r(0, n, "mouseHandler", function() { + return this._list.mouseHandler + }, function(t) { + this._list.mouseHandler = t + }), + r(0, n, "dataSource", t.prototype._$get_dataSource, function(t) { + this._dataSource = t, + i.superSet(B, this, "dataSource", t) + }), + r(0, n, "source", function() { + return this._source + }), + r(0, n, "scrollBar", function() { + return this._list.scrollBar + }), + r(0, n, "list", function() { + return this._list + }), + r(0, n, "scrollBarSkin", function() { + return this._list.vScrollBarSkin + }, function(t) { + this._list.vScrollBarSkin = t + }), + r(0, n, "renderHandler", function() { + return this._renderHandler + }, function(t) { + this._renderHandler = t + }), + r(0, n, "selectedIndex", function() { + return this._list.selectedIndex + }, function(t) { + this._list.selectedIndex = t + }), + r(0, n, "spaceLeft", function() { + return this._spaceLeft + }, function(t) { + this._spaceLeft = t + }), + r(0, n, "selectedItem", function() { + return this._list.selectedItem + }, function(t) { + this._list.selectedItem = t + }), + r(0, n, "width", t.prototype._$get_width, function(t) { + i.superSet(B, this, "width", t), + this._list.width = t + }), + r(0, n, "height", t.prototype._$get_height, function(t) { + i.superSet(B, this, "height", t), + this._list.height = t + }), + r(0, n, "xml", null, function(t) { + var e = []; + this.parseXml(t.childNodes[0], e, null, !0), + this.array = e + }), + r(0, n, "selectedPath", function() { + return this._list.selectedItem ? this._list.selectedItem.path : null + }), + e + }(B) + , tt = function(t) { + function e() { + this._items = null, + this._selectedIndex = 0, + e.__super.call(this), + this._setIndexHandler = f.create(this, this.setIndex, null, !1) + } + a(e, "laya.ui.ViewStack", t); + var n = e.prototype; + return i.imps(n, { + "laya.ui.IItem": !0 + }), + n.setItems = function(t) { + this.removeChildren(); + for (var e = 0, i = 0, n = t.length; i < n; i++) { + var a = t[i]; + a && (a.name = "item" + e, + this.addChild(a), + e++) + } + this.initItems() + } + , + n.addItem = function(t) { + t.name = "item" + this._items.length, + this.addChild(t), + this.initItems() + } + , + n.initItems = function() { + this._items = []; + for (var t = 0; t < 1e4; t++) { + var e = this.getChildByName("item" + t); + if (null == e) + break; + this._items.push(e), + e.visible = t == this._selectedIndex + } + } + , + n.setSelect = function(t, e) { + this._items && t > -1 && t < this._items.length && (this._items[t].visible = e) + } + , + n.setIndex = function(t) { + this.selectedIndex = t + } + , + r(0, n, "dataSource", t.prototype._$get_dataSource, function(t) { + if (this._dataSource = t, + "number" == typeof t && Math.floor(t) == t || "string" == typeof t) + this.selectedIndex = parseInt(t); + else + for (var e in this._dataSource) + this.hasOwnProperty(e) && (this[e] = this._dataSource[e]) + }), + r(0, n, "selectedIndex", function() { + return this._selectedIndex + }, function(t) { + this._selectedIndex != t && (this.setSelect(this._selectedIndex, !1), + this._selectedIndex = t, + this.setSelect(this._selectedIndex, !0)) + }), + r(0, n, "selection", function() { + return this._selectedIndex > -1 && this._selectedIndex < this._items.length ? this._items[this._selectedIndex] : null + }, function(t) { + this.selectedIndex = this._items.indexOf(t) + }), + r(0, n, "items", function() { + return this._items + }), + r(0, n, "setIndexHandler", function() { + return this._setIndexHandler + }, function(t) { + this._setIndexHandler = t + }), + e + }(B) + , et = function(t) { + function e() { + e.__super.call(this) + } + return a(e, "laya.ui.VScrollBar", U), + e + }() + , it = function(t) { + function e(t) { + this._bg = null, + this._skin = null, + e.__super.call(this), + void 0 === t && (t = ""), + this.text = t, + this.skin = this.skin + } + a(e, "laya.ui.TextInput", t); + var n = e.prototype; + return n.preinitialize = function() { + this.mouseEnabled = !0 + } + , + n.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, e), + this._bg && this._bg.destroy(), + this._bg = null + } + , + n.createChildren = function() { + this.addChild(this._tf = new p), + this._tf.padding = L.inputLabelPadding, + this._tf.on("input", this, this._onInput), + this._tf.on("enter", this, this._onEnter), + this._tf.on("blur", this, this._onBlur), + this._tf.on("focus", this, this._onFocus) + } + , + n._onFocus = function() { + this.event("focus", this) + } + , + n._onBlur = function() { + this.event("blur", this) + } + , + n._onInput = function() { + this.event("input", this) + } + , + n._onEnter = function() { + this.event("enter", this) + } + , + n.initialize = function() { + this.width = 128, + this.height = 22 + } + , + n.select = function() { + this._tf.select() + } + , + n.setSelection = function(t, e) { + this._tf.setSelection(t, e) + } + , + r(0, n, "text", t.prototype._$get_text, function(t) { + this._tf.text != t && (t += "", + this._tf.text = t, + this.event("change")) + }), + r(0, n, "bg", function() { + return this._bg + }, function(t) { + this.graphics = this._bg = t + }), + r(0, n, "inputElementYAdjuster", function() { + return this._tf.inputElementYAdjuster + }, function(t) { + this._tf.inputElementYAdjuster = t + }), + r(0, n, "multiline", function() { + return this._tf.multiline + }, function(t) { + this._tf.multiline = t + }), + r(0, n, "skin", function() { + return this._skin + }, function(t) { + this._skin != t && (this._skin = t, + this._bg || (this.graphics = this._bg = new D), + this._bg.source = m.getRes(this._skin), + this._width && (this._bg.width = this._width), + this._height && (this._bg.height = this._height)) + }), + r(0, n, "sizeGrid", function() { + return this._bg && this._bg.sizeGrid ? this._bg.sizeGrid.join(",") : null + }, function(t) { + this._bg || (this.graphics = this._bg = new D), + this._bg.sizeGrid = T.fillArray(L.defaultSizeGrid, t, Number) + }), + r(0, n, "inputElementXAdjuster", function() { + return this._tf.inputElementXAdjuster + }, function(t) { + this._tf.inputElementXAdjuster = t + }), + r(0, n, "width", t.prototype._$get_width, function(t) { + i.superSet(H, this, "width", t), + this._bg && (this._bg.width = t) + }), + r(0, n, "height", t.prototype._$get_height, function(t) { + i.superSet(H, this, "height", t), + this._bg && (this._bg.height = t) + }), + r(0, n, "editable", function() { + return this._tf.editable + }, function(t) { + this._tf.editable = t + }), + r(0, n, "restrict", function() { + return this._tf.restrict + }, function(t) { + this._tf.restrict = t + }), + r(0, n, "prompt", function() { + return this._tf.prompt + }, function(t) { + this._tf.prompt = t + }), + r(0, n, "promptColor", function() { + return this._tf.promptColor + }, function(t) { + this._tf.promptColor = t + }), + r(0, n, "maxChars", function() { + return this._tf.maxChars + }, function(t) { + this._tf.maxChars = t + }), + r(0, n, "focus", function() { + return this._tf.focus + }, function(t) { + this._tf.focus = t + }), + r(0, n, "type", function() { + return this._tf.type + }, function(t) { + this._tf.type = t + }), + r(0, n, "asPassword", function() { + return this._tf.asPassword + }, function(t) { + this._tf.asPassword = t + }), + e + }(H) + , nt = function(t) { + function e() { + e.__super.call(this) + } + return a(e, "laya.ui.VSlider", V), + e + }() + , at = function(t) { + function e() { + this.popupCenter = !0, + this.closeHandler = null, + this.popupEffect = null, + this.closeEffect = null, + this.group = null, + this.isModal = !1, + this._dragArea = null, + e.__super.call(this) + } + a(e, "laya.ui.Dialog", t); + var n = e.prototype; + return n.initialize = function() { + this.popupEffect = e.manager.popupEffectHandler, + this.closeEffect = e.manager.closeEffectHandler, + this._dealDragArea(), + this.on("click", this, this._onClick) + } + , + n._dealDragArea = function() { + var t = this.getChildByName("drag"); + t && (this.dragArea = t.x + "," + t.y + "," + t.width + "," + t.height, + t.removeSelf()) + } + , + n._onClick = function(t) { + var e = t.target; + if (e) + switch (e.name) { + case "close": + case "cancel": + case "sure": + case "no": + case "ok": + case "yes": + this.close(e.name) + } + } + , + n.show = function(t, e) { + void 0 === t && (t = !1), + void 0 === e && (e = !0), + this._open(!1, t, e) + } + , + n.popup = function(t, e) { + void 0 === t && (t = !1), + void 0 === e && (e = !0), + this._open(!0, t, e) + } + , + n._open = function(t, i, n) { + e.manager.lock(!1), + this.isModal = t, + e.manager.open(this, i, n) + } + , + n.onOpened = function() {} + , + n.close = function(t, i) { + void 0 === i && (i = !0), + e.manager.close(this, t, i) + } + , + n.onClosed = function(t) {} + , + n._onMouseDown = function(t) { + var e = this.getMousePoint(); + this._dragArea.contains(e.x, e.y) ? this.startDrag() : this.stopDrag() + } + , + r(0, n, "dragArea", function() { + return this._dragArea ? this._dragArea.toString() : null + }, function(t) { + if (t) { + var e = T.fillArray([0, 0, 0, 0], t, Number); + this._dragArea = new y(e[0],e[1],e[2],e[3]), + this.on("mousedown", this, this._onMouseDown) + } else + this._dragArea = null, + this.off("mousedown", this, this._onMouseDown) + }), + r(0, n, "isPopup", function() { + return null != this.parent + }), + r(0, n, "zOrder", t.prototype._$get_zOrder, function(t) { + i.superSet(z, this, "zOrder", t), + e.manager._checkMask() + }), + r(1, e, "manager", function() { + return e._manager = e._manager || new A + }, function(t) { + e._manager = t + }), + e.setLockView = function(t) { + e.manager.setLockView(t) + } + , + e.lock = function(t) { + e.manager.lock(t) + } + , + e.closeAll = function() { + e.manager.closeAll() + } + , + e.getDialogsByGroup = function(t) { + return e.manager.getDialogsByGroup(t) + } + , + e.closeByGroup = function(t) { + return e.manager.closeByGroup(t) + } + , + e.CLOSE = "close", + e.CANCEL = "cancel", + e.SURE = "sure", + e.NO = "no", + e.OK = "ok", + e.YES = "yes", + e._manager = null, + e + }(z) + , rt = function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.ui.HBox", t); + var n = e.prototype; + return n.sortItem = function(t) { + t && t.sort(function(t, e) { + return t.x - e.x + }) + } + , + n.changeItems = function() { + this._itemChanged = !1; + for (var t = [], e = 0, i = 0, n = this.numChildren; i < n; i++) { + var a = this.getChildAt(i); + a && a.layoutEnabled && (t.push(a), + e = this._height ? this._height : Math.max(e, a.height * a.scaleY)) + } + this.sortItem(t); + var r = 0; + for (i = 0, + n = t.length; i < n; i++) + (a = t[i]).x = r, + r += a.width * a.scaleX + this._space, + "top" == this._align ? a.y = 0 : "middle" == this._align ? a.y = .5 * (e - a.height * a.scaleY) : "bottom" == this._align && (a.y = e - a.height * a.scaleY); + this.changeSize() + } + , + r(0, n, "height", t.prototype._$get_height, function(t) { + this._height != t && (i.superSet(W, this, "height", t), + this.callLater(this.changeItems)) + }), + e.NONE = "none", + e.TOP = "top", + e.MIDDLE = "middle", + e.BOTTOM = "bottom", + e + }(W) + , st = function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.ui.VBox", t); + var n = e.prototype; + return n.changeItems = function() { + this._itemChanged = !1; + for (var t = [], e = 0, i = 0, n = this.numChildren; i < n; i++) { + var a = this.getChildAt(i); + a && a.layoutEnabled && (t.push(a), + e = this._width ? this._width : Math.max(e, a.width * a.scaleX)) + } + this.sortItem(t); + var r = 0; + for (i = 0, + n = t.length; i < n; i++) + (a = t[i]).y = r, + r += a.height * a.scaleY + this._space, + "left" == this._align ? a.x = 0 : "center" == this._align ? a.x = .5 * (e - a.width * a.scaleX) : "right" == this._align && (a.x = e - a.width * a.scaleX); + this.changeSize() + } + , + r(0, n, "width", t.prototype._$get_width, function(t) { + this._width != t && (i.superSet(W, this, "width", t), + this.callLater(this.changeItems)) + }), + e.NONE = "none", + e.LEFT = "left", + e.CENTER = "center", + e.RIGHT = "right", + e + }(W) + , ot = function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.ui.RadioGroup", Z); + return e.prototype.createItem = function(t, e) { + return new Q(t,e) + } + , + e + }() + , lt = function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.ui.Tab", Z); + return e.prototype.createItem = function(t, e) { + return new k(t,e) + } + , + e + }() + , ht = function(t) { + function e(t) { + this._vScrollBar = null, + this._hScrollBar = null, + void 0 === t && (t = ""), + e.__super.call(this, t) + } + a(e, "laya.ui.TextArea", t); + var n = e.prototype; + return n.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, e), + this._vScrollBar && this._vScrollBar.destroy(), + this._hScrollBar && this._hScrollBar.destroy(), + this._vScrollBar = null, + this._hScrollBar = null + } + , + n.initialize = function() { + this.width = 180, + this.height = 150, + this._tf.wordWrap = !0, + this.multiline = !0 + } + , + n.onVBarChanged = function(t) { + this._tf.scrollY != this._vScrollBar.value && (this._tf.scrollY = this._vScrollBar.value) + } + , + n.onHBarChanged = function(t) { + this._tf.scrollX != this._hScrollBar.value && (this._tf.scrollX = this._hScrollBar.value) + } + , + n.changeScroll = function() { + var t = this._vScrollBar && this._tf.maxScrollY > 0 + , e = this._hScrollBar && this._tf.maxScrollX > 0 + , i = t ? this._width - this._vScrollBar.width : this._width + , n = e ? this._height - this._hScrollBar.height : this._height + , a = this._tf.padding || L.labelPadding; + this._tf.width = i, + this._tf.height = n, + this._vScrollBar && (this._vScrollBar.x = this._width - this._vScrollBar.width - a[2], + this._vScrollBar.y = a[1], + this._vScrollBar.height = this._height - (e ? this._hScrollBar.height : 0) - a[1] - a[3], + this._vScrollBar.scrollSize = 1, + this._vScrollBar.thumbPercent = n / Math.max(this._tf.textHeight, n), + this._vScrollBar.setScroll(1, this._tf.maxScrollY, this._tf.scrollY), + this._vScrollBar.visible = t), + this._hScrollBar && (this._hScrollBar.x = a[0], + this._hScrollBar.y = this._height - this._hScrollBar.height - a[3], + this._hScrollBar.width = this._width - (t ? this._vScrollBar.width : 0) - a[0] - a[2], + this._hScrollBar.scrollSize = Math.max(.033 * i, 1), + this._hScrollBar.thumbPercent = i / Math.max(this._tf.textWidth, i), + this._hScrollBar.setScroll(0, this.maxScrollX, this.scrollX), + this._hScrollBar.visible = e) + } + , + n.scrollTo = function(t) { + this.commitMeasure(), + this._tf.scrollY = t + } + , + r(0, n, "scrollY", function() { + return this._tf.scrollY + }), + r(0, n, "width", t.prototype._$get_width, function(t) { + i.superSet(it, this, "width", t), + this.callLater(this.changeScroll) + }), + r(0, n, "hScrollBar", function() { + return this._hScrollBar + }), + r(0, n, "height", t.prototype._$get_height, function(t) { + i.superSet(it, this, "height", t), + this.callLater(this.changeScroll) + }), + r(0, n, "maxScrollX", function() { + return this._tf.maxScrollX + }), + r(0, n, "vScrollBarSkin", function() { + return this._vScrollBar ? this._vScrollBar.skin : null + }, function(t) { + null == this._vScrollBar && (this.addChild(this._vScrollBar = new et), + this._vScrollBar.on("change", this, this.onVBarChanged), + this._vScrollBar.target = this._tf, + this.callLater(this.changeScroll)), + this._vScrollBar.skin = t + }), + r(0, n, "hScrollBarSkin", function() { + return this._hScrollBar ? this._hScrollBar.skin : null + }, function(t) { + null == this._hScrollBar && (this.addChild(this._hScrollBar = new Y), + this._hScrollBar.on("change", this, this.onHBarChanged), + this._hScrollBar.mouseWheelEnable = !1, + this._hScrollBar.target = this._tf, + this.callLater(this.changeScroll)), + this._hScrollBar.skin = t + }), + r(0, n, "vScrollBar", function() { + return this._vScrollBar + }), + r(0, n, "maxScrollY", function() { + return this._tf.maxScrollY + }), + r(0, n, "scrollX", function() { + return this._tf.scrollX + }), + e + }(it); + !function(t) { + function e() { + this._uiView = null, + this.isCloseOther = !1, + e.__super.call(this) + } + a(e, "laya.ui.AsynDialog", at); + var i = e.prototype; + i.createView = function(t) { + this._uiView = t + } + , + i._open = function(t, e, i) { + this.isModal = t, + this.isCloseOther = e, + at.manager.lock(!0), + this._uiView ? this.onCreated() : this.onOpen() + } + , + i.onCreated = function() { + this.createUI(), + this.onOpen() + } + , + i.createUI = function() { + laya.ui.View.prototype.createView.call(this, this._uiView), + this._uiView = null, + this._dealDragArea() + } + , + i.onOpen = function() { + at.manager.open(this, this.isCloseOther), + at.manager.lock(!1) + } + , + i.close = function(t, e) { + void 0 === e && (e = !0), + at.manager.close(this), + this.onClose() + } + , + i.onClose = function() {} + , + i.destroy = function(t) { + void 0 === t && (t = !0), + laya.ui.View.prototype.destroy.call(this, t), + this._uiView = null, + this.onDestroy() + } + , + i.onDestroy = function() {} + }(); + i.__init([z]) +}(window, document, Laya), +"function" == typeof define && define.amd && define("laya.core", ["require", "exports"], function(t, e) { + "use strict"; + Object.defineProperty(e, "__esModule", { + value: !0 + }); + for (var i in Laya) { + var n = Laya[i]; + n && n.__isclass && (e[i] = n) + } +}), +function(t, e, i) { + i.un, + i.uns; + var n = i.static + , a = i.class + , r = i.getset + , s = i.__newvec + , o = (laya.ani.AnimationContent, + laya.ani.AnimationPlayer) + , l = (laya.ani.AnimationState, + laya.ani.AnimationTemplet) + , h = laya.maths.Arith + , c = laya.webgl.atlas.AtlasResourceManager + , _ = laya.webgl.shader.BaseShader + , u = laya.utils.Browser + , d = laya.webgl.utils.Buffer + , f = laya.utils.Byte + , p = (laya.ani.bone.canvasmesh.CacheAbleSkinMesh, + laya.utils.ClassUtils) + , m = i.Config + , g = (laya.events.Event, + laya.events.EventDispatcher) + , y = laya.utils.Handler + , v = laya.net.Loader + , b = laya.net.LoaderManager + , w = laya.maths.MathUtil + , x = laya.display.Node + , I = laya.renders.Render + , C = (laya.renders.RenderContext, + laya.renders.RenderSprite, + laya.webgl.utils.RenderState2D) + , S = laya.resource.Resource + , M = laya.utils.RunDriver + , L = (laya.webgl.shader.Shader, + laya.webgl.utils.ShaderCompile) + , T = laya.display.Sprite + , E = laya.utils.Stat + , D = laya.utils.StringKey + , N = (laya.display.css.Style, + laya.resource.Texture, + laya.net.URL) + , A = laya.utils.Utils + , B = laya.webgl.WebGL + , k = laya.webgl.WebGLContext; + laya.webgl.canvas.WebGLContext2D; + i.interface("laya.d3.core.IClone"), + i.interface("laya.d3.graphics.IVertex"), + i.interface("laya.d3.core.render.IUpdate"), + i.interface("laya.d3.core.scene.ITreeNode"), + i.interface("laya.d3.core.render.IRenderable"); + var R = function() { + function t() {} + return a(t, "laya.d3.animation.AnimationClipParser01"), + t.READ_DATA = function() { + t._DATA.offset = t._reader.getUint32(), + t._DATA.size = t._reader.getUint32() + } + , + t.READ_BLOCK = function() { + for (var e = t._BLOCK.count = t._reader.getUint16(), i = t._BLOCK.blockStarts = [], n = t._BLOCK.blockLengths = [], a = 0; a < e; a++) + i.push(t._reader.getUint32()), + n.push(t._reader.getUint32()) + } + , + t.READ_STRINGS = function() { + var e = t._reader.getUint32() + , i = t._reader.getUint16() + , n = t._reader.pos; + t._reader.pos = e + t._DATA.offset; + for (var a = 0; a < i; a++) + t._strings[a] = t._reader.readUTFString(); + t._reader.pos = n + } + , + t.parse = function(e, i) { + t._animationClip = e, + t._reader = i; + i.__getBuffer(); + t.READ_DATA(), + t.READ_BLOCK(), + t.READ_STRINGS(); + for (var n = 0, a = t._BLOCK.count; n < a; n++) { + var r = i.getUint16() + , s = t._strings[r] + , o = t["READ_" + s]; + if (null == o) + throw new Error("model file err,no this function:" + r + " " + s); + o.call() + } + } + , + t.READ_ANIMATIONS = function() { + var e, i = 0, n = 0, a = t._reader, r = a.__getBuffer(), s = [], o = a.getUint8(); + for (s.length = o, + i = 0; i < o; i++) + s[i] = a.getUint16(); + var l = [] + , h = a.getUint16(); + for (l.length = h, + i = 0; i < h; i++) + l[i] = a.getFloat32(); + var c = t._animationClip; + c.name = t._strings[a.getUint16()]; + var _ = c._duration = a.getFloat32(); + c.islooping = !!a.getByte(), + c._frameRate = a.getInt16(); + var u = a.getInt16() + , d = c._nodes = new Array; + d.length = u; + (c._publicClipDatas = []).length = u; + var f = c._nodesMap = {} + , p = 0 + , m = 0; + for (i = 0; i < u; i++) { + e = d[i] = new F; + var g = a.getUint16() + , y = e.path = []; + for (y.length = g, + n = 0; n < g; n++) + y[n] = t._strings[a.getUint16()]; + var v = y.join("/") + , b = f[v]; + b || (f[v] = b = []), + b.push(e); + var w = a.getInt16(); + -1 !== w && (e.componentType = t._strings[w]); + var x = U._propertyIndexDic[t._strings[a.getUint16()]]; + if (null == x) + throw new Error("AnimationClipParser01:unknown property name."); + var I = x < 4 + , C = !I || I && "" === y[0]; + e._cacheProperty = C, + C ? p++ : m++, + e.propertyNameID = x; + var S = s[a.getUint8()]; + e.keyFrameWidth = S / 4; + var M = e.keyFrames = [] + , L = M.length = a.getUint16() + , T = null + , E = NaN; + for (n = 0; n < L; n++) { + var D = M[n] = new V; + E = D.startTime = l[a.getUint16()]; + var N = a.pos; + D.inTangent = new Float32Array(r.slice(N, N + S)), + a.pos += S, + N = a.pos, + D.outTangent = new Float32Array(r.slice(N, N + S)), + a.pos += S, + N = a.pos, + D.data = new Float32Array(r.slice(N, N + S)), + a.pos += S, + T && (T.next = D, + T.duration = E - T.startTime), + T = D + } + D.next = null, + D.duration = _ - E + } + var A = c._nodeToCachePropertyMap = new Int32Array(u) + , B = c._cachePropertyMap = new Int32Array(p) + , k = c._unCachePropertyMap = new Int32Array(m); + for (p = m = 0, + i = 0; i < u; i++) + (e = d[i])._cacheProperty ? (A[i] = p, + B[p++] = i) : k[m++] = i + } + , + t._animationClip = null, + t._reader = null, + t._strings = [], + n(t, ["_BLOCK", function() { + return this._BLOCK = { + count: 0 + } + } + , "_DATA", function() { + return this._DATA = { + offset: 0, + size: 0 + } + } + ]), + t + }() + , P = function() { + function t() {} + return a(t, "laya.d3.animation.AnimationClipParser02"), + t.READ_DATA = function() { + t._DATA.offset = t._reader.getUint32(), + t._DATA.size = t._reader.getUint32() + } + , + t.READ_BLOCK = function() { + for (var e = t._BLOCK.count = t._reader.getUint16(), i = t._BLOCK.blockStarts = [], n = t._BLOCK.blockLengths = [], a = 0; a < e; a++) + i.push(t._reader.getUint32()), + n.push(t._reader.getUint32()) + } + , + t.READ_STRINGS = function() { + var e = t._reader.getUint32() + , i = t._reader.getUint16() + , n = t._reader.pos; + t._reader.pos = e + t._DATA.offset; + for (var a = 0; a < i; a++) + t._strings[a] = t._reader.readUTFString(); + t._reader.pos = n + } + , + t.parse = function(e, i) { + t._animationClip = e, + t._reader = i; + i.__getBuffer(); + t.READ_DATA(), + t.READ_BLOCK(), + t.READ_STRINGS(); + for (var n = 0, a = t._BLOCK.count; n < a; n++) { + var r = i.getUint16() + , s = t._strings[r] + , o = t["READ_" + s]; + if (null == o) + throw new Error("model file err,no this function:" + r + " " + s); + o.call() + } + } + , + t.READ_ANIMATIONS = function() { + var e, i = 0, n = 0, a = t._reader, r = a.__getBuffer(), s = [], o = a.getUint8(); + for (s.length = o, + i = 0; i < o; i++) + s[i] = a.getUint16(); + var l = [] + , h = a.getUint16(); + for (l.length = h, + i = 0; i < h; i++) + l[i] = a.getFloat32(); + var c = t._animationClip; + c.name = t._strings[a.getUint16()]; + var _ = c._duration = a.getFloat32(); + c.islooping = !!a.getByte(), + c._frameRate = a.getInt16(); + var u = a.getInt16() + , d = c._nodes = new Array; + d.length = u; + (c._publicClipDatas = []).length = u; + var f = c._nodesMap = {} + , p = 0 + , m = 0; + for (i = 0; i < u; i++) { + e = d[i] = new F; + var g = a.getUint16() + , y = e.path = []; + for (y.length = g, + n = 0; n < g; n++) + y[n] = t._strings[a.getUint16()]; + var v = y.join("/") + , b = f[v]; + b || (f[v] = b = []), + b.push(e); + var w = a.getInt16(); + -1 !== w && (e.componentType = t._strings[w]); + var x = U._propertyIndexDic[t._strings[a.getUint16()]]; + if (null == x) + throw new Error("AnimationClipParser02:unknown property name."); + var I = x < 4 + , C = !I || I && "" === y[0]; + e._cacheProperty = C, + C ? p++ : m++, + e.propertyNameID = x; + var S = s[a.getUint8()]; + e.keyFrameWidth = S / 4; + var M = e.keyFrames = [] + , L = M.length = a.getUint16() + , T = null + , E = NaN; + for (n = 0; n < L; n++) { + var D = M[n] = new V; + E = D.startTime = l[a.getUint16()]; + var N = a.pos; + D.inTangent = new Float32Array(r.slice(N, N + S)), + a.pos += S, + N = a.pos, + D.outTangent = new Float32Array(r.slice(N, N + S)), + a.pos += S, + N = a.pos, + D.data = new Float32Array(r.slice(N, N + S)), + a.pos += S, + T && (T.next = D, + T.duration = E - T.startTime), + T = D + } + D.next = null, + D.duration = _ - E + } + var A = a.getUint16(); + for (i = 0; i < A; i++) { + var B = new O; + B.time = a.getFloat32(), + B.eventName = t._strings[a.getUint16()]; + var k, R = a.getUint16(); + for (R > 0 && (B.params = k = []), + n = 0; n < R; n++) { + switch (a.getByte()) { + case 0: + k.push(!!a.getByte()); + break; + case 1: + k.push(a.getInt32()); + break; + case 2: + k.push(a.getFloat32()); + break; + case 3: + k.push(t._strings[a.getUint16()]); + break; + default: + throw new Error("unknown type.") + } + } + c.addEvent(B) + } + var P = c._nodeToCachePropertyMap = new Int32Array(u) + , H = c._cachePropertyMap = new Int32Array(p) + , G = c._unCachePropertyMap = new Int32Array(m); + for (p = m = 0, + i = 0; i < u; i++) + (e = d[i])._cacheProperty ? (P[i] = p, + H[p++] = i) : G[m++] = i + } + , + t._animationClip = null, + t._reader = null, + t._strings = [], + n(t, ["_BLOCK", function() { + return this._BLOCK = { + count: 0 + } + } + , "_DATA", function() { + return this._DATA = { + offset: 0, + size: 0 + } + } + ]), + t + }() + , O = function() { + function t() { + this.time = NaN, + this.eventName = null, + this.params = null + } + return a(t, "laya.d3.animation.AnimationEvent"), + t + }() + , U = function() { + function t() { + this._childs = [], + this.transform = new Qe(this) + } + a(t, "laya.d3.animation.AnimationNode"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.addChild = function(t) { + t._parent = this, + t.transform.setParent(this.transform), + this._childs.push(t) + } + , + e.removeChild = function(t) { + var e = this._childs.indexOf(t); + -1 !== e && this._childs.splice(e, 1) + } + , + e.getChildByName = function(t) { + for (var e = 0, i = this._childs.length; e < i; e++) { + var n = this._childs[e]; + if (n.name === t) + return n + } + return null + } + , + e.getChildByIndex = function(t) { + return this._childs[t] + } + , + e.getChildCount = function() { + return this._childs.length + } + , + e.cloneTo = function(t) { + var e = t; + e.name = this.name; + for (var i = 0, n = this._childs.length; i < n; i++) { + var a = this._childs[i] + , r = a.clone(); + e.addChild(r); + var s = a.transform + , o = r.transform; + o.setLocalPosition(s.getLocalPosition()), + o.setLocalRotation(s.getLocalRotation()), + o.setLocalScale(s.getLocalScale()), + o._localRotationEuler = s._localRotationEuler, + o._setWorldMatrixIgnoreUpdate(s.getWorldMatrix()) + } + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + t.__init__ = function() { + t.registerAnimationNodeProperty("localPosition", t._getLocalPosition, t._setLocalPosition), + t.registerAnimationNodeProperty("localRotation", t._getLocalRotation, t._setLocalRotation), + t.registerAnimationNodeProperty("localScale", t._getLocalScale, t._setLocalScale), + t.registerAnimationNodeProperty("localRotationEuler", t._getLocalRotationEuler, t._setLocalRotationEuler), + t.registerAnimationNodeProperty("particleRender.sharedMaterial.tintColor", t._getParticleRenderSharedMaterialTintColor, t._setParticleRenderSharedMaterialTintColor), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.tilingOffset", t._getMeshRenderSharedMaterialTilingOffset, t._setMeshRenderSharedMaterialTilingOffset), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.albedoColor", t._getMeshRenderSharedMaterialAlbedo, t._setMeshRenderSharedMaterialAlbedo), + t.registerAnimationNodeProperty("skinnedMeshRender.sharedMaterial.tilingOffset", t._getSkinnedMeshRenderSharedMaterialTilingOffset, t._setSkinnedMeshRenderSharedMaterialTilingOffset), + t.registerAnimationNodeProperty("skinnedMeshRender.sharedMaterial.albedoColor", t._getSkinnedMeshRenderSharedMaterialAlbedo, t._setSkinnedMeshRenderSharedMaterialAlbedo), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.albedo", t._getMeshRenderSharedMaterialAlbedo, t._setMeshRenderSharedMaterialAlbedo), + t.registerAnimationNodeProperty("skinnedMeshRender.sharedMaterial.albedo", t._getSkinnedMeshRenderSharedMaterialAlbedo, t._setSkinnedMeshRenderSharedMaterialAlbedo), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.intensity", t._getMeshRenderSharedMaterialIntensity, t._setMeshRenderSharedMaterialIntensity), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.alpha", t._getMeshRenderSharedMaterialAlpha, t._setMeshRenderSharedMaterialAlpha), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.alphaColor", t._getMeshRenderSharedMaterialAlphaColor, t._setMeshRenderSharedMaterialAlphaColor), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.baseColor", t._getMeshRenderSharedMaterialBaseColor, t._setMeshRenderSharedMaterialBaseColor), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.dissolve", t._getMeshRenderSharedMaterialDissolve, t._setMeshRenderSharedMaterialDissolve), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.dissolveSpeed", t._getMeshRenderSharedMaterialDissolveSpeed, t._setMeshRenderSharedMaterialDissolveSpeed), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.mMultiplier", t._getMeshRenderSharedMaterialMMultiplier, t._setMeshRenderSharedMaterialMMultiplier), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.baseScrollSpeedX", t._getMeshRenderSharedMaterialBaseScrollSpeedX, t._setMeshRenderSharedMaterialBaseScrollSpeedX), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.baseScrollSpeedY", t._getMeshRenderSharedMaterialBaseScrollSpeedY, t._setMeshRenderSharedMaterialBaseScrollSpeedY), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.secondScrollSpeedX", t._getMeshRenderSharedMaterialSecondScrollSpeedX, t._setMeshRenderSharedMaterialSecondScrollSpeedX), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.secondScrollSpeedY", t._getMeshRenderSharedMaterialSecondScrollSpeedY, t._setMeshRenderSharedMaterialSecondScrollSpeedY), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.detailTilingOffset", t._getMeshRenderSharedMaterialDetailTilingOffset, t._setMeshRenderSharedMaterialDetailTilingOffset), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.dissolveTilingOffset", t._getMeshRenderSharedMaterialDissolveTilingOffset, t._setMeshRenderSharedMaterialDissolveTilingOffset), + t.registerAnimationNodeProperty("meshRender.sharedMaterial.maskTilingOffset", t._getMeshRenderSharedMaterialMaskTilingOffset, t._setMeshRenderSharedMaterialMaskTilingOffset) + } + , + t.registerAnimationNodeProperty = function(e, i, n) { + if (t._propertyIndexDic[e]) + throw new Error("AnimationNode: this propertyName has registered."); + t._propertyIndexDic[e] = t._propertyIDCounter, + t._propertyGetFuncs[t._propertyIDCounter] = i, + t._propertySetFuncs[t._propertyIDCounter] = n, + t._propertyIDCounter++ + } + , + t._getLocalPosition = function(t, e) { + return t ? t.transform.getLocalPosition() : e._transform.localPosition.elements + } + , + t._setLocalPosition = function(t, e, i) { + if (t) + t.transform.setLocalPosition(i); + else { + var n = e._transform + , a = n.localPosition; + a.elements = i, + n.localPosition = a + } + } + , + t._getLocalRotation = function(t, e) { + return t ? t.transform.getLocalRotation() : e._transform.localRotation.elements + } + , + t._setLocalRotation = function(t, e, i) { + if (t) + t.transform.setLocalRotation(i); + else { + var n = e._transform + , a = n.localRotation; + a.elements = i, + n.localRotation = a + } + } + , + t._getLocalScale = function(t, e) { + return t ? t.transform.getLocalScale() : e._transform.localScale.elements + } + , + t._setLocalScale = function(t, e, i) { + if (t) + t.transform.setLocalScale(i); + else { + var n = e._transform + , a = n.localScale; + a.elements = i, + n.localScale = a + } + } + , + t._getLocalRotationEuler = function(t, e) { + return t ? t.transform.getLocalRotationEuler() : e._transform.localRotationEuler.elements + } + , + t._setLocalRotationEuler = function(t, e, i) { + if (t) + t.transform.setLocalRotationEuler(i); + else { + var n = e._transform + , a = n.localRotationEuler; + a.elements = i, + n.localRotationEuler = a + } + } + , + t._getMeshRenderSharedMaterialTilingOffset = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.tilingOffset.elements : null + } + return e.meshRender.sharedMaterial.tilingOffset.elements + } + , + t._setMeshRenderSharedMaterialTilingOffset = function(t, e, i) { + var n, a; + if (t) { + var r = t.transform._entity; + r && ((a = (n = r.owner.meshRender.material).tilingOffset).elements = i, + n.tilingOffset = a) + } else + (a = (n = e.meshRender.material).tilingOffset).elements = i, + n.tilingOffset = a + } + , + t._getMeshRenderSharedMaterialAlbedo = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.albedoColor.elements : null + } + return e.meshRender.sharedMaterial.albedoColor.elements + } + , + t._setMeshRenderSharedMaterialAlbedo = function(t, e, i) { + var n, a; + if (t) { + var r = t.transform._entity; + r && ((a = (n = r.owner.meshRender.material).albedoColor).elements = i, + n.albedoColor = a) + } else + (a = (n = e.meshRender.material).albedoColor).elements = i, + n.albedoColor = a + } + , + t._getSkinnedMeshRenderSharedMaterialTilingOffset = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.skinnedMeshRender.sharedMaterial.tilingOffset.elements : null + } + return e.skinnedMeshRender.sharedMaterial.tilingOffset.elements + } + , + t._setSkinnedMeshRenderSharedMaterialTilingOffset = function(t, e, i) { + var n, a; + if (t) { + var r = t.transform._entity; + r && ((a = (n = r.owner.skinnedMeshRender.material).tilingOffset).elements = i, + n.tilingOffset = a) + } else + (a = (n = e.skinnedMeshRender.material).tilingOffset).elements = i, + n.tilingOffset = a + } + , + t._getSkinnedMeshRenderSharedMaterialAlbedo = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.skinnedMeshRender.sharedMaterial.albedoColor.elements : null + } + return e.skinnedMeshRender.sharedMaterial.albedoColor.elements + } + , + t._setSkinnedMeshRenderSharedMaterialAlbedo = function(t, e, i) { + var n, a; + if (t) { + var r = t.transform._entity; + r && ((a = (n = r.owner.skinnedMeshRender.material).albedoColor).elements = i, + n.albedoColor = a) + } else + (a = (n = e.skinnedMeshRender.material).albedoColor).elements = i, + n.albedoColor = a + } + , + t._getParticleRenderSharedMaterialTintColor = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.particleRender.sharedMaterial.tintColor.elements : null + } + return e.particleRender.sharedMaterial.tintColor.elements + } + , + t._setParticleRenderSharedMaterialTintColor = function(t, e, i) { + var n, a; + if (t) { + var r = t.transform._entity; + r && ((a = (n = r.owner.particleRender.material).tintColor).elements = i, + n.tintColor = a) + } else + (a = (n = e.particleRender.material).tintColor).elements = i, + n.tintColor = a + } + , + t._getMeshRenderSharedMaterialAlphaColor = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.alphaColor.elements : null + } + return e.meshRender.sharedMaterial.alphaColor.elements + } + , + t._setMeshRenderSharedMaterialAlphaColor = function(t, e, i) { + var n, a; + if (t) { + var r = t.transform._entity; + r && ((a = (n = r.owner.meshRender.material).alphaColor).elements = i, + n.alphaColor = a) + } else + (a = (n = e.meshRender.material).alphaColor).elements = i, + n.alphaColor = a + } + , + t._getMeshRenderSharedMaterialBaseColor = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.baseColor.elements : null + } + return e.meshRender.sharedMaterial.baseColor.elements + } + , + t._setMeshRenderSharedMaterialBaseColor = function(t, e, i) { + var n, a; + if (t) { + var r = t.transform._entity; + r && ((a = (n = r.owner.meshRender.material).baseColor).elements = i, + n.baseColor = a) + } else + (a = (n = e.meshRender.material).baseColor).elements = i, + n.baseColor = a + } + , + t._getMeshRenderSharedMaterialDissolve = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.dissolve : 0 + } + return e.meshRender.sharedMaterial.dissolve + } + , + t._setMeshRenderSharedMaterialDissolve = function(t, e, i) { + if (t) { + var n = t.transform._entity; + n && (n.owner.meshRender.material.dissolve = i[0]) + } else + e.meshRender.material.dissolve = i[0] + } + , + t._getMeshRenderSharedMaterialDissolveSpeed = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.dissolveSpeed : 0 + } + return e.meshRender.sharedMaterial.dissolveSpeed + } + , + t._setMeshRenderSharedMaterialDissolveSpeed = function(t, e, i) { + if (t) { + var n = t.transform._entity; + n && (n.owner.meshRender.material.dissolveSpeed = i[0]) + } else + e.meshRender.material.dissolveSpeed = i[0] + } + , + t._getMeshRenderSharedMaterialMMultiplier = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.mMultiplier : 0 + } + return e.meshRender.sharedMaterial.mMultiplier + } + , + t._setMeshRenderSharedMaterialMMultiplier = function(t, e, i) { + if (t) { + var n = t.transform._entity; + n && (n.owner.meshRender.material.mMultiplier = i[0]) + } else + e.meshRender.material.mMultiplier = i[0] + } + , + t._getMeshRenderSharedMaterialBaseScrollSpeedX = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.baseScrollSpeedX : 0 + } + return e.meshRender.sharedMaterial.baseScrollSpeedX + } + , + t._setMeshRenderSharedMaterialBaseScrollSpeedX = function(t, e, i) { + if (t) { + var n = t.transform._entity; + n && (n.owner.meshRender.material.baseScrollSpeedX = i[0]) + } else + e.meshRender.material.baseScrollSpeedX = i[0] + } + , + t._getMeshRenderSharedMaterialBaseScrollSpeedY = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.baseScrollSpeedY : 0 + } + return e.meshRender.sharedMaterial.baseScrollSpeedY + } + , + t._setMeshRenderSharedMaterialBaseScrollSpeedY = function(t, e, i) { + if (t) { + var n = t.transform._entity; + n && (n.owner.meshRender.material.baseScrollSpeedY = i[0]) + } else + e.meshRender.material.baseScrollSpeedY = i[0] + } + , + t._getMeshRenderSharedMaterialSecondScrollSpeedX = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.secondScrollSpeedX : 0 + } + return e.meshRender.sharedMaterial.secondScrollSpeedX + } + , + t._setMeshRenderSharedMaterialSecondScrollSpeedX = function(t, e, i) { + if (t) { + var n = t.transform._entity; + n && (n.owner.meshRender.material.secondScrollSpeedX = i[0]) + } else + e.meshRender.material.secondScrollSpeedX = i[0] + } + , + t._getMeshRenderSharedMaterialSecondScrollSpeedY = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.secondScrollSpeedY : 0 + } + return e.meshRender.sharedMaterial.secondScrollSpeedY + } + , + t._setMeshRenderSharedMaterialSecondScrollSpeedY = function(t, e, i) { + if (t) { + var n = t.transform._entity; + n && (n.owner.meshRender.material.secondScrollSpeedY = i[0]) + } else + e.meshRender.material.secondScrollSpeedY = i[0] + } + , + t._getMeshRenderSharedMaterialAlpha = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.alpha : 0 + } + return e.meshRender.sharedMaterial.alpha + } + , + t._setMeshRenderSharedMaterialAlpha = function(t, e, i) { + if (t) { + var n = t.transform._entity; + n && (n.owner.meshRender.material.alpha = i[0]) + } else + e.meshRender.material.alpha = i[0] + } + , + t._getMeshRenderSharedMaterialIntensity = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.intensity : 0 + } + return e.meshRender.sharedMaterial.intensity + } + , + t._setMeshRenderSharedMaterialIntensity = function(t, e, i) { + if (t) { + var n = t.transform._entity; + n && (n.owner.meshRender.material.intensity = i[0]) + } else + e.meshRender.material.intensity = i[0] + } + , + t._getMeshRenderSharedMaterialDetailTilingOffset = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.detailTilingOffset.elements : null + } + return e.meshRender.sharedMaterial.detailTilingOffset.elements + } + , + t._setMeshRenderSharedMaterialDetailTilingOffset = function(t, e, i) { + var n, a; + if (t) { + var r = t.transform._entity; + r && ((a = (n = r.owner.meshRender.material).detailTilingOffset).elements = i, + n.detailTilingOffset = a) + } else + (a = (n = e.meshRender.material).detailTilingOffset).elements = i, + n.detailTilingOffset = a + } + , + t._getMeshRenderSharedMaterialDissolveTilingOffset = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.dissolveTilingOffset.elements : null + } + return e.meshRender.sharedMaterial.dissolveTilingOffset.elements + } + , + t._setMeshRenderSharedMaterialDissolveTilingOffset = function(t, e, i) { + var n, a; + if (t) { + var r = t.transform._entity; + r && ((a = (n = r.owner.meshRender.material).dissolveTilingOffset).elements = i, + n.dissolveTilingOffset = a) + } else + (a = (n = e.meshRender.material).dissolveTilingOffset).elements = i, + n.dissolveTilingOffset = a + } + , + t._getMeshRenderSharedMaterialMaskTilingOffset = function(t, e) { + if (t) { + var i = t.transform._entity; + return i ? i.owner.meshRender.sharedMaterial.maskTilingOffset.elements : null + } + return e.meshRender.sharedMaterial.maskTilingOffset.elements + } + , + t._setMeshRenderSharedMaterialMaskTilingOffset = function(t, e, i) { + var n, a; + if (t) { + var r = t.transform._entity; + r && ((a = (n = r.owner.meshRender.material).maskTilingOffset).elements = i, + n.maskTilingOffset = a) + } else + (a = (n = e.meshRender.material).maskTilingOffset).elements = i, + n.maskTilingOffset = a + } + , + t._propertyIDCounter = 0, + t._propertyIndexDic = {}, + t._propertySetFuncs = [], + t._propertyGetFuncs = [], + t + }() + , V = function() { + function t() { + this.startTime = NaN, + this.inTangent = null, + this.outTangent = null, + this.data = null, + this.duration = NaN, + this.next = null + } + return a(t, "laya.d3.animation.Keyframe"), + t + }() + , F = function() { + function t() { + this._cacheProperty = !1, + this.path = null, + this.componentType = null, + this.propertyNameID = 0, + this.keyFrameWidth = 0, + this.defaultData = null, + this.keyFrames = null + } + return a(t, "laya.d3.animation.KeyframeNode"), + t + }() + , H = function() { + function t() { + this._tempVector30 = new Be, + this._tempVector31 = new Be, + this._tempVector32 = new Be, + this._a = new Be, + this._b = new Be, + this._c = new Be, + this._d = new Be + } + a(t, "laya.d3.core.glitter.SplineCurvePositionVelocity"); + var e = t.prototype; + return e.Init = function(t, e, i, n) { + t.cloneTo(this._d), + e.cloneTo(this._c), + Be.scale(t, 2, this._a), + Be.scale(i, 2, this._tempVector30), + Be.subtract(this._a, this._tempVector30, this._a), + Be.add(this._a, e, this._a), + Be.add(this._a, n, this._a), + Be.scale(i, 3, this._b), + Be.scale(t, 3, this._tempVector30), + Be.subtract(this._b, this._tempVector30, this._b), + Be.subtract(this._b, n, this._b), + Be.scale(e, 2, this._tempVector30), + Be.subtract(this._b, this._tempVector30, this._b) + } + , + e.Slerp = function(t, e) { + Be.scale(this._a, t * t * t, this._tempVector30), + Be.scale(this._b, t * t, this._tempVector31), + Be.scale(this._c, t, this._tempVector32), + Be.add(this._tempVector30, this._tempVector31, e), + Be.add(e, this._tempVector32, e), + Be.add(e, this._d, e) + } + , + t + }() + , G = function() { + function t(t, e, i, n) { + this._datas = null, + this._w = 0, + this._h = 0, + this._minHeight = NaN, + this._maxHeight = NaN, + this._datas = [], + this._w = t, + this._h = e, + this._minHeight = i, + this._maxHeight = n + } + a(t, "laya.d3.core.HeightMap"); + var e = t.prototype; + return e._inBounds = function(t, e) { + return t >= 0 && t < this._h && e >= 0 && e < this._w + } + , + e.getHeight = function(t, e) { + return this._inBounds(t, e) ? this._datas[t][e] : NaN + } + , + r(0, e, "width", function() { + return this._w + }), + r(0, e, "height", function() { + return this._h + }), + r(0, e, "maxHeight", function() { + return this._maxHeight + }), + r(0, e, "minHeight", function() { + return this._minHeight + }), + t.creatFromMesh = function(e, i, n, a) { + for (var r = [], s = [], o = e.getSubMeshCount(), l = 0; l < o; l++) { + for (var h = e.getSubMesh(l), c = h._getVertexBuffer(), _ = c.getData(), u = [], d = 0; d < _.length; d += c.vertexDeclaration.vertexStride / 4) { + var f = new Be(_[d + 0],_[d + 1],_[d + 2]); + u.push(f) + } + r.push(u); + var p = h._getIndexBuffer(); + s.push(p.getData()) + } + var m = e.boundingBox + , g = m.min.x + , y = m.min.z + , v = m.max.x + , b = m.max.z + , w = m.min.y + , x = m.max.y + , I = v - g + , C = b - y + , S = a.elements[0] = I / (i - 1) + , M = a.elements[1] = C / (n - 1) + , L = new t(i,n,w,x) + , T = t._tempRay + , E = T.direction.elements; + E[0] = 0, + E[1] = -1, + E[2] = 0; + var D = x + .1; + T.origin.elements[1] = D; + for (var N = 0; N < n; N++) { + var A = y + N * M; + L._datas[N] = []; + for (var B = 0; B < i; B++) { + var k = g + B * S + , R = T.origin.elements; + R[0] = k, + R[2] = A; + var P = t._getPosition(T, r, s); + L._datas[N][B] = P === Number.MAX_VALUE ? NaN : D - P + } + } + return L + } + , + t.createFromImage = function(e, i, n) { + for (var a = e.width, r = e.height, s = new t(a,r,i,n), o = (n - i) / 254, l = e.getPixels(), h = 0, c = 0; c < r; c++) + for (var _ = s._datas[c] = [], u = 0; u < a; u++) { + var d = l[h++] + , f = l[h++] + , p = l[h++] + , m = l[h++]; + _[u] = 255 == d && 255 == f && 255 == p && 255 == m ? NaN : (d + f + p) / 3 * o + i + } + return s + } + , + t._getPosition = function(t, e, i) { + for (var n = Number.MAX_VALUE, a = 0; a < e.length; a++) + for (var r = e[a], s = i[a], o = 0; o < s.length; o += 3) { + var l = r[s[o + 0]] + , h = r[s[o + 1]] + , c = r[s[o + 2]] + , _ = qe.rayIntersectsTriangle(t, l, h, c); + !isNaN(_) && _ < n && (n = _) + } + return n + } + , + n(t, ["_tempRay", function() { + return this._tempRay = new Ne(new Be,new Be) + } + ]), + t + }() + , z = function() { + function t() { + this._visible = !0, + this._nonRigidbodyOffset = 0, + this._colliders = [] + } + a(t, "laya.d3.core.Layer"); + var e = t.prototype; + return e._binarySearchIndex = function() { + for (var e = 0, i = t._collsionTestList.length - 1, n = 0; e <= i; ) { + n = Math.floor((e + i) / 2); + var a = t._collsionTestList[n]; + if (a == this._number) + return n; + a > this._number ? i = n - 1 : e = n + 1 + } + return e + } + , + e._addCollider = function(e) { + 0 === this._colliders.length && t._collsionTestList.splice(this._binarySearchIndex(), 0, this._number), + e._isRigidbody ? (this._colliders.unshift(e), + this._nonRigidbodyOffset++) : this._colliders.push(e) + } + , + e._removeCollider = function(e) { + var i = this._colliders.indexOf(e); + i < this._nonRigidbodyOffset && this._nonRigidbodyOffset--, + this._colliders.splice(i, 1), + 0 === this._colliders.length && t._collsionTestList.splice(t._collsionTestList.indexOf(this._number), 1) + } + , + r(0, e, "number", function() { + return this._number + }), + r(0, e, "visible", function() { + return this._visible + }, function(e) { + this._visible = e, + t._visibleLayers = e ? t._visibleLayers | this.mask : t._visibleLayers & ~this.mask + }), + r(0, e, "mask", function() { + return this._mask + }), + r(1, t, "visibleLayers", function() { + return t._visibleLayers + }, function(e) { + t._visibleLayers = e; + for (var i = 0, n = t._layerList.length; i < n; i++) { + var a = t._layerList[i]; + a._visible = 0 != (a._mask & t._visibleLayers) + } + }), + t.__init__ = function() { + t._layerList.length = 31; + for (var e = 0; e < 31; e++) { + var i = new t; + t._layerList[e] = i, + 0 === e ? (i.name = "Default Layer", + i.visible = !0) : (i.name = "Layer-" + e, + i.visible = !1), + i._number = e, + i._mask = Math.pow(2, e) + } + t.currentCreationLayer = t._layerList[0] + } + , + t.getLayerByNumber = function(e) { + if (e < 0 || e > 30) + throw new Error("无法返回指定Layer,该number超出范围!"); + return t._layerList[e] + } + , + t.getLayerByName = function(e) { + for (var i = 0; i < 31; i++) + if (t._layerList[i].name === e) + return t._layerList[i]; + throw new Error("无法返回指定Layer,该name不存在") + } + , + t.isVisible = function(e) { + return 0 != (e & t._currentCameraCullingMask & t._visibleLayers) + } + , + t._layerList = [], + t._visibleLayers = 2147483647, + t._collsionTestList = [], + t._currentCameraCullingMask = 2147483647, + t.maxCount = 31, + t.currentCreationLayer = null, + t + }() + , j = function() { + function t(t, e, i) { + this._time = NaN, + this._minCount = 0, + this._maxCount = 0, + this._time = t, + this._minCount = e, + this._maxCount = i + } + a(t, "laya.d3.core.particleShuriKen.module.Burst"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.cloneTo = function(t) { + var e = t; + e._time = this._time, + e._minCount = this._minCount, + e._maxCount = this._maxCount + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, e, "time", function() { + return this._time + }), + r(0, e, "minCount", function() { + return this._minCount + }), + r(0, e, "maxCount", function() { + return this._maxCount + }), + t + }() + , W = function() { + function t(t) { + this._color = null, + this.enbale = !1, + this._color = t + } + a(t, "laya.d3.core.particleShuriKen.module.ColorOverLifetime"); + var e = t.prototype; + return e.cloneTo = function(t) { + var e = t; + this._color.cloneTo(e._color), + e.enbale = this.enbale + } + , + e.clone = function() { + var t; + switch (this._color.type) { + case 0: + t = J.createByConstant(this._color.constant.clone()); + break; + case 1: + t = J.createByGradient(this._color.gradient.clone()); + break; + case 2: + t = J.createByRandomTwoConstant(this._color.constantMin.clone(), this._color.constantMax.clone()); + break; + case 3: + t = J.createByRandomTwoGradient(this._color.gradientMin.clone(), this._color.gradientMax.clone()) + } + var e = new this.constructor(t); + return e.enbale = this.enbale, + e + } + , + r(0, e, "color", function() { + return this._color + }), + t + }() + , X = function() { + function t() { + this._destroyed = !1, + this._emissionRate = 0, + this._bursts = null, + this.enbale = !1, + this._destroyed = !1, + this.emissionRate = 10, + this._bursts = [] + } + a(t, "laya.d3.core.particleShuriKen.module.Emission"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0, + "laya.resource.IDestroy": !0 + }), + e._destroy = function() { + this._bursts = null, + this._destroyed = !0 + } + , + e.getBurstsCount = function() { + return this._bursts.length + } + , + e.getBurstByIndex = function(t) { + return this._bursts[t] + } + , + e.addBurst = function(t) { + var e = this._bursts.length; + if (e > 0) + for (var i = 0; i < e; i++) + this._bursts[i].time > t.time && this._bursts.splice(i, 0, t); + this._bursts.push(t) + } + , + e.removeBurst = function(t) { + var e = this._bursts.indexOf(t); + -1 !== e && this._bursts.splice(e, 1) + } + , + e.removeBurstByIndex = function(t) { + this._bursts.splice(t, 1) + } + , + e.clearBurst = function() { + this._bursts.length = 0 + } + , + e.cloneTo = function(t) { + var e = t + , i = e._bursts; + i.length = this._bursts.length; + for (var n = 0, a = this._bursts.length; n < a; n++) { + var r = i[n]; + r ? this._bursts[n].cloneTo(r) : i[n] = this._bursts[n].clone() + } + e._emissionRate = this._emissionRate, + e.enbale = this.enbale + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, e, "destroyed", function() { + return this._destroyed + }), + r(0, e, "emissionRate", function() { + return this._emissionRate + }, function(t) { + if (t < 0) + throw new Error("ParticleBaseShape:emissionRate value must large or equal than 0."); + this._emissionRate = t + }), + t + }() + , q = function() { + function t() { + this._type = 0, + this._constant = 0, + this._overTime = null, + this._constantMin = 0, + this._constantMax = 0, + this._overTimeMin = null, + this._overTimeMax = null + } + a(t, "laya.d3.core.particleShuriKen.module.FrameOverTime"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.cloneTo = function(t) { + var e = t; + e._type = this._type, + e._constant = this._constant, + this._overTime.cloneTo(e._overTime), + e._constantMin = this._constantMin, + e._constantMax = this._constantMax, + this._overTimeMin.cloneTo(e._overTimeMin), + this._overTimeMax.cloneTo(e._overTimeMax) + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, e, "frameOverTimeData", function() { + return this._overTime + }), + r(0, e, "constant", function() { + return this._constant + }), + r(0, e, "type", function() { + return this._type + }), + r(0, e, "frameOverTimeDataMin", function() { + return this._overTimeMin + }), + r(0, e, "constantMin", function() { + return this._constantMin + }), + r(0, e, "frameOverTimeDataMax", function() { + return this._overTimeMax + }), + r(0, e, "constantMax", function() { + return this._constantMax + }), + t.createByConstant = function(e) { + var i = new t; + return i._type = 0, + i._constant = e, + i + } + , + t.createByOverTime = function(e) { + var i = new t; + return i._type = 1, + i._overTime = e, + i + } + , + t.createByRandomTwoConstant = function(e, i) { + var n = new t; + return n._type = 2, + n._constantMin = e, + n._constantMax = i, + n + } + , + t.createByRandomTwoOverTime = function(e, i) { + var n = new t; + return n._type = 3, + n._overTimeMin = e, + n._overTimeMax = i, + n + } + , + t + }() + , Y = function() { + function t() { + this._type = 0, + this._separateAxes = !1, + this._constant = NaN, + this._constantSeparate = null, + this._gradient = null, + this._gradientX = null, + this._gradientY = null, + this._gradientZ = null, + this._gradientW = null, + this._constantMin = NaN, + this._constantMax = NaN, + this._constantMinSeparate = null, + this._constantMaxSeparate = null, + this._gradientMin = null, + this._gradientMax = null, + this._gradientXMin = null, + this._gradientXMax = null, + this._gradientYMin = null, + this._gradientYMax = null, + this._gradientZMin = null, + this._gradientZMax = null, + this._gradientWMin = null, + this._gradientWMax = null + } + a(t, "laya.d3.core.particleShuriKen.module.GradientAngularVelocity"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.cloneTo = function(t) { + var e = t; + e._type = this._type, + e._separateAxes = this._separateAxes, + e._constant = this._constant, + this._constantSeparate.cloneTo(e._constantSeparate), + this._gradient.cloneTo(e._gradient), + this._gradientX.cloneTo(e._gradientX), + this._gradientY.cloneTo(e._gradientY), + this._gradientZ.cloneTo(e._gradientZ), + e._constantMin = this._constantMin, + e._constantMax = this._constantMax, + this._constantMinSeparate.cloneTo(e._constantMinSeparate), + this._constantMaxSeparate.cloneTo(e._constantMaxSeparate), + this._gradientMin.cloneTo(e._gradientMin), + this._gradientMax.cloneTo(e._gradientMax), + this._gradientXMin.cloneTo(e._gradientXMin), + this._gradientXMax.cloneTo(e._gradientXMax), + this._gradientYMin.cloneTo(e._gradientYMin), + this._gradientYMax.cloneTo(e._gradientYMax), + this._gradientZMin.cloneTo(e._gradientZMin), + this._gradientZMax.cloneTo(e._gradientZMax) + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, e, "gradientZ", function() { + return this._gradientZ + }), + r(0, e, "constant", function() { + return this._constant + }), + r(0, e, "gradient", function() { + return this._gradient + }), + r(0, e, "separateAxes", function() { + return this._separateAxes + }), + r(0, e, "type", function() { + return this._type + }), + r(0, e, "constantSeparate", function() { + return this._constantSeparate + }), + r(0, e, "gradientX", function() { + return this._gradientX + }), + r(0, e, "gradientY", function() { + return this._gradientY + }), + r(0, e, "gradientW", function() { + return this._gradientW + }), + r(0, e, "gradientMin", function() { + return this._gradientMin + }), + r(0, e, "constantMin", function() { + return this._constantMin + }), + r(0, e, "gradientMax", function() { + return this._gradientMax + }), + r(0, e, "constantMax", function() { + return this._constantMax + }), + r(0, e, "gradientWMin", function() { + return this._gradientWMin + }), + r(0, e, "constantMinSeparate", function() { + return this._constantMinSeparate + }), + r(0, e, "constantMaxSeparate", function() { + return this._constantMaxSeparate + }), + r(0, e, "gradientXMin", function() { + return this._gradientXMin + }), + r(0, e, "gradientXMax", function() { + return this._gradientXMax + }), + r(0, e, "gradientWMax", function() { + return this._gradientWMax + }), + r(0, e, "gradientYMin", function() { + return this._gradientYMin + }), + r(0, e, "gradientYMax", function() { + return this._gradientYMax + }), + r(0, e, "gradientZMin", function() { + return this._gradientZMin + }), + r(0, e, "gradientZMax", function() { + return this._gradientZMax + }), + t.createByConstant = function(e) { + var i = new t; + return i._type = 0, + i._separateAxes = !1, + i._constant = e, + i + } + , + t.createByConstantSeparate = function(e) { + var i = new t; + return i._type = 0, + i._separateAxes = !0, + i._constantSeparate = e, + i + } + , + t.createByGradient = function(e) { + var i = new t; + return i._type = 1, + i._separateAxes = !1, + i._gradient = e, + i + } + , + t.createByGradientSeparate = function(e, i, n, a) { + var r = new t; + return r._type = 1, + r._separateAxes = !0, + r._gradientX = e, + r._gradientY = i, + r._gradientZ = n, + r._gradientW = a, + r + } + , + t.createByRandomTwoConstant = function(e, i) { + var n = new t; + return n._type = 2, + n._separateAxes = !1, + n._constantMin = e, + n._constantMax = i, + n + } + , + t.createByRandomTwoConstantSeparate = function(e, i) { + var n = new t; + return n._type = 2, + n._separateAxes = !0, + n._constantMinSeparate = e, + n._constantMaxSeparate = i, + n + } + , + t.createByRandomTwoGradient = function(e, i) { + var n = new t; + return n._type = 3, + n._separateAxes = !1, + n._gradientMin = e, + n._gradientMax = i, + n + } + , + t.createByRandomTwoGradientSeparate = function(e, i, n, a, r, s, o, l) { + var h = new t; + return h._type = 3, + h._separateAxes = !0, + h._gradientXMin = e, + h._gradientXMax = i, + h._gradientYMin = n, + h._gradientYMax = a, + h._gradientZMin = r, + h._gradientZMax = s, + h._gradientWMin = o, + h._gradientWMax = l, + h + } + , + t + }() + , J = function() { + function t() { + this._type = 0, + this._constant = null, + this._constantMin = null, + this._constantMax = null, + this._gradient = null, + this._gradientMin = null, + this._gradientMax = null + } + a(t, "laya.d3.core.particleShuriKen.module.GradientColor"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.cloneTo = function(t) { + var e = t; + e._type = this._type, + this._constant.cloneTo(e._constant), + this._constantMin.cloneTo(e._constantMin), + this._constantMax.cloneTo(e._constantMax), + this._gradient.cloneTo(e._gradient), + this._gradientMin.cloneTo(e._gradientMin), + this._gradientMax.cloneTo(e._gradientMax) + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, e, "gradient", function() { + return this._gradient + }), + r(0, e, "constant", function() { + return this._constant + }), + r(0, e, "type", function() { + return this._type + }), + r(0, e, "gradientMin", function() { + return this._gradientMin + }), + r(0, e, "constantMin", function() { + return this._constantMin + }), + r(0, e, "gradientMax", function() { + return this._gradientMax + }), + r(0, e, "constantMax", function() { + return this._constantMax + }), + t.createByConstant = function(e) { + var i = new t; + return i._type = 0, + i._constant = e, + i + } + , + t.createByGradient = function(e) { + var i = new t; + return i._type = 1, + i._gradient = e, + i + } + , + t.createByRandomTwoConstant = function(e, i) { + var n = new t; + return n._type = 2, + n._constantMin = e, + n._constantMax = i, + n + } + , + t.createByRandomTwoGradient = function(e, i) { + var n = new t; + return n._type = 3, + n._gradientMin = e, + n._gradientMax = i, + n + } + , + t + }() + , K = function() { + function t() { + this._alphaCurrentLength = 0, + this._rgbCurrentLength = 0, + this._alphaElements = null, + this._rgbElements = null, + this._alphaElements = new Float32Array(8), + this._rgbElements = new Float32Array(16) + } + a(t, "laya.d3.core.particleShuriKen.module.GradientDataColor"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.addAlpha = function(t, e) { + this._alphaCurrentLength < 8 ? (6 === this._alphaCurrentLength && 1 !== t && (t = 1, + console.log("GradientDataColor warning:the forth key is be force set to 1.")), + this._alphaElements[this._alphaCurrentLength++] = t, + this._alphaElements[this._alphaCurrentLength++] = e) : console.log("GradientDataColor warning:data count must lessEqual than 4") + } + , + e.addRGB = function(t, e) { + this._rgbCurrentLength < 16 ? (12 === this._rgbCurrentLength && 1 !== t && (t = 1, + console.log("GradientDataColor warning:the forth key is be force set to 1.")), + this._rgbElements[this._rgbCurrentLength++] = t, + this._rgbElements[this._rgbCurrentLength++] = e.x, + this._rgbElements[this._rgbCurrentLength++] = e.y, + this._rgbElements[this._rgbCurrentLength++] = e.z) : console.log("GradientDataColor warning:data count must lessEqual than 4") + } + , + e.cloneTo = function(t) { + var e = t + , i = 0 + , n = 0; + e._alphaCurrentLength = this._alphaCurrentLength; + var a = e._alphaElements; + for (a.length = this._alphaElements.length, + i = 0, + n = this._alphaElements.length; i < n; i++) + a[i] = this._alphaElements[i]; + e._rgbCurrentLength = this._rgbCurrentLength; + var r = e._rgbElements; + for (r.length = this._rgbElements.length, + i = 0, + n = this._rgbElements.length; i < n; i++) + r[i] = this._rgbElements[i] + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, e, "alphaGradientCount", function() { + return this._alphaCurrentLength / 2 + }), + r(0, e, "rgbGradientCount", function() { + return this._rgbCurrentLength / 4 + }), + t + }() + , Z = function() { + function t() { + this._currentLength = 0, + this._elements = null, + this._elements = new Float32Array(8) + } + a(t, "laya.d3.core.particleShuriKen.module.GradientDataInt"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.add = function(t, e) { + this._currentLength < 8 ? (6 === this._currentLength && 1 !== t && (t = 1, + console.log("Warning:the forth key is be force set to 1.")), + this._elements[this._currentLength++] = t, + this._elements[this._currentLength++] = e) : console.log("Warning:data count must lessEqual than 4") + } + , + e.cloneTo = function(t) { + var e = t; + e._currentLength = this._currentLength; + var i = e._elements; + i.length = this._elements.length; + for (var n = 0, a = this._elements.length; n < a; n++) + i[n] = this._elements[n] + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, e, "gradientCount", function() { + return this._currentLength / 2 + }), + t + }() + , Q = function() { + function t() { + this._currentLength = 0, + this._elements = null, + this._elements = new Float32Array(8) + } + a(t, "laya.d3.core.particleShuriKen.module.GradientDataNumber"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.add = function(t, e) { + this._currentLength < 8 ? (6 === this._currentLength && 1 !== t && (t = 1, + console.log("GradientDataNumber warning:the forth key is be force set to 1.")), + this._elements[this._currentLength++] = t, + this._elements[this._currentLength++] = e) : console.log("GradientDataNumber warning:data count must lessEqual than 4") + } + , + e.getKeyByIndex = function(t) { + return this._elements[2 * t] + } + , + e.getValueByIndex = function(t) { + return this._elements[2 * t + 1] + } + , + e.getAverageValue = function() { + for (var t = 0, e = this._currentLength - 2; t < e; t += 2) { + this._elements[t + 1]; + this._elements[t + 3], + this._elements[t + 2] - this._elements[t] + } + return 0 + } + , + e.cloneTo = function(t) { + var e = t; + e._currentLength = this._currentLength; + var i = e._elements; + i.length = this._elements.length; + for (var n = 0, a = this._elements.length; n < a; n++) + i[n] = this._elements[n] + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, e, "gradientCount", function() { + return this._currentLength / 2 + }), + t + }() + , $ = (function() { + function t() { + this._currentLength = 0, + this._elements = null, + this._elements = new Float32Array(12) + } + a(t, "laya.d3.core.particleShuriKen.module.GradientDataVector2"); + var e = t.prototype; + i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.add = function(t, e) { + this._currentLength < 8 ? (6 === this._currentLength && 1 !== t && (t = 1, + console.log("GradientDataVector2 warning:the forth key is be force set to 1.")), + this._elements[this._currentLength++] = t, + this._elements[this._currentLength++] = e.x, + this._elements[this._currentLength++] = e.y) : console.log("GradientDataVector2 warning:data count must lessEqual than 4") + } + , + e.cloneTo = function(t) { + var e = t; + e._currentLength = this._currentLength; + var i = e._elements; + i.length = this._elements.length; + for (var n = 0, a = this._elements.length; n < a; n++) + i[n] = this._elements[n] + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, e, "gradientCount", function() { + return this._currentLength / 3 + }) + }(), + function() { + function t() { + this._type = 0, + this._separateAxes = !1, + this._gradient = null, + this._gradientX = null, + this._gradientY = null, + this._gradientZ = null, + this._constantMin = NaN, + this._constantMax = NaN, + this._constantMinSeparate = null, + this._constantMaxSeparate = null, + this._gradientMin = null, + this._gradientMax = null, + this._gradientXMin = null, + this._gradientXMax = null, + this._gradientYMin = null, + this._gradientYMax = null, + this._gradientZMin = null, + this._gradientZMax = null + } + a(t, "laya.d3.core.particleShuriKen.module.GradientSize"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.getMaxSizeInGradient = function() { + var t = 0 + , e = 0 + , i = -Number.MAX_VALUE; + switch (this._type) { + case 0: + if (this._separateAxes) { + for (t = 0, + e = this._gradientX.gradientCount; t < e; t++) + i = Math.max(i, this._gradientX.getValueByIndex(t)); + for (t = 0, + e = this._gradientY.gradientCount; t < e; t++) + i = Math.max(i, this._gradientY.getValueByIndex(t)) + } else + for (t = 0, + e = this._gradient.gradientCount; t < e; t++) + i = Math.max(i, this._gradient.getValueByIndex(t)); + break; + case 1: + this._separateAxes ? (i = Math.max(this._constantMinSeparate.x, this._constantMaxSeparate.x), + i = Math.max(i, this._constantMinSeparate.y), + i = Math.max(i, this._constantMaxSeparate.y)) : i = Math.max(this._constantMin, this._constantMax); + break; + case 2: + if (this._separateAxes) { + for (t = 0, + e = this._gradientXMin.gradientCount; t < e; t++) + i = Math.max(i, this._gradientXMin.getValueByIndex(t)); + for (t = 0, + e = this._gradientXMax.gradientCount; t < e; t++) + i = Math.max(i, this._gradientXMax.getValueByIndex(t)); + for (t = 0, + e = this._gradientYMin.gradientCount; t < e; t++) + i = Math.max(i, this._gradientYMin.getValueByIndex(t)); + for (t = 0, + e = this._gradientZMax.gradientCount; t < e; t++) + i = Math.max(i, this._gradientZMax.getValueByIndex(t)) + } else { + for (t = 0, + e = this._gradientMin.gradientCount; t < e; t++) + i = Math.max(i, this._gradientMin.getValueByIndex(t)); + for (t = 0, + e = this._gradientMax.gradientCount; t < e; t++) + i = Math.max(i, this._gradientMax.getValueByIndex(t)) + } + } + return i + } + , + e.cloneTo = function(t) { + var e = t; + e._type = this._type, + e._separateAxes = this._separateAxes, + this._gradient.cloneTo(e._gradient), + this._gradientX.cloneTo(e._gradientX), + this._gradientY.cloneTo(e._gradientY), + this._gradientZ.cloneTo(e._gradientZ), + e._constantMin = this._constantMin, + e._constantMax = this._constantMax, + this._constantMinSeparate.cloneTo(e._constantMinSeparate), + this._constantMaxSeparate.cloneTo(e._constantMaxSeparate), + this._gradientMin.cloneTo(e._gradientMin), + this._gradientMax.cloneTo(e._gradientMax), + this._gradientXMin.cloneTo(e._gradientXMin), + this._gradientXMax.cloneTo(e._gradientXMax), + this._gradientYMin.cloneTo(e._gradientYMin), + this._gradientYMax.cloneTo(e._gradientYMax), + this._gradientZMin.cloneTo(e._gradientZMin), + this._gradientZMax.cloneTo(e._gradientZMax) + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, e, "gradientZ", function() { + return this._gradientZ + }), + r(0, e, "gradient", function() { + return this._gradient + }), + r(0, e, "separateAxes", function() { + return this._separateAxes + }), + r(0, e, "type", function() { + return this._type + }), + r(0, e, "gradientMin", function() { + return this._gradientMin + }), + r(0, e, "constantMin", function() { + return this._constantMin + }), + r(0, e, "gradientX", function() { + return this._gradientX + }), + r(0, e, "gradientY", function() { + return this._gradientY + }), + r(0, e, "gradientMax", function() { + return this._gradientMax + }), + r(0, e, "constantMax", function() { + return this._constantMax + }), + r(0, e, "constantMinSeparate", function() { + return this._constantMinSeparate + }), + r(0, e, "constantMaxSeparate", function() { + return this._constantMaxSeparate + }), + r(0, e, "gradientXMin", function() { + return this._gradientXMin + }), + r(0, e, "gradientXMax", function() { + return this._gradientXMax + }), + r(0, e, "gradientYMin", function() { + return this._gradientYMin + }), + r(0, e, "gradientYMax", function() { + return this._gradientYMax + }), + r(0, e, "gradientZMin", function() { + return this._gradientZMin + }), + r(0, e, "gradientZMax", function() { + return this._gradientZMax + }), + t.createByGradient = function(e) { + var i = new t; + return i._type = 0, + i._separateAxes = !1, + i._gradient = e, + i + } + , + t.createByGradientSeparate = function(e, i, n) { + var a = new t; + return a._type = 0, + a._separateAxes = !0, + a._gradientX = e, + a._gradientY = i, + a._gradientZ = n, + a + } + , + t.createByRandomTwoConstant = function(e, i) { + var n = new t; + return n._type = 1, + n._separateAxes = !1, + n._constantMin = e, + n._constantMax = i, + n + } + , + t.createByRandomTwoConstantSeparate = function(e, i) { + var n = new t; + return n._type = 1, + n._separateAxes = !0, + n._constantMinSeparate = e, + n._constantMaxSeparate = i, + n + } + , + t.createByRandomTwoGradient = function(e, i) { + var n = new t; + return n._type = 2, + n._separateAxes = !1, + n._gradientMin = e, + n._gradientMax = i, + n + } + , + t.createByRandomTwoGradientSeparate = function(e, i, n, a, r, s) { + var o = new t; + return o._type = 2, + o._separateAxes = !0, + o._gradientXMin = e, + o._gradientXMax = i, + o._gradientYMin = n, + o._gradientYMax = a, + o._gradientZMin = r, + o._gradientZMax = s, + o + } + , + t + }()) + , tt = function() { + function t() { + this._type = 0, + this._constant = null, + this._gradientX = null, + this._gradientY = null, + this._gradientZ = null, + this._constantMin = null, + this._constantMax = null, + this._gradientXMin = null, + this._gradientXMax = null, + this._gradientYMin = null, + this._gradientYMax = null, + this._gradientZMin = null, + this._gradientZMax = null + } + a(t, "laya.d3.core.particleShuriKen.module.GradientVelocity"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.cloneTo = function(t) { + var e = t; + e._type = this._type, + this._constant.cloneTo(e._constant), + this._gradientX.cloneTo(e._gradientX), + this._gradientY.cloneTo(e._gradientY), + this._gradientZ.cloneTo(e._gradientZ), + this._constantMin.cloneTo(e._constantMin), + this._constantMax.cloneTo(e._constantMax), + this._gradientXMin.cloneTo(e._gradientXMin), + this._gradientXMax.cloneTo(e._gradientXMax), + this._gradientYMin.cloneTo(e._gradientYMin), + this._gradientYMax.cloneTo(e._gradientYMax), + this._gradientZMin.cloneTo(e._gradientZMin), + this._gradientZMax.cloneTo(e._gradientZMax) + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, e, "gradientZ", function() { + return this._gradientZ + }), + r(0, e, "constant", function() { + return this._constant + }), + r(0, e, "type", function() { + return this._type + }), + r(0, e, "gradientXMax", function() { + return this._gradientXMax + }), + r(0, e, "constantMin", function() { + return this._constantMin + }), + r(0, e, "gradientX", function() { + return this._gradientX + }), + r(0, e, "gradientY", function() { + return this._gradientY + }), + r(0, e, "gradientXMin", function() { + return this._gradientXMin + }), + r(0, e, "constantMax", function() { + return this._constantMax + }), + r(0, e, "gradientYMin", function() { + return this._gradientYMin + }), + r(0, e, "gradientYMax", function() { + return this._gradientYMax + }), + r(0, e, "gradientZMin", function() { + return this._gradientZMin + }), + r(0, e, "gradientZMax", function() { + return this._gradientZMax + }), + t.createByConstant = function(e) { + var i = new t; + return i._type = 0, + i._constant = e, + i + } + , + t.createByGradient = function(e, i, n) { + var a = new t; + return a._type = 1, + a._gradientX = e, + a._gradientY = i, + a._gradientZ = n, + a + } + , + t.createByRandomTwoConstant = function(e, i) { + var n = new t; + return n._type = 2, + n._constantMin = e, + n._constantMax = i, + n + } + , + t.createByRandomTwoGradient = function(e, i, n, a, r, s) { + var o = new t; + return o._type = 3, + o._gradientXMin = e, + o._gradientXMax = i, + o._gradientYMin = n, + o._gradientYMax = a, + o._gradientZMin = r, + o._gradientZMax = s, + o + } + , + t + }() + , et = function() { + function t(t) { + this._angularVelocity = null, + this.enbale = !1, + this._angularVelocity = t + } + a(t, "laya.d3.core.particleShuriKen.module.RotationOverLifetime"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.cloneTo = function(t) { + var e = t; + this._angularVelocity.cloneTo(e._angularVelocity), + e.enbale = this.enbale + } + , + e.clone = function() { + var t; + switch (this._angularVelocity.type) { + case 0: + t = this._angularVelocity.separateAxes ? Y.createByConstantSeparate(this._angularVelocity.constantSeparate.clone()) : Y.createByConstant(this._angularVelocity.constant); + break; + case 1: + t = this._angularVelocity.separateAxes ? Y.createByGradientSeparate(this._angularVelocity.gradientX.clone(), this._angularVelocity.gradientY.clone(), this._angularVelocity.gradientZ.clone(), this._angularVelocity.gradientW.clone()) : Y.createByGradient(this._angularVelocity.gradient.clone()); + break; + case 2: + t = this._angularVelocity.separateAxes ? Y.createByRandomTwoConstantSeparate(this._angularVelocity.constantMinSeparate.clone(), this._angularVelocity.constantMaxSeparate.clone()) : Y.createByRandomTwoConstant(this._angularVelocity.constantMin, this._angularVelocity.constantMax); + break; + case 3: + t = this._angularVelocity.separateAxes ? Y.createByRandomTwoGradientSeparate(this._angularVelocity.gradientXMin.clone(), this._angularVelocity.gradientYMin.clone(), this._angularVelocity.gradientZMin.clone(), this._angularVelocity.gradientWMin.clone(), this._angularVelocity.gradientXMax.clone(), this._angularVelocity.gradientYMax.clone(), this._angularVelocity.gradientZMax.clone(), this._angularVelocity.gradientWMax.clone()) : Y.createByRandomTwoGradient(this._angularVelocity.gradientMin.clone(), this._angularVelocity.gradientMax.clone()) + } + var e = new this.constructor(t); + return e.enbale = this.enbale, + e + } + , + r(0, e, "angularVelocity", function() { + return this._angularVelocity + }), + t + }() + , it = function() { + function t() { + this.enable = !1, + this.randomDirection = !1 + } + a(t, "laya.d3.core.particleShuriKen.module.shape.BaseShape"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e._getShapeBoundBox = function(t) { + throw new Error("BaseShape: must override it.") + } + , + e._getSpeedBoundBox = function(t) { + throw new Error("BaseShape: must override it.") + } + , + e.generatePositionAndDirection = function(t, e, i, n) { + throw new Error("BaseShape: must override it.") + } + , + e._calculateProceduralBounds = function(t, e, i) { + this._getShapeBoundBox(t); + var n = t.min + , a = t.max; + Be.multiply(n, e, n), + Be.multiply(a, e, a); + var r = new be(new Be,new Be); + this.randomDirection ? (r.min = new Be(-1,-1,-1), + r.max = new Be(1,1,1)) : this._getSpeedBoundBox(r); + var s = new be(new Be,new Be) + , o = s.min + , l = s.max; + Be.scale(r.min, i.y, o), + Be.scale(r.max, i.y, l), + Be.add(t.min, o, o), + Be.add(t.max, l, l), + Be.min(t.min, o, t.min), + Be.max(t.max, o, t.max); + var h = new be(new Be,new Be) + , c = h.min + , _ = h.max; + Be.scale(r.min, i.x, c), + Be.scale(r.max, i.x, _), + Be.min(h.min, _, o), + Be.max(h.min, _, l), + Be.min(t.min, o, t.min), + Be.max(t.max, o, t.max) + } + , + e.cloneTo = function(t) { + t.enable = this.enable + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + t + }() + , nt = function() { + function t() {} + return a(t, "laya.d3.core.particleShuriKen.module.shape.ShapeUtils"), + t._randomPointUnitArcCircle = function(t, e, i) { + var n = e.elements + , a = NaN; + a = i ? i.getFloat() * t : Math.random() * t, + n[0] = Math.cos(a), + n[1] = Math.sin(a) + } + , + t._randomPointInsideUnitArcCircle = function(e, i, n) { + var a = i.elements; + t._randomPointUnitArcCircle(e, i, n); + var r = NaN; + r = n ? Math.pow(n.getFloat(), .5) : Math.pow(Math.random(), .5), + a[0] = a[0] * r, + a[1] = a[1] * r + } + , + t._randomPointUnitCircle = function(t, e) { + var i = t.elements + , n = NaN; + n = e ? e.getFloat() * Math.PI * 2 : Math.random() * Math.PI * 2, + i[0] = Math.cos(n), + i[1] = Math.sin(n) + } + , + t._randomPointInsideUnitCircle = function(e, i) { + var n = e.elements; + t._randomPointUnitCircle(e); + var a = NaN; + a = i ? Math.pow(i.getFloat(), .5) : Math.pow(Math.random(), .5), + n[0] = n[0] * a, + n[1] = n[1] * a + } + , + t._randomPointUnitSphere = function(t, e) { + var i = t.elements + , n = NaN + , a = NaN; + e ? (n = i[2] = 2 * e.getFloat() - 1, + a = e.getFloat() * Math.PI * 2) : (n = i[2] = 2 * Math.random() - 1, + a = Math.random() * Math.PI * 2); + var r = Math.sqrt(1 - n * n); + i[0] = r * Math.cos(a), + i[1] = r * Math.sin(a) + } + , + t._randomPointInsideUnitSphere = function(e, i) { + var n = e.elements; + t._randomPointUnitSphere(e); + var a = NaN; + a = i ? Math.pow(i.getFloat(), 1 / 3) : Math.pow(Math.random(), 1 / 3), + n[0] = n[0] * a, + n[1] = n[1] * a, + n[2] = n[2] * a + } + , + t._randomPointInsideHalfUnitBox = function(t, e) { + var i = t.elements; + e ? (i[0] = e.getFloat() - .5, + i[1] = e.getFloat() - .5, + i[2] = e.getFloat() - .5) : (i[0] = Math.random() - .5, + i[1] = Math.random() - .5, + i[2] = Math.random() - .5) + } + , + t + }() + , at = function() { + function t(t) { + this._size = null, + this.enbale = !1, + this._size = t + } + a(t, "laya.d3.core.particleShuriKen.module.SizeOverLifetime"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.cloneTo = function(t) { + var e = t; + this._size.cloneTo(e._size), + e.enbale = this.enbale + } + , + e.clone = function() { + var t; + switch (this._size.type) { + case 0: + t = this._size.separateAxes ? $.createByGradientSeparate(this._size.gradientX.clone(), this._size.gradientY.clone(), this._size.gradientZ.clone()) : $.createByGradient(this._size.gradient.clone()); + break; + case 1: + t = this._size.separateAxes ? $.createByRandomTwoConstantSeparate(this._size.constantMinSeparate.clone(), this._size.constantMaxSeparate.clone()) : $.createByRandomTwoConstant(this._size.constantMin, this._size.constantMax); + break; + case 2: + t = this._size.separateAxes ? $.createByRandomTwoGradientSeparate(this._size.gradientXMin.clone(), this._size.gradientYMin.clone(), this._size.gradientZMin.clone(), this._size.gradientXMax.clone(), this._size.gradientYMax.clone(), this._size.gradientZMax.clone()) : $.createByRandomTwoGradient(this._size.gradientMin.clone(), this._size.gradientMax.clone()) + } + var e = new this.constructor(t); + return e.enbale = this.enbale, + e + } + , + r(0, e, "size", function() { + return this._size + }), + t + }() + , rt = function() { + function t() { + this._type = 0, + this._constant = NaN, + this._constantMin = NaN, + this._constantMax = NaN + } + a(t, "laya.d3.core.particleShuriKen.module.StartFrame"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.cloneTo = function(t) { + var e = t; + e._type = this._type, + e._constant = this._constant, + e._constantMin = this._constantMin, + e._constantMax = this._constantMax + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, e, "constant", function() { + return this._constant + }), + r(0, e, "type", function() { + return this._type + }), + r(0, e, "constantMin", function() { + return this._constantMin + }), + r(0, e, "constantMax", function() { + return this._constantMax + }), + t.createByConstant = function(e) { + var i = new t; + return i._type = 0, + i._constant = e, + i + } + , + t.createByRandomTwoConstant = function(e, i) { + var n = new t; + return n._type = 1, + n._constantMin = e, + n._constantMax = i, + n + } + , + t + }() + , st = function() { + function t(t, e) { + this._frame = null, + this._startFrame = null, + this.tiles = null, + this.type = 0, + this.randomRow = !1, + this.rowIndex = 0, + this.cycles = 0, + this.enableUVChannels = 0, + this.enable = !1, + this.tiles = new Ae(1,1), + this.type = 0, + this.randomRow = !0, + this.rowIndex = 0, + this.cycles = 1, + this.enableUVChannels = 1, + this._frame = t, + this._startFrame = e + } + a(t, "laya.d3.core.particleShuriKen.module.TextureSheetAnimation"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.cloneTo = function(t) { + var e = t; + this.tiles.cloneTo(e.tiles), + e.type = this.type, + e.randomRow = this.randomRow, + this._frame.cloneTo(e._frame), + this._startFrame.cloneTo(e._startFrame), + e.cycles = this.cycles, + e.enableUVChannels = this.enableUVChannels, + e.enable = this.enable + } + , + e.clone = function() { + var t; + switch (this._frame.type) { + case 0: + t = q.createByConstant(this._frame.constant); + break; + case 1: + t = q.createByOverTime(this._frame.frameOverTimeData.clone()); + break; + case 2: + t = q.createByRandomTwoConstant(this._frame.constantMin, this._frame.constantMax); + break; + case 3: + t = q.createByRandomTwoOverTime(this._frame.frameOverTimeDataMin.clone(), this._frame.frameOverTimeDataMax.clone()) + } + var e; + switch (this._startFrame.type) { + case 0: + e = rt.createByConstant(this._startFrame.constant); + break; + case 1: + e = rt.createByRandomTwoConstant(this._startFrame.constantMin, this._startFrame.constantMax) + } + var i = new this.constructor(t,e); + return this.tiles.cloneTo(i.tiles), + i.type = this.type, + i.randomRow = this.randomRow, + i.cycles = this.cycles, + i.enableUVChannels = this.enableUVChannels, + i.enable = this.enable, + i + } + , + r(0, e, "frame", function() { + return this._frame + }), + r(0, e, "startFrame", function() { + return this._startFrame + }), + t + }() + , ot = function() { + function t(t) { + this._velocity = null, + this.enbale = !1, + this.space = 0, + this._velocity = t + } + a(t, "laya.d3.core.particleShuriKen.module.VelocityOverLifetime"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.cloneTo = function(t) { + var e = t; + this._velocity.cloneTo(e._velocity), + e.enbale = this.enbale, + e.space = this.space + } + , + e.clone = function() { + var t; + switch (this._velocity.type) { + case 0: + t = tt.createByConstant(this._velocity.constant.clone()); + break; + case 1: + t = tt.createByGradient(this._velocity.gradientX.clone(), this._velocity.gradientY.clone(), this._velocity.gradientZ.clone()); + break; + case 2: + t = tt.createByRandomTwoConstant(this._velocity.constantMin.clone(), this._velocity.constantMax.clone()); + break; + case 3: + t = tt.createByRandomTwoGradient(this._velocity.gradientXMin.clone(), this._velocity.gradientYMin.clone(), this._velocity.gradientZMin.clone(), this._velocity.gradientXMax.clone(), this._velocity.gradientYMax.clone(), this._velocity.gradientZMax.clone()) + } + var e = new this.constructor(t); + return e.enbale = this.enbale, + e.space = this.space, + e + } + , + r(0, e, "velocity", function() { + return this._velocity + }), + t + }() + , lt = function() { + function t() {} + return a(t, "laya.d3.core.particleShuriKen.ShurikenParticleData"), + t._getStartLifetimeFromGradient = function(t, e) { + for (var i = 1, n = t.gradientCount; i < n; i++) { + var a = t.getKeyByIndex(i); + if (a >= e) { + var r = t.getKeyByIndex(i - 1) + , s = (e - r) / (a - r); + return w.lerp(t.getValueByIndex(i - 1), t.getValueByIndex(i), s) + } + } + throw new Error("ShurikenParticleData: can't get value foam startLifeTimeGradient.") + } + , + t._randomInvertRoationArray = function(t, e, i, n, a) { + var r = NaN; + n ? (n.seed = a[6], + r = n.getFloat(), + a[6] = n.seed) : r = Math.random(), + r < i ? (e[0] = -t[0], + e[1] = -t[1], + e[2] = -t[2]) : (e[0] = t[0], + e[1] = t[1], + e[2] = t[2]) + } + , + t._randomInvertRoation = function(t, e, i, n) { + var a = NaN; + return i ? (i.seed = n[6], + a = i.getFloat(), + n[6] = i.seed) : a = Math.random(), + a < e && (t = -t), + t + } + , + t.create = function(e, i, n) { + var a = e.autoRandomSeed + , r = e._rand + , s = e._randomSeeds; + switch (e.startColorType) { + case 0: + var o = e.startColorConstant.elements; + t.startColor[0] = o[0], + t.startColor[1] = o[1], + t.startColor[2] = o[2], + t.startColor[3] = o[3]; + break; + case 2: + a ? w.lerpVector4(e.startColorConstantMin.elements, e.startColorConstantMax.elements, Math.random(), t.startColor) : (r.seed = s[3], + w.lerpVector4(e.startColorConstantMin.elements, e.startColorConstantMax.elements, r.getFloat(), t.startColor), + s[3] = r.seed) + } + var l = e.colorOverLifetime; + if (l && l.enbale) { + var h = l.color; + switch (h.type) { + case 0: + t.startColor[0] = t.startColor[0] * h.constant.x, + t.startColor[1] = t.startColor[1] * h.constant.y, + t.startColor[2] = t.startColor[2] * h.constant.z, + t.startColor[3] = t.startColor[3] * h.constant.w; + break; + case 2: + var c = NaN; + a ? c = Math.random() : (r.seed = s[10], + c = r.getFloat(), + s[10] = r.seed); + var _ = h.constantMin + , u = h.constantMax; + t.startColor[0] = t.startColor[0] * w.lerp(_.x, u.x, c), + t.startColor[1] = t.startColor[1] * w.lerp(_.y, u.y, c), + t.startColor[2] = t.startColor[2] * w.lerp(_.z, u.z, c), + t.startColor[3] = t.startColor[3] * w.lerp(_.w, u.w, c) + } + } + var d = t.startSize; + switch (e.startSizeType) { + case 0: + if (e.threeDStartSize) { + var f = e.startSizeConstantSeparate; + d[0] = f.x, + d[1] = f.y, + d[2] = f.z + } else + d[0] = d[1] = d[2] = e.startSizeConstant; + break; + case 2: + if (e.threeDStartSize) { + var p = e.startSizeConstantMinSeparate + , m = e.startSizeConstantMaxSeparate; + a ? (d[0] = w.lerp(p.x, m.x, Math.random()), + d[1] = w.lerp(p.y, m.y, Math.random()), + d[2] = w.lerp(p.z, m.z, Math.random())) : (r.seed = s[4], + d[0] = w.lerp(p.x, m.x, r.getFloat()), + d[1] = w.lerp(p.y, m.y, r.getFloat()), + d[2] = w.lerp(p.z, m.z, r.getFloat()), + s[4] = r.seed) + } else + a ? d[0] = d[1] = d[2] = w.lerp(e.startSizeConstantMin, e.startSizeConstantMax, Math.random()) : (r.seed = s[4], + d[0] = d[1] = d[2] = w.lerp(e.startSizeConstantMin, e.startSizeConstantMax, r.getFloat()), + s[4] = r.seed) + } + var g = e.sizeOverLifetime; + if (g && g.enbale && 1 === g.size.type) { + var y = g.size; + if (y.separateAxes) + a ? (d[0] = d[0] * w.lerp(y.constantMinSeparate.x, y.constantMaxSeparate.x, Math.random()), + d[1] = d[1] * w.lerp(y.constantMinSeparate.y, y.constantMaxSeparate.y, Math.random()), + d[2] = d[2] * w.lerp(y.constantMinSeparate.z, y.constantMaxSeparate.z, Math.random())) : (r.seed = s[11], + d[0] = d[0] * w.lerp(y.constantMinSeparate.x, y.constantMaxSeparate.x, r.getFloat()), + d[1] = d[1] * w.lerp(y.constantMinSeparate.y, y.constantMaxSeparate.y, r.getFloat()), + d[2] = d[2] * w.lerp(y.constantMinSeparate.z, y.constantMaxSeparate.z, r.getFloat()), + s[11] = r.seed); + else { + var v = NaN; + a ? v = w.lerp(y.constantMin, y.constantMax, Math.random()) : (r.seed = s[11], + v = w.lerp(y.constantMin, y.constantMax, r.getFloat()), + s[11] = r.seed), + d[0] = d[0] * v, + d[1] = d[1] * v, + d[2] = d[2] * v + } + } + var b = i.renderMode; + if (1 !== b) + switch (e.startRotationType) { + case 0: + if (e.threeDStartRotation) { + var x = e.startRotationConstantSeparate + , I = t._tempVector30.elements; + t._randomInvertRoationArray(x.elements, I, e.randomizeRotationDirection, a ? null : r, s), + t.startRotation[0] = I[0], + t.startRotation[1] = I[1], + t.startRotation[2] = 4 !== b ? -I[2] : I[2] + } else + t.startRotation[0] = t._randomInvertRoation(e.startRotationConstant, e.randomizeRotationDirection, a ? null : r, s); + break; + case 2: + if (e.threeDStartRotation) { + var C = e.startRotationConstantMinSeparate + , S = e.startRotationConstantMaxSeparate + , M = t._tempVector30.elements; + a ? (M[0] = w.lerp(C.x, S.x, Math.random()), + M[1] = w.lerp(C.y, S.y, Math.random()), + M[2] = w.lerp(C.z, S.z, Math.random())) : (r.seed = s[5], + M[0] = w.lerp(C.x, S.x, r.getFloat()), + M[1] = w.lerp(C.y, S.y, r.getFloat()), + M[2] = w.lerp(C.z, S.z, r.getFloat()), + s[5] = r.seed), + t._randomInvertRoationArray(M, M, e.randomizeRotationDirection, a ? null : r, s), + t.startRotation[0] = M[0], + t.startRotation[1] = M[1], + t.startRotation[2] = 4 !== b ? -M[2] : M[2] + } else + a ? t.startRotation[0] = t._randomInvertRoation(w.lerp(e.startRotationConstantMin, e.startRotationConstantMax, Math.random()), e.randomizeRotationDirection, a ? null : r, s) : (r.seed = s[5], + t.startRotation[0] = t._randomInvertRoation(w.lerp(e.startRotationConstantMin, e.startRotationConstantMax, r.getFloat()), e.randomizeRotationDirection, a ? null : r, s), + s[5] = r.seed) + } + switch (e.startLifetimeType) { + case 0: + t.startLifeTime = e.startLifetimeConstant; + break; + case 1: + t.startLifeTime = t._getStartLifetimeFromGradient(e.startLifeTimeGradient, e.emissionTime); + break; + case 2: + a ? t.startLifeTime = w.lerp(e.startLifetimeConstantMin, e.startLifetimeConstantMax, Math.random()) : (r.seed = s[7], + t.startLifeTime = w.lerp(e.startLifetimeConstantMin, e.startLifetimeConstantMax, r.getFloat()), + s[7] = r.seed); + break; + case 3: + var L = e.emissionTime; + a ? t.startLifeTime = w.lerp(t._getStartLifetimeFromGradient(e.startLifeTimeGradientMin, L), t._getStartLifetimeFromGradient(e.startLifeTimeGradientMax, L), Math.random()) : (r.seed = s[7], + t.startLifeTime = w.lerp(t._getStartLifetimeFromGradient(e.startLifeTimeGradientMin, L), t._getStartLifetimeFromGradient(e.startLifeTimeGradientMax, L), r.getFloat()), + s[7] = r.seed) + } + switch (e.startSpeedType) { + case 0: + t.startSpeed = e.startSpeedConstant; + break; + case 2: + a ? t.startSpeed = w.lerp(e.startSpeedConstantMin, e.startSpeedConstantMax, Math.random()) : (r.seed = s[8], + t.startSpeed = w.lerp(e.startSpeedConstantMin, e.startSpeedConstantMax, r.getFloat()), + s[8] = r.seed) + } + var T = e.textureSheetAnimation; + if (T && T.enable) { + var E = T.tiles + , D = E.x + , N = E.y + , A = 1 / D + , B = 1 / N + , k = 0 + , R = T.startFrame; + switch (R.type) { + case 0: + k = R.constant; + break; + case 1: + a ? k = w.lerp(R.constantMin, R.constantMax, Math.random()) : (r.seed = s[14], + k = w.lerp(R.constantMin, R.constantMax, r.getFloat()), + s[14] = r.seed) + } + var P = T.frame; + switch (P.type) { + case 0: + k += P.constant; + break; + case 2: + a ? k += w.lerp(P.constantMin, P.constantMax, Math.random()) : (r.seed = s[15], + k += w.lerp(P.constantMin, P.constantMax, r.getFloat()), + s[15] = r.seed) + } + var O = 0; + switch (T.type) { + case 0: + O = Math.floor(k / D); + break; + case 1: + T.randomRow ? a ? O = Math.floor(Math.random() * N) : (r.seed = s[13], + O = Math.floor(r.getFloat() * N), + s[13] = r.seed) : O = T.rowIndex + } + var U = Math.floor(k % D); + (t.startUVInfo = t.startUVInfo)[0] = A, + t.startUVInfo[1] = B, + t.startUVInfo[2] = U * A, + t.startUVInfo[3] = O * B + } else + (t.startUVInfo = t.startUVInfo)[0] = 1, + t.startUVInfo[1] = 1, + t.startUVInfo[2] = 0, + t.startUVInfo[3] = 0; + switch (e.simulationSpace) { + case 0: + var V = n.position.elements; + t.simulationWorldPostion[0] = V[0], + t.simulationWorldPostion[1] = V[1], + t.simulationWorldPostion[2] = V[2]; + var F = n.rotation.elements; + t.simulationWorldRotation[0] = F[0], + t.simulationWorldRotation[1] = F[1], + t.simulationWorldRotation[2] = F[2], + t.simulationWorldRotation[3] = F[3]; + break; + case 1: + break; + default: + throw new Error("ShurikenParticleMaterial: SimulationSpace value is invalid.") + } + } + , + t.startLifeTime = NaN, + t.startSpeed = NaN, + n(t, ["_tempVector30", function() { + return this._tempVector30 = new Be + } + , "_tempQuaternion", function() { + return this._tempQuaternion = new Ee + } + , "startColor", function() { + return this.startColor = new Float32Array(4) + } + , "startSize", function() { + return this.startSize = new Float32Array(3) + } + , "startRotation", function() { + return this.startRotation = new Float32Array(3) + } + , "startUVInfo", function() { + return this.startUVInfo = new Float32Array(4) + } + , "simulationWorldPostion", function() { + return this.simulationWorldPostion = new Float32Array(3) + } + , "simulationWorldRotation", function() { + return this.simulationWorldRotation = new Float32Array(4) + } + ]), + t + }() + , ht = function() { + function t() { + this._tempInt0 = 0, + this._tempInt1 = 0, + this._tempUint0 = 0, + this._tempUint1 = 0, + this._tempUint2 = 0, + this._tempUint3 = 0, + this._tempUint4 = 0, + this._tempUint5 = 0, + this._tempUint6 = 0, + this._tempUint7 = 0, + this._tempNumver0 = NaN, + this._tempNumver1 = NaN, + this._tempNumver2 = NaN, + this._tempNumver3 = NaN, + this._floatSizePerVer = 7, + this._defaultBufferSize = 600 * this._floatSizePerVer, + this._vb = null, + this._posInVBData = 0, + this._ib = null, + this._posInIBData = 0, + this._primitiveType = NaN, + this._hasBegun = !1, + this._numVertsPerPrimitive = 0, + this._camera = null, + this._sharderNameID = 0, + this._shader = null, + this._shaderCompile = null, + this._vbData = new Float32Array(this._defaultBufferSize), + this._ibData = new Uint16Array(this._defaultBufferSize), + this._spriteShaderValue = new Fe, + this._vb = Yi.create(t._vertexDeclaration, this._defaultBufferSize / this._floatSizePerVer, 35048), + this._ib = qi.create("ushort", this._defaultBufferSize, 35048), + this._sharderNameID = Oi.nameKey.getID("LINE"), + this._shaderCompile = ci._preCompileShader[this._sharderNameID] + } + a(t, "laya.d3.core.PhasorSpriter3D"); + var e = t.prototype; + return e.line = function(t, e, i, n) { + return this._hasBegun && 1 === this._primitiveType || this.drawLinesException(), + (this._posInVBData + 2 * this._floatSizePerVer > this._vbData.length || this._posInIBData + 2 > this._ibData.length) && this.flush(), + this._tempUint0 = this._posInVBData / this._floatSizePerVer, + this.addVertex(t.x, t.y, t.z, e.x, e.y, e.z, e.w), + this.addVertex(i.x, i.y, i.z, n.x, n.y, n.z, n.w), + this.addIndexes(this._tempUint0, this._tempUint0 + 1), + this + } + , + e.circle = function(t, e, i, n, a, r) { + for (this._hasBegun && 1 === this._primitiveType || this.drawLinesException(), + this._tempUint0 = 2 * e, + (this._posInVBData + this._tempUint0 * this._floatSizePerVer > this._vbData.length || this._posInIBData + 2 * this._tempUint0 > this._ibData.length) && this.flush(), + this._tempUint1 = this._posInVBData / this._floatSizePerVer, + this._tempNumver0 = 0, + this._tempInt0 = 0; this._tempNumver0 < 6.2832; this._tempNumver0 = this._tempNumver0 + 3.1416 / e, + this._tempInt0++) + this.addVertex(Math.sin(this._tempNumver0) * t, Math.cos(this._tempNumver0) * t, 0, i, n, a, r), + 0 === this._tempInt0 ? this.addIndexes(this._tempUint1) : this._tempInt0 === this._tempUint0 - 1 ? (this._tempUint2 = this._tempUint1 + this._tempInt0, + this.addIndexes(this._tempUint2, this._tempUint2, this._tempUint1)) : (this._tempUint2 = this._tempUint1 + this._tempInt0, + this.addIndexes(this._tempUint2, this._tempUint2)); + return this + } + , + e.plane = function(t, e, i, n, a, r, s, o, l) { + return this._hasBegun && 4 === this._primitiveType || this.drawTrianglesException(), + (this._posInVBData + 4 * this._floatSizePerVer > this._vbData.length || this._posInIBData + 6 > this._ibData.length) && this.flush(), + this._tempNumver0 = n / 2, + this._tempNumver1 = a / 2, + this._tempUint0 = this._posInVBData / this._floatSizePerVer, + this.addVertex(t - this._tempNumver0, e + this._tempNumver1, i, r, s, o, l), + this.addVertex(t + this._tempNumver0, e + this._tempNumver1, i, r, s, o, l), + this.addVertex(t - this._tempNumver0, e - this._tempNumver1, i, r, s, o, l), + this.addVertex(t + this._tempNumver0, e - this._tempNumver1, i, r, s, o, l), + this._tempUint1 = this._tempUint0 + 1, + this._tempUint2 = this._tempUint0 + 2, + this.addIndexes(this._tempUint0, this._tempUint1, this._tempUint2, this._tempUint2, this._tempUint1, this._tempUint0 + 3), + this + } + , + e.box = function(t, e, i, n, a, r, s, o, l, h) { + return this._hasBegun && 4 === this._primitiveType || this.drawTrianglesException(), + (this._posInVBData + 8 * this._floatSizePerVer > this._vbData.length || this._posInIBData + 36 > this._ibData.length) && this.flush(), + this._tempNumver0 = n / 2, + this._tempNumver1 = a / 2, + this._tempNumver2 = r / 2, + this._tempUint0 = this._posInVBData / this._floatSizePerVer, + this.addVertex(t - this._tempNumver0, e + this._tempNumver1, i + this._tempNumver2, s, o, l, h), + this.addVertex(t + this._tempNumver0, e + this._tempNumver1, i + this._tempNumver2, s, o, l, h), + this.addVertex(t - this._tempNumver0, e - this._tempNumver1, i + this._tempNumver2, s, o, l, h), + this.addVertex(t + this._tempNumver0, e - this._tempNumver1, i + this._tempNumver2, s, o, l, h), + this.addVertex(t + this._tempNumver0, e + this._tempNumver1, i - this._tempNumver2, s, o, l, h), + this.addVertex(t - this._tempNumver0, e + this._tempNumver1, i - this._tempNumver2, s, o, l, h), + this.addVertex(t + this._tempNumver0, e - this._tempNumver1, i - this._tempNumver2, s, o, l, h), + this.addVertex(t - this._tempNumver0, e - this._tempNumver1, i - this._tempNumver2, s, o, l, h), + this._tempUint1 = this._tempUint0 + 1, + this._tempUint2 = this._tempUint0 + 2, + this._tempUint3 = this._tempUint0 + 3, + this._tempUint4 = this._tempUint0 + 4, + this._tempUint5 = this._tempUint0 + 5, + this._tempUint6 = this._tempUint0 + 6, + this._tempUint7 = this._tempUint0 + 7, + this.addIndexes(this._tempUint0, this._tempUint1, this._tempUint2, this._tempUint2, this._tempUint1, this._tempUint3, this._tempUint4, this._tempUint5, this._tempUint6, this._tempUint6, this._tempUint5, this._tempUint7, this._tempUint5, this._tempUint0, this._tempUint7, this._tempUint7, this._tempUint0, this._tempUint2, this._tempUint1, this._tempUint4, this._tempUint3, this._tempUint3, this._tempUint4, this._tempUint6, this._tempUint5, this._tempUint4, this._tempUint0, this._tempUint0, this._tempUint4, this._tempUint1, this._tempUint2, this._tempUint3, this._tempUint7, this._tempUint7, this._tempUint3, this._tempUint6), + this + } + , + e.cone = function(t, e, i, n, a, r, s) { + for (this._hasBegun && 4 === this._primitiveType || this.drawTrianglesException(), + (this._posInVBData + (2 * i + 2) * this._floatSizePerVer > this._vbData.length || this._posInIBData + 6 * i > this._ibData.length) && this.flush(), + this._tempUint0 = this._posInVBData, + this._tempUint1 = this._posInVBData / this._floatSizePerVer, + this._tempNumver0 = 2 * Math.PI / i, + this.addVertexIndex(0, e, 0, n, a, r, s, this._tempUint0), + this.addVertexIndex(0, 0, 0, n, a, r, s, this._tempUint0 + this._floatSizePerVer), + this._tempInt0 = 2, + this._tempNumver1 = 0, + this._tempInt1 = 0; this._tempInt1 < i; this._tempInt1++) + this._tempNumver2 = Math.cos(this._tempNumver1), + this._tempNumver3 = Math.sin(this._tempNumver1), + this.addVertexIndex(t * this._tempNumver2, 0, t * this._tempNumver3, n, a, r, s, this._tempUint0 + this._tempInt0 * this._floatSizePerVer), + this.addIndexes(this._tempUint1, this._tempUint1 + this._tempInt0), + this._tempInt1 == i - 1 ? this.addIndexes(this._tempUint1 + 2) : this.addIndexes(this._tempUint1 + this._tempInt0 + 1), + this.addVertexIndex(t * this._tempNumver2, 0, t * this._tempNumver3, n, a, r, s, this._tempUint0 + (this._tempInt0 + i) * this._floatSizePerVer), + this.addIndexes(this._tempUint1 + 1), + this._tempInt1 == i - 1 ? this.addIndexes(this._tempUint1 + i + 2) : this.addIndexes(this._tempUint1 + this._tempInt0 + i + 1), + this.addIndexes(this._tempUint1 + this._tempInt0 + i), + this._tempInt0++, + this._tempNumver1 += this._tempNumver0; + return this + } + , + e.boundingBoxLine = function(t, e, i, n, a, r, s, o, l, h) { + return this._hasBegun && 1 === this._primitiveType || this.drawLinesException(), + (this._posInVBData + 8 * this._floatSizePerVer > this._vbData.length || this._posInIBData + 48 > this._ibData.length) && this.flush(), + this._tempUint0 = this._posInVBData / this._floatSizePerVer, + this.addVertex(t, a, r, s, o, l, h), + this.addVertex(n, a, r, s, o, l, h), + this.addVertex(t, e, r, s, o, l, h), + this.addVertex(n, e, r, s, o, l, h), + this.addVertex(n, a, i, s, o, l, h), + this.addVertex(t, a, i, s, o, l, h), + this.addVertex(n, e, i, s, o, l, h), + this.addVertex(t, e, i, s, o, l, h), + this._tempUint1 = this._tempUint0 + 1, + this._tempUint2 = this._tempUint0 + 2, + this._tempUint3 = this._tempUint0 + 3, + this._tempUint4 = this._tempUint0 + 4, + this._tempUint5 = this._tempUint0 + 5, + this._tempUint6 = this._tempUint0 + 6, + this._tempUint7 = this._tempUint0 + 7, + this.addIndexes(this._tempUint0, this._tempUint1, this._tempUint1, this._tempUint3, this._tempUint3, this._tempUint2, this._tempUint2, this._tempUint0, this._tempUint4, this._tempUint5, this._tempUint5, this._tempUint7, this._tempUint7, this._tempUint6, this._tempUint6, this._tempUint4, this._tempUint5, this._tempUint0, this._tempUint0, this._tempUint2, this._tempUint2, this._tempUint7, this._tempUint7, this._tempUint5, this._tempUint1, this._tempUint4, this._tempUint4, this._tempUint6, this._tempUint6, this._tempUint3, this._tempUint3, this._tempUint1, this._tempUint5, this._tempUint4, this._tempUint4, this._tempUint1, this._tempUint1, this._tempUint0, this._tempUint0, this._tempUint5, this._tempUint2, this._tempUint3, this._tempUint3, this._tempUint6, this._tempUint6, this._tempUint7, this._tempUint7, this._tempUint2), + this + } + , + e.addVertex = function(t, e, i, n, a, r, s) { + return this._hasBegun || this.addVertexIndexException(), + this._vbData[this._posInVBData] = t, + this._vbData[this._posInVBData + 1] = e, + this._vbData[this._posInVBData + 2] = i, + this._vbData[this._posInVBData + 3] = n, + this._vbData[this._posInVBData + 4] = a, + this._vbData[this._posInVBData + 5] = r, + this._vbData[this._posInVBData + 6] = s, + this._posInVBData += this._floatSizePerVer, + this + } + , + e.addVertexIndex = function(t, e, i, n, a, r, s, o) { + return this._hasBegun || this.addVertexIndexException(), + this._vbData[o] = t, + this._vbData[o + 1] = e, + this._vbData[o + 2] = i, + this._vbData[o + 3] = n, + this._vbData[o + 4] = a, + this._vbData[o + 5] = r, + this._vbData[o + 6] = s, + (o += this._floatSizePerVer) > this._posInVBData && (this._posInVBData = o), + this + } + , + e.addIndexes = function(t) { + var e = arguments; + this._hasBegun || this.addVertexIndexException(); + for (var i = 0; i < e.length; i++) + this._ibData[this._posInIBData] = e[i], + this._posInIBData++; + return this + } + , + e.begin = function(t, e) { + return this._hasBegun && this.beginException0(), + 1 !== t && 4 !== t && this.beginException1(), + this._primitiveType = t, + this._camera = e, + this._hasBegun = !0, + this + } + , + e.end = function() { + return this._hasBegun || this.endException(), + this.flush(), + this._hasBegun = !1, + this + } + , + e.flush = function() { + 0 !== this._posInVBData && (this._ib.setData(this._ibData), + this._vb.setData(this._vbData), + this._vb._bind(), + this._ib._bind(), + this._shader = this._shaderCompile.withCompile(0, 0, 0), + this._shader.bind(), + this._shader.uploadAttributes(t._vertexDeclaration.shaderValues.data, null), + this._spriteShaderValue.setValue(1, this._camera.projectionViewMatrix.elements), + this._shader.uploadSpriteUniforms(this._spriteShaderValue.data), + E.drawCall++, + B.mainContext.drawElements(this._primitiveType, this._posInIBData, 5123, 0), + this._posInIBData = 0, + this._posInVBData = 0) + } + , + e.addVertexIndexException = function() { + throw new Error("请先调用begin()函数") + } + , + e.beginException0 = function() { + throw new Error("调用begin()前请确保已成功调用end()!") + } + , + e.beginException1 = function() { + throw new Error("只支持“LINES”和“TRIANGLES”两种基元!") + } + , + e.endException = function() { + throw new Error("调用end()前请确保已成功调用begin()!") + } + , + e.drawLinesException = function() { + throw new Error("您必须确保在此之前已调用begin()且使用“LINES”基元!") + } + , + e.drawTrianglesException = function() { + throw new Error("您必须确保在此之前已调用begin()且使用“TRIANGLES”基元!") + } + , + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(28,[new Lt(0,"vector3",0), new Lt(12,"vector4",1)]) + } + ]), + t + }() + , ct = function() { + function t() { + this._id = 0, + this._type = 0, + this._mainSortID = 0, + this._render = null, + this._sprite3D = null, + this._material = null, + this._renderObj = null, + this._staticBatch = null, + this._tempBatchIndexStart = 0, + this._tempBatchIndexEnd = 0, + this._canDynamicBatch = !1, + this._shaderValue = null, + this._onPreRenderFunction = null, + this._id = ++t._uniqueIDCounter, + this._canDynamicBatch = !0, + this._shaderValue = new Fe + } + a(t, "laya.d3.core.render.RenderElement"); + var e = t.prototype; + return e.getDynamicBatchBakedVertexs = function(t) { + for (var e = this._renderObj._getVertexBuffer(t), i = e.getData().slice(), n = e.vertexDeclaration, a = n.getVertexElementByUsage(0).offset / 4, r = n.getVertexElementByUsage(3).offset / 4, s = this._sprite3D.transform, o = s.worldMatrix, l = s.rotation, h = n.vertexStride / 4, c = 0, _ = i.length; c < _; c += h) { + var u = c + a + , d = c + r; + Ke.transformVector3ArrayToVector3ArrayCoordinate(i, u, o, i, u), + Ke.transformVector3ArrayByQuat(i, d, l, i, d) + } + return i + } + , + e.getBakedIndices = function() { + return this._renderObj._getIndexBuffer().getData() + } + , + e._destroy = function() { + this._staticBatch && this._staticBatch._manager._garbageCollection(this) + } + , + r(0, e, "id", function() { + return this._id + }), + r(0, e, "renderObj", function() { + return this._renderObj + }, function(t) { + this._renderObj !== t && (this._renderObj = t) + }), + t._uniqueIDCounter = 0, + t + }() + , _t = function() { + function t(e) { + this._id = 0, + this._needSort = !1, + this._renderElements = null, + this._renderableRenderObjects = null, + this._dynamicBatchCombineRenderElements = null, + this._finalElements = null, + this._scene = null, + this._id = ++t._uniqueIDCounter, + this._needSort = !1, + this._scene = e, + this._renderElements = [], + this._renderableRenderObjects = [], + this._dynamicBatchCombineRenderElements = [] + } + a(t, "laya.d3.core.render.RenderQueue"); + var e = t.prototype; + return e._sortOpaqueFunc = function(t, e) { + if (t._render && e._render) { + var i = t._material.renderQueue - e._material.renderQueue; + return 0 === i ? t._render._distanceForSort - e._render._distanceForSort : i + } + return 0 + } + , + e._sortAlphaFunc = function(t, e) { + if (t._render && e._render) { + var i = t._material.renderQueue - e._material.renderQueue; + return 0 === i ? e._render._distanceForSort - t._render._distanceForSort : i + } + return 0 + } + , + e._begainRenderElement = function(t, e, i) { + return !!e._beforeRender(t) + } + , + e._sortAlpha = function(e) { + t._cameraPosition = e, + this._finalElements.sort(this._sortAlphaFunc) + } + , + e._sortOpaque = function(e) { + t._cameraPosition = e, + this._finalElements.sort(this._sortOpaqueFunc) + } + , + e._preRender = function(t) { + this._finalElements = this._renderElements.concat(this._dynamicBatchCombineRenderElements) + } + , + e._render = function(t, e) { + for (var i, n, a, r, s, o, l = E.loopCount, h = this._scene, c = t.camera, _ = (c.id, + !1), u = 0, d = this._finalElements.length; u < d; u++) { + var f, p, m, g = this._finalElements[u]; + if (null != g._onPreRenderFunction && g._onPreRenderFunction.call(g._sprite3D, t), + 0 === g._type) { + if (t.owner = m = g._sprite3D, + t.renderElement = g, + m._preRenderUpdateComponents(t), + f = g.renderObj, + p = g._material, + this._begainRenderElement(t, f, p)) { + if (i = f._getVertexBuffers(), + n = f._getVertexBuffer(0), + a = n.vertexDeclaration, + r = t._shader = p._getShader(h._shaderDefineValue, a.shaderDefineValue, m._shaderDefineValue), + _ = r.bind() || l !== r._uploadLoopCount, + i) { + if (r._uploadVertexBuffer !== i || _) { + for (var y = 0; y < i.length; y++) { + var v = i[y]; + r.uploadAttributesX(v.vertexDeclaration.shaderValues.data, v) + } + r._uploadVertexBuffer = i + } + } else + (r._uploadVertexBuffer !== n || _) && (r.uploadAttributes(a.shaderValues.data, null), + r._uploadVertexBuffer = n); + (r._uploadScene !== h || _) && (r.uploadSceneUniforms(h._shaderValues.data), + r._uploadScene = h), + (c !== r._uploadCamera || r._uploadSprite3D !== m || _) && (r.uploadSpriteUniforms(m._shaderValues.data), + r._uploadSprite3D = m), + (c !== r._uploadCamera || _) && (r.uploadCameraUniforms(c._shaderValues.data), + r._uploadCamera = c), + (r._uploadMaterial !== p || _) && (p._upload(), + r._uploadMaterial = p), + s !== p ? (p._setRenderStateBlendDepth(), + p._setRenderStateFrontFace(e, m.transform), + s = p, + o = m) : o !== m && (p._setRenderStateFrontFace(e, m.transform), + o = m), + f._render(t), + r._uploadLoopCount = l + } + m._postRenderUpdateComponents(t) + } else if (2 === g._type) { + g.renderObj; + t.owner = m = g._sprite3D, + t.renderElement = g, + t._batchIndexStart = g._tempBatchIndexStart, + t._batchIndexEnd = g._tempBatchIndexEnd, + f = g.renderObj, + p = g._material, + this._begainRenderElement(t, f, p) && (a = (n = f._getVertexBuffer(0)).vertexDeclaration, + _ = (r = t._shader = p._getShader(h._shaderDefineValue, a.shaderDefineValue, m._shaderDefineValue)).bind() || l !== r._uploadLoopCount, + (r._uploadVertexBuffer !== n || _) && (r.uploadAttributes(a.shaderValues.data, null), + r._uploadVertexBuffer = n), + (r._uploadScene !== h || _) && (r.uploadSceneUniforms(h._shaderValues.data), + r._uploadScene = h), + (c !== r._uploadCamera || r._uploadSprite3D !== m || _) && (r.uploadSpriteUniforms(m._shaderValues.data), + r._uploadSprite3D = m), + (c !== r._uploadCamera || _) && (r.uploadCameraUniforms(c._shaderValues.data), + r._uploadCamera = c), + (r._uploadMaterial !== p || _) && (p._upload(), + r._uploadMaterial = p), + s !== p ? (p._setRenderStateBlendDepth(), + p._setRenderStateFrontFace(e, m.transform), + s = p, + o = m) : o !== m && (p._setRenderStateFrontFace(e, m.transform), + o = m), + f._render(t), + r._uploadLoopCount = l) + } + } + } + , + e._renderShadow = function(t, e) { + for (var i, n, a, r, s, o = E.loopCount, l = this._scene, h = t.camera, c = !1, _ = 0, u = this._finalElements.length; _ < u; _++) { + var d, f, p, m = this._finalElements[_]; + 0 === m._type && (t.owner = p = m._sprite3D, + e || p._projectionViewWorldUpdateCamera === h && p._projectionViewWorldUpdateLoopCount === E.loopCount || (p._render._renderUpdate(t._projectionViewMatrix), + p._projectionViewWorldUpdateLoopCount = E.loopCount, + p._projectionViewWorldUpdateCamera = h), + t.renderElement = m, + p._preRenderUpdateComponents(t), + d = m.renderObj, + f = m._material, + this._begainRenderElement(t, d, null) && (n = (i = d._getVertexBuffer(0)).vertexDeclaration, + c = (a = t._shader = f._getShader(l._shaderDefineValue, n.shaderDefineValue, p._shaderDefineValue)).bind() || o !== a._uploadLoopCount, + (a._uploadVertexBuffer !== i || c) && (a.uploadAttributes(n.shaderValues.data, null), + a._uploadVertexBuffer = i), + (h !== a._uploadCamera || a._uploadSprite3D !== p || c) && (a.uploadSpriteUniforms(p._shaderValues.data), + a._uploadSprite3D = p), + (h !== a._uploadCamera || c) && (a.uploadCameraUniforms(h._shaderValues.data), + a._uploadCamera = h), + (a._uploadMaterial !== f || c) && (f._upload(), + a._uploadMaterial = f), + a._uploadRenderElement, + r !== f ? (f._setRenderStateFrontFace(!1, p.transform), + r = f, + s = p) : s !== p && (f._setRenderStateFrontFace(!1, p.transform), + s = p), + d._render(t), + a._uploadLoopCount = o), + p._postRenderUpdateComponents(t)) + } + } + , + e._clearRenderElements = function() { + this._dynamicBatchCombineRenderElements.length = 0, + this._renderElements.length = 0, + this._needSort = !0 + } + , + e._addRenderElement = function(t) { + this._renderElements.push(t), + this._needSort = !0 + } + , + e._addDynamicBatchElement = function(t) { + this._dynamicBatchCombineRenderElements.push(t) + } + , + r(0, e, "id", function() { + return this._id + }), + t._uniqueIDCounter = 0, + t._cameraPosition = null, + t + }() + , ut = function() { + function t() { + this._staticBatch = null, + this._batchIndexStart = 0, + this._batchIndexEnd = 0, + this._viewMatrix = null, + this._projectionMatrix = null, + this._projectionViewMatrix = null, + this._viewport = null, + this._shader = null, + this.elapsedTime = NaN, + this.scene = null, + this.owner = null, + this.renderElement = null, + this.camera = null + } + return a(t, "laya.d3.core.render.RenderState"), + t.clientWidth = 0, + t.clientHeight = 0, + t + }() + , dt = function() { + function t(t, e) { + this._exactBox = null, + this._relaxBox = null, + this._scene = null, + this._parent = null, + this._currentDepth = 0, + this._boundingSphere = new xe(new Be,0), + this._corners = [new Be, new Be, new Be, new Be, new Be, new Be, new Be, new Be], + this._boundingBoxCenter = new Be, + this._children = s(8), + this._objects = [], + this._tempBoundBoxCorners = [new Be, new Be, new Be, new Be, new Be, new Be, new Be, new Be], + this._scene = t, + this._currentDepth = e + } + a(t, "laya.d3.core.scene.OctreeNode"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.scene.ITreeNode": !0 + }), + e.init = function(t, e) { + var i = new Be + , n = new Be; + Be.scale(e, -.5, i), + Be.scale(e, .5, n), + Be.add(i, t, i), + Be.add(n, t, n), + this.exactBox = new be(i,n), + this.relaxBox = new be(i,n) + } + , + e.addTreeNode = function(t) { + 1 === Ie.boxContainsBox(this._relaxBox, t.boundingBox) ? this.addNodeDown(t, 0) : this.addObject(t) + } + , + e.addChild = function(e) { + var i = this._children[e]; + if (null == i) { + i = new t(this._scene,this._currentDepth + 1), + this._children[e] = i, + i._parent = this, + Be.subtract(this._exactBox.max, this._exactBox.min, t.tempSize), + Be.multiply(t.tempSize, t._octreeSplit[e], t.tempCenter), + Be.add(this._exactBox.min, t.tempCenter, t.tempCenter), + Be.scale(t.tempSize, .25, t.tempSize); + var n = new Be + , a = new Be; + Be.subtract(t.tempCenter, t.tempSize, n), + Be.add(t.tempCenter, t.tempSize, a), + i.exactBox = new be(n,a), + Be.scale(t.tempSize, t.relax, t.tempSize); + var r = new Be + , s = new Be; + Be.subtract(t.tempCenter, t.tempSize, r), + Be.add(t.tempCenter, t.tempSize, s), + i.relaxBox = new be(r,s) + } + return i + } + , + e.addObject = function(t) { + t._treeNode = this, + this._objects.push(t) + } + , + e.removeObject = function(t) { + if (t._treeNode != this) + return console.log("OctreeNode::removeObject error"), + !1; + var e = this._objects.indexOf(t); + return -1 !== e && (this._objects.splice(e, 1), + !0) + } + , + e.clearObject = function() { + this._objects.length = 0 + } + , + e.addNodeUp = function(t, e) { + this._parent && 1 !== Ie.boxContainsBox(this._exactBox, t.boundingBox) ? this._parent.addNodeUp(t, e - 1) : this.addNodeDown(t, e) + } + , + e.addNodeDown = function(t, e) { + if (e < this._scene.treeLevel) { + var i = this.inChildIndex(t.boundingBoxCenter) + , n = this.addChild(i); + 1 === Ie.boxContainsBox(n._relaxBox, t.boundingBox) ? n.addNodeDown(t, ++e) : this.addObject(t) + } else + this.addObject(t) + } + , + e.inChildIndex = function(t) { + return 4 * (t.z < this._boundingBoxCenter.z ? 0 : 1) + 2 * (t.y < this._boundingBoxCenter.y ? 0 : 1) + (t.x < this._boundingBoxCenter.x ? 0 : 1) + } + , + e.updateObject = function(t) { + 1 === Ie.boxContainsBox(this._relaxBox, t.boundingBox) ? (this.removeObject(t), + t._treeNode = null, + this.addNodeDown(t, this._currentDepth)) : this._parent && (this.removeObject(t), + t._treeNode = null, + this._parent.addNodeUp(t, this._currentDepth - 1)) + } + , + e.cullingObjects = function(t, e, i, n, a) { + var r = 0 + , s = 0 + , o = 0 + , l = 0 + , h = this._scene._dynamicBatchManager; + for (r = 0, + o = this._objects.length; r < o; r++) { + var c = this._objects[r]; + if (z.isVisible(c._owner.layer.mask) && c.enable) { + if (e && (E.treeSpriteCollision += 1, + 0 === t.containsBoundSphere(c.boundingSphere))) + continue; + c._renderUpdate(a), + c._distanceForSort = Be.distance(c.boundingSphere.center, n) + c.sortingFudge; + var _ = c._renderElements; + for (s = 0, + l = _.length; s < l; s++) { + var u = _[s] + , d = u._staticBatch; + if (d && d._material === u._material) + d._addBatchRenderElement(u); + else { + var f = u.renderObj; + f.triangleCount < 10 && 1 === f._vertexBufferCount && f._getIndexBuffer() && u._material.renderQueue < 2 && u._canDynamicBatch && !c._owner.isStatic ? h._addPrepareRenderElement(u) : this._scene.getRenderQueue(u._material.renderQueue)._addRenderElement(u) + } + } + } + } + for (r = 0; r < 8; r++) { + var p = this._children[r]; + if (null != p) { + var m = e; + if (e) { + var g = t.containsBoundBox(p._relaxBox); + if (E.treeNodeCollision += 1, + 0 === g) + continue; + m = 2 === g + } + p.cullingObjects(t, m, i, n, a) + } + } + } + , + e.cullingShadowObjects = function(t, e, i, n, a) { + var r = 0 + , s = 0 + , o = 0 + , l = 0; + this._scene._dynamicBatchManager; + for (r = 0, + o = this._objects.length; r < o; r++) { + var h = this._objects[r]; + if (h.castShadow && z.isVisible(h._owner.layer.mask) && h.enable) { + if (i && 0 === t[0].containsBoundSphere(h.boundingSphere)) + continue; + for (var c = 1, _ = t.length; c < _; c++) { + var u = e[c - 1]; + if (0 !== t[c].containsBoundSphere(h.boundingSphere)) { + var d = h._renderElements; + for (s = 0, + l = d.length; s < l; s++) + u._addRenderElement(d[s]) + } + } + } + } + for (r = 0; r < 8; r++) { + var f = this._children[r]; + if (null != f) { + var p = i; + if (i) { + var m = t[0].containsBoundBox(f._relaxBox); + if (0 === m) + continue; + p = 2 === m + } + f.cullingShadowObjects(t, e, p, n, a) + } + } + } + , + e.cullingShadowObjectsOnePSSM = function(t, e, i, n, a, r) { + var s = e[0] + , o = 0 + , l = 0 + , h = 0 + , c = 0; + for (o = 0, + h = this._objects.length; o < h; o++) { + var _ = this._objects[o]; + if (_.castShadow && z.isVisible(_._owner.layer.mask) && _.enable) { + if (n && 0 === t.containsBoundSphere(_.boundingSphere)) + continue; + _._renderUpdate(i); + var u = _._renderElements; + for (l = 0, + c = u.length; l < c; l++) + s._addRenderElement(u[l]) + } + } + for (o = 0; o < 8; o++) { + var d = this._children[o]; + if (null != d) { + var f = n; + if (n) { + var p = t.containsBoundBox(d._relaxBox); + if (0 === p) + continue; + f = 2 === p + } + d.cullingShadowObjectsOnePSSM(t, e, i, f, a, r) + } + } + } + , + e.renderBoudingBox = function(t) { + this._renderBoudingBox(t); + for (var e = 0; e < 8; ++e) { + var i = this._children[e]; + i && i.renderBoudingBox(t) + } + } + , + e.buildAllChild = function(t) { + if (t < this._scene.treeLevel) + for (var e = 0; e < 8; e++) { + this.addChild(e).buildAllChild(t + 1) + } + } + , + e._renderBoudingBox = function(t) {} + , + r(0, e, "exactBox", function() { + return this._exactBox + }, function(t) { + this._exactBox = t, + Be.add(t.min, t.max, this._boundingBoxCenter), + Be.scale(this._boundingBoxCenter, .5, this._boundingBoxCenter) + }), + r(0, e, "relaxBox", function() { + return this._relaxBox + }, function(t) { + this._relaxBox = t, + t.getCorners(this._corners), + xe.createfromPoints(this._corners, this._boundingSphere) + }), + t.debugMode = !1, + t.relax = 1.15, + t.CHILDNUM = 8, + n(t, ["tempVector0", function() { + return this.tempVector0 = new Be + } + , "tempSize", function() { + return this.tempSize = new Be + } + , "tempCenter", function() { + return this.tempCenter = new Be + } + , "_octreeSplit", function() { + return this._octreeSplit = [new Be(.25,.25,.25), new Be(.75,.25,.25), new Be(.25,.75,.25), new Be(.75,.75,.25), new Be(.25,.25,.75), new Be(.75,.25,.75), new Be(.25,.75,.75), new Be(.75,.75,.75)] + } + ]), + t + }() + , ft = (function() { + function t() {} + a(t, "laya.d3.core.scene.SceneManager") + }(), + function() { + function t(t, e, i, n) { + this._r = NaN, + this._g = NaN, + this._b = NaN, + this._a = NaN, + void 0 === t && (t = 1), + void 0 === e && (e = 1), + void 0 === i && (i = 1), + void 0 === n && (n = 1), + this._r = t, + this._g = e, + this._b = i, + this._a = n + } + a(t, "laya.d3.core.trail.module.Color", null, "Color$1"); + return t.prototype.cloneTo = function(t) { + t._r = this._r, + t._g = this._g, + t._b = this._b, + t._a = this._a + } + , + n(t, ["RED", function() { + return this.RED = new t(1,0,0,1) + } + , "GREEN", function() { + return this.GREEN = new t(0,1,0,1) + } + , "BLUE", function() { + return this.BLUE = new t(0,0,1,1) + } + , "CYAN", function() { + return this.CYAN = new t(0,1,1,1) + } + , "YELLOW", function() { + return this.YELLOW = new t(1,.92,.016,1) + } + , "MAGENTA", function() { + return this.MAGENTA = new t(1,0,1,1) + } + , "GRAY", function() { + return this.GRAY = new t(.5,.5,.5,1) + } + , "WHITE", function() { + return this.WHITE = new t(1,1,1,1) + } + , "BLACK", function() { + return this.BLACK = new t(0,0,0,1) + } + ]), + t + }()) + , pt = function() { + function t() { + this._mode = 0, + this._colorKeys = null, + this._alphaKeys = null, + this.index = 0, + this._colorKeyData = new Float32Array(40), + this._alphaKeyData = new Float32Array(20), + this._colorKeys = [], + this._alphaKeys = [] + } + a(t, "laya.d3.core.trail.module.Gradient"); + var e = t.prototype; + return e.setKeys = function(t, e) { + this._colorKeys = t, + this.index = 0; + for (var i, n = 0; n < t.length; n++) { + var a = (i = t[n]).color; + this._colorKeyData[this.index++] = a._r, + this._colorKeyData[this.index++] = a._g, + this._colorKeyData[this.index++] = a._b, + this._colorKeyData[this.index++] = i.time + } + this._alphaKeys = e, + this.index = 0; + for (var r, s = 0; s < e.length; s++) + r = e[s], + this._alphaKeyData[this.index++] = r.alpha, + this._alphaKeyData[this.index++] = r.time + } + , + e.cloneTo = function(t) { + var e = 0 + , i = 0 + , n = this.colorKeys + , a = []; + for (e = 0, + i = n.length; e < i; e++) { + var r = new gt; + n[e].cloneTo(r), + a.push(r) + } + var s = this.alphaKeys + , o = []; + for (e = 0, + i = s.length; e < i; e++) { + var l = new mt; + s[e].cloneTo(l), + o.push(l) + } + t.setKeys(a, o) + } + , + r(0, e, "mode", function() { + return this._mode + }, function(t) { + this._mode = t + }), + r(0, e, "colorKeys", function() { + return this._colorKeys + }, function(t) { + this._colorKeys = t, + this.index = 0; + for (var e = 0; e < t.length; e++) { + var i = t[e] + , n = i.color; + this._colorKeyData[this.index++] = n._r, + this._colorKeyData[this.index++] = n._g, + this._colorKeyData[this.index++] = n._b, + this._colorKeyData[this.index++] = i.time + } + }), + r(0, e, "alphaKeys", function() { + return this._alphaKeys + }, function(t) { + this._alphaKeys = t, + this.index = 0; + for (var e = 0; e < t.length; e++) { + var i = t[e]; + this._alphaKeyData[this.index++] = i.alpha, + this._alphaKeyData[this.index++] = i.time + } + }), + t + }() + , mt = function() { + function t(t, e) { + this._alpha = NaN, + this._time = NaN, + void 0 === t && (t = 0), + void 0 === e && (e = 0), + this._alpha = t, + this._time = e + } + a(t, "laya.d3.core.trail.module.GradientAlphaKey"); + var e = t.prototype; + return e.cloneTo = function(t) { + t.alpha = this.alpha, + t.time = this.time + } + , + r(0, e, "alpha", function() { + return this._alpha + }, function(t) { + this._alpha = t + }), + r(0, e, "time", function() { + return this._time + }, function(t) { + this._time = t + }), + t + }() + , gt = function() { + function t(t, e) { + this._color = null, + this._time = NaN, + void 0 === e && (e = 0), + this._color = t || new ft, + this._time = e + } + a(t, "laya.d3.core.trail.module.GradientColorKey"); + var e = t.prototype; + return e.cloneTo = function(t) { + this.color.cloneTo(t.color), + t.time = this.time + } + , + r(0, e, "color", function() { + return this._color + }, function(t) { + this._color = t + }), + r(0, e, "time", function() { + return this._time + }, function(t) { + this._time = t + }), + t + }() + , yt = (function() { + function t() {} + a(t, "laya.d3.core.trail.module.GradientMode"), + t.Blend = 0, + t.Fixed = 1 + }(), + function() { + function t() {} + a(t, "laya.d3.core.trail.module.TextureMode"), + t.Stretch = 0, + t.Tile = 1 + }(), + function() { + function t() { + this.time = NaN, + this.inTangent = NaN, + this.outTangent = NaN, + this.value = NaN + } + a(t, "laya.d3.core.trail.module.TrailKeyFrame"); + return t.prototype.cloneTo = function(t) { + t.time = this.time, + t.inTangent = this.inTangent, + t.outTangent = this.outTangent, + t.value = this.value + } + , + t + }()) + , vt = function() { + function t(e) { + this._id = 0, + this._owner = null, + this._camera = null, + this._vertexBuffers = null, + this._verticesCount = 0, + this._virtualVerticesCount = 0, + this._maxVerticesCount = 256, + this._vertices1 = null, + this._vertexBuffer1 = null, + this._floatCountPerVertices1 = 8, + this._verticesIndex1 = 0, + this._everyAddVerticeCount1 = 0, + this._delLength = 0, + this._vertices2 = null, + this._vertexBuffer2 = null, + this._floatCountPerVertices2 = 1, + this._everyGroupVertexBirthTime = null, + this._VerticesToTailLength = null, + this._everyVertexToPreVertexDistance = null, + this._pointe = null, + this._pointAtoBVector3e = null, + this._isStart = !1, + this._isFinish = !1, + this._isDead = !1, + this._curtime = NaN, + this._curDisappearIndex = 0, + this._lastPosition = new Be, + this._curPosition = new Be, + this._delVector3 = new Be, + this._lastFixedVertexPosition = new Be, + this._pointAtoBVector3 = new Be, + this._pointA = new Be, + this._pointB = new Be, + this._owner = e, + this._id = t.renderElementCount++, + 0 == this._id ? e._owner.transform.position.cloneTo(this._lastPosition) : e._curSubTrailFinishPosition.cloneTo(this._lastPosition), + this._everyGroupVertexBirthTime = [], + this._VerticesToTailLength = new Float32Array(this._maxVerticesCount), + this._everyVertexToPreVertexDistance = new Float32Array(this._maxVerticesCount), + this._vertices1 = new Float32Array(this._maxVerticesCount * this._floatCountPerVertices1), + this._vertices2 = new Float32Array(this._maxVerticesCount * this._floatCountPerVertices2), + this._vertexBuffer1 = new Yi(bt.vertexDeclaration1,this._maxVerticesCount,35044,!0), + this._vertexBuffer2 = new Yi(bt.vertexDeclaration2,this._maxVerticesCount,35044,!0), + this._vertexBuffers = [], + this._vertexBuffers.push(this._vertexBuffer1), + this._vertexBuffers.push(this._vertexBuffer2) + } + a(t, "laya.d3.core.trail.TrailRenderElement"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.render.IRenderable": !0 + }), + e._updateTrail = function() { + this._everyAddVerticeCount1 = 0, + this._isStart || this._addTrailByFirstPosition(this._lastPosition, this._curPosition), + this._addTrailByNextPosition(this._curPosition), + this._vertexBuffer1.setData(this._vertices1, this._verticesIndex1, this._verticesIndex1, this._everyAddVerticeCount1), + this._verticesIndex1 += this._everyAddVerticeCount1, + this._curPosition.cloneTo(this._lastPosition), + 2 == this._virtualVerticesCount && (this._verticesIndex1 -= 2 * this._floatCountPerVertices1) + } + , + e._addTrailByFirstPosition = function(t, e) { + Be.subtract(e, t, this._delVector3), + Be.cross(this._delVector3, this._camera.forward, this._pointAtoBVector3), + Be.normalize(this._pointAtoBVector3, this._pointAtoBVector3), + Be.scale(this._pointAtoBVector3, this._owner.widthMultiplier / 2, this._pointAtoBVector3), + this._updateVerticesByPosition(t), + t.cloneTo(this._lastFixedVertexPosition), + this._verticesCount += 2, + this._curtime = this._owner._hasLifeSubTrail ? this._owner._curSubTrailFinishCurTime : this._owner._curtime, + this._everyGroupVertexBirthTime.push(this._curtime), + this._isStart = !0, + this._owner._hasLifeSubTrail = !0 + } + , + e._addTrailByNextPosition = function(t) { + Be.subtract(t, this._lastFixedVertexPosition, this._delVector3), + Be.cross(this._delVector3, this._camera.forward, this._pointAtoBVector3), + Be.normalize(this._pointAtoBVector3, this._pointAtoBVector3), + Be.scale(this._pointAtoBVector3, this._owner.widthMultiplier / 2, this._pointAtoBVector3), + this._delLength = Be.scalarLength(this._delVector3), + this._delLength - this._owner.minVertexDistance >= Ce.zeroTolerance ? (this._owner._trailTotalLength += this._delLength, + this._owner._trailSupplementLength = 0, + this._updateVerticesByPosition(t), + t.cloneTo(this._lastFixedVertexPosition), + this._verticesCount += 2, + this._virtualVerticesCount = 0, + this._everyGroupVertexBirthTime.push(this._owner._curtime), + this._verticesCount == this._maxVerticesCount && this._onTrailRenderElementFinish()) : (this._owner._trailSupplementLength = this._delLength, + this._updateVerticesByPosition(t), + this._virtualVerticesCount = 2) + } + , + e._updateVerticesByPosition = function(t) { + this._pointe = t.elements, + this._pointAtoBVector3e = this._pointAtoBVector3.elements, + this._curtime = this._owner._curtime, + this._owner._hasLifeSubTrail && 0 == this._isStart && (this._pointe = this._owner._curSubTrailFinishPosition.elements, + this._pointAtoBVector3e = this._owner._curSubTrailFinishDirection.elements, + this._curtime = this._owner._curSubTrailFinishCurTime), + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = this._pointe[0], + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = this._pointe[1], + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = this._pointe[2], + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = -this._pointAtoBVector3e[0], + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = -this._pointAtoBVector3e[1], + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = -this._pointAtoBVector3e[2], + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = this._curtime, + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = 1, + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = this._pointe[0], + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = this._pointe[1], + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = this._pointe[2], + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = this._pointAtoBVector3e[0], + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = this._pointAtoBVector3e[1], + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = this._pointAtoBVector3e[2], + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = this._curtime, + this._vertices1[this._verticesIndex1 + this._everyAddVerticeCount1++] = 0, + this._VerticesToTailLength[this._verticesCount / 2] = this._owner._trailTotalLength + this._owner._trailSupplementLength, + 0 == this._owner._trailSupplementLength ? this._everyVertexToPreVertexDistance[this._verticesCount / 2] = this._delLength : this._everyVertexToPreVertexDistance[this._verticesCount / 2] = this._isStart ? this._owner._trailSupplementLength : 0 + } + , + e._updateVertexBuffer2 = function() { + var t = 0 + , e = 0 + , i = 0 + , n = 0; + for (i = 0, + n = (this._verticesCount + this._virtualVerticesCount) / 2; i < n; i++) + e = 0 == this._owner.textureMode ? (this._VerticesToTailLength[i] - this._owner._trailDeadLength) / (this._owner._trailTotalLength + this._owner._trailSupplementLength - this._owner._trailDeadLength) : this._owner._trailTotalLength + this._owner._trailSupplementLength - this._VerticesToTailLength[i], + this._vertices2[t++] = 1 - e, + this._vertices2[t++] = 1 - e; + this._vertexBuffer2.setData(this._vertices2, 0, 0, this._verticesCount + this._virtualVerticesCount) + } + , + e._onTrailRenderElementFinish = function() { + this._lastFixedVertexPosition.cloneTo(this._owner._curSubTrailFinishPosition), + this._pointAtoBVector3.cloneTo(this._owner._curSubTrailFinishDirection), + this._owner._curSubTrailFinishCurTime = this._owner._curtime, + this._isFinish = !0 + } + , + e._updateDisappear = function() { + var t = 0 + , e = 0; + for (t = this._curDisappearIndex, + e = (this._verticesCount + this._virtualVerticesCount) / 2; t < e; t++) + this._owner._curtime - this._everyGroupVertexBirthTime[t] >= this._owner.time + Ce.zeroTolerance && (this._curDisappearIndex++, + this._owner._trailDeadLength += this._everyVertexToPreVertexDistance[this._curDisappearIndex], + this._curDisappearIndex >= (this._verticesCount + this._virtualVerticesCount) / 2 && (this._isDead = !0)) + } + , + e._beforeRender = function(t) { + return this._camera = t.camera, + null != this._camera && (this._owner._owner.transform.position.cloneTo(this._curPosition), + !this._isDead && (this._verticesCount < this._maxVerticesCount ? (this._owner._isStart || (this._owner._owner.transform.position.cloneTo(this._lastPosition), + this._owner._isStart = !0), + Be.equals(this._lastPosition, this._curPosition) || this._updateTrail()) : this._isFinish && (this._isFinish = !1, + this._owner._curSubTrailFinished = !0), + this._verticesCount > 0) && (this._updateVertexBuffer2(), + this._updateDisappear(), + !0)) + } + , + e._render = function(t) { + this._isDead || (B.mainContext.drawArrays(5, 2 * this._curDisappearIndex, this._verticesCount + this._virtualVerticesCount - 2 * this._curDisappearIndex), + console.log(2 * this._curDisappearIndex, this._verticesCount + this._virtualVerticesCount - 2 * this._curDisappearIndex), + E.drawCall++, + E.trianglesFaces += this._verticesCount + this._virtualVerticesCount - 2 * this._curDisappearIndex - 2) + } + , + e._getVertexBuffer = function(t) { + return void 0 === t && (t = 0), + 0 === t ? this._vertexBuffer1 : 1 === t ? this._vertexBuffer2 : null + } + , + e._getVertexBuffers = function() { + return this._vertexBuffers + } + , + e._getIndexBuffer = function() { + return null + } + , + e.reActivate = function() { + this._id = laya.d3.core.trail.TrailRenderElement.renderElementCount++, + this._isStart = !1, + this._isFinish = !1, + this._isDead = !1, + this._verticesCount = 0, + this._virtualVerticesCount = 0, + this._verticesIndex1 = 0, + this._delLength = 0, + this._curDisappearIndex = 0, + this._everyGroupVertexBirthTime = [], + this._owner._curSubTrailFinishPosition.cloneTo(this._lastPosition) + } + , + e._destroy = function() { + this._vertexBuffer1.dispose(), + this._vertexBuffer2.dispose(), + this._vertices1 = null, + this._vertexBuffer1 = null, + this._vertices2 = null, + this._vertexBuffer2 = null, + this._vertexBuffers = null, + this._everyGroupVertexBirthTime = null, + this._VerticesToTailLength = null, + this._everyVertexToPreVertexDistance = null, + this._lastPosition = null, + this._curPosition = null, + this._delVector3 = null, + this._lastFixedVertexPosition = null, + this._pointAtoBVector3 = null, + this._pointe = null, + this._pointAtoBVector3e = null, + this._pointA = null, + this._pointB = null + } + , + r(0, e, "_vertexBufferCount", function() { + return this._vertexBuffers.length + }), + r(0, e, "triangleCount", function() { + return 0 + }), + t.renderElementCount = 0, + t + }() + , bt = function() { + function t() {} + a(t, "laya.d3.core.trail.VertexTrail"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration1 + }), + r(1, t, "vertexDeclaration1", function() { + return t._vertexDeclaration1 + }), + r(1, t, "vertexDeclaration2", function() { + return t._vertexDeclaration2 + }), + n(t, ["_vertexDeclaration1", function() { + return this._vertexDeclaration1 = new Mt(32,[new Lt(0,"vector3",0), new Lt(12,"vector3",41), new Lt(24,"single",33), new Lt(28,"single",40)]) + } + , "_vertexDeclaration2", function() { + return this._vertexDeclaration2 = new Mt(4,[new Lt(0,"single",38)]) + } + ]), + t + }() + , wt = function() { + function t(t) { + this._vertexDeclaration = null, + this._vertexDatas = null, + this._indexDatas = null, + this._vertexBuffer = null, + this._indexBuffer = null, + this._currentCombineVertexCount = 0, + this._currentCombineIndexCount = 0, + this._combineRenderElements = null, + this._materials = null, + this._materialToRenderElementsOffsets = null, + this._merageElements = null, + this._combineRenderElementPool = null, + this._combineRenderElementPoolIndex = 0, + this._currentCombineVertexCount = 0, + this._currentCombineIndexCount = 0, + this._combineRenderElements = [], + this._materialToRenderElementsOffsets = [], + this._materials = [], + this._merageElements = [], + this._combineRenderElementPool = [], + this._combineRenderElementPoolIndex = 0, + this._vertexDeclaration = t + } + a(t, "laya.d3.graphics.DynamicBatch"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.render.IRenderable": !0 + }), + e._getVertexBuffer = function(t) { + return void 0 === t && (t = 0), + 0 === t ? this._vertexBuffer : null + } + , + e._getIndexBuffer = function() { + return this._indexBuffer + } + , + e._getCombineRenderElementFromPool = function(t, e, i) { + var n = this._combineRenderElementPool[this._combineRenderElementPoolIndex++]; + return n || (this._combineRenderElementPool[this._combineRenderElementPoolIndex - 1] = n = new ct, + n._sprite3D = new gn), + n._sprite3D._render._renderUpdate(i), + n + } + , + e._getRenderElement = function(e, i, n) { + this._vertexDatas || (this._vertexDatas = new Float32Array(this._vertexDeclaration.vertexStride / 4 * t.maxVertexCount), + this._indexDatas = new Uint16Array(t.maxIndexCount), + this._vertexBuffer = Yi.create(this._vertexDeclaration, t.maxVertexCount, 35048), + this._indexBuffer = qi.create("ushort", t.maxIndexCount, 35048)), + this._merageElements.length = 0; + for (var a = 0, r = 0, s = 0, o = this._combineRenderElements.length; s < o; s++) { + var l = this._combineRenderElements[s] + , h = l.getDynamicBatchBakedVertexs(0) + , c = l.getBakedIndices() + , _ = l._sprite3D.transform._isFrontFaceInvert + , u = a / (this._vertexDeclaration.vertexStride / 4) + , d = r + , f = d + c.length; + l._tempBatchIndexStart = d, + l._tempBatchIndexEnd = f, + this._indexDatas.set(c, r); + var p = 0; + if (_) + for (p = d; p < f; p += 3) { + this._indexDatas[p] = u + this._indexDatas[p]; + var m = this._indexDatas[p + 1] + , g = this._indexDatas[p + 2]; + this._indexDatas[p + 1] = u + g, + this._indexDatas[p + 2] = u + m + } + else + for (p = d; p < f; p += 3) + this._indexDatas[p] = u + this._indexDatas[p], + this._indexDatas[p + 1] = u + this._indexDatas[p + 1], + this._indexDatas[p + 2] = u + this._indexDatas[p + 2]; + r += c.length, + this._vertexDatas.set(h, a), + a += h.length + } + for (this._vertexBuffer.setData(this._vertexDatas), + this._indexBuffer.setData(this._indexDatas), + this._combineRenderElementPoolIndex = 0, + s = 0, + o = this._materials.length; s < o; s++) { + var y = this._getCombineRenderElementFromPool(e, i, n); + y._type = 2, + y._staticBatch = null, + y.renderObj = this; + var v = this._combineRenderElements[this._materialToRenderElementsOffsets[s]]._tempBatchIndexStart + , b = s + 1 === this._materialToRenderElementsOffsets.length ? r : this._combineRenderElements[this._materialToRenderElementsOffsets[s + 1]]._tempBatchIndexStart; + y._tempBatchIndexStart = v, + y._tempBatchIndexEnd = b, + y._material = this._materials[s], + this._merageElements.push(y) + } + } + , + e._addCombineRenderObjTest = function(e) { + var i = e.renderObj + , n = this._currentCombineIndexCount + i._getIndexBuffer().indexCount; + return !(this._currentCombineVertexCount + i._getVertexBuffer().vertexCount > t.maxVertexCount || n > t.maxIndexCount) + } + , + e._addCombineRenderObj = function(t) { + var e = t.renderObj; + this._combineRenderElements.push(t), + this._currentCombineIndexCount = this._currentCombineIndexCount + e._getIndexBuffer().indexCount, + this._currentCombineVertexCount = this._currentCombineVertexCount + e._getVertexBuffer().vertexCount + } + , + e._addCombineMaterial = function(t) { + this._materials.push(t) + } + , + e._addMaterialToRenderElementOffset = function(t) { + this._materialToRenderElementsOffsets.push(t) + } + , + e._clearRenderElements = function() { + this._combineRenderElements.length = 0, + this._materials.length = 0, + this._materialToRenderElementsOffsets.length = 0, + this._currentCombineVertexCount = 0, + this._currentCombineIndexCount = 0 + } + , + e._addToRenderQueue = function(t, e, i, n) { + this._getRenderElement(e, i, n); + for (var a = 0, r = this._materials.length; a < r; a++) + t.getRenderQueue(this._materials[a].renderQueue)._addDynamicBatchElement(this._merageElements[a]) + } + , + e._beforeRender = function(t) { + return this._vertexBuffer._bind(), + this._indexBuffer._bind(), + !0 + } + , + e._render = function(t) { + var e = t._batchIndexEnd - t._batchIndexStart; + B.mainContext.drawElements(4, e, 5123, 2 * t._batchIndexStart), + E.drawCall++, + E.trianglesFaces += e / 3 + } + , + e._getVertexBuffers = function() { + return null + } + , + r(0, e, "_vertexBufferCount", function() { + return 1 + }), + r(0, e, "triangleCount", function() { + return this._indexBuffer.indexCount / 3 + }), + r(0, e, "combineRenderElementsCount", function() { + return this._combineRenderElements.length + }), + t.maxVertexCount = 2e4, + t.maxIndexCount = 4e4, + t.maxCombineTriangleCount = 10, + t + }() + , xt = function() { + function t() { + this._dynamicBatches = null, + this._prepareDynamicBatchCombineElements = null, + this._dynamicBatches = {}, + this._prepareDynamicBatchCombineElements = [] + } + a(t, "laya.d3.graphics.DynamicBatchManager"); + var e = t.prototype; + return e.getDynamicBatch = function(t, e) { + var i, n = t.id.toString() + e; + return this._dynamicBatches[n] ? i = this._dynamicBatches[n] : this._dynamicBatches[n] = i = new wt(t), + i + } + , + e._garbageCollection = function() { + for (var t in this._dynamicBatches) + 0 === this._dynamicBatches[t].combineRenderElementsCount && delete this._dynamicBatches[t] + } + , + e._addPrepareRenderElement = function(t) { + this._prepareDynamicBatchCombineElements.push(t) + } + , + e._finishCombineDynamicBatch = function(e) { + this._prepareDynamicBatchCombineElements.sort(t._sortPrepareDynamicBatch); + for (var i, n, a, r, s, o, l, h, c = -1, _ = !0, u = 0, d = -1, f = 0, p = this._prepareDynamicBatchCombineElements.length; f < p; f++) { + var m = (s = this._prepareDynamicBatchCombineElements[f]).renderObj._getVertexBuffer(0).vertexDeclaration + , g = n !== m; + g && (u = 0, + n = m); + var y = u !== c; + if (y && (c = u), + (g || y) && (o = this.getDynamicBatch(m, u), + i = null), + _) + if (o._addCombineRenderObjTest(s)) { + if (r = s._material, + i !== r) + l && (e.getRenderQueue(h._material.renderQueue)._addRenderElement(h), + l = null, + h = null, + d = -1), + l = r, + d = o.combineRenderElementsCount, + h = s, + i = r; + else if (l) { + var v = h.renderObj + , b = s.renderObj; + v._getVertexBuffer().vertexCount + b._getVertexBuffer().vertexCount > wt.maxVertexCount || v._getIndexBuffer().indexCount + b._getIndexBuffer().indexCount > wt.maxIndexCount ? (e.getRenderQueue(h._material.renderQueue)._addRenderElement(h), + l = r, + d = o.combineRenderElementsCount, + h = s) : (o._addCombineMaterial(l), + o._addMaterialToRenderElementOffset(d), + o._addCombineRenderObj(h), + l = null, + h = null, + d = -1, + o._addCombineRenderObj(s)) + } else + o._addCombineRenderObj(s); + _ = !0 + } else + l && (e.getRenderQueue(h._material.renderQueue)._addRenderElement(h), + l = null, + h = null, + d = -1), + u++, + _ = !1; + else + a = this._prepareDynamicBatchCombineElements[f - 1], + o._addMaterialToRenderElementOffset(o.combineRenderElementsCount), + i = a._material, + o._addCombineMaterial(i), + o._addCombineRenderObj(a), + _ = !0, + i !== (r = s._material) ? (l = r, + d = o.combineRenderElementsCount, + h = s) : o._addCombineRenderObj(s), + i = r + } + l && (e.getRenderQueue(h._material.renderQueue)._addRenderElement(h), + l = null, + h = null, + d = -1), + this._prepareDynamicBatchCombineElements.length = 0 + } + , + e._clearRenderElements = function() { + for (var t in this._dynamicBatches) + this._dynamicBatches[t]._clearRenderElements() + } + , + e._addToRenderQueue = function(t, e, i, n) { + for (var a in this._dynamicBatches) { + var r = this._dynamicBatches[a]; + r.combineRenderElementsCount > 0 && r._addToRenderQueue(t, e, i, n) + } + } + , + e.dispose = function() { + this._dynamicBatches = null + } + , + t._sortPrepareDynamicBatch = function(t, e) { + return t._mainSortID - e._mainSortID + } + , + t + }() + , It = function() { + function t() {} + return a(t, "laya.d3.graphics.FrustumCulling"), + t.renderShadowObjectCulling = function(t, e, i, n, a) { + var r = 0 + , s = 0 + , o = 0 + , l = 0; + for (r = 0, + o = i.length; r < o; r++) { + var h = i[r]; + h && h._clearRenderElements() + } + var c, _, u, d = t._cullingRenders; + if (a > 1) { + for (r = 0, + o = t._cullingRendersLength; r < o; r++) + if ((c = d[r]).castShadow && z.isVisible(c._owner.layer.mask) && c.enable) + for (var f = 1, p = e.length; f < p; f++) + if (_ = i[f - 1], + 0 !== e[f].containsBoundSphere(c.boundingSphere)) + for (s = 0, + l = (u = c._renderElements).length; s < l; s++) + _._addRenderElement(u[s]) + } else + for (r = 0, + o = t._cullingRendersLength; r < o; r++) + if ((c = d[r]).castShadow && z.isVisible(c._owner.layer.mask) && c.enable && 0 !== e[0].containsBoundSphere(c.boundingSphere)) + for (c._renderUpdate(n), + _ = i[0], + s = 0, + l = (u = c._renderElements).length; s < l; s++) + _._addRenderElement(u[s]) + } + , + t.renderShadowObjectCullingOctree = function(t, e, i, n, a) { + for (var r = 0, s = i.length; r < s; r++) { + var o = i[r]; + o && o._clearRenderElements() + } + a > 1 ? t.treeRoot.cullingShadowObjects(e, i, !0, 0, t) : t.treeRoot.cullingShadowObjectsOnePSSM(e[0], i, n, !0, 0, t) + } + , + t.renderObjectCulling = function(t, e, i, n, a, r) { + var s = 0 + , o = 0 + , l = 0 + , h = 0 + , c = e._quenes + , _ = e._dynamicBatchManager + , u = e._cullingRenders; + for (s = 0, + o = c.length; s < o; s++) { + var d = c[s]; + d && d._clearRenderElements() + } + var f = Ct._staticBatchManagers; + for (s = 0, + o = f.length; s < o; s++) + f[s]._clearRenderElements(); + _._clearRenderElements(); + var p = i.transform.position; + for (s = 0, + o = e._cullingRendersLength; s < o; s++) { + var m = u[s]; + if (z.isVisible(m._owner.layer.mask) && m.enable && 0 !== t.containsBoundSphere(m.boundingSphere) && m._renderUpdate(r)) { + m._distanceForSort = Be.distance(m.boundingSphere.center, p) + m.sortingFudge; + var g = m._renderElements; + for (l = 0, + h = g.length; l < h; l++) { + var y = g[l] + , v = y._staticBatch; + if (v && v._material === y._material) + v._addBatchRenderElement(y); + else { + var b = y.renderObj; + b.triangleCount < 10 && 1 === b._vertexBufferCount && b._getIndexBuffer() && y._material.renderQueue < 2 && y._canDynamicBatch && !m._owner.isStatic ? _._addPrepareRenderElement(y) : e.getRenderQueue(y._material.renderQueue)._addRenderElement(y) + } + } + } + } + for (s = 0, + o = f.length; s < o; s++) + f[s]._addToRenderQueue(e, n, a, r); + _._finishCombineDynamicBatch(e), + _._addToRenderQueue(e, n, a, r) + } + , + t.renderObjectCullingOctree = function(t, e, i, n, a, r) { + var s = 0 + , o = 0 + , l = e._quenes + , h = e._dynamicBatchManager; + for (s = 0, + o = l.length; s < o; s++) { + var c = l[s]; + c && c._clearRenderElements() + } + var _ = Ct._staticBatchManagers; + for (s = 0, + o = _.length; s < o; s++) + _[s]._clearRenderElements(); + for (h._clearRenderElements(), + e._cullingRenders.length = 0, + e.treeRoot.cullingObjects(t, !0, 0, i.transform.position, r), + s = 0, + o = _.length; s < o; s++) + _[s]._addToRenderQueue(e, n, a, r); + h._finishCombineDynamicBatch(e), + h._addToRenderQueue(e, n, a, r) + } + , + t.renderObjectCullingNoBoundFrustum = function(t, e, i, n, a) { + var r = 0 + , s = 0 + , o = 0 + , l = 0 + , h = t._quenes + , c = t._dynamicBatchManager + , _ = t._cullingRenders; + for (r = 0, + s = h.length; r < s; r++) { + var u = h[r]; + u && u._clearRenderElements() + } + var d = Ct._staticBatchManagers; + for (r = 0, + s = d.length; r < s; r++) + d[r]._clearRenderElements(); + c._clearRenderElements(); + var f = e.transform.position; + for (r = 0, + s = t._cullingRendersLength; r < s; r++) { + var p = _[r]; + if (z.isVisible(p._owner.layer.mask) && p.enable) { + p._renderUpdate(a), + p._distanceForSort = Be.distance(p.boundingSphere.center, f) + p.sortingFudge; + var m = p._renderElements; + for (o = 0, + l = m.length; o < l; o++) { + var g = m[o] + , y = g._staticBatch; + if (y && y._material === g._material) + y._addBatchRenderElement(g); + else { + var v = g.renderObj; + v.triangleCount < 10 && 1 === v._vertexBufferCount && v._getIndexBuffer() && g._material.renderQueue < 2 && g._canDynamicBatch && !p._owner.isStatic ? c._addPrepareRenderElement(g) : t.getRenderQueue(g._material.renderQueue)._addRenderElement(g) + } + } + } + } + for (r = 0, + s = d.length; r < s; r++) + d[r]._addToRenderQueue(t, i, n, a); + c._finishCombineDynamicBatch(t), + c._addToRenderQueue(t, i, n, a) + } + , + t + }() + , Ct = function() { + function t() { + this._initBatchRenderElements = null, + this._staticBatches = null, + this._initBatchRenderElements = [], + this._staticBatches = {} + } + a(t, "laya.d3.graphics.StaticBatchManager"); + var e = t.prototype; + return e._finishInit = function() { + for (var t in this._staticBatches) + this._staticBatches[t]._finishInit(); + this._initBatchRenderElements.length = 0 + } + , + e._initStaticBatchs = function(t) { + throw new Error("StaticBatchManager:must override this function.") + } + , + e._addInitBatchSprite = function(t) { + for (var e = t._render._renderElements, i = 0, n = e.length; i < n; i++) + this._initBatchRenderElements.push(e[i]) + } + , + e._clearRenderElements = function() { + for (var t in this._staticBatches) + this._staticBatches[t]._clearRenderElements() + } + , + e._garbageCollection = function(t) { + var e = t._staticBatch + , i = e._initBatchRenderElements + , n = i.indexOf(t); + i.splice(n, 1), + 0 === i.length && (e.dispose(), + delete this._staticBatches[e._key]) + } + , + e._addToRenderQueue = function(t, e, i, n) { + for (var a in this._staticBatches) { + var r = this._staticBatches[a]; + r._batchRenderElements.length > 0 && r._updateToRenderQueue(t, n) + } + } + , + e.dispose = function() { + this._staticBatches = null + } + , + t._addToStaticBatchQueue = function(e) { + e instanceof laya.d3.core.RenderableSprite3D && e._addToInitStaticBatchManager(); + for (var i = 0, n = e.numChildren; i < n; i++) + t._addToStaticBatchQueue(e._childs[i]) + } + , + t.combine = function(e, i) { + var n, a = 0, r = 0; + if (i) + for (a = 0, + r = i.length; a < r; a++) { + i[a]._addToInitStaticBatchManager() + } + else + e && t._addToStaticBatchQueue(e); + for (a = 0, + r = t._staticBatchManagers.length; a < r; a++) + (n = t._staticBatchManagers[a])._initStaticBatchs(e), + n._finishInit() + } + , + t._staticBatchManagers = [], + t + }() + , St = function() { + function t(t, e, i) { + this._combineRenderElementPoolIndex = 0, + this._combineRenderElementPool = null, + this._initBatchRenderElements = null, + this._batchRenderElements = null, + this._material = null, + this._rootOwner = null, + this._key = null, + this._manager = null, + this._key = t, + this._manager = e, + this._combineRenderElementPoolIndex = 0, + this._combineRenderElementPool = [], + this._initBatchRenderElements = [], + this._batchRenderElements = [], + this._rootOwner = i + } + a(t, "laya.d3.graphics.StaticBatch"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.render.IRenderable": !0, + "laya.resource.IDispose": !0 + }), + e._binarySearch = function(t) { + for (var e = 0, i = this._batchRenderElements.length - 1, n = 0; e <= i; ) + n = Math.floor((e + i) / 2), + this._compareBatchRenderElement(this._batchRenderElements[n], t) ? i = n - 1 : e = n + 1; + return e + } + , + e._compareBatchRenderElement = function(t, e) { + throw new Error("StaticBatch:must override this function.") + } + , + e._getVertexDecLightMap = function(t) { + return t === re.vertexDeclaration ? te.vertexDeclaration : t === ae.vertexDeclaration ? $t.vertexDeclaration : t === qt.vertexDeclaration ? Gt.vertexDeclaration : t === he.vertexDeclaration ? null : t === Ot.vertexDeclaration ? Ut.vertexDeclaration : t === oe.vertexDeclaration ? ie.vertexDeclaration : t === Zt.vertexDeclaration ? Qt.vertexDeclaration : t === se.vertexDeclaration ? ee.vertexDeclaration : t === ae.vertexDeclaration ? $t.vertexDeclaration : t === Yt.vertexDeclaration ? zt.vertexDeclaration : t === he.vertexDeclaration ? null : t === Ot.vertexDeclaration ? Ut.vertexDeclaration : t === le.vertexDeclaration ? ne.vertexDeclaration : t === Zt.vertexDeclaration ? Qt.vertexDeclaration : t + } + , + e._getCombineRenderElementFromPool = function() { + throw new Error("StaticBatch:must override this function.") + } + , + e._addBatchRenderElement = function(t) { + this._batchRenderElements.splice(this._binarySearch(t), 0, t) + } + , + e._updateToRenderQueue = function(t, e) { + this._combineRenderElementPoolIndex = 0, + this._getRenderElement(t.getRenderQueue(this._material.renderQueue)._renderElements, t, e) + } + , + e._getRenderElement = function(t, e, i) { + throw new Error("StaticBatch:must override this function.") + } + , + e._finishInit = function() { + throw new Error("StaticBatch:must override this function.") + } + , + e._clearRenderElements = function() { + this._batchRenderElements.length = 0 + } + , + e.dispose = function() {} + , + e._getVertexBuffer = function(t) { + return void 0 === t && (t = 0), + null + } + , + e._getIndexBuffer = function() { + return null + } + , + e._beforeRender = function(t) { + return !0 + } + , + e._render = function(t) {} + , + e._getVertexBuffers = function() { + return null + } + , + r(0, e, "_vertexBufferCount", function() { + return 1 + }), + r(0, e, "triangleCount", function() { + return 0 + }), + t.combine = function(t) { + console.log("StaticBatch: discard property,please use StaticBatchManager.combine() function instead."), + Ct.combine(t) + } + , + t.maxBatchVertexCount = 65535, + t + }() + , Mt = function() { + function t(e, i) { + if (this._id = 0, + this._shaderValues = null, + this._shaderDefineValue = 0, + this._vertexStride = 0, + this._vertexElements = null, + this._vertexElementsDic = null, + this._id = ++t._uniqueIDCounter, + this._id > t.maxVertexDeclaration) + throw new Error("VertexDeclaration: VertexDeclaration count should not large than ",t.maxVertexDeclaration); + this._shaderValues = new Fe, + this._vertexElementsDic = {}, + this._vertexStride = e, + this._vertexElements = i; + for (var n = 0; n < i.length; n++) { + var a = i[n] + , r = a.elementUsage; + this._vertexElementsDic[r] = a; + var s = [t._getTypeSize(a.elementFormat) / 4, 5126, !1, this._vertexStride, a.offset]; + switch (this._shaderValues.setValue(r, s), + r) { + case 1: + this._addShaderDefine(ci.SHADERDEFINE_COLOR); + break; + case 2: + this._addShaderDefine(ci.SHADERDEFINE_UV0); + break; + case 15: + this._addShaderDefine(ci.SHADERDEFINE_UV1) + } + } + } + a(t, "laya.d3.graphics.VertexDeclaration"); + var e = t.prototype; + return e._addShaderDefine = function(t) { + this._shaderDefineValue |= t + } + , + e._removeShaderDefine = function(t) { + this._shaderDefineValue &= ~t + } + , + e.getVertexElements = function() { + return this._vertexElements.slice() + } + , + e.getVertexElementByUsage = function(t) { + return this._vertexElementsDic[t] + } + , + e.unBinding = function() {} + , + r(0, e, "shaderDefineValue", function() { + return this._shaderDefineValue + }), + r(0, e, "id", function() { + return this._id + }), + r(0, e, "vertexStride", function() { + return this._vertexStride + }), + r(0, e, "shaderValues", function() { + return this._shaderValues + }), + t._getTypeSize = function(t) { + switch (t) { + case "single": + return 4; + case "vector2": + return 8; + case "vector3": + return 12; + case "vector4": + return 16; + case "color": + case "byte4": + case "short2": + return 4; + case "short4": + return 8; + case "normalizedshort2": + return 4; + case "normalizedshort4": + return 8; + case "halfvector2": + return 4; + case "halfvector4": + return 8 + } + return 0 + } + , + t.getVertexStride = function(e) { + for (var i = 0, n = 0; n < e.Length; n++) { + var a = e[n] + , r = a.offset + t._getTypeSize(a.elementFormat); + i < r && (i = r) + } + return i + } + , + t._maxVertexDeclarationBit = 1e3, + t._uniqueIDCounter = 1, + n(t, ["maxVertexDeclaration", function() { + return this.maxVertexDeclaration = 2147483647 - 1e3 * Math.floor(2147483.647) + } + ]), + t + }() + , Lt = function() { + function t(t, e, i) { + this.offset = 0, + this.elementFormat = null, + this.elementUsage = 0, + this.offset = t, + this.elementFormat = e, + this.elementUsage = i + } + return a(t, "laya.d3.graphics.VertexElement"), + t + }() + , Tt = (function() { + function t() {} + a(t, "laya.d3.graphics.VertexElementFormat"), + t.Single = "single", + t.Vector2 = "vector2", + t.Vector3 = "vector3", + t.Vector4 = "vector4", + t.Color = "color", + t.Byte4 = "byte4", + t.Short2 = "short2", + t.Short4 = "short4", + t.NormalizedShort2 = "normalizedshort2", + t.NormalizedShort4 = "normalizedshort4", + t.HalfVector2 = "halfvector2", + t.HalfVector4 = "halfvector4" + }(), + function() { + function t() {} + a(t, "laya.d3.graphics.VertexElementUsage"), + t.POSITION0 = 0, + t.COLOR0 = 1, + t.TEXTURECOORDINATE0 = 2, + t.NORMAL0 = 3, + t.BINORMAL0 = 4, + t.TANGENT0 = 5, + t.BLENDINDICES0 = 6, + t.BLENDWEIGHT0 = 7, + t.DEPTH0 = 8, + t.FOG0 = 9, + t.POINTSIZE0 = 10, + t.SAMPLE0 = 11, + t.TESSELLATEFACTOR0 = 12, + t.COLOR1 = 13, + t.NEXTTEXTURECOORDINATE0 = 14, + t.TEXTURECOORDINATE1 = 15, + t.NEXTTEXTURECOORDINATE1 = 16, + t.CORNERTEXTURECOORDINATE0 = 17, + t.VELOCITY0 = 18, + t.STARTCOLOR0 = 19, + t.STARTSIZE = 20, + t.AGEADDSCALE0 = 21, + t.STARTROTATION = 22, + t.ENDCOLOR0 = 23, + t.STARTLIFETIME = 24, + t.TIME0 = 33, + t.SHAPEPOSITIONSTARTLIFETIME = 30, + t.DIRECTIONTIME = 32, + t.SIZEROTATION0 = 27, + t.RADIUS0 = 28, + t.RADIAN0 = 29, + t.STARTSPEED = 31, + t.RANDOM0 = 34, + t.RANDOM1 = 35, + t.SIMULATIONWORLDPOSTION = 36, + t.SIMULATIONWORLDROTATION = 37, + t.TEXTURECOORDINATE0X = 38, + t.TEXTURECOORDINATE0X1 = 39, + t.TEXTURECOORDINATE0Y = 40, + t.OFFSETVECTOR = 41 + }(), + function() { + function t(t, e, i) { + this._position = null, + this._textureCoordinate0 = null, + this._time = NaN, + this._position = t, + this._textureCoordinate0 = e, + this._time = i + } + a(t, "laya.d3.graphics.VertexGlitter"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate0 + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "time", function() { + return this._time + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(24,[new Lt(0,"vector3",0), new Lt(12,"vector2",2), new Lt(20,"single",33)]) + } + ]), + t + }()) + , Et = (function() { + function t(t, e, i, n, a, r, s, o, l, h) { + this._cornerTextureCoordinate = null, + this._position = null, + this._velocity = null, + this._startColor = null, + this._endColor = null, + this._sizeRotation = null, + this._radius = null, + this._radian = null, + this._ageAddScale = NaN, + this._time = NaN, + this._cornerTextureCoordinate = t, + this._position = e, + this._velocity = i, + this._startColor = n, + this._endColor = a, + this._sizeRotation = r, + this._radius = s, + this._radian = o, + this._ageAddScale = l, + this._time = h + } + a(t, "laya.d3.graphics.VertexParticle"); + var e = t.prototype; + i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "endColor", function() { + return this._endColor + }), + r(0, e, "cornerTextureCoordinate", function() { + return this._cornerTextureCoordinate + }), + r(0, e, "sizeRotation", function() { + return this._sizeRotation + }), + r(0, e, "velocity", function() { + return this._velocity + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "startColor", function() { + return this._startColor + }), + r(0, e, "radius", function() { + return this._radius + }), + r(0, e, "radian", function() { + return this._radian + }), + r(0, e, "ageAddScale", function() { + return this._ageAddScale + }), + r(0, e, "time", function() { + return this._time + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(116,[new Lt(0,"vector4",17), new Lt(16,"vector3",0), new Lt(28,"vector3",18), new Lt(40,"vector4",19), new Lt(56,"vector4",23), new Lt(72,"vector3",27), new Lt(84,"vector2",28), new Lt(92,"vector4",29), new Lt(108,"single",24), new Lt(112,"single",33)]) + } + ]) + }(), + function() { + function t(t) { + this._position = null, + this._position = t + } + a(t, "laya.d3.graphics.VertexPosition"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(12,[new Lt(0,"vector3",0)]) + } + ]), + t + }()) + , Dt = function() { + function t(t, e) { + this._position = null, + this._normal = null, + this._position = t, + this._normal = e + } + a(t, "laya.d3.graphics.VertexPositionNormal"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(24,[new Lt(0,"vector3",0), new Lt(12,"vector3",3)]) + } + ]), + t + }() + , Nt = function() { + function t(t, e, i) { + this._position = null, + this._normal = null, + this._color = null, + this._position = t, + this._normal = e, + this._color = i + } + a(t, "laya.d3.graphics.VertexPositionNormalColor"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(40,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1)]) + } + ]), + t + }() + , At = function() { + function t(t, e, i, n, a) { + this._position = null, + this._normal = null, + this._color = null, + this._blendIndex = null, + this._blendWeight = null, + this._position = t, + this._normal = e, + this._color = i, + this._blendIndex = n, + this._blendWeight = a + } + a(t, "laya.d3.graphics.VertexPositionNormalColorSkin"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(72,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector4",7), new Lt(56,"vector4",6)]) + } + ]), + t + }() + , Bt = function() { + function t(t, e, i, n, a, r) { + this._position = null, + this._normal = null, + this._color = null, + this._blendIndex = null, + this._blendWeight = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._color = i, + this._tangent = n, + this._blendIndex = a, + this._blendWeight = r + } + a(t, "laya.d3.graphics.VertexPositionNormalColorSkinSTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(88,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector4",7), new Lt(56,"vector4",6), new Lt(72,"vector4",5)]) + } + ]), + t + }() + , kt = function() { + function t(t, e, i, n, a, r) { + this._position = null, + this._normal = null, + this._color = null, + this._blendIndex = null, + this._blendWeight = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._color = i, + this._tangent = n, + this._blendIndex = a, + this._blendWeight = r + } + a(t, "laya.d3.graphics.VertexPositionNormalColorSkinTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(84,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector4",7), new Lt(56,"vector4",6), new Lt(72,"vector3",5)]) + } + ]), + t + }() + , Rt = function() { + function t(t, e, i, n) { + this._position = null, + this._normal = null, + this._color = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._color = i, + this._tangent = n + } + a(t, "laya.d3.graphics.VertexPositionNormalColorSTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(56,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector4",5)]) + } + ]), + t + }() + , Pt = function() { + function t(t, e, i, n) { + this._position = null, + this._normal = null, + this._color = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._color = i, + this._tangent = n + } + a(t, "laya.d3.graphics.VertexPositionNormalColorTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(52,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector3",5)]) + } + ]), + t + }() + , Ot = function() { + function t(t, e, i, n) { + this._position = null, + this._normal = null, + this._color = null, + this._textureCoordinate = null, + this._position = t, + this._normal = e, + this._color = i, + this._textureCoordinate = n + } + a(t, "laya.d3.graphics.VertexPositionNormalColorTexture"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(48,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector2",2)]) + } + ]), + t + }() + , Ut = function() { + function t(t, e, i, n, a) { + this._position = null, + this._normal = null, + this._color = null, + this._textureCoordinate0 = null, + this._textureCoordinate1 = null, + this._position = t, + this._normal = e, + this._color = i, + this._textureCoordinate0 = n, + this._textureCoordinate1 = a + } + a(t, "laya.d3.graphics.VertexPositionNormalColorTexture0Texture1"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "textureCoordinate0", function() { + return this._textureCoordinate0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(0, e, "textureCoordinate1", function() { + return this._textureCoordinate1 + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(56,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector2",2), new Lt(48,"vector2",15)]) + } + ]), + t + }() + , Vt = function() { + function t(t, e, i, n, a, r, s) { + this._position = null, + this._normal = null, + this._color = null, + this._textureCoordinate0 = null, + this._textureCoordinate1 = null, + this._blendIndex = null, + this._blendWeight = null, + this._position = t, + this._normal = e, + this._color = i, + this._textureCoordinate0 = n, + this._textureCoordinate1 = a, + this._blendIndex = r, + this._blendWeight = s + } + a(t, "laya.d3.graphics.VertexPositionNormalColorTexture0Texture1Skin"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "textureCoordinate0", function() { + return this._textureCoordinate0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(0, e, "textureCoordinate1", function() { + return this._textureCoordinate1 + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(88,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector2",2), new Lt(48,"vector2",15), new Lt(56,"vector4",7), new Lt(72,"vector4",6)]) + } + ]), + t + }() + , Ft = function() { + function t(t, e, i, n, a, r, s, o) { + this._position = null, + this._normal = null, + this._color = null, + this._textureCoordinate0 = null, + this._textureCoordinate1 = null, + this._blendIndex = null, + this._blendWeight = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._color = i, + this._textureCoordinate0 = n, + this._textureCoordinate1 = a, + this._tangent = r, + this._blendIndex = s, + this._blendWeight = o + } + a(t, "laya.d3.graphics.VertexPositionNormalColorTexture0Texture1SkinSTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "textureCoordinate0", function() { + return this._textureCoordinate0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(0, e, "textureCoordinate1", function() { + return this._textureCoordinate1 + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(104,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector2",2), new Lt(48,"vector2",15), new Lt(56,"vector4",7), new Lt(72,"vector4",6), new Lt(88,"vector4",5)]) + } + ]), + t + }() + , Ht = function() { + function t() { + this._position = null, + this._normal = null, + this._color = null, + this._textureCoordinate0 = null, + this._textureCoordinate1 = null, + this._blendIndex = null, + this._blendWeight = null, + this._tangent = null + } + a(t, "laya.d3.graphics.VertexPositionNormalColorTexture0Texture1SkinTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + e.VertexPositionNormalColorTexture0SkinTangent = function(t, e, i, n, a, r, s, o) { + this._position = t, + this._normal = e, + this._color = i, + this._textureCoordinate0 = n, + this._textureCoordinate1 = a, + this._tangent = r, + this._blendIndex = s, + this._blendWeight = o + } + , + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "textureCoordinate0", function() { + return this._textureCoordinate0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(0, e, "textureCoordinate1", function() { + return this._textureCoordinate1 + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(100,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector2",2), new Lt(48,"vector2",15), new Lt(56,"vector4",7), new Lt(72,"vector4",6), new Lt(88,"vector3",5)]) + } + ]), + t + }() + , Gt = function() { + function t(t, e, i, n, a, r) { + this._position = null, + this._normal = null, + this._color = null, + this._textureCoordinate0 = null, + this._textureCoordinate1 = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._color = i, + this._textureCoordinate0 = n, + this._textureCoordinate1 = a, + this._tangent = r + } + a(t, "laya.d3.graphics.VertexPositionNormalColorTexture0Texture1STangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "textureCoordinate0", function() { + return this._textureCoordinate0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(0, e, "textureCoordinate1", function() { + return this._textureCoordinate1 + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(72,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector2",2), new Lt(48,"vector2",15), new Lt(56,"vector4",5)]) + } + ]), + t + }() + , zt = function() { + function t() { + this._position = null, + this._normal = null, + this._color = null, + this._textureCoordinate0 = null, + this._textureCoordinate1 = null, + this._tangent = null + } + a(t, "laya.d3.graphics.VertexPositionNormalColorTexture0Texture1Tangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + e.VertexPositionNormalColorTexture0Tangent = function(t, e, i, n, a, r) { + this._position = t, + this._normal = e, + this._color = i, + this._textureCoordinate0 = n, + this._textureCoordinate1 = a, + this._tangent = r + } + , + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "textureCoordinate0", function() { + return this._textureCoordinate0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(0, e, "textureCoordinate1", function() { + return this._textureCoordinate1 + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(68,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector2",2), new Lt(48,"vector2",15), new Lt(56,"vector3",5)]) + } + ]), + t + }() + , jt = function() { + function t(t, e, i, n, a, r) { + this._position = null, + this._normal = null, + this._color = null, + this._textureCoordinate = null, + this._blendIndex = null, + this._blendWeight = null, + this._position = t, + this._normal = e, + this._color = i, + this._textureCoordinate = n, + this._blendIndex = a, + this._blendWeight = r + } + a(t, "laya.d3.graphics.VertexPositionNormalColorTextureSkin"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(80,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector2",2), new Lt(48,"vector4",7), new Lt(64,"vector4",6)]) + } + ]), + t + }() + , Wt = function() { + function t(t, e, i, n, a, r, s) { + this._position = null, + this._normal = null, + this._color = null, + this._textureCoordinate = null, + this._blendIndex = null, + this._blendWeight = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._color = i, + this._textureCoordinate = n, + this._tangent = a, + this._blendIndex = r, + this._blendWeight = s + } + a(t, "laya.d3.graphics.VertexPositionNormalColorTextureSkinSTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(96,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector2",2), new Lt(48,"vector4",7), new Lt(64,"vector4",6), new Lt(80,"vector4",5)]) + } + ]), + t + }() + , Xt = function() { + function t(t, e, i, n, a, r, s) { + this._position = null, + this._normal = null, + this._color = null, + this._textureCoordinate = null, + this._blendIndex = null, + this._blendWeight = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._color = i, + this._textureCoordinate = n, + this._tangent = a, + this._blendIndex = r, + this._blendWeight = s + } + a(t, "laya.d3.graphics.VertexPositionNormalColorTextureSkinTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(92,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector2",2), new Lt(48,"vector4",7), new Lt(64,"vector4",6), new Lt(80,"vector3",5)]) + } + ]), + t + }() + , qt = function() { + function t(t, e, i, n, a) { + this._position = null, + this._normal = null, + this._color = null, + this._textureCoordinate = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._color = i, + this._textureCoordinate = n, + this._tangent = a + } + a(t, "laya.d3.graphics.VertexPositionNormalColorTextureSTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(64,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector2",2), new Lt(48,"vector4",5)]) + } + ]), + t + }() + , Yt = function() { + function t(t, e, i, n, a) { + this._position = null, + this._normal = null, + this._color = null, + this._textureCoordinate = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._color = i, + this._textureCoordinate = n, + this._tangent = a + } + a(t, "laya.d3.graphics.VertexPositionNormalColorTextureTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "color", function() { + return this._color + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(60,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",1), new Lt(40,"vector2",2), new Lt(48,"vector3",5)]) + } + ]), + t + }() + , Jt = function() { + function t(t, e, i) { + this._position = null, + this._normal = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._tangent = i + } + a(t, "laya.d3.graphics.VertexPositionNormalSTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(40,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector4",5)]) + } + ]), + t + }() + , Kt = function() { + function t(t, e, i) { + this._position = null, + this._normal = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._tangent = i + } + a(t, "laya.d3.graphics.VertexPositionNormalTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(36,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector3",5)]) + } + ]), + t + }() + , Zt = function() { + function t(t, e, i) { + this._position = null, + this._normal = null, + this._textureCoordinate = null, + this._position = t, + this._normal = e, + this._textureCoordinate = i + } + a(t, "laya.d3.graphics.VertexPositionNormalTexture"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(32,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector2",2)]) + } + ]), + t + }() + , Qt = function() { + function t(t, e, i, n) { + this._position = null, + this._normal = null, + this._textureCoordinate0 = null, + this._textureCoordinate1 = null, + this._position = t, + this._normal = e, + this._textureCoordinate0 = i, + this._textureCoordinate1 = n + } + a(t, "laya.d3.graphics.VertexPositionNormalTexture0Texture1"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "textureCoordinate0", function() { + return this._textureCoordinate0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(0, e, "textureCoordinate1", function() { + return this._textureCoordinate1 + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(40,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector2",2), new Lt(32,"vector2",15)]) + } + ]), + t + }() + , $t = function() { + function t(t, e, i, n, a, r) { + this._position = null, + this._normal = null, + this._textureCoordinate0 = null, + this._textureCoordinate1 = null, + this._blendIndex = null, + this._blendWeight = null, + this._position = t, + this._normal = e, + this._textureCoordinate0 = i, + this._textureCoordinate1 = n, + this._blendIndex = a, + this._blendWeight = r + } + a(t, "laya.d3.graphics.VertexPositionNormalTexture0Texture1Skin"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "textureCoordinate0", function() { + return this._textureCoordinate0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(0, e, "textureCoordinate1", function() { + return this._textureCoordinate1 + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(72,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector2",2), new Lt(32,"vector2",15), new Lt(40,"vector4",7), new Lt(56,"vector4",6)]) + } + ]), + t + }() + , te = function() { + function t(t, e, i, n, a, r, s) { + this._position = null, + this._normal = null, + this._textureCoordinate0 = null, + this._textureCoordinate1 = null, + this._blendIndex = null, + this._blendWeight = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._textureCoordinate0 = i, + this._textureCoordinate1 = n, + this._tangent = a, + this._blendIndex = r, + this._blendWeight = s + } + a(t, "laya.d3.graphics.VertexPositionNormalTexture0Texture1SkinSTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "textureCoordinate0", function() { + return this._textureCoordinate0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(0, e, "textureCoordinate1", function() { + return this._textureCoordinate1 + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(88,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector2",2), new Lt(32,"vector2",15), new Lt(40,"vector4",7), new Lt(56,"vector4",6), new Lt(72,"vector4",5)]) + } + ]), + t + }() + , ee = function() { + function t() { + this._position = null, + this._normal = null, + this._textureCoordinate0 = null, + this._textureCoordinate1 = null, + this._blendIndex = null, + this._blendWeight = null, + this._tangent = null + } + a(t, "laya.d3.graphics.VertexPositionNormalTexture0Texture1SkinTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + e.VertexPositionNormalTexture0SkinTangent = function(t, e, i, n, a, r, s) { + this._position = t, + this._normal = e, + this._textureCoordinate0 = i, + this._textureCoordinate1 = n, + this._tangent = a, + this._blendIndex = r, + this._blendWeight = s + } + , + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "textureCoordinate0", function() { + return this._textureCoordinate0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(0, e, "textureCoordinate1", function() { + return this._textureCoordinate1 + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(84,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector2",2), new Lt(32,"vector2",15), new Lt(40,"vector4",7), new Lt(56,"vector4",6), new Lt(72,"vector3",5)]) + } + ]), + t + }() + , ie = function() { + function t(t, e, i, n, a) { + this._position = null, + this._normal = null, + this._textureCoordinate0 = null, + this._textureCoordinate1 = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._textureCoordinate0 = i, + this._textureCoordinate1 = n, + this._tangent = a + } + a(t, "laya.d3.graphics.VertexPositionNormalTexture0Texture1STangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "textureCoordinate0", function() { + return this._textureCoordinate0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(0, e, "textureCoordinate1", function() { + return this._textureCoordinate1 + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(56,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector2",2), new Lt(32,"vector2",15), new Lt(40,"vector4",5)]) + } + ]), + t + }() + , ne = function() { + function t() { + this._position = null, + this._normal = null, + this._textureCoordinate0 = null, + this._textureCoordinate1 = null, + this._tangent = null + } + a(t, "laya.d3.graphics.VertexPositionNormalTexture0Texture1Tangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + e.VertexPositionNormalTexture0Tangent = function(t, e, i, n, a) { + this._position = t, + this._normal = e, + this._textureCoordinate0 = i, + this._textureCoordinate1 = n, + this._tangent = a + } + , + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "textureCoordinate0", function() { + return this._textureCoordinate0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(0, e, "textureCoordinate1", function() { + return this._textureCoordinate1 + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(52,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector2",2), new Lt(32,"vector2",15), new Lt(40,"vector3",5)]) + } + ]), + t + }() + , ae = function() { + function t(t, e, i, n, a) { + this._position = null, + this._normal = null, + this._textureCoordinate = null, + this._blendIndex = null, + this._blendWeight = null, + this._position = t, + this._normal = e, + this._textureCoordinate = i, + this._blendIndex = n, + this._blendWeight = a + } + a(t, "laya.d3.graphics.VertexPositionNormalTextureSkin"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(64,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector2",2), new Lt(32,"vector4",7), new Lt(48,"vector4",6)]) + } + ]), + t + }() + , re = function() { + function t(t, e, i, n, a, r) { + this._position = null, + this._normal = null, + this._textureCoordinate = null, + this._blendIndex = null, + this._blendWeight = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._textureCoordinate = i, + this._tangent = n, + this._blendIndex = a, + this._blendWeight = r + } + a(t, "laya.d3.graphics.VertexPositionNormalTextureSkinSTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(80,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector2",2), new Lt(32,"vector4",7), new Lt(48,"vector4",6), new Lt(64,"vector4",5)]) + } + ]), + t + }() + , se = function() { + function t(t, e, i, n, a, r) { + this._position = null, + this._normal = null, + this._textureCoordinate = null, + this._blendIndex = null, + this._blendWeight = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._textureCoordinate = i, + this._tangent = n, + this._blendIndex = a, + this._blendWeight = r + } + a(t, "laya.d3.graphics.VertexPositionNormalTextureSkinTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(76,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector2",2), new Lt(32,"vector4",7), new Lt(48,"vector4",6), new Lt(64,"vector3",5)]) + } + ]), + t + }() + , oe = function() { + function t(t, e, i, n) { + this._position = null, + this._normal = null, + this._textureCoordinate = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._textureCoordinate = i, + this._tangent = n + } + a(t, "laya.d3.graphics.VertexPositionNormalTextureSTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(48,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector2",2), new Lt(32,"vector4",5)]) + } + ]), + t + }() + , le = function() { + function t(t, e, i, n) { + this._position = null, + this._normal = null, + this._textureCoordinate = null, + this._tangent = null, + this._position = t, + this._normal = e, + this._textureCoordinate = i, + this._tangent = n + } + a(t, "laya.d3.graphics.VertexPositionNormalTextureTangent"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(44,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector2",2), new Lt(32,"vector3",5)]) + } + ]), + t + }() + , he = function() { + function t(t, e, i) { + this._position = null, + this._normal = null, + this._textureCoordinate = null, + this._position = t, + this._normal = e, + this._textureCoordinate = i + } + a(t, "laya.d3.graphics.VertexPositionNTBTexture"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(56,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector3",5), new Lt(36,"vector3",4), new Lt(48,"vector2",2)]) + } + ]), + t + }() + , ce = function() { + function t(t, e, i, n, a, r, s, o) { + this._position = null, + this._normal = null, + this._textureCoordinate0 = null, + this._textureCoordinate1 = null, + this._blendIndex = null, + this._blendWeight = null, + this._tangent = null, + this.binormal = null, + this._position = t, + this._normal = e, + this._textureCoordinate0 = n, + this._textureCoordinate1 = a, + this._tangent = r, + i = i, + this._blendIndex = s, + this._blendWeight = o + } + a(t, "laya.d3.graphics.VertexPositionNTBTexture0Texture1Skin"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "tangent", function() { + return this._tangent + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "textureCoordinate0", function() { + return this._textureCoordinate0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(0, e, "textureCoordinate1", function() { + return this._textureCoordinate1 + }), + r(0, e, "blendIndex", function() { + return this._blendIndex + }), + r(0, e, "blendWeight", function() { + return this._blendWeight + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(96,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector3",5), new Lt(36,"vector3",4), new Lt(48,"vector2",2), new Lt(56,"vector2",15), new Lt(64,"vector4",7), new Lt(80,"vector4",6)]) + } + ]), + t + }() + , _e = function() { + function t(t, e, i) { + this._position = null, + this._normal = null, + this._textureCoordinate = null, + this._position = t, + this._normal = e, + this._textureCoordinate = i + } + a(t, "laya.d3.graphics.VertexPositionNTBTextureSkin"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "textureCoordinate", function() { + return this._textureCoordinate + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(88,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector3",5), new Lt(36,"vector3",4), new Lt(48,"vector2",2), new Lt(56,"vector4",7), new Lt(72,"vector4",6)]) + } + ]), + t + }() + , ue = function() { + function t(t, e, i, n) { + this._position = null, + this._normal = null, + this._textureCoord0 = null, + this._textureCoord1 = null, + this._position = t, + this._normal = e, + this._textureCoord0 = i, + this._textureCoord1 = n + } + a(t, "laya.d3.graphics.VertexPositionTerrain"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "normal", function() { + return this._normal + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "textureCoord0", function() { + return this._textureCoord0 + }), + r(0, e, "textureCoord1", function() { + return this._textureCoord1 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(40,[new Lt(0,"vector3",0), new Lt(12,"vector3",3), new Lt(24,"vector2",2), new Lt(32,"vector2",15)]) + } + ]), + t + }() + , de = function() { + function t(t, e) { + this._position = null, + this._textureCoordinate0 = null, + this._position = t, + this._textureCoordinate0 = e + } + a(t, "laya.d3.graphics.VertexPositionTexture0"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "position", function() { + return this._position + }), + r(0, e, "textureCoordinate0", function() { + return this._textureCoordinate0 + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(20,[new Lt(0,"vector3",0), new Lt(12,"vector2",2)]) + } + ]), + t + }() + , fe = function() { + function t(t, e, i, n, a, r, s, o, l, h, c, _, u, d) { + this._cornerTextureCoordinate = null, + this._positionStartLifeTime = null, + this._velocity = null, + this._startColor = null, + this._startSize = null, + this._startRotation0 = null, + this._startRotation1 = null, + this._startRotation2 = null, + this._startLifeTime = NaN, + this._time = NaN, + this._startSpeed = NaN, + this._randoms0 = null, + this._randoms1 = null, + this._simulationWorldPostion = null, + this._cornerTextureCoordinate = t, + this._positionStartLifeTime = e, + this._velocity = i, + this._startColor = n, + this._startSize = a, + this._startRotation0 = r, + this._startRotation1 = s, + this._startRotation2 = o, + this._startLifeTime = l, + this._time = h, + this._startSpeed = c, + this._randoms0 = this.random0, + this._randoms1 = this.random1, + this._simulationWorldPostion = d + } + a(t, "laya.d3.graphics.VertexShurikenParticleBillboard"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "cornerTextureCoordinate", function() { + return this._cornerTextureCoordinate + }), + r(0, e, "random1", function() { + return this._randoms1 + }), + r(0, e, "startRotation2", function() { + return this._startRotation2 + }), + r(0, e, "positionStartLifeTime", function() { + return this._positionStartLifeTime + }), + r(0, e, "velocity", function() { + return this._velocity + }), + r(0, e, "random0", function() { + return this._randoms0 + }), + r(0, e, "startSize", function() { + return this._startSize + }), + r(0, e, "startColor", function() { + return this._startColor + }), + r(0, e, "startRotation0", function() { + return this._startRotation0 + }), + r(0, e, "startRotation1", function() { + return this._startRotation1 + }), + r(0, e, "startLifeTime", function() { + return this._startLifeTime + }), + r(0, e, "time", function() { + return this._time + }), + r(0, e, "startSpeed", function() { + return this._startSpeed + }), + r(0, e, "simulationWorldPostion", function() { + return this._simulationWorldPostion + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(152,[new Lt(0,"vector4",17), new Lt(16,"vector4",30), new Lt(32,"vector4",32), new Lt(48,"vector4",19), new Lt(64,"vector3",20), new Lt(76,"vector3",22), new Lt(88,"single",31), new Lt(92,"vector4",34), new Lt(108,"vector4",35), new Lt(124,"vector3",36), new Lt(136,"vector4",37)]) + } + ]), + t + }() + , pe = function() { + function t(t, e, i, n, a, r, s, o, l, h, c, _, u, d) { + this._cornerTextureCoordinate = null, + this._positionStartLifeTime = null, + this._velocity = null, + this._startColor = null, + this._startSize = null, + this._startRotation0 = null, + this._startRotation1 = null, + this._startRotation2 = null, + this._startLifeTime = NaN, + this._time = NaN, + this._startSpeed = NaN, + this._randoms0 = null, + this._randoms1 = null, + this._simulationWorldPostion = null, + this._cornerTextureCoordinate = t, + this._positionStartLifeTime = e, + this._velocity = i, + this._startColor = n, + this._startSize = a, + this._startRotation0 = r, + this._startRotation1 = s, + this._startRotation2 = o, + this._startLifeTime = l, + this._time = h, + this._startSpeed = c, + this._randoms0 = this.random0, + this._randoms1 = this.random1, + this._simulationWorldPostion = d + } + a(t, "laya.d3.graphics.VertexShurikenParticleMesh"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.graphics.IVertex": !0 + }), + r(0, e, "cornerTextureCoordinate", function() { + return this._cornerTextureCoordinate + }), + r(0, e, "velocity", function() { + return this._velocity + }), + r(0, e, "position", function() { + return this._positionStartLifeTime + }), + r(0, e, "random0", function() { + return this._randoms0 + }), + r(0, e, "startSize", function() { + return this._startSize + }), + r(0, e, "startColor", function() { + return this._startColor + }), + r(0, e, "startRotation0", function() { + return this._startRotation0 + }), + r(0, e, "startRotation1", function() { + return this._startRotation1 + }), + r(0, e, "random1", function() { + return this._randoms1 + }), + r(0, e, "startRotation2", function() { + return this._startRotation2 + }), + r(0, e, "startLifeTime", function() { + return this._startLifeTime + }), + r(0, e, "time", function() { + return this._time + }), + r(0, e, "startSpeed", function() { + return this._startSpeed + }), + r(0, e, "simulationWorldPostion", function() { + return this._simulationWorldPostion + }), + r(0, e, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + r(1, t, "vertexDeclaration", function() { + return t._vertexDeclaration + }), + n(t, ["_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(172,[new Lt(0,"vector3",0), new Lt(12,"vector4",1), new Lt(28,"vector2",2), new Lt(36,"vector4",30), new Lt(52,"vector4",32), new Lt(68,"vector4",19), new Lt(84,"vector3",20), new Lt(96,"vector3",22), new Lt(108,"single",31), new Lt(112,"vector4",34), new Lt(128,"vector4",35), new Lt(144,"vector3",36), new Lt(156,"vector4",37)]) + } + ]), + t + }() + , me = function() { + function t(t, e, i, n, a, r) { + this._version = null, + this._strings = ["BLOCK", "DATA", "STRINGS"], + this._materials = null, + this._subMeshes = null, + this._materialMap = null, + this._readData = null, + this._mesh = null, + this._BLOCK = { + count: 0 + }, + this._DATA = { + offset: 0, + size: 0 + }, + this._STRINGS = { + offset: 0, + size: 0 + }, + this._shaderAttributes = null, + this._mesh = i, + this._materials = n, + this._subMeshes = a, + this._materialMap = r, + this._version = e, + this._onLoaded(t) + } + a(t, "laya.d3.loaders.LoadModelV01"); + var e = t.prototype; + return e._onLoaded = function(t) { + this._readData = t, + this.READ_BLOCK(); + for (var e = 0; e < this._BLOCK.count; e++) { + var i = this._readData.getUint16() + , n = this._strings[i] + , a = this["READ_" + n]; + if (null == a) + throw new Error("model file err,no this function:" + i + " " + n); + if (!a.call(this)) + break + } + return this._mesh + } + , + e.onError = function() {} + , + e._readString = function() { + return this._strings[this._readData.getUint16()] + } + , + e.READ_BLOCK = function() { + this._readData.getUint16(); + return this._BLOCK.count = this._readData.getUint16(), + !0 + } + , + e.READ_DATA = function() { + return this._DATA.offset = this._readData.getUint32(), + this._DATA.size = this._readData.getUint32(), + !0 + } + , + e.READ_STRINGS = function() { + this._STRINGS.offset = this._readData.getUint16(), + this._STRINGS.size = this._readData.getUint16(); + var t = this._readData.pos; + this._readData.pos = this._STRINGS.offset + this._DATA.offset; + for (var e = 0; e < this._STRINGS.size; e++) + this._strings[e] = this._readData.readUTFString(); + return this._readData.pos = t, + !0 + } + , + e.READ_MATERIAL = function() { + var t = this._readData.getUint16() + , e = (this._readString(), + this._readString()); + return this._materials[t] = "null" !== e ? v.getRes(this._materialMap[e]) : new mi, + !0 + } + , + e.READ_MESH = function() { + this._readString(); + switch (this._version) { + case "LAYAMODEL:01": + console.log("Warning: The (.lm) file is converted by old fbxTools,please reConverted it use lastest fbxTools version,later we will remove the support of old version (.lm) support."); + break; + case "LAYASKINANI:01": + case "LAYAMODEL:02": + var t = this._readData.__getBuffer() + , e = 0 + , i = 0 + , n = this._readData.getUint32() + , a = this._readData.getUint32() + , r = (new Float32Array(t.slice(n + this._DATA.offset, n + this._DATA.offset + a)), + this._readData.getUint32()) + , s = this._readData.getUint32() + , o = new Float32Array(t.slice(r + this._DATA.offset, r + this._DATA.offset + s)); + for (this.mesh._inverseBindPoses = [], + e = 0, + i = o.length; e < i; e += 16) { + var l = new Me(o[e + 0],o[e + 1],o[e + 2],o[e + 3],o[e + 4],o[e + 5],o[e + 6],o[e + 7],o[e + 8],o[e + 9],o[e + 10],o[e + 11],o[e + 12],o[e + 13],o[e + 14],o[e + 15]); + this.mesh._inverseBindPoses.push(l) + } + break; + default: + throw new Error("LoadModel:unknown version.") + } + return !0 + } + , + e.READ_SUBMESH = function() { + this._readString(), + this._readData.getUint8(); + var e = this._readString(); + this._shaderAttributes = e.match(t._attrReg); + var i = this._readData.getUint32() + , n = this._readData.getUint32() + , a = (this._readData.getUint32(), + this._readData.getUint32(), + this._readData.getUint32()) + , r = this._readData.getUint32() + , s = this._readData.getUint32() + , o = this._readData.getUint32() + , l = this._readData.__getBuffer() + , h = new Oe(this._mesh) + , c = this._getVertexDeclaration() + , _ = Yi.create(c, r / c.vertexStride, 35044, !0) + , u = a + this._DATA.offset + , d = l.slice(u, u + r); + _.setData(new Float32Array(d)), + h._vertexBuffer = _; + for (var f = _.vertexDeclaration.getVertexElements(), p = 0; p < f.length; p++) + h._bufferUsage[f[p].elementUsage] = _; + var m = qi.create("ushort", n / 2, 35044, !0) + , g = i + this._DATA.offset + , y = l.slice(g, g + n); + m.setData(new Uint16Array(y)), + h._indexBuffer = m; + var v = l.slice(s + this._DATA.offset, s + this._DATA.offset + o); + return h._boneIndicesList[0] = new Uint8Array(v), + this._subMeshes.push(h), + !0 + } + , + e.READ_DATAAREA = function() { + return !1 + } + , + e._getVertexDeclaration = function() { + for (var t = !1, e = !1, i = !1, n = !1, a = !1, r = !1, s = !1, o = !1, l = !1, h = 0; h < this._shaderAttributes.length; h += 8) + switch (this._shaderAttributes[h]) { + case "POSITION": + t = !0; + break; + case "NORMAL": + e = !0; + break; + case "COLOR": + i = !0; + break; + case "UV": + n = !0; + break; + case "UV1": + a = !0; + break; + case "BLENDWEIGHT": + s = !0; + break; + case "BLENDINDICES": + o = !0; + break; + case "TANGENT": + r = !0; + break; + case "BINORMAL": + l = !0 + } + var c; + return t && e && i && n && a && s && o && r ? c = Ht.vertexDeclaration : t && e && i && n && a && s && o ? c = Vt.vertexDeclaration : t && e && n && a && s && o && r ? c = ee.vertexDeclaration : t && e && n && a && s && o ? c = $t.vertexDeclaration : t && e && i && n && s && o && r ? c = Xt.vertexDeclaration : t && e && i && n && s && o ? c = jt.vertexDeclaration : t && e && r && l && n && s && o ? c = _e.vertexDeclaration : t && e && n && s && o && r ? c = se.vertexDeclaration : t && e && n && s && o ? c = ae.vertexDeclaration : t && e && i && s && o && r ? c = kt.vertexDeclaration : t && e && i && s && o ? c = At.vertexDeclaration : t && e && i && n && a && r ? c = zt.vertexDeclaration : t && e && i && n && a ? c = Ut.vertexDeclaration : t && e && n && a && r ? c = ne.vertexDeclaration : t && e && n && a ? c = Qt.vertexDeclaration : t && e && i && n && r ? c = Yt.vertexDeclaration : t && e && n && r && l ? c = he.vertexDeclaration : t && e && i && n ? c = Ot.vertexDeclaration : t && e && n && r ? c = le.vertexDeclaration : t && e && n ? c = Zt.vertexDeclaration : t && e && i && r ? c = Pt.vertexDeclaration : t && e && i && (c = Nt.vertexDeclaration), + c + } + , + r(0, e, "mesh", function() { + return this._mesh + }), + t._attrReg = new RegExp("(\\w+)|([:,;])","g"), + t + }() + , ge = function() { + function t() {} + return a(t, "laya.d3.loaders.LoadModelV02"), + t.parse = function(e, i, n, a, r, s) { + t._mesh = n, + t._materials = a, + t._subMeshes = r, + t._materialMap = s, + t._version = i, + t._readData = e, + t.READ_DATA(), + t.READ_BLOCK(), + t.READ_STRINGS(); + for (var o = 0, l = t._BLOCK.count; o < l; o++) { + t._readData.pos = t._BLOCK.blockStarts[o]; + var h = t._readData.getUint16() + , c = t._strings[h] + , _ = t["READ_" + c]; + if (null == _) + throw new Error("model file err,no this function:" + h + " " + c); + _.call() + } + t._strings.length = 0, + t._readData = null, + t._version = null, + t._mesh = null, + t._materials = null, + t._subMeshes = null, + t._materialMap = null + } + , + t._readString = function() { + return t._strings[t._readData.getUint16()] + } + , + t.READ_DATA = function() { + t._DATA.offset = t._readData.getUint32(), + t._DATA.size = t._readData.getUint32() + } + , + t.READ_BLOCK = function() { + for (var e = t._BLOCK.count = t._readData.getUint16(), i = t._BLOCK.blockStarts = [], n = t._BLOCK.blockLengths = [], a = 0; a < e; a++) + i.push(t._readData.getUint32()), + n.push(t._readData.getUint32()) + } + , + t.READ_STRINGS = function() { + var e = t._readData.getUint32() + , i = t._readData.getUint16() + , n = t._readData.pos; + t._readData.pos = e + t._DATA.offset; + for (var a = 0; a < i; a++) + t._strings[a] = t._readData.readUTFString(); + t._readData.pos = n + } + , + t.READ_MATERIAL = function() { + t._readString(), + t._readString(); + var e = t._readString(); + return "" !== e && t._materials.push(v.getRes(t._materialMap[e])), + !0 + } + , + t.READ_MESH = function() { + t._readString(); + var e = t._readData.__getBuffer() + , i = 0 + , n = 0 + , a = t._readData.getInt16() + , r = t._DATA.offset; + for (i = 0; i < a; i++) { + var s = r + t._readData.getUint32() + , o = t._readData.getUint32() + , l = new Float32Array(e.slice(s, s + o)) + , h = t._readString().match(t._attrReg) + , c = t._getVertexDeclaration(h) + , _ = Yi.create(c, 4 * l.length / c.vertexStride, 35044, !0); + _.setData(l), + t._mesh._vertexBuffers.push(_) + } + var u = r + t._readData.getUint32() + , d = t._readData.getUint32() + , f = new Uint16Array(e.slice(u, u + d)) + , p = qi.create("ushort", d / 2, 35044, !0); + p.setData(f), + t._mesh._indexBuffer = p; + var m = t._mesh._boneNames = [] + , g = t._readData.getUint16(); + for (m.length = g, + i = 0; i < g; i++) + m[i] = t._strings[t._readData.getUint16()]; + var y = t._readData.getUint32() + , v = t._readData.getUint32() + , b = (new Float32Array(e.slice(r + y, r + y + v)), + t._readData.getUint32()) + , w = t._readData.getUint32() + , x = new Float32Array(e.slice(r + b, r + b + w)); + for (t._mesh._inverseBindPoses = [], + i = 0, + n = x.length; i < n; i += 16) { + var I = new Me(x[i + 0],x[i + 1],x[i + 2],x[i + 3],x[i + 4],x[i + 5],x[i + 6],x[i + 7],x[i + 8],x[i + 9],x[i + 10],x[i + 11],x[i + 12],x[i + 13],x[i + 14],x[i + 15]); + t._mesh._inverseBindPoses.push(I) + } + return t._mesh._skinnedDatas = new Float32Array(16 * x.length), + !0 + } + , + t.READ_SUBMESH = function() { + var e = t._readData.__getBuffer() + , i = new Oe(t._mesh) + , n = t._readData.getInt16() + , a = t._readData.getUint32() + , r = t._readData.getUint32(); + i._vertexBuffer = t._mesh._vertexBuffers[n], + i._vertexStart = a, + i._vertexCount = r; + var s = t._readData.getUint32() + , o = t._readData.getUint32() + , l = t._mesh._indexBuffer; + i._indexBuffer = l, + i._indexStart = s, + i._indexCount = o, + i._indices = new Uint16Array(l.getData().buffer,2 * s,o); + var h = t._DATA.offset + , c = i._subIndexBufferStart + , _ = i._subIndexBufferCount + , u = i._boneIndicesList + , d = t._readData.getUint16(); + c.length = d, + _.length = d, + u.length = d; + for (var f = 0; f < d; f++) { + c[f] = t._readData.getUint32(), + _[f] = t._readData.getUint32(); + var p = t._readData.getUint32() + , m = t._readData.getUint32(); + i._boneIndicesList[f] = new Uint8Array(e.slice(h + p, h + p + m)) + } + return t._subMeshes.push(i), + !0 + } + , + t._getVertexDeclaration = function(t) { + for (var e = !1, i = !1, n = !1, a = !1, r = !1, s = !1, o = !1, l = !1, h = !1, c = 0; c < t.length; c++) + switch (t[c]) { + case "POSITION": + e = !0; + break; + case "NORMAL": + i = !0; + break; + case "COLOR": + n = !0; + break; + case "UV": + a = !0; + break; + case "UV1": + r = !0; + break; + case "BLENDWEIGHT": + o = !0; + break; + case "BLENDINDICES": + l = !0; + break; + case "TANGENT": + s = !0; + break; + case "BINORMAL": + h = !0 + } + var _; + return e && i && n && a && r && o && l && s ? _ = Ht.vertexDeclaration : e && i && n && a && r && o && l ? _ = Vt.vertexDeclaration : e && i && a && r && o && l && s ? _ = ee.vertexDeclaration : e && i && a && r && o && l ? _ = $t.vertexDeclaration : e && i && n && a && o && l && s ? _ = Xt.vertexDeclaration : e && i && n && a && o && l ? _ = jt.vertexDeclaration : e && i && a && o && l && s ? _ = se.vertexDeclaration : e && i && a && o && l ? _ = ae.vertexDeclaration : e && i && n && o && l && s ? _ = kt.vertexDeclaration : e && i && n && o && l ? _ = At.vertexDeclaration : e && i && n && a && r && s ? _ = zt.vertexDeclaration : e && i && n && a && r ? _ = Ut.vertexDeclaration : e && i && a && r && s ? _ = ne.vertexDeclaration : e && i && a && r ? _ = Qt.vertexDeclaration : e && i && n && a && s ? _ = Yt.vertexDeclaration : e && i && a && s && h ? _ = he.vertexDeclaration : e && i && n && a ? _ = Ot.vertexDeclaration : e && i && a && s ? _ = le.vertexDeclaration : e && i && a ? _ = Zt.vertexDeclaration : e && i && n && s ? _ = Pt.vertexDeclaration : e && i && n && (_ = Nt.vertexDeclaration), + _ + } + , + t._attrReg = new RegExp("(\\w+)|([:,;])","g"), + t._strings = [], + t._readData = null, + t._version = null, + t._mesh = null, + t._materials = null, + t._subMeshes = null, + t._materialMap = null, + n(t, ["_BLOCK", function() { + return this._BLOCK = { + count: 0 + } + } + , "_DATA", function() { + return this._DATA = { + offset: 0, + size: 0 + } + } + ]), + t + }() + , ye = function() { + function t() {} + return a(t, "laya.d3.loaders.LoadModelV03"), + t.parse = function(e, i, n, a, r) { + t._mesh = n, + t._subMeshes = a, + t._materialMap = r, + t._version = i, + t._readData = e, + t.READ_DATA(), + t.READ_BLOCK(), + t.READ_STRINGS(); + for (var s = 0, o = t._BLOCK.count; s < o; s++) { + t._readData.pos = t._BLOCK.blockStarts[s]; + var l = t._readData.getUint16() + , h = t._strings[l] + , c = t["READ_" + h]; + if (null == c) + throw new Error("model file err,no this function:" + l + " " + h); + c.call() + } + t._strings.length = 0, + t._readData = null, + t._version = null, + t._mesh = null, + t._subMeshes = null, + t._materialMap = null + } + , + t._readString = function() { + return t._strings[t._readData.getUint16()] + } + , + t.READ_DATA = function() { + t._DATA.offset = t._readData.getUint32(), + t._DATA.size = t._readData.getUint32() + } + , + t.READ_BLOCK = function() { + for (var e = t._BLOCK.count = t._readData.getUint16(), i = t._BLOCK.blockStarts = [], n = t._BLOCK.blockLengths = [], a = 0; a < e; a++) + i.push(t._readData.getUint32()), + n.push(t._readData.getUint32()) + } + , + t.READ_STRINGS = function() { + var e = t._readData.getUint32() + , i = t._readData.getUint16() + , n = t._readData.pos; + t._readData.pos = e + t._DATA.offset; + for (var a = 0; a < i; a++) + t._strings[a] = t._readData.readUTFString(); + t._readData.pos = n + } + , + t.READ_MESH = function() { + t._readString(); + var e = t._readData.__getBuffer() + , i = 0 + , n = 0 + , a = t._readData.getInt16() + , r = t._DATA.offset; + for (i = 0; i < a; i++) { + var s, o = r + t._readData.getUint32(), l = t._readData.getUint32(), h = new Float32Array(e.slice(o, o + l)), c = t._readString(); + switch (t._version) { + case "LAYAMODEL:03": + s = t._vertexDeclarationMap_Discard[c]; + break; + case "LAYAMODEL:0301": + s = t._vertexDeclarationMap[c]; + break; + default: + throw new Error("LoadModelV03: unknown version.") + } + if (!s) + throw new Error("LoadModelV03: unknown vertexDeclaration."); + var _ = Yi.create(s, 4 * h.length / s.vertexStride, 35044, !0); + _.setData(h), + t._mesh._vertexBuffers.push(_) + } + var u = r + t._readData.getUint32() + , d = t._readData.getUint32() + , f = new Uint16Array(e.slice(u, u + d)) + , p = qi.create("ushort", d / 2, 35044, !0); + p.setData(f), + t._mesh._indexBuffer = p; + var m = t._mesh._boneNames = [] + , g = t._readData.getUint16(); + for (m.length = g, + i = 0; i < g; i++) + m[i] = t._strings[t._readData.getUint16()]; + t._readData.pos += 8; + var y = t._readData.getUint32() + , v = t._readData.getUint32() + , b = new Float32Array(e.slice(r + y, r + y + v)); + for (t._mesh._inverseBindPoses = [], + i = 0, + n = b.length; i < n; i += 16) { + var w = new Me(b[i + 0],b[i + 1],b[i + 2],b[i + 3],b[i + 4],b[i + 5],b[i + 6],b[i + 7],b[i + 8],b[i + 9],b[i + 10],b[i + 11],b[i + 12],b[i + 13],b[i + 14],b[i + 15]); + t._mesh._inverseBindPoses.push(w) + } + return t._mesh._skinnedDatas = new Float32Array(16 * b.length), + !0 + } + , + t.READ_SUBMESH = function() { + var e = t._readData.__getBuffer() + , i = new Oe(t._mesh) + , n = t._readData.getInt16() + , a = t._readData.getUint32() + , r = t._readData.getUint32(); + i._vertexBuffer = t._mesh._vertexBuffers[n], + i._vertexStart = a, + i._vertexCount = r; + var s = t._readData.getUint32() + , o = t._readData.getUint32() + , l = t._mesh._indexBuffer; + i._indexBuffer = l, + i._indexStart = s, + i._indexCount = o, + i._indices = new Uint16Array(l.getData().buffer,2 * s,o); + var h = t._DATA.offset + , c = i._subIndexBufferStart + , _ = i._subIndexBufferCount + , u = i._boneIndicesList + , d = t._readData.getUint16(); + c.length = d, + _.length = d, + u.length = d; + for (var f = 0; f < d; f++) { + c[f] = t._readData.getUint32(), + _[f] = t._readData.getUint32(); + var p = t._readData.getUint32() + , m = t._readData.getUint32(); + u[f] = new Uint8Array(e.slice(h + p, h + p + m)) + } + return t._subMeshes.push(i), + !0 + } + , + t._strings = [], + t._readData = null, + t._version = null, + t._mesh = null, + t._subMeshes = null, + t._materialMap = null, + n(t, ["_vertexDeclarationMap_Discard", function() { + return this._vertexDeclarationMap_Discard = { + "POSITION,NORMAL,COLOR,UV,UV1,BLENDWEIGHT,BLENDINDICES,TANGENT": Ht.vertexDeclaration, + "POSITION,NORMAL,COLOR,UV,UV1,BLENDWEIGHT,BLENDINDICES": Vt.vertexDeclaration, + "POSITION,NORMAL,TANGENT,BINORMAL,UV,UV1,BLENDWEIGHT,BLENDINDICES,": ce.vertexDeclaration, + "POSITION,NORMAL,UV,UV1,BLENDWEIGHT,BLENDINDICES,TANGENT": ee.vertexDeclaration, + "POSITION,NORMAL,UV,UV1,BLENDWEIGHT,BLENDINDICES": $t.vertexDeclaration, + "POSITION,NORMAL,COLOR,UV,BLENDWEIGHT,BLENDINDICES,TANGENT": Xt.vertexDeclaration, + "POSITION,NORMAL,COLOR,UV,BLENDWEIGHT,BLENDINDICES": jt.vertexDeclaration, + "POSITION,NORMAL,UV,BLENDWEIGHT,BLENDINDICES,TANGENT": se.vertexDeclaration, + "POSITION,NORMAL,UV,BLENDWEIGHT,BLENDINDICES": ae.vertexDeclaration, + "POSITION,NORMAL,COLOR,BLENDWEIGHT,BLENDINDICES,TANGENT": kt.vertexDeclaration, + "POSITION,NORMAL,COLOR,BLENDWEIGHT,BLENDINDICES": At.vertexDeclaration, + "POSITION,NORMAL,COLOR,UV,UV1,TANGENT": zt.vertexDeclaration, + "POSITION,NORMAL,COLOR,UV,UV1": Ut.vertexDeclaration, + "POSITION,NORMAL,UV,UV1,TANGENT": ne.vertexDeclaration, + "POSITION,NORMAL,UV,UV1": Qt.vertexDeclaration, + "POSITION,NORMAL,COLOR,UV,TANGENT": Yt.vertexDeclaration, + "POSITION,NORMAL,UV,TANGENT,BINORMAL": he.vertexDeclaration, + "POSITION,NORMAL,COLOR,UV": Ot.vertexDeclaration, + "POSITION,NORMAL,UV,TANGENT": le.vertexDeclaration, + "POSITION,NORMAL,UV": Zt.vertexDeclaration, + "POSITION,NORMAL,COLOR,TANGENT": Pt.vertexDeclaration, + "POSITION,NORMAL,COLOR": Nt.vertexDeclaration, + "POSITION,NORMAL,TANGENT": Kt.vertexDeclaration, + "POSITION,NORMAL": Dt.vertexDeclaration, + "POSITION,UV": de.vertexDeclaration, + POSITION: Et.vertexDeclaration + } + } + , "_vertexDeclarationMap", function() { + return this._vertexDeclarationMap = { + "POSITION,NORMAL,COLOR,UV,UV1,BLENDWEIGHT,BLENDINDICES,TANGENT": Ft.vertexDeclaration, + "POSITION,NORMAL,COLOR,UV,UV1,BLENDWEIGHT,BLENDINDICES": Vt.vertexDeclaration, + "POSITION,NORMAL,TANGENT,BINORMAL,UV,UV1,BLENDWEIGHT,BLENDINDICES,": ce.vertexDeclaration, + "POSITION,NORMAL,UV,UV1,BLENDWEIGHT,BLENDINDICES,TANGENT": te.vertexDeclaration, + "POSITION,NORMAL,UV,UV1,BLENDWEIGHT,BLENDINDICES": $t.vertexDeclaration, + "POSITION,NORMAL,COLOR,UV,BLENDWEIGHT,BLENDINDICES,TANGENT": Wt.vertexDeclaration, + "POSITION,NORMAL,COLOR,UV,BLENDWEIGHT,BLENDINDICES": jt.vertexDeclaration, + "POSITION,NORMAL,UV,BLENDWEIGHT,BLENDINDICES,TANGENT": re.vertexDeclaration, + "POSITION,NORMAL,UV,BLENDWEIGHT,BLENDINDICES": ae.vertexDeclaration, + "POSITION,NORMAL,COLOR,BLENDWEIGHT,BLENDINDICES,TANGENT": Bt.vertexDeclaration, + "POSITION,NORMAL,COLOR,BLENDWEIGHT,BLENDINDICES": At.vertexDeclaration, + "POSITION,NORMAL,COLOR,UV,UV1,TANGENT": Gt.vertexDeclaration, + "POSITION,NORMAL,COLOR,UV,UV1": Ut.vertexDeclaration, + "POSITION,NORMAL,UV,UV1,TANGENT": ie.vertexDeclaration, + "POSITION,NORMAL,UV,UV1": Qt.vertexDeclaration, + "POSITION,NORMAL,COLOR,UV,TANGENT": qt.vertexDeclaration, + "POSITION,NORMAL,UV,TANGENT,BINORMAL": he.vertexDeclaration, + "POSITION,NORMAL,COLOR,UV": Ot.vertexDeclaration, + "POSITION,NORMAL,UV,TANGENT": oe.vertexDeclaration, + "POSITION,NORMAL,UV": Zt.vertexDeclaration, + "POSITION,NORMAL,COLOR,TANGENT": Rt.vertexDeclaration, + "POSITION,NORMAL,COLOR": Nt.vertexDeclaration, + "POSITION,NORMAL,TANGENT": Jt.vertexDeclaration, + "POSITION,NORMAL": Dt.vertexDeclaration, + "POSITION,UV": de.vertexDeclaration, + POSITION: Et.vertexDeclaration + } + } + , "_BLOCK", function() { + return this._BLOCK = { + count: 0 + } + } + , "_DATA", function() { + return this._DATA = { + offset: 0, + size: 0 + } + } + ]), + t + }() + , ve = function() { + function t() {} + return a(t, "laya.d3.loaders.MeshReader"), + t.read = function(e, i, n, a, r) { + var s = new f(e); + s.pos = 0; + var o = s.readUTFString(); + switch (o) { + case "LAYAMODEL:01": + case "LAYASKINANI:01": + t._readVersion01(s, o, i, n, a, r); + break; + case "LAYAMODEL:02": + ge.parse(s, o, i, n, a, r); + break; + case "LAYAMODEL:03": + case "LAYAMODEL:0301": + ye.parse(s, o, i, a, r); + break; + default: + throw new Error("MeshReader: unknown mesh version.") + } + i._setSubMeshes(a) + } + , + t._readVersion01 = function(t, e, i, n, a, r) { + new me(t,e,i,n,a,r) + } + , + t + }() + , be = function() { + function t(t, e) { + this.min = null, + this.max = null, + this.min = t, + this.max = e + } + a(t, "laya.d3.math.BoundBox"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.getCorners = function(t) { + t.length = 8; + var e = this.min.elements + , i = this.max.elements + , n = e[0] + , a = e[1] + , r = e[2] + , s = i[0] + , o = i[1] + , l = i[2]; + t[0] = new Be(n,o,l), + t[1] = new Be(s,o,l), + t[2] = new Be(s,a,l), + t[3] = new Be(n,a,l), + t[4] = new Be(n,o,r), + t[5] = new Be(s,o,r), + t[6] = new Be(s,a,r), + t[7] = new Be(n,a,r) + } + , + e.toDefault = function() { + this.min.toDefault(), + this.max.toDefault() + } + , + e.cloneTo = function(t) { + var e = t; + this.min.cloneTo(e.min), + this.max.cloneTo(e.max) + } + , + e.clone = function() { + var t = new this.constructor(new Be,new Be); + return this.cloneTo(t), + t + } + , + t.createfromPoints = function(t, e) { + if (null == t) + throw new Error("points"); + var i = e.min + , n = e.max + , a = i.elements; + a[0] = Number.MAX_VALUE, + a[1] = Number.MAX_VALUE, + a[2] = Number.MAX_VALUE; + var r = n.elements; + r[0] = -Number.MAX_VALUE, + r[1] = -Number.MAX_VALUE, + r[2] = -Number.MAX_VALUE; + for (var s = 0, o = t.length; s < o; ++s) + Be.min(i, t[s], i), + Be.max(n, t[s], n) + } + , + t.merge = function(t, e, i) { + Be.min(t.min, e.min, i.min), + Be.max(t.max, e.max, i.max) + } + , + t + }() + , we = function() { + function t(e) { + this._matrix = null, + this._near = null, + this._far = null, + this._left = null, + this._right = null, + this._top = null, + this._bottom = null, + this._matrix = e, + this._near = new Te(new Be), + this._far = new Te(new Be), + this._left = new Te(new Be), + this._right = new Te(new Be), + this._top = new Te(new Be), + this._bottom = new Te(new Be), + t._getPlanesFromMatrix(this._matrix, this._near, this._far, this._left, this._right, this._top, this._bottom) + } + a(t, "laya.d3.math.BoundFrustum"); + var e = t.prototype; + return e.equalsBoundFrustum = function(t) { + return this._matrix.equalsOtherMatrix(t.matrix) + } + , + e.equalsObj = function(t) { + if (t instanceof laya.d3.math.BoundFrustum) { + var e = t; + return this.equalsBoundFrustum(e) + } + return !1 + } + , + e.getPlane = function(t) { + switch (t) { + case 0: + return this._near; + case 1: + return this._far; + case 2: + return this._left; + case 3: + return this._right; + case 4: + return this._top; + case 5: + return this._bottom; + default: + return null + } + } + , + e.getCorners = function(e) { + t._get3PlaneInterPoint(this._near, this._bottom, this._right).cloneTo(e[0]), + t._get3PlaneInterPoint(this._near, this._top, this._right).cloneTo(e[1]), + t._get3PlaneInterPoint(this._near, this._top, this._left).cloneTo(e[2]), + t._get3PlaneInterPoint(this._near, this._bottom, this._left).cloneTo(e[3]), + t._get3PlaneInterPoint(this._far, this._bottom, this._right).cloneTo(e[4]), + t._get3PlaneInterPoint(this._far, this._top, this._right).cloneTo(e[5]), + t._get3PlaneInterPoint(this._far, this._top, this._left).cloneTo(e[6]), + t._get3PlaneInterPoint(this._far, this._bottom, this._left).cloneTo(e[7]) + } + , + e.containsPoint = function(t) { + for (var e = Te.PlaneIntersectionType_Front, i = Te.PlaneIntersectionType_Front, n = 0; n < 6; n++) { + switch (n) { + case 0: + i = Ie.intersectsPlaneAndPoint(this._near, t); + break; + case 1: + i = Ie.intersectsPlaneAndPoint(this._far, t); + break; + case 2: + i = Ie.intersectsPlaneAndPoint(this._left, t); + break; + case 3: + i = Ie.intersectsPlaneAndPoint(this._right, t); + break; + case 4: + i = Ie.intersectsPlaneAndPoint(this._top, t); + break; + case 5: + i = Ie.intersectsPlaneAndPoint(this._bottom, t) + } + switch (i) { + case Te.PlaneIntersectionType_Back: + return 0; + case Te.PlaneIntersectionType_Intersecting: + e = Te.PlaneIntersectionType_Intersecting + } + } + switch (e) { + case Te.PlaneIntersectionType_Intersecting: + return 2; + default: + return 1 + } + } + , + e.containsBoundBox = function(e) { + for (var i, n = t._tempV30, a = t._tempV31, r = 1, s = 0; s < 6; s++) { + if (i = this.getPlane(s), + this._getBoxToPlanePVertexNVertex(e, i.normal, n, a), + Ie.intersectsPlaneAndPoint(i, n) === Te.PlaneIntersectionType_Back) + return 0; + Ie.intersectsPlaneAndPoint(i, a) === Te.PlaneIntersectionType_Back && (r = 2) + } + return r + } + , + e.containsBoundSphere = function(t) { + for (var e = Te.PlaneIntersectionType_Front, i = Te.PlaneIntersectionType_Front, n = 0; n < 6; n++) { + switch (n) { + case 0: + i = Ie.intersectsPlaneAndSphere(this._near, t); + break; + case 1: + i = Ie.intersectsPlaneAndSphere(this._far, t); + break; + case 2: + i = Ie.intersectsPlaneAndSphere(this._left, t); + break; + case 3: + i = Ie.intersectsPlaneAndSphere(this._right, t); + break; + case 4: + i = Ie.intersectsPlaneAndSphere(this._top, t); + break; + case 5: + i = Ie.intersectsPlaneAndSphere(this._bottom, t) + } + switch (i) { + case Te.PlaneIntersectionType_Back: + return 0; + case Te.PlaneIntersectionType_Intersecting: + e = Te.PlaneIntersectionType_Intersecting + } + } + switch (e) { + case Te.PlaneIntersectionType_Intersecting: + return 2; + default: + return 1 + } + } + , + e._getBoxToPlanePVertexNVertex = function(t, e, i, n) { + var a = t.min + , r = a.elements + , s = t.max + , o = s.elements + , l = e.elements + , h = l[0] + , c = l[1] + , _ = l[2]; + a.cloneTo(i); + var u = i.elements; + h >= 0 && (u[0] = o[0]), + c >= 0 && (u[1] = o[1]), + _ >= 0 && (u[2] = o[2]), + s.cloneTo(n); + var d = n.elements; + h >= 0 && (d[0] = r[0]), + c >= 0 && (d[1] = r[1]), + _ >= 0 && (d[2] = r[2]) + } + , + r(0, e, "top", function() { + return this._top + }), + r(0, e, "matrix", function() { + return this._matrix + }, function(e) { + this._matrix = e, + t._getPlanesFromMatrix(this._matrix, this._near, this._far, this._left, this._right, this._top, this._bottom) + }), + r(0, e, "near", function() { + return this._near + }), + r(0, e, "far", function() { + return this._far + }), + r(0, e, "left", function() { + return this._left + }), + r(0, e, "right", function() { + return this._right + }), + r(0, e, "bottom", function() { + return this._bottom + }), + t._getPlanesFromMatrix = function(t, e, i, n, a, r, s) { + var o = t.elements + , l = o[0] + , h = o[1] + , c = o[2] + , _ = o[3] + , u = o[4] + , d = o[5] + , f = o[6] + , p = o[7] + , m = o[8] + , g = o[9] + , y = o[10] + , v = o[11] + , b = o[12] + , w = o[13] + , x = o[14] + , I = o[15] + , C = e.normal.elements; + C[0] = _ + c, + C[1] = p + f, + C[2] = v + y, + e.distance = I + x, + e.normalize(); + var S = i.normal.elements; + S[0] = _ - c, + S[1] = p - f, + S[2] = v - y, + i.distance = I - x, + i.normalize(); + var M = n.normal.elements; + M[0] = _ + l, + M[1] = p + u, + M[2] = v + m, + n.distance = I + b, + n.normalize(); + var L = a.normal.elements; + L[0] = _ - l, + L[1] = p - u, + L[2] = v - m, + a.distance = I - b, + a.normalize(); + var T = r.normal.elements; + T[0] = _ - h, + T[1] = p - d, + T[2] = v - g, + r.distance = I - w, + r.normalize(); + var E = s.normal.elements; + E[0] = _ + h, + E[1] = p + d, + E[2] = v + g, + s.distance = I + w, + s.normalize() + } + , + t._get3PlaneInterPoint = function(e, i, n) { + var a = e.normal + , r = i.normal + , s = n.normal; + Be.cross(r, s, t._tempV30), + Be.cross(s, a, t._tempV31), + Be.cross(a, r, t._tempV32); + var o = Be.dot(a, t._tempV30) + , l = Be.dot(r, t._tempV31) + , h = Be.dot(s, t._tempV32); + Be.scale(t._tempV30, -e.distance / o, t._tempV33), + Be.scale(t._tempV31, -i.distance / l, t._tempV34), + Be.scale(t._tempV32, -n.distance / h, t._tempV35), + Be.add(t._tempV33, t._tempV34, t._tempV36), + Be.add(t._tempV35, t._tempV36, t._tempV37); + return t._tempV37 + } + , + n(t, ["_tempV30", function() { + return this._tempV30 = new Be + } + , "_tempV31", function() { + return this._tempV31 = new Be + } + , "_tempV32", function() { + return this._tempV32 = new Be + } + , "_tempV33", function() { + return this._tempV33 = new Be + } + , "_tempV34", function() { + return this._tempV34 = new Be + } + , "_tempV35", function() { + return this._tempV35 = new Be + } + , "_tempV36", function() { + return this._tempV36 = new Be + } + , "_tempV37", function() { + return this._tempV37 = new Be + } + ]), + t + }() + , xe = function() { + function t(t, e) { + this.center = null, + this.radius = NaN, + this.center = t, + this.radius = e + } + a(t, "laya.d3.math.BoundSphere"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.toDefault = function() { + this.center.toDefault(), + this.radius = 0 + } + , + e.intersectsRayDistance = function(t) { + return Ie.intersectsRayAndSphereRD(t, this) + } + , + e.intersectsRayPoint = function(t, e) { + return Ie.intersectsRayAndSphereRP(t, this, e) + } + , + e.cloneTo = function(t) { + var e = t; + this.center.cloneTo(e.center), + e.radius = this.radius + } + , + e.clone = function() { + var t = new this.constructor(new Be,new Be); + return this.cloneTo(t), + t + } + , + t.createFromSubPoints = function(e, i, n, a) { + if (null == e) + throw new Error("points"); + if (i < 0 || i >= e.length) + throw new Error("start" + i + "Must be in the range [0, " + (e.length - 1) + "]"); + if (n < 0 || i + n > e.length) + throw new Error("count" + n + "Must be in the range <= " + e.length + "}"); + var r = i + n + , s = t._tempVector3; + s.elements[0] = 0, + s.elements[1] = 0, + s.elements[2] = 0; + for (var o = i; o < r; ++o) + Be.add(e[o], s, s); + var l = a.center; + Be.scale(s, 1 / n, l); + var h = 0; + for (o = i; o < r; ++o) { + var c = Be.distanceSquared(l, e[o]); + c > h && (h = c) + } + a.radius = Math.sqrt(h) + } + , + t.createfromPoints = function(e, i) { + if (null == e) + throw new Error("points"); + t.createFromSubPoints(e, 0, e.length, i) + } + , + n(t, ["_tempVector3", function() { + return this._tempVector3 = new Be + } + ]), + t + }() + , Ie = function() { + function t() {} + return a(t, "laya.d3.math.Collision"), + t.distancePlaneToPoint = function(t, e) { + return Be.dot(t.normal, e) - t.distance + } + , + t.distanceBoxToPoint = function(t, e) { + var i = t.min.elements + , n = i[0] + , a = i[1] + , r = i[2] + , s = t.max.elements + , o = s[0] + , l = s[1] + , h = s[2] + , c = e.elements + , _ = c[0] + , u = c[1] + , d = c[2] + , f = 0; + return _ < n && (f += (n - _) * (n - _)), + _ > o && (f += (o - _) * (o - _)), + u < a && (f += (a - u) * (a - u)), + u > l && (f += (l - u) * (l - u)), + d < r && (f += (r - d) * (r - d)), + d > h && (f += (h - d) * (h - d)), + Math.sqrt(f) + } + , + t.distanceBoxToBox = function(t, e) { + var i = t.min.elements + , n = i[0] + , a = i[1] + , r = i[2] + , s = t.max.elements + , o = s[0] + , l = s[1] + , h = s[2] + , c = e.min.elements + , _ = c[0] + , u = c[1] + , d = c[2] + , f = e.max.elements + , p = f[0] + , m = f[1] + , g = f[2] + , y = 0 + , v = NaN; + return n > p ? y += (v = n - p) * v : _ > o && (y += (v = _ - o) * v), + a > m ? y += (v = a - m) * v : u > l && (y += (v = u - l) * v), + r > g ? y += (v = r - g) * v : d > h && (y += (v = d - h) * v), + Math.sqrt(y) + } + , + t.distanceSphereToPoint = function(t, e) { + var i = Math.sqrt(Be.distanceSquared(t.center, e)); + return i -= t.radius, + Math.max(i, 0) + } + , + t.distanceSphereToSphere = function(t, e) { + var i = Math.sqrt(Be.distanceSquared(t.center, e.center)); + return i -= t.radius + e.radius, + Math.max(i, 0) + } + , + t.intersectsRayAndTriangleRD = function(e, i, n, a, r) { + var s = e.origin.elements + , o = s[0] + , l = s[1] + , h = s[2] + , c = e.direction.elements + , _ = c[0] + , u = c[1] + , d = c[2] + , f = i.elements + , p = f[0] + , m = f[1] + , g = f[2] + , y = n.elements + , v = y[0] + , b = y[1] + , w = y[2] + , x = a.elements + , I = x[0] + , C = x[1] + , S = x[2] + , M = t._tempV30.elements + , L = M[0] + , T = M[1] + , E = M[2]; + L = v - p, + T = b - m, + E = w - g; + var D = t._tempV31.elements + , N = D[0] + , A = D[1] + , B = D[2]; + N = I - p, + A = C - m, + B = S - g; + var k = t._tempV32.elements + , R = k[0] + , P = k[1] + , O = k[2] + , U = L * (R = u * B - d * A) + T * (P = d * N - _ * B) + E * (O = _ * A - u * N); + if (Ce.isZero(U)) + return 0, + !1; + var V = 1 / U + , F = t._tempV33.elements + , H = F[0] + , G = F[1] + , z = F[2] + , j = (H = o - p) * R + (G = l - m) * P + (z = h - g) * O; + if ((j *= V) < 0 || j > 1) + return 0, + !1; + var W = t._tempV34.elements + , X = W[0] + , q = W[1] + , Y = W[2] + , J = _ * (X = G * E - z * T) + u * (q = z * L - H * E) + d * (Y = H * T - G * L); + if ((J *= V) < 0 || j + J > 1) + return 0, + !1; + var K = N * X + A * q + B * Y; + return (K *= V) < 0 ? (0, + !1) : (K, + !0) + } + , + t.intersectsRayAndTriangleRP = function(e, i, n, a, r) { + return t.intersectsRayAndTriangleRD(e, i, n, a, NaN) ? (Be.scale(e.direction, NaN, t._tempV30), + Be.add(e.origin, t._tempV30, r), + !0) : (r = Be.ZERO, + !1) + } + , + t.intersectsRayAndPoint = function(e, i) { + Be.subtract(e.origin, i, t._tempV30); + var n = Be.dot(t._tempV30, e.direction) + , a = Be.dot(t._tempV30, t._tempV30) - Ce.zeroTolerance; + if (a > 0 && n > 0) + return !1; + return !(n * n - a < 0) + } + , + t.intersectsRayAndRay = function(e, i, n) { + var a = e.origin + , r = a.elements + , s = r[0] + , o = r[1] + , l = r[2] + , h = e.direction + , c = h.elements + , _ = c[0] + , u = c[1] + , d = c[2] + , f = i.origin + , p = f.elements + , m = p[0] + , g = p[1] + , y = p[2] + , v = i.direction + , b = v.elements + , w = b[0] + , x = b[1] + , I = b[2]; + Be.cross(h, v, t._tempV30); + var C = t._tempV30.elements + , S = Be.scalarLengthSquared(t._tempV30); + if (Ce.isZero(S) && Ce.nearEqual(m, s) && Ce.nearEqual(g, o) && Ce.nearEqual(y, l)) + return Be.ZERO.cloneTo(n), + !0; + var M = m - s + , L = g - o + , T = y - l + , E = w + , D = x + , N = I + , A = C[0] + , B = C[1] + , k = C[2] + , R = (M * D * k + L * N * A + T * E * B - M * N * B - L * E * k - T * D * A) / S + , P = (M * (D = u) * k + L * (N = d) * A + T * (E = _) * B - M * N * B - L * E * k - T * D * A) / S; + Be.scale(h, R, t._tempV30), + Be.scale(v, P, t._tempV31), + Be.add(a, t._tempV30, t._tempV32), + Be.add(f, t._tempV31, t._tempV33); + var O = t._tempV32.elements + , U = t._tempV33.elements; + return Ce.nearEqual(U[0], O[0]) && Ce.nearEqual(U[1], O[1]) && Ce.nearEqual(U[2], O[2]) ? (t._tempV32.cloneTo(n), + !0) : (Be.ZERO.cloneTo(n), + !1) + } + , + t.intersectsPlaneAndTriangle = function(e, i, n, a) { + var r = t.intersectsPlaneAndPoint(e, i) + , s = t.intersectsPlaneAndPoint(e, n) + , o = t.intersectsPlaneAndPoint(e, a); + return r == Te.PlaneIntersectionType_Front && s == Te.PlaneIntersectionType_Front && o == Te.PlaneIntersectionType_Front ? Te.PlaneIntersectionType_Front : r == Te.PlaneIntersectionType_Back && s == Te.PlaneIntersectionType_Back && o == Te.PlaneIntersectionType_Back ? Te.PlaneIntersectionType_Back : Te.PlaneIntersectionType_Intersecting + } + , + t.intersectsRayAndPlaneRD = function(t, e, i) { + var n = e.normal + , a = Be.dot(n, t.direction); + if (Ce.isZero(a)) + return 0, + !1; + var r = Be.dot(n, t.origin); + return !((-e.distance - r) / a < 0) + } + , + t.intersectsRayAndPlaneRP = function(e, i, n) { + return t.intersectsRayAndPlaneRD(e, i, NaN) ? (Be.scale(e.direction, NaN, t._tempV30), + Be.add(e.origin, t._tempV30, t._tempV31), + t._tempV31, + !0) : (Be.ZERO, + !1) + } + , + t.intersectsRayAndBoxRD = function(t, e) { + var i = t.origin.elements + , n = i[0] + , a = i[1] + , r = i[2] + , s = t.direction.elements + , o = s[0] + , l = s[1] + , h = s[2] + , c = e.min.elements + , _ = c[0] + , u = c[1] + , d = c[2] + , f = e.max.elements + , p = f[0] + , m = f[1] + , g = f[2] + , y = 0 + , v = Ce.MaxValue; + if (Ce.isZero(o)) { + if (n < _ || n > p) + return -1 + } else { + var b = 1 / o + , w = (_ - n) * b + , x = (p - n) * b; + if (w > x) { + var I = w; + w = x, + x = I + } + if (y = Math.max(w, y), + v = Math.min(x, v), + y > v) + return -1 + } + if (Ce.isZero(l)) { + if (a < u || a > m) + return -1 + } else { + var C = 1 / l + , S = (u - a) * C + , M = (m - a) * C; + if (S > M) { + var L = S; + S = M, + M = L + } + if (y = Math.max(S, y), + v = Math.min(M, v), + y > v) + return -1 + } + if (Ce.isZero(h)) { + if (r < d || r > g) + return -1 + } else { + var T = 1 / h + , E = (d - r) * T + , D = (g - r) * T; + if (E > D) { + var N = E; + E = D, + D = N + } + if (y = Math.max(E, y), + v = Math.min(D, v), + y > v) + return -1 + } + return y + } + , + t.intersectsRayAndBoxRP = function(e, i, n) { + var a = t.intersectsRayAndBoxRD(e, i); + return -1 === a ? (Be.ZERO.cloneTo(n), + a) : (Be.scale(e.direction, a, t._tempV30), + Be.add(e.origin, t._tempV30, t._tempV31), + t._tempV31.cloneTo(n), + a) + } + , + t.intersectsRayAndSphereRD = function(e, i) { + var n = i.radius; + Be.subtract(e.origin, i.center, t._tempV30); + var a = Be.dot(t._tempV30, e.direction) + , r = Be.dot(t._tempV30, t._tempV30) - n * n; + if (r > 0 && a > 0) + return -1; + var s = a * a - r; + if (s < 0) + return -1; + var o = -a - Math.sqrt(s); + return o < 0 && (o = 0), + o + } + , + t.intersectsRayAndSphereRP = function(e, i, n) { + var a = t.intersectsRayAndSphereRD(e, i); + return -1 === a ? (Be.ZERO.cloneTo(n), + a) : (Be.scale(e.direction, a, t._tempV30), + Be.add(e.origin, t._tempV30, t._tempV31), + t._tempV31.cloneTo(n), + a) + } + , + t.intersectsSphereAndTriangle = function(e, i, n, a) { + var r = e.center + , s = e.radius; + t.closestPointPointTriangle(r, i, n, a, t._tempV30), + Be.subtract(t._tempV30, r, t._tempV31); + return Be.dot(t._tempV31, t._tempV31) <= s * s + } + , + t.intersectsPlaneAndPoint = function(t, e) { + var i = Be.dot(t.normal, e) + t.distance; + return i > 0 ? Te.PlaneIntersectionType_Front : i < 0 ? Te.PlaneIntersectionType_Back : Te.PlaneIntersectionType_Intersecting + } + , + t.intersectsPlaneAndPlane = function(e, i) { + Be.cross(e.normal, i.normal, t._tempV30); + var n = Be.dot(t._tempV30, t._tempV30); + return !Ce.isZero(n) + } + , + t.intersectsPlaneAndPlaneRL = function(e, i, n) { + var a = e.normal + , r = i.normal; + Be.cross(a, r, t._tempV34); + var s = Be.dot(t._tempV34, t._tempV34); + return !Ce.isZero(s) && (Be.scale(r, e.distance, t._tempV30), + Be.scale(a, i.distance, t._tempV31), + Be.subtract(t._tempV30, t._tempV31, t._tempV32), + Be.cross(t._tempV32, t._tempV34, t._tempV33), + Be.normalize(t._tempV34, t._tempV34), + new Ne(t._tempV33,t._tempV34), + !0) + } + , + t.intersectsPlaneAndBox = function(e, i) { + var n = e.distance + , a = e.normal + , r = a.elements + , s = r[0] + , o = r[1] + , l = r[2] + , h = i.min.elements + , c = h[0] + , _ = h[1] + , u = h[2] + , d = i.max.elements + , f = d[0] + , p = d[1] + , m = d[2]; + t._tempV30.elements[0] = s > 0 ? c : f, + t._tempV30.elements[1] = o > 0 ? _ : p, + t._tempV30.elements[2] = l > 0 ? u : m, + t._tempV31.elements[0] = s > 0 ? f : c, + t._tempV31.elements[1] = o > 0 ? p : _, + t._tempV31.elements[2] = l > 0 ? m : u; + var g = Be.dot(a, t._tempV30); + return g + n > 0 ? Te.PlaneIntersectionType_Front : (g = Be.dot(a, t._tempV31)) + n < 0 ? Te.PlaneIntersectionType_Back : Te.PlaneIntersectionType_Intersecting + } + , + t.intersectsPlaneAndSphere = function(t, e) { + var i = e.radius + , n = Be.dot(t.normal, e.center) + t.distance; + return n > i ? Te.PlaneIntersectionType_Front : n < -i ? Te.PlaneIntersectionType_Back : Te.PlaneIntersectionType_Intersecting + } + , + t.intersectsBoxAndBox = function(t, e) { + var i = t.min.elements + , n = t.max.elements + , a = e.min.elements + , r = e.max.elements; + return !(i[0] > r[0] || a[0] > n[0]) && (!(i[1] > r[1] || a[1] > n[1]) && !(i[2] > r[2] || a[2] > n[2])) + } + , + t.intersectsBoxAndSphere = function(e, i) { + var n = i.center + , a = i.radius; + Be.Clamp(n, e.min, e.max, t._tempV30); + return Be.distanceSquared(n, t._tempV30) <= a * a + } + , + t.intersectsSphereAndSphere = function(t, e) { + var i = t.radius + e.radius; + return Be.distanceSquared(t.center, e.center) <= i * i + } + , + t.boxContainsPoint = function(t, e) { + var i = t.min.elements + , n = t.max.elements + , a = e.elements; + return i[0] <= a[0] && n[0] >= a[0] && i[1] <= a[1] && n[1] >= a[1] && i[2] <= a[2] && n[2] >= a[2] ? 1 : 0 + } + , + t.boxContainsBox = function(t, e) { + var i = t.min.elements + , n = i[0] + , a = i[1] + , r = i[2] + , s = t.max.elements + , o = s[0] + , l = s[1] + , h = s[2] + , c = e.min.elements + , _ = c[0] + , u = c[1] + , d = c[2] + , f = e.max.elements + , p = f[0] + , m = f[1] + , g = f[2]; + return o < _ || n > p ? 0 : l < u || a > m ? 0 : h < d || r > g ? 0 : n <= _ && p <= p && a <= u && m <= l && r <= d && g <= h ? 1 : 2 + } + , + t.boxContainsSphere = function(e, i) { + var n = e.min + , a = n.elements + , r = a[0] + , s = a[1] + , o = a[2] + , l = e.max + , h = l.elements + , c = h[0] + , _ = h[1] + , u = h[2] + , d = i.center + , f = d.elements + , p = f[0] + , m = f[1] + , g = f[2] + , y = i.radius; + Be.Clamp(d, n, l, t._tempV30); + return Be.distanceSquared(d, t._tempV30) > y * y ? 0 : r + y <= p && p <= c - y && c - r > y && s + y <= m && m <= _ - y && _ - s > y && o + y <= g && g <= u - y && u - o > y ? 1 : 2 + } + , + t.sphereContainsPoint = function(t, e) { + return Be.distanceSquared(e, t.center) <= t.radius * t.radius ? 1 : 0 + } + , + t.sphereContainsTriangle = function(e, i, n, a) { + var r = t.sphereContainsPoint(e, i) + , s = t.sphereContainsPoint(e, n) + , o = t.sphereContainsPoint(e, a); + return 1 == r && 1 == s && 1 == o ? 1 : t.intersectsSphereAndTriangle(e, i, n, a) ? 2 : 0 + } + , + t.sphereContainsBox = function(e, i) { + var n = e.center.elements + , a = n[0] + , r = n[1] + , s = n[2] + , o = e.radius + , l = i.min.elements + , h = l[0] + , c = l[1] + , _ = l[2] + , u = i.max.elements + , d = u[0] + , f = u[1] + , p = u[2] + , m = t._tempV30.elements; + m[0], + m[1], + m[2]; + if (!t.intersectsBoxAndSphere(i, e)) + return 0; + var g = o * o; + return a - h, + r - f, + s - p, + Be.scalarLengthSquared(t._tempV30) > g ? 2 : (a - d, + r - f, + s - p, + Be.scalarLengthSquared(t._tempV30) > g ? 2 : (a - d, + r - c, + s - p, + Be.scalarLengthSquared(t._tempV30) > g ? 2 : (a - h, + r - c, + s - p, + Be.scalarLengthSquared(t._tempV30) > g ? 2 : (a - h, + r - f, + s - _, + Be.scalarLengthSquared(t._tempV30) > g ? 2 : (a - d, + r - f, + s - _, + Be.scalarLengthSquared(t._tempV30) > g ? 2 : (a - d, + r - c, + s - _, + Be.scalarLengthSquared(t._tempV30) > g ? 2 : (a - h, + r - c, + s - _, + Be.scalarLengthSquared(t._tempV30) > g ? 2 : 1))))))) + } + , + t.sphereContainsSphere = function(t, e) { + var i = t.radius + , n = e.radius + , a = Be.distance(t.center, e.center); + return i + n < a ? 0 : i - n < a ? 2 : 1 + } + , + t.closestPointPointTriangle = function(e, i, n, a, r) { + Be.subtract(n, i, t._tempV30), + Be.subtract(a, i, t._tempV31), + Be.subtract(e, i, t._tempV32), + Be.subtract(e, n, t._tempV33), + Be.subtract(e, a, t._tempV34); + var s = Be.dot(t._tempV30, t._tempV32) + , o = Be.dot(t._tempV31, t._tempV32) + , l = Be.dot(t._tempV30, t._tempV33) + , h = Be.dot(t._tempV31, t._tempV33) + , c = Be.dot(t._tempV30, t._tempV34) + , _ = Be.dot(t._tempV31, t._tempV34); + if (s <= 0 && o <= 0) + i.cloneTo(r); + else if (l >= 0 && h <= l) + n.cloneTo(r); + else { + var u = s * h - l * o; + if (u <= 0 && s >= 0 && l <= 0) { + var d = s / (s - l); + return Be.scale(t._tempV30, d, r), + void Be.add(i, r, r) + } + if (_ >= 0 && c <= _) + a.cloneTo(r); + else { + var f = c * o - s * _; + if (f <= 0 && o >= 0 && _ <= 0) { + var p = o / (o - _); + return Be.scale(t._tempV31, p, r), + void Be.add(i, r, r) + } + var m = l * _ - c * h; + if (m <= 0 && h - l >= 0 && c - _ >= 0) { + var g = (h - l) / (h - l + (c - _)); + return Be.subtract(a, n, r), + Be.scale(r, g, r), + void Be.add(n, r, r) + } + var y = 1 / (m + f + u) + , v = f * y + , b = u * y; + Be.scale(t._tempV30, v, t._tempV35), + Be.scale(t._tempV31, b, t._tempV36), + Be.add(t._tempV35, t._tempV36, r), + Be.add(i, r, r) + } + } + } + , + t.closestPointPlanePoint = function(e, i, n) { + var a = e.normal + , r = Be.dot(a, i) - e.distance; + Be.scale(a, r, t._tempV30), + Be.subtract(i, t._tempV30, n) + } + , + t.closestPointBoxPoint = function(e, i, n) { + Be.max(i, e.min, t._tempV30), + Be.min(t._tempV30, e.max, n) + } + , + t.closestPointSpherePoint = function(t, e, i) { + var n = t.center; + Be.subtract(e, n, i), + Be.normalize(i, i), + Be.scale(i, t.radius, i), + Be.add(i, n, i) + } + , + t.closestPointSphereSphere = function(t, e, i) { + var n = t.center; + Be.subtract(e.center, n, i), + Be.normalize(i, i), + Be.scale(i, t.radius, i), + Be.add(i, n, i) + } + , + n(t, ["_tempV30", function() { + return this._tempV30 = new Be + } + , "_tempV31", function() { + return this._tempV31 = new Be + } + , "_tempV32", function() { + return this._tempV32 = new Be + } + , "_tempV33", function() { + return this._tempV33 = new Be + } + , "_tempV34", function() { + return this._tempV34 = new Be + } + , "_tempV35", function() { + return this._tempV35 = new Be + } + , "_tempV36", function() { + return this._tempV36 = new Be + } + ]), + t + }() + , Ce = (function() { + function t() {} + a(t, "laya.d3.math.ContainmentType"), + t.Disjoint = 0, + t.Contains = 1, + t.Intersects = 2 + }(), + function() { + function t() {} + return a(t, "laya.d3.math.MathUtils3D"), + t.isZero = function(e) { + return Math.abs(e) < t.zeroTolerance + } + , + t.nearEqual = function(e, i) { + return !!t.isZero(e - i) + } + , + t.fastInvSqrt = function(e) { + return t.isZero(e) ? e : 1 / Math.sqrt(e) + } + , + n(t, ["zeroTolerance", function() { + return this.zeroTolerance = 1e-6 + } + , "MaxValue", function() { + return this.MaxValue = 3.40282347e38 + } + , "MinValue", function() { + return this.MinValue = -3.40282347e38 + } + ]), + t + }()) + , Se = function() { + function t() { + var t = this.elements = new Float32Array(9); + t[0] = 1, + t[1] = 0, + t[2] = 0, + t[3] = 0, + t[4] = 1, + t[5] = 0, + t[6] = 0, + t[7] = 0, + t[8] = 1 + } + a(t, "laya.d3.math.Matrix3x3"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.determinant = function() { + var t = this.elements + , e = t[0] + , i = t[1] + , n = t[2] + , a = t[3] + , r = t[4] + , s = t[5] + , o = t[6] + , l = t[7] + , h = t[8]; + return e * (h * r - s * l) + i * (-h * a + s * o) + n * (l * a - r * o) + } + , + e.translate = function(t, e) { + var i = e.elements + , n = this.elements + , a = t.elements + , r = n[0] + , s = n[1] + , o = n[2] + , l = n[3] + , h = n[4] + , c = n[5] + , _ = n[6] + , u = n[7] + , d = n[8] + , f = a[0] + , p = a[1]; + i[0] = r, + i[1] = s, + i[2] = o, + i[3] = l, + i[4] = h, + i[5] = c, + i[6] = f * r + p * l + _, + i[7] = f * s + p * h + u, + i[8] = f * o + p * c + d + } + , + e.rotate = function(t, e) { + var i = e.elements + , n = this.elements + , a = n[0] + , r = n[1] + , s = n[2] + , o = n[3] + , l = n[4] + , h = n[5] + , c = n[6] + , _ = n[7] + , u = n[8] + , d = Math.sin(t) + , f = Math.cos(t); + i[0] = f * a + d * o, + i[1] = f * r + d * l, + i[2] = f * s + d * h, + i[3] = f * o - d * a, + i[4] = f * l - d * r, + i[5] = f * h - d * s, + i[6] = c, + i[7] = _, + i[8] = u + } + , + e.scale = function(t, e) { + var i = e.elements + , n = this.elements + , a = t.elements + , r = a[0] + , s = a[1]; + i[0] = r * n[0], + i[1] = r * n[1], + i[2] = r * n[2], + i[3] = s * n[3], + i[4] = s * n[4], + i[5] = s * n[5], + i[6] = n[6], + i[7] = n[7], + i[8] = n[8] + } + , + e.invert = function(t) { + var e = t.elements + , i = this.elements + , n = i[0] + , a = i[1] + , r = i[2] + , s = i[3] + , o = i[4] + , l = i[5] + , h = i[6] + , c = i[7] + , _ = i[8] + , u = _ * o - l * c + , d = -_ * s + l * h + , f = c * s - o * h + , p = n * u + a * d + r * f; + p || (t = null), + p = 1 / p, + e[0] = u * p, + e[1] = (-_ * a + r * c) * p, + e[2] = (l * a - r * o) * p, + e[3] = d * p, + e[4] = (_ * n - r * h) * p, + e[5] = (-l * n + r * s) * p, + e[6] = f * p, + e[7] = (-c * n + a * h) * p, + e[8] = (o * n - a * s) * p + } + , + e.transpose = function(t) { + var e = t.elements + , i = this.elements; + if (t === this) { + var n = i[1] + , a = i[2] + , r = i[5]; + e[1] = i[3], + e[2] = i[6], + e[3] = n, + e[5] = i[7], + e[6] = a, + e[7] = r + } else + e[0] = i[0], + e[1] = i[3], + e[2] = i[6], + e[3] = i[1], + e[4] = i[4], + e[5] = i[7], + e[6] = i[2], + e[7] = i[5], + e[8] = i[8] + } + , + e.identity = function() { + var t = this.elements; + t[0] = 1, + t[1] = 0, + t[2] = 0, + t[3] = 0, + t[4] = 1, + t[5] = 0, + t[6] = 0, + t[7] = 0, + t[8] = 1 + } + , + e.cloneTo = function(t) { + var e, i, n; + if (i = this.elements, + n = t.elements, + i !== n) + for (e = 0; e < 9; ++e) + n[e] = i[e] + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + t.createFromTranslation = function(t, e) { + e.elements; + var i = t.elements; + e[0] = 1, + e[1] = 0, + e[2] = 0, + e[3] = 0, + e[4] = 1, + e[5] = 0, + e[6] = i[0], + e[7] = i[1], + e[8] = 1 + } + , + t.createFromRotation = function(t, e) { + var i = e.elements + , n = Math.sin(t) + , a = Math.cos(t); + i[0] = a, + i[1] = n, + i[2] = 0, + i[3] = -n, + i[4] = a, + i[5] = 0, + i[6] = 0, + i[7] = 0, + i[8] = 1 + } + , + t.createFromScaling = function(t, e) { + var i = e.elements + , n = t.elements; + i[0] = n[0], + i[1] = 0, + i[2] = 0, + i[3] = 0, + i[4] = n[1], + i[5] = 0, + i[6] = 0, + i[7] = 0, + i[8] = 1 + } + , + t.createFromMatrix4x4 = function(t, e) { + e[0] = t[0], + e[1] = t[1], + e[2] = t[2], + e[3] = t[4], + e[4] = t[5], + e[5] = t[6], + e[6] = t[8], + e[7] = t[9], + e[8] = t[10] + } + , + t.multiply = function(t, e, i) { + var n = i.elements + , a = t.elements + , r = e.elements + , s = a[0] + , o = a[1] + , l = a[2] + , h = a[3] + , c = a[4] + , _ = a[5] + , u = a[6] + , d = a[7] + , f = a[8] + , p = r[0] + , m = r[1] + , g = r[2] + , y = r[3] + , v = r[4] + , b = r[5] + , w = r[6] + , x = r[7] + , I = r[8]; + n[0] = p * s + m * h + g * u, + n[1] = p * o + m * c + g * d, + n[2] = p * l + m * _ + g * f, + n[3] = y * s + v * h + b * u, + n[4] = y * o + v * c + b * d, + n[5] = y * l + v * _ + b * f, + n[6] = w * s + x * h + I * u, + n[7] = w * o + x * c + I * d, + n[8] = w * l + x * _ + I * f + } + , + t.lookAt = function(e, i, n, a) { + Be.subtract(e, i, t._tempV30), + Be.normalize(t._tempV30, t._tempV30), + Be.cross(n, t._tempV30, t._tempV31), + Be.normalize(t._tempV31, t._tempV31), + Be.cross(t._tempV30, t._tempV31, t._tempV32); + var r = t._tempV30.elements + , s = t._tempV31.elements + , o = t._tempV32.elements + , l = a.elements; + l[0] = s[0], + l[3] = s[1], + l[6] = s[2], + l[1] = o[0], + l[4] = o[1], + l[7] = o[2], + l[2] = r[0], + l[5] = r[1], + l[8] = r[2] + } + , + t.DEFAULT = new t, + n(t, ["_tempV30", function() { + return this._tempV30 = new Be + } + , "_tempV31", function() { + return this._tempV31 = new Be + } + , "_tempV32", function() { + return this._tempV32 = new Be + } + ]), + t + }() + , Me = function() { + function t(t, e, i, n, a, r, s, o, l, h, c, _, u, d, f, p) { + void 0 === t && (t = 1), + void 0 === e && (e = 0), + void 0 === i && (i = 0), + void 0 === n && (n = 0), + void 0 === a && (a = 0), + void 0 === r && (r = 1), + void 0 === s && (s = 0), + void 0 === o && (o = 0), + void 0 === l && (l = 0), + void 0 === h && (h = 0), + void 0 === c && (c = 1), + void 0 === _ && (_ = 0), + void 0 === u && (u = 0), + void 0 === d && (d = 0), + void 0 === f && (f = 0), + void 0 === p && (p = 1); + var m = this.elements = new Float32Array(16); + m[0] = t, + m[1] = e, + m[2] = i, + m[3] = n, + m[4] = a, + m[5] = r, + m[6] = s, + m[7] = o, + m[8] = l, + m[9] = h, + m[10] = c, + m[11] = _, + m[12] = u, + m[13] = d, + m[14] = f, + m[15] = p + } + a(t, "laya.d3.math.Matrix4x4"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.getElementByRowColumn = function(t, e) { + if (t < 0 || t > 3) + throw new Error("row","Rows and columns for matrices run from 0 to 3, inclusive."); + if (e < 0 || e > 3) + throw new Error("column","Rows and columns for matrices run from 0 to 3, inclusive."); + return this.elements[4 * t + e] + } + , + e.setElementByRowColumn = function(t, e, i) { + if (t < 0 || t > 3) + throw new Error("row","Rows and columns for matrices run from 0 to 3, inclusive."); + if (e < 0 || e > 3) + throw new Error("column","Rows and columns for matrices run from 0 to 3, inclusive."); + this.elements[4 * t + e] = i + } + , + e.equalsOtherMatrix = function(t) { + var e = this.elements + , i = t.elements; + return Ce.nearEqual(e[0], i[0]) && Ce.nearEqual(e[1], i[1]) && Ce.nearEqual(e[2], i[2]) && Ce.nearEqual(e[3], i[3]) && Ce.nearEqual(e[4], i[4]) && Ce.nearEqual(e[5], i[5]) && Ce.nearEqual(e[6], i[6]) && Ce.nearEqual(e[7], i[7]) && Ce.nearEqual(e[8], i[8]) && Ce.nearEqual(e[9], i[9]) && Ce.nearEqual(e[10], i[10]) && Ce.nearEqual(e[11], i[11]) && Ce.nearEqual(e[12], i[12]) && Ce.nearEqual(e[13], i[13]) && Ce.nearEqual(e[14], i[14]) && Ce.nearEqual(e[15], i[15]) + } + , + e.decomposeTransRotScale = function(e, i, n) { + var a = t._tempMatrix4x4; + return this.decomposeTransRotMatScale(e, a, n) ? (Ee.createFromMatrix4x4(a, i), + !0) : (i.identity(), + !1) + } + , + e.decomposeTransRotMatScale = function(e, i, n) { + var a = this.elements + , r = e.elements + , s = i.elements + , o = n.elements; + r[0] = a[12], + r[1] = a[13], + r[2] = a[14]; + var l = a[0] + , h = a[1] + , c = a[2] + , _ = a[4] + , u = a[5] + , d = a[6] + , f = a[8] + , p = a[9] + , m = a[10] + , g = o[0] = Math.sqrt(l * l + h * h + c * c) + , y = o[1] = Math.sqrt(_ * _ + u * u + d * d) + , v = o[2] = Math.sqrt(f * f + p * p + m * m); + if (Ce.isZero(g) || Ce.isZero(y) || Ce.isZero(v)) + return s[1] = s[2] = s[3] = s[4] = s[6] = s[7] = s[8] = s[9] = s[11] = s[12] = s[13] = s[14] = 0, + s[0] = s[5] = s[10] = s[15] = 1, + !1; + var b = t._tempVector0 + , w = b.elements; + w[0] = f / v, + w[1] = p / v, + w[2] = m / v; + var x = t._tempVector1 + , I = x.elements; + I[0] = l / g, + I[1] = h / g, + I[2] = c / g; + var C = t._tempVector2; + Be.cross(b, x, C); + var S = t._tempVector1; + return Be.cross(C, b, S), + s[3] = s[7] = s[11] = s[12] = s[13] = s[14] = 0, + s[15] = 1, + s[0] = S.x, + s[1] = S.y, + s[2] = S.z, + s[4] = C.x, + s[5] = C.y, + s[6] = C.z, + s[8] = b.x, + s[9] = b.y, + s[10] = b.z, + s[0] * l + s[1] * h + s[2] * c < 0 && (o[0] = -g), + s[4] * _ + s[5] * u + s[6] * d < 0 && (o[1] = -y), + s[8] * f + s[9] * p + s[10] * m < 0 && (o[2] = -v), + !0 + } + , + e.decomposeYawPitchRoll = function(t) { + var e = t.elements + , i = Math.asin(-this.elements[9]); + e[1] = i; + Math.cos(i) > Ce.zeroTolerance ? (e[2] = Math.atan2(this.elements[1], this.elements[5]), + e[0] = Math.atan2(this.elements[8], this.elements[10])) : (e[2] = Math.atan2(-this.elements[4], this.elements[0]), + e[0] = 0) + } + , + e.normalize = function() { + var t = this.elements + , e = t[0] + , i = t[1] + , n = t[2] + , a = Math.sqrt(e * e + i * i + n * n); + if (!a) + return t[0] = 0, + t[1] = 0, + void (t[2] = 0); + 1 != a && (a = 1 / a, + t[0] = e * a, + t[1] = i * a, + t[2] = n * a) + } + , + e.transpose = function() { + var t, e; + return t = this.elements, + e = t[1], + t[1] = t[4], + t[4] = e, + e = t[2], + t[2] = t[8], + t[8] = e, + e = t[3], + t[3] = t[12], + t[12] = e, + e = t[6], + t[6] = t[9], + t[9] = e, + e = t[7], + t[7] = t[13], + t[13] = e, + e = t[11], + t[11] = t[14], + t[14] = e, + this + } + , + e.invert = function(t) { + var e = this.elements + , i = t.elements + , n = e[0] + , a = e[1] + , r = e[2] + , s = e[3] + , o = e[4] + , l = e[5] + , h = e[6] + , c = e[7] + , _ = e[8] + , u = e[9] + , d = e[10] + , f = e[11] + , p = e[12] + , m = e[13] + , g = e[14] + , y = e[15] + , v = n * l - a * o + , b = n * h - r * o + , w = n * c - s * o + , x = a * h - r * l + , I = a * c - s * l + , C = r * c - s * h + , S = _ * m - u * p + , M = _ * g - d * p + , L = _ * y - f * p + , T = u * g - d * m + , E = u * y - f * m + , D = d * y - f * g + , N = v * D - b * E + w * T + x * L - I * M + C * S; + 0 !== Math.abs(N) && (N = 1 / N, + i[0] = (l * D - h * E + c * T) * N, + i[1] = (r * E - a * D - s * T) * N, + i[2] = (m * C - g * I + y * x) * N, + i[3] = (d * I - u * C - f * x) * N, + i[4] = (h * L - o * D - c * M) * N, + i[5] = (n * D - r * L + s * M) * N, + i[6] = (g * w - p * C - y * b) * N, + i[7] = (_ * C - d * w + f * b) * N, + i[8] = (o * E - l * L + c * S) * N, + i[9] = (a * L - n * E - s * S) * N, + i[10] = (p * I - m * w + y * v) * N, + i[11] = (u * w - _ * I - f * v) * N, + i[12] = (l * M - o * T - h * S) * N, + i[13] = (n * T - a * M + r * S) * N, + i[14] = (m * b - p * x - g * v) * N, + i[15] = (_ * x - u * b + d * v) * N) + } + , + e.identity = function() { + var t = this.elements; + t[1] = t[2] = t[3] = t[4] = t[6] = t[7] = t[8] = t[9] = t[11] = t[12] = t[13] = t[14] = 0, + t[0] = t[5] = t[10] = t[15] = 1 + } + , + e.cloneTo = function(t) { + var e, i, n; + if (i = this.elements, + n = t.elements, + i !== n) + for (e = 0; e < 16; ++e) + n[e] = i[e] + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + e.getTranslationVector = function(t) { + var e = this.elements + , i = t.elements; + i[0] = e[12], + i[1] = e[13], + i[2] = e[14] + } + , + e.setTranslationVector = function(t) { + var e = this.elements + , i = t.elements; + e[12] = i[0], + e[13] = i[1], + e[14] = i[2] + } + , + e.getForward = function(t) { + var e = this.elements + , i = t.elements; + i[0] = -e[8], + i[1] = -e[9], + i[2] = -e[10] + } + , + e.setForward = function(t) { + var e = this.elements + , i = t.elements; + e[8] = -i[0], + e[9] = -i[1], + e[10] = -i[2] + } + , + t.createRotationX = function(t, e) { + var i = e.elements + , n = Math.sin(t) + , a = Math.cos(t); + i[1] = i[2] = i[3] = i[4] = i[7] = i[8] = i[11] = i[12] = i[13] = i[14] = 0, + i[0] = i[15] = 1, + i[5] = i[10] = a, + i[6] = n, + i[9] = -n + } + , + t.createRotationY = function(t, e) { + var i = e.elements + , n = Math.sin(t) + , a = Math.cos(t); + i[1] = i[3] = i[4] = i[6] = i[7] = i[9] = i[11] = i[12] = i[13] = i[14] = 0, + i[5] = i[15] = 1, + i[0] = i[10] = a, + i[2] = -n, + i[8] = n + } + , + t.createRotationZ = function(t, e) { + var i = e.elements + , n = Math.sin(t) + , a = Math.cos(t); + i[2] = i[3] = i[6] = i[7] = i[8] = i[9] = i[11] = i[12] = i[13] = i[14] = 0, + i[10] = i[15] = 1, + i[0] = i[5] = a, + i[1] = n, + i[4] = -n + } + , + t.createRotationYawPitchRoll = function(e, i, n, a) { + Ee.createFromYawPitchRoll(e, i, n, t._tempQuaternion), + t.createRotationQuaternion(t._tempQuaternion, a) + } + , + t.createRotationAxis = function(t, e, i) { + var n = t.elements + , a = n[0] + , r = n[1] + , s = n[2] + , o = Math.cos(e) + , l = Math.sin(e) + , h = a * a + , c = r * r + , _ = s * s + , u = a * r + , d = a * s + , f = r * s + , p = i.elements; + p[3] = p[7] = p[11] = p[12] = p[13] = p[14] = 0, + p[15] = 1, + p[0] = h + o * (1 - h), + p[1] = u - o * u + l * s, + p[2] = d - o * d - l * r, + p[4] = u - o * u - l * s, + p[5] = c + o * (1 - c), + p[6] = f - o * f + l * a, + p[8] = d - o * d + l * r, + p[9] = f - o * f - l * a, + p[10] = _ + o * (1 - _) + } + , + t.createRotationQuaternion = function(t, e) { + var i = t.elements + , n = e.elements + , a = i[0] + , r = i[1] + , s = i[2] + , o = i[3] + , l = a * a + , h = r * r + , c = s * s + , _ = a * r + , u = s * o + , d = s * a + , f = r * o + , p = r * s + , m = a * o; + n[3] = n[7] = n[11] = n[12] = n[13] = n[14] = 0, + n[15] = 1, + n[0] = 1 - 2 * (h + c), + n[1] = 2 * (_ + u), + n[2] = 2 * (d - f), + n[4] = 2 * (_ - u), + n[5] = 1 - 2 * (c + l), + n[6] = 2 * (p + m), + n[8] = 2 * (d + f), + n[9] = 2 * (p - m), + n[10] = 1 - 2 * (h + l) + } + , + t.createTranslate = function(t, e) { + var i = t.elements + , n = e.elements; + n[4] = n[8] = n[1] = n[9] = n[2] = n[6] = n[3] = n[7] = n[11] = 0, + n[0] = n[5] = n[10] = n[15] = 1, + n[12] = i[0], + n[13] = i[1], + n[14] = i[2] + } + , + t.createScaling = function(t, e) { + var i = t.elements + , n = e.elements; + n[0] = i[0], + n[5] = i[1], + n[10] = i[2], + n[1] = n[4] = n[8] = n[12] = n[9] = n[13] = n[2] = n[6] = n[14] = n[3] = n[7] = n[11] = 0, + n[15] = 1 + } + , + t.multiply = function(t, e, i) { + var n, a, r, s, o, l, h, c; + if (a = i.elements, + r = t.elements, + s = e.elements, + a === s) + for (s = new Float32Array(16), + n = 0; n < 16; ++n) + s[n] = a[n]; + for (n = 0; n < 4; n++) + o = r[n], + l = r[n + 4], + h = r[n + 8], + c = r[n + 12], + a[n] = o * s[0] + l * s[1] + h * s[2] + c * s[3], + a[n + 4] = o * s[4] + l * s[5] + h * s[6] + c * s[7], + a[n + 8] = o * s[8] + l * s[9] + h * s[10] + c * s[11], + a[n + 12] = o * s[12] + l * s[13] + h * s[14] + c * s[15] + } + , + t.createFromQuaternion = function(t, e) { + var i = e.elements + , n = t.elements + , a = n[0] + , r = n[1] + , s = n[2] + , o = n[3] + , l = a + a + , h = r + r + , c = s + s + , _ = a * l + , u = r * l + , d = r * h + , f = s * l + , p = s * h + , m = s * c + , g = o * l + , y = o * h + , v = o * c; + i[0] = 1 - d - m, + i[1] = u + v, + i[2] = f - y, + i[3] = 0, + i[4] = u - v, + i[5] = 1 - _ - m, + i[6] = p + g, + i[7] = 0, + i[8] = f + y, + i[9] = p - g, + i[10] = 1 - _ - d, + i[11] = 0, + i[12] = 0, + i[13] = 0, + i[14] = 0, + i[15] = 1 + } + , + t.createAffineTransformation = function(t, e, i, n) { + var a = t.elements + , r = e.elements + , s = i.elements + , o = n.elements + , l = r[0] + , h = r[1] + , c = r[2] + , _ = r[3] + , u = l + l + , d = h + h + , f = c + c + , p = l * u + , m = l * d + , g = l * f + , y = h * d + , v = h * f + , b = c * f + , w = _ * u + , x = _ * d + , I = _ * f + , C = s[0] + , S = s[1] + , M = s[2]; + o[0] = (1 - (y + b)) * C, + o[1] = (m + I) * C, + o[2] = (g - x) * C, + o[3] = 0, + o[4] = (m - I) * S, + o[5] = (1 - (p + b)) * S, + o[6] = (v + w) * S, + o[7] = 0, + o[8] = (g + x) * M, + o[9] = (v - w) * M, + o[10] = (1 - (p + y)) * M, + o[11] = 0, + o[12] = a[0], + o[13] = a[1], + o[14] = a[2], + o[15] = 1 + } + , + t.createLookAt = function(e, i, n, a) { + var r = a.elements + , s = t._tempVector0 + , o = t._tempVector1 + , l = t._tempVector2; + Be.subtract(e, i, l), + Be.normalize(l, l), + Be.cross(n, l, s), + Be.normalize(s, s), + Be.cross(l, s, o), + a.identity(), + r[0] = s.x, + r[4] = s.y, + r[8] = s.z, + r[1] = o.x, + r[5] = o.y, + r[9] = o.z, + r[2] = l.x, + r[6] = l.y, + r[10] = l.z, + r[12] = -Be.dot(s, e), + r[13] = -Be.dot(o, e), + r[14] = -Be.dot(l, e) + } + , + t.createPerspective = function(t, e, i, n, a) { + var r = a.elements + , s = 1 / Math.tan(t / 2) + , o = 1 / (i - n); + r[0] = s / e, + r[5] = s, + r[10] = (n + i) * o, + r[11] = -1, + r[14] = 2 * n * i * o, + r[1] = r[2] = r[3] = r[4] = r[6] = r[7] = r[8] = r[9] = r[12] = r[13] = r[15] = 0 + } + , + t.createOrthoOffCenterRH = function(t, e, i, n, a, r, s) { + var o = s.elements + , l = 1 / (t - e) + , h = 1 / (i - n) + , c = 1 / (a - r); + o[1] = o[2] = o[3] = o[4] = o[6] = o[7] = o[8] = o[9] = o[11] = 0, + o[15] = 1, + o[0] = -2 * l, + o[5] = -2 * h, + o[10] = 2 * c, + o[12] = (t + e) * l, + o[13] = (n + i) * h, + o[14] = (r + a) * c + } + , + t.translation = function(t, e) { + var i = t.elements + , n = e.elements; + n[0] = n[5] = n[10] = n[15] = 1, + n[12] = i[0], + n[13] = i[1], + n[14] = i[2] + } + , + n(t, ["_tempMatrix4x4", function() { + return this._tempMatrix4x4 = new t + } + , "_tempVector0", function() { + return this._tempVector0 = new Be + } + , "_tempVector1", function() { + return this._tempVector1 = new Be + } + , "_tempVector2", function() { + return this._tempVector2 = new Be + } + , "_tempQuaternion", function() { + return this._tempQuaternion = new Ee + } + , "DEFAULT", function() { + return this.DEFAULT = new t + } + , "ZERO", function() { + return this.ZERO = new t(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) + } + ]), + t + }() + , Le = function() { + function t(t, e) { + this.extents = null, + this.transformation = null, + this.extents = t, + this.transformation = e + } + a(t, "laya.d3.math.OrientedBoundBox"); + var e = t.prototype; + return e.getCorners = function(e) { + var i = t._tempV30.elements + , n = t._tempV31.elements + , a = t._tempV32.elements + , r = this.extents.elements; + i[0] = r[0], + i[1] = i[2] = 0, + n[1] = r[1], + n[0] = n[2] = 0, + a[2] = r[2], + a[0] = a[1] = 0, + Be.TransformNormal(t._tempV30, this.transformation, t._tempV30), + Be.TransformNormal(t._tempV31, this.transformation, t._tempV31), + Be.TransformNormal(t._tempV32, this.transformation, t._tempV32); + var s = t._tempV33; + this.transformation.getTranslationVector(s), + e.length = 8, + Be.add(s, t._tempV30, t._tempV34), + Be.add(t._tempV34, t._tempV31, t._tempV34), + Be.add(t._tempV34, t._tempV32, e[0]), + Be.add(s, t._tempV30, t._tempV34), + Be.add(t._tempV34, t._tempV31, t._tempV34), + Be.subtract(t._tempV34, t._tempV32, e[1]), + Be.subtract(s, t._tempV30, t._tempV34), + Be.add(t._tempV34, t._tempV31, t._tempV34), + Be.subtract(t._tempV34, t._tempV32, e[2]), + Be.subtract(s, t._tempV30, t._tempV34), + Be.add(t._tempV34, t._tempV31, t._tempV34), + Be.add(t._tempV34, t._tempV32, e[3]), + Be.add(s, t._tempV30, t._tempV34), + Be.subtract(t._tempV34, t._tempV31, t._tempV34), + Be.add(t._tempV34, t._tempV32, e[4]), + Be.add(s, t._tempV30, t._tempV34), + Be.subtract(t._tempV34, t._tempV31, t._tempV34), + Be.subtract(t._tempV34, t._tempV32, e[5]), + Be.subtract(s, t._tempV30, t._tempV34), + Be.subtract(t._tempV34, t._tempV31, t._tempV34), + Be.subtract(t._tempV34, t._tempV32, e[6]), + Be.subtract(s, t._tempV30, t._tempV34), + Be.subtract(t._tempV34, t._tempV31, t._tempV34), + Be.add(t._tempV34, t._tempV32, e[7]) + } + , + e.transform = function(t) { + Me.multiply(this.transformation, t, this.transformation) + } + , + e.scale = function(t) { + Be.multiply(this.extents, t, this.extents) + } + , + e.translate = function(e) { + this.transformation.getTranslationVector(t._tempV30), + Be.add(t._tempV30, e, t._tempV31), + this.transformation.setTranslationVector(t._tempV31) + } + , + e.Size = function(t) { + Be.scale(this.extents, 2, t) + } + , + e.getSize = function(e) { + var i = this.extents.elements; + t._tempV30.x = i[0], + t._tempV31.y = i[1], + t._tempV32.z = i[2], + Be.TransformNormal(t._tempV30, this.transformation, t._tempV30), + Be.TransformNormal(t._tempV31, this.transformation, t._tempV31), + Be.TransformNormal(t._tempV31, this.transformation, t._tempV32); + var n = e.elements; + n[0] = Be.scalarLength(t._tempV30), + n[1] = Be.scalarLength(t._tempV31), + n[2] = Be.scalarLength(t._tempV32) + } + , + e.getSizeSquared = function(e) { + var i = this.extents.elements; + t._tempV30.x = i[0], + t._tempV31.y = i[1], + t._tempV32.z = i[2], + Be.TransformNormal(t._tempV30, this.transformation, t._tempV30), + Be.TransformNormal(t._tempV31, this.transformation, t._tempV31), + Be.TransformNormal(t._tempV31, this.transformation, t._tempV32); + var n = e.elements; + n[0] = Be.scalarLengthSquared(t._tempV30), + n[1] = Be.scalarLengthSquared(t._tempV31), + n[2] = Be.scalarLengthSquared(t._tempV32) + } + , + e.getCenter = function(t) { + this.transformation.getTranslationVector(t) + } + , + e.containsPoint = function(e) { + var i = this.extents.elements + , n = i[0] + , a = i[1] + , r = i[2]; + this.transformation.invert(t._tempM0), + Be.transformCoordinate(e, t._tempM0, t._tempV30); + var s = t._tempV30.elements + , o = Math.abs(s[0]) + , l = Math.abs(s[1]) + , h = Math.abs(s[2]); + return Ce.nearEqual(o, n) && Ce.nearEqual(l, a) && Ce.nearEqual(h, r) ? 2 : o < n && l < a && h < r ? 1 : 0 + } + , + e.containsPoints = function(e) { + var i = this.extents.elements + , n = i[0] + , a = i[1] + , r = i[2]; + this.transformation.invert(t._tempM0); + for (var s = !0, o = !1, l = 0; l < e.length; l++) { + Be.transformCoordinate(e[l], t._tempM0, t._tempV30); + var h = t._tempV30.elements + , c = Math.abs(h[0]) + , _ = Math.abs(h[1]) + , u = Math.abs(h[2]); + Ce.nearEqual(c, n) && Ce.nearEqual(_, a) && Ce.nearEqual(u, r) && (o = !0), + c < n && _ < a && u < r ? o = !0 : s = !1 + } + return s ? 1 : o ? 2 : 0 + } + , + e.containsSphere = function(e, i) { + void 0 === i && (i = !1); + var n = this.extents.elements + , a = n[0] + , r = n[1] + , s = n[2] + , o = e.radius; + this.transformation.invert(t._tempM0), + Be.transformCoordinate(e.center, t._tempM0, t._tempV30); + var l = NaN; + i ? l = o : (Be.scale(Be.UnitX, o, t._tempV31), + Be.TransformNormal(t._tempV31, t._tempM0, t._tempV31), + l = Be.scalarLength(t._tempV31)), + Be.scale(this.extents, -1, t._tempV32), + Be.Clamp(t._tempV30, t._tempV32, this.extents, t._tempV33); + if (Be.distanceSquared(t._tempV30, t._tempV33) > l * l) + return 0; + var h = t._tempV30.elements + , c = h[0] + , _ = h[1] + , u = h[2] + , d = t._tempV32.elements + , f = d[0] + , p = d[1] + , m = d[2]; + return f + l <= c && c <= a - l && a - f > l && p + l <= _ && _ <= r - l && r - p > l && m + l <= u && u <= s - l && s - m > l ? 1 : 2 + } + , + e.containsOrientedBoundBox = function(e) { + var i = 0 + , n = 0; + e.getCorners(t._corners); + var a = this.containsPoints(t._corners); + if (0 != a) + return a; + var r = this.extents.elements; + e.extents.cloneTo(t._tempV35); + var s = t._tempV35.elements; + t._getRows(this.transformation, t._rows1), + t._getRows(e.transformation, t._rows2); + var o = NaN + , l = NaN + , h = NaN; + for (i = 0; i < 4; i++) + for (n = 0; n < 4; n++) + 3 == i || 3 == n ? (t._tempM0.setElementByRowColumn(i, n, 0), + t._tempM1.setElementByRowColumn(i, n, 0)) : (h = Be.dot(t._rows1[i], t._rows2[n]), + t._tempM0.setElementByRowColumn(i, n, h), + t._tempM1.setElementByRowColumn(i, n, Math.abs(h))); + e.getCenter(t._tempV34), + this.getCenter(t._tempV36), + Be.subtract(t._tempV34, t._tempV36, t._tempV30); + var c = t._tempV31.elements; + c[0] = Be.dot(t._tempV30, t._rows1[0]), + c[1] = Be.dot(t._tempV30, t._rows1[1]), + c[2] = Be.dot(t._tempV30, t._rows1[2]); + var _ = t._tempV32.elements + , u = t._tempV33.elements; + for (i = 0; i < 3; i++) + if (_[0] = t._tempM1.getElementByRowColumn(i, 0), + _[1] = t._tempM1.getElementByRowColumn(i, 1), + _[2] = t._tempM1.getElementByRowColumn(i, 2), + o = r[i], + l = Be.dot(t._tempV35, t._tempV32), + Math.abs(c[i]) > o + l) + return 0; + for (n = 0; n < 3; n++) + if (_[0] = t._tempM1.getElementByRowColumn(0, n), + _[1] = t._tempM1.getElementByRowColumn(1, n), + _[2] = t._tempM1.getElementByRowColumn(2, n), + u[0] = t._tempM0.getElementByRowColumn(0, n), + u[1] = t._tempM0.getElementByRowColumn(1, n), + u[2] = t._tempM0.getElementByRowColumn(2, n), + o = Be.dot(this.extents, t._tempV32), + l = s[n], + Math.abs(Be.dot(t._tempV31, t._tempV33)) > o + l) + return 0; + for (i = 0; i < 3; i++) + for (n = 0; n < 3; n++) { + var d = (i + 1) % 3 + , f = (i + 2) % 3 + , p = (n + 1) % 3 + , m = (n + 2) % 3; + if (o = r[d] * t._tempM1.getElementByRowColumn(f, n) + r[f] * t._tempM1.getElementByRowColumn(d, n), + l = s[p] * t._tempM1.getElementByRowColumn(i, m) + s[m] * t._tempM1.getElementByRowColumn(i, p), + Math.abs(c[f] * t._tempM0.getElementByRowColumn(d, n) - c[d] * t._tempM0.getElementByRowColumn(f, n)) > o + l) + return 0 + } + return 2 + } + , + e.containsLine = function(e, i) { + t._corners[0] = e, + t._corners[1] = i; + var n = this.containsPoints(t._corners); + if (0 != n) + return n; + var a = this.extents.elements + , r = a[0] + , s = a[1] + , o = a[2]; + this.transformation.invert(t._tempM0), + Be.transformCoordinate(e, t._tempM0, t._tempV30), + Be.transformCoordinate(i, t._tempM0, t._tempV31), + Be.add(t._tempV30, t._tempV31, t._tempV32), + Be.scale(t._tempV32, .5, t._tempV32), + Be.subtract(t._tempV30, t._tempV32, t._tempV33); + var l = t._tempV33.elements + , h = l[0] + , c = l[1] + , _ = l[2] + , u = t._tempV34.elements + , d = u[0] = Math.abs(l[0]) + , f = u[1] = Math.abs(l[1]) + , p = u[2] = Math.abs(l[2]) + , m = t._tempV32.elements + , g = m[0] + , y = m[1] + , v = m[2]; + return Math.abs(g) > r + d ? 0 : Math.abs(y) > s + f ? 0 : Math.abs(v) > o + p ? 0 : Math.abs(y * _ - v * c) > s * p + o * f ? 0 : Math.abs(g * _ - v * h) > r * p + o * d ? 0 : Math.abs(g * c - y * h) > r * f + s * d ? 0 : 2 + } + , + e.containsBoundBox = function(e) { + var i = 0 + , n = 0 + , a = e.min + , r = e.max; + e.getCorners(t._corners); + var s = this.containsPoints(t._corners); + if (0 != s) + return s; + Be.subtract(r, a, t._tempV30), + Be.scale(t._tempV30, .5, t._tempV30), + Be.add(a, t._tempV30, t._tempV30), + Be.subtract(r, t._tempV30, t._tempV31); + var o = this.extents.elements + , l = t._tempV31.elements; + t._getRows(this.transformation, t._rows1), + this.transformation.invert(t._tempM0); + var h = NaN + , c = NaN; + for (i = 0; i < 3; i++) + for (n = 0; n < 3; n++) + t._tempM1.setElementByRowColumn(i, n, Math.abs(t._tempM0.getElementByRowColumn(i, n))); + this.getCenter(t._tempV35), + Be.subtract(t._tempV30, t._tempV35, t._tempV32); + var _ = t._tempV31.elements; + _[0] = Be.dot(t._tempV32, t._rows1[0]), + _[1] = Be.dot(t._tempV32, t._rows1[1]), + _[2] = Be.dot(t._tempV32, t._rows1[2]); + var u = t._tempV33.elements + , d = t._tempV34.elements; + for (i = 0; i < 3; i++) + if (u[0] = t._tempM1.getElementByRowColumn(i, 0), + u[1] = t._tempM1.getElementByRowColumn(i, 1), + u[2] = t._tempM1.getElementByRowColumn(i, 2), + h = o[i], + c = Be.dot(t._tempV31, t._tempV33), + Math.abs(_[i]) > h + c) + return 0; + for (n = 0; n < 3; n++) + if (u[0] = t._tempM1.getElementByRowColumn(0, n), + u[1] = t._tempM1.getElementByRowColumn(1, n), + u[2] = t._tempM1.getElementByRowColumn(2, n), + d[0] = t._tempM0.getElementByRowColumn(0, n), + d[1] = t._tempM0.getElementByRowColumn(1, n), + d[2] = t._tempM0.getElementByRowColumn(2, n), + h = Be.dot(this.extents, t._tempV33), + c = l[n], + Math.abs(Be.dot(t._tempV31, t._tempV34)) > h + c) + return 0; + for (i = 0; i < 3; i++) + for (n = 0; n < 3; n++) { + var f = (i + 1) % 3 + , p = (i + 2) % 3 + , m = (n + 1) % 3 + , g = (n + 2) % 3; + if (h = o[f] * t._tempM1.getElementByRowColumn(p, n) + o[p] * t._tempM1.getElementByRowColumn(f, n), + c = l[m] * t._tempM1.getElementByRowColumn(i, g) + l[g] * t._tempM1.getElementByRowColumn(i, m), + Math.abs(_[p] * t._tempM0.getElementByRowColumn(f, n) - _[f] * t._tempM0.getElementByRowColumn(p, n)) > h + c) + return 0 + } + return 2 + } + , + e.intersectsRay = function(e, i) { + Be.scale(this.extents, -1, t._tempV30), + this.transformation.invert(t._tempM0), + Be.TransformNormal(e.direction, t._tempM0, t._ray.direction), + Be.transformCoordinate(e.origin, t._tempM0, t._ray.origin), + t._boxBound1.min = t._tempV30, + t._boxBound1.max = this.extents; + var n = Ie.intersectsRayAndBoxRP(t._ray, t._boxBound1, i); + return -1 !== n && Be.transformCoordinate(i, this.transformation, i), + n + } + , + e._getLocalCorners = function(e) { + e.length = 8; + var i = this.extents.elements; + t._tempV30.x = i[0], + t._tempV31.y = i[1], + t._tempV32.z = i[2], + Be.add(t._tempV30, t._tempV31, t._tempV33), + Be.add(t._tempV33, t._tempV32, e[0]), + Be.add(t._tempV30, t._tempV31, t._tempV33), + Be.subtract(t._tempV33, t._tempV32, e[1]), + Be.subtract(t._tempV31, t._tempV30, t._tempV33), + Be.subtract(t._tempV33, t._tempV30, e[2]), + Be.subtract(t._tempV31, t._tempV30, t._tempV33), + Be.add(t._tempV33, t._tempV32, e[3]), + Be.subtract(t._tempV30, t._tempV31, t._tempV33), + Be.add(t._tempV33, t._tempV32, e[4]), + Be.subtract(t._tempV30, t._tempV31, t._tempV33), + Be.subtract(t._tempV33, t._tempV32, e[5]), + Be.scale(e[0], -1, e[6]), + Be.subtract(t._tempV32, t._tempV30, t._tempV33), + Be.subtract(t._tempV33, t._tempV31, e[7]) + } + , + e.equals = function(t) { + return this.extents == t.extents && this.transformation == t.transformation + } + , + e.cloneTo = function(t) { + var e = t; + this.extents.cloneTo(e.extents), + this.transformation.cloneTo(e.transformation) + } + , + t.createByBoundBox = function(e, i) { + var n = e.min + , a = e.max; + Be.subtract(a, n, t._tempV30), + Be.scale(t._tempV30, .5, t._tempV30), + Be.add(n, t._tempV30, t._tempV31), + Be.subtract(a, t._tempV31, t._tempV32), + Me.translation(t._tempV31, t._tempM0); + var r = t._tempV32.clone() + , s = t._tempM0.clone(); + i.extents = r, + i.transformation = s + } + , + t.createByMinAndMaxVertex = function(e, i) { + Be.subtract(i, e, t._tempV30), + Be.scale(t._tempV30, .5, t._tempV30), + Be.add(e, t._tempV30, t._tempV31), + Be.subtract(i, t._tempV31, t._tempV32), + Me.translation(t._tempV31, t._tempM0); + return new t(t._tempV32,t._tempM0) + } + , + t._getRows = function(t, e) { + e.length = 3; + var i = t.elements + , n = e[0].elements; + n[0] = i[0], + n[1] = i[1], + n[2] = i[2]; + var a = e[1].elements; + a[0] = i[4], + a[1] = i[5], + a[2] = i[6]; + var r = e[2].elements; + r[0] = i[8], + r[1] = i[9], + r[2] = i[10] + } + , + t.getObbtoObbMatrix4x4 = function(e, i, n, a) { + var r = e.transformation + , s = i.transformation; + if (n) { + t._getRows(r, t._rows1), + t._getRows(s, t._rows2); + for (var o = 0; o < 3; o++) + for (var l = 0; l < 3; l++) + a.setElementByRowColumn(o, l, Be.dot(t._rows2[o], t._rows1[l])); + i.getCenter(t._tempV30), + e.getCenter(t._tempV31), + Be.subtract(t._tempV30, t._tempV31, t._tempV32); + var h = a.elements; + h[12] = Be.dot(t._tempV32, t._rows1[0]), + h[13] = Be.dot(t._tempV32, t._rows1[1]), + h[14] = Be.dot(t._tempV32, t._rows1[2]), + h[15] = 1 + } else + r.invert(t._tempM0), + Me.multiply(s, t._tempM0, a) + } + , + t.merge = function(e, i, n) { + var a = e.extents + , r = e.transformation; + t.getObbtoObbMatrix4x4(e, i, n, t._tempM0), + i._getLocalCorners(t._corners), + Be.transformCoordinate(t._corners[0], t._tempM0, t._corners[0]), + Be.transformCoordinate(t._corners[1], t._tempM0, t._corners[1]), + Be.transformCoordinate(t._corners[2], t._tempM0, t._corners[2]), + Be.transformCoordinate(t._corners[3], t._tempM0, t._corners[3]), + Be.transformCoordinate(t._corners[4], t._tempM0, t._corners[4]), + Be.transformCoordinate(t._corners[5], t._tempM0, t._corners[5]), + Be.transformCoordinate(t._corners[6], t._tempM0, t._corners[6]), + Be.transformCoordinate(t._corners[7], t._tempM0, t._corners[7]), + Be.scale(a, -1, t._boxBound1.min), + a.cloneTo(t._boxBound1.max), + be.createfromPoints(t._corners, t._boxBound2), + be.merge(t._boxBound2, t._boxBound1, t._boxBound3); + var s = t._boxBound3.min + , o = t._boxBound3.max; + Be.subtract(o, s, t._tempV30), + Be.scale(t._tempV30, .5, t._tempV30), + Be.add(s, t._tempV30, t._tempV32), + Be.subtract(o, t._tempV32, a), + Be.transformCoordinate(t._tempV32, r, t._tempV33) + } + , + n(t, ["_tempV30", function() { + return this._tempV30 = new Be + } + , "_tempV31", function() { + return this._tempV31 = new Be + } + , "_tempV32", function() { + return this._tempV32 = new Be + } + , "_tempV33", function() { + return this._tempV33 = new Be + } + , "_tempV34", function() { + return this._tempV34 = new Be + } + , "_tempV35", function() { + return this._tempV35 = new Be + } + , "_tempV36", function() { + return this._tempV36 = new Be + } + , "_tempM0", function() { + return this._tempM0 = new Me + } + , "_tempM1", function() { + return this._tempM1 = new Me + } + , "_corners", function() { + return this._corners = [new Be, new Be, new Be, new Be, new Be, new Be, new Be, new Be] + } + , "_rows1", function() { + return this._rows1 = [new Be, new Be, new Be] + } + , "_rows2", function() { + return this._rows2 = [new Be, new Be, new Be] + } + , "_ray", function() { + return this._ray = new Ne(new Be,new Be) + } + , "_boxBound1", function() { + return this._boxBound1 = new be(new Be,new Be) + } + , "_boxBound2", function() { + return this._boxBound2 = new be(new Be,new Be) + } + , "_boxBound3", function() { + return this._boxBound3 = new be(new Be,new Be) + } + ]), + t + }() + , Te = function() { + function t(t, e) { + this.normal = null, + this.distance = NaN, + void 0 === e && (e = 0), + this.normal = t, + this.distance = e + } + a(t, "laya.d3.math.Plane"); + return t.prototype.normalize = function() { + var t = this.normal.elements + , e = t[0] + , i = t[1] + , n = t[2] + , a = 1 / Math.sqrt(e * e + i * i + n * n); + t[0] = e * a, + t[1] = i * a, + t[2] = n * a, + this.distance *= a + } + , + t.createPlaneBy3P = function(e, i, n) { + var a = e.elements + , r = i.elements + , s = n.elements + , o = r[0] - a[0] + , l = r[1] - a[1] + , h = r[2] - a[2] + , c = s[0] - a[0] + , _ = s[1] - a[1] + , u = s[2] - a[2] + , d = l * u - h * _ + , f = h * c - o * u + , p = o * _ - l * c + , m = 1 / Math.sqrt(d * d + f * f + p * p) + , g = d * m + , y = f * m + , v = p * m + , b = t._TEMPVec3.elements; + b[0] = g, + b[1] = y, + b[2] = v; + var w = -(g * a[0] + y * a[1] + v * a[2]); + return new t(t._TEMPVec3,w) + } + , + t.PlaneIntersectionType_Back = 0, + t.PlaneIntersectionType_Front = 1, + t.PlaneIntersectionType_Intersecting = 2, + n(t, ["_TEMPVec3", function() { + return this._TEMPVec3 = new Be + } + ]), + t + }() + , Ee = function() { + function t(t, e, i, n) { + this.elements = new Float32Array(4), + void 0 === t && (t = 0), + void 0 === e && (e = 0), + void 0 === i && (i = 0), + void 0 === n && (n = 1), + this.elements[0] = t, + this.elements[1] = e, + this.elements[2] = i, + this.elements[3] = n + } + a(t, "laya.d3.math.Quaternion"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.scaling = function(t, e) { + var i = e.elements + , n = this.elements; + i[0] = n[0] * t, + i[1] = n[1] * t, + i[2] = n[2] * t, + i[3] = n[3] * t + } + , + e.normalize = function(t) { + var e = t.elements + , i = this.elements + , n = i[0] + , a = i[1] + , r = i[2] + , s = i[3] + , o = n * n + a * a + r * r + s * s; + o > 0 && (o = 1 / Math.sqrt(o), + e[0] = n * o, + e[1] = a * o, + e[2] = r * o, + e[3] = s * o) + } + , + e.length = function() { + var t = this.elements + , e = t[0] + , i = t[1] + , n = t[2] + , a = t[3]; + return Math.sqrt(e * e + i * i + n * n + a * a) + } + , + e.rotateX = function(t, e) { + var i = e.elements + , n = this.elements; + t *= .5; + var a = n[0] + , r = n[1] + , s = n[2] + , o = n[3] + , l = Math.sin(t) + , h = Math.cos(t); + i[0] = a * h + o * l, + i[1] = r * h + s * l, + i[2] = s * h - r * l, + i[3] = o * h - a * l + } + , + e.rotateY = function(t, e) { + var i = e.elements + , n = this.elements; + t *= .5; + var a = n[0] + , r = n[1] + , s = n[2] + , o = n[3] + , l = Math.sin(t) + , h = Math.cos(t); + i[0] = a * h - s * l, + i[1] = r * h + o * l, + i[2] = s * h + a * l, + i[3] = o * h - r * l + } + , + e.rotateZ = function(t, e) { + var i = e.elements + , n = this.elements; + t *= .5; + var a = n[0] + , r = n[1] + , s = n[2] + , o = n[3] + , l = Math.sin(t) + , h = Math.cos(t); + i[0] = a * h + r * l, + i[1] = r * h - a * l, + i[2] = s * h + o * l, + i[3] = o * h - s * l + } + , + e.getYawPitchRoll = function(e) { + Be.transformQuat(Be.ForwardRH, this, t.TEMPVector31), + Be.transformQuat(Be.Up, this, t.TEMPVector32); + var i = t.TEMPVector32.elements; + t.angleTo(Be.ZERO, t.TEMPVector31, t.TEMPVector33); + var n = t.TEMPVector33.elements; + n[0] == Math.PI / 2 ? (n[1] = t.arcTanAngle(i[2], i[0]), + n[2] = 0) : n[0] == -Math.PI / 2 ? (n[1] = t.arcTanAngle(-i[2], -i[0]), + n[2] = 0) : (Me.createRotationY(-n[1], t.TEMPMatrix0), + Me.createRotationX(-n[0], t.TEMPMatrix1), + Be.transformCoordinate(t.TEMPVector32, t.TEMPMatrix0, t.TEMPVector32), + Be.transformCoordinate(t.TEMPVector32, t.TEMPMatrix1, t.TEMPVector32), + n[2] = t.arcTanAngle(i[1], -i[0])), + n[1] <= -Math.PI && (n[1] = Math.PI), + n[2] <= -Math.PI && (n[2] = Math.PI), + n[1] >= Math.PI && n[2] >= Math.PI && (n[1] = 0, + n[2] = 0, + n[0] = Math.PI - n[0]); + var a = e.elements; + a[0] = n[1], + a[1] = n[0], + a[2] = n[2] + } + , + e.invert = function(t) { + var e = t.elements + , i = this.elements + , n = i[0] + , a = i[1] + , r = i[2] + , s = i[3] + , o = n * n + a * a + r * r + s * s + , l = o ? 1 / o : 0; + e[0] = -n * l, + e[1] = -a * l, + e[2] = -r * l, + e[3] = s * l + } + , + e.identity = function() { + var t = this.elements; + t[0] = 0, + t[1] = 0, + t[2] = 0, + t[3] = 1 + } + , + e.fromArray = function(t, e) { + void 0 === e && (e = 0), + this.elements[0] = t[e + 0], + this.elements[1] = t[e + 1], + this.elements[2] = t[e + 2], + this.elements[3] = t[e + 3] + } + , + e.cloneTo = function(t) { + var e, i, n; + if (i = this.elements, + n = t.elements, + i !== n) + for (e = 0; e < 4; ++e) + n[e] = i[e] + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + e.equals = function(t) { + var e = this.elements + , i = t.elements; + return Ce.nearEqual(e[0], i[0]) && Ce.nearEqual(e[1], i[1]) && Ce.nearEqual(e[2], i[2]) && Ce.nearEqual(e[3], i[3]) + } + , + e.lengthSquared = function() { + var t = this.elements[0] + , e = this.elements[1] + , i = this.elements[2] + , n = this.elements[3]; + return t * t + e * e + i * i + n * n + } + , + r(0, e, "x", function() { + return this.elements[0] + }), + r(0, e, "y", function() { + return this.elements[1] + }), + r(0, e, "z", function() { + return this.elements[2] + }), + r(0, e, "w", function() { + return this.elements[3] + }), + t.createFromYawPitchRoll = function(t, e, i, n) { + var a = .5 * i + , r = .5 * e + , s = .5 * t + , o = Math.sin(a) + , l = Math.cos(a) + , h = Math.sin(r) + , c = Math.cos(r) + , _ = Math.sin(s) + , u = Math.cos(s) + , d = n.elements; + d[0] = u * h * l + _ * c * o, + d[1] = _ * c * l - u * h * o, + d[2] = u * c * o - _ * h * l, + d[3] = u * c * l + _ * h * o + } + , + t.multiply = function(t, e, i) { + var n = t.elements + , a = e.elements + , r = i.elements + , s = n[0] + , o = n[1] + , l = n[2] + , h = n[3] + , c = a[0] + , _ = a[1] + , u = a[2] + , d = a[3] + , f = o * u - l * _ + , p = l * c - s * u + , m = s * _ - o * c + , g = s * c + o * _ + l * u; + r[0] = s * d + c * h + f, + r[1] = o * d + _ * h + p, + r[2] = l * d + u * h + m, + r[3] = h * d - g + } + , + t.arcTanAngle = function(t, e) { + return 0 == t ? 1 == e ? Math.PI / 2 : -Math.PI / 2 : t > 0 ? Math.atan(e / t) : t < 0 ? e > 0 ? Math.atan(e / t) + Math.PI : Math.atan(e / t) - Math.PI : 0 + } + , + t.angleTo = function(e, i, n) { + Be.subtract(i, e, t.TEMPVector30), + Be.normalize(t.TEMPVector30, t.TEMPVector30), + n.elements[0] = Math.asin(t.TEMPVector30.y), + n.elements[1] = t.arcTanAngle(-t.TEMPVector30.z, -t.TEMPVector30.x) + } + , + t.createFromAxisAngle = function(t, e, i) { + var n = i.elements + , a = t.elements; + e *= .5; + var r = Math.sin(e); + n[0] = r * a[0], + n[1] = r * a[1], + n[2] = r * a[2], + n[3] = Math.cos(e) + } + , + t.createFromMatrix3x3 = function(t, e) { + var i, n = e.elements, a = t.elements, r = a[0] + a[4] + a[8]; + if (r > 0) + i = Math.sqrt(r + 1), + n[3] = .5 * i, + i = .5 / i, + n[0] = (a[5] - a[7]) * i, + n[1] = (a[6] - a[2]) * i, + n[2] = (a[1] - a[3]) * i; + else { + var s = 0; + a[4] > a[0] && (s = 1), + a[8] > a[3 * s + s] && (s = 2); + var o = (s + 1) % 3 + , l = (s + 2) % 3; + i = Math.sqrt(a[3 * s + s] - a[3 * o + o] - a[3 * l + l] + 1), + n[s] = .5 * i, + i = .5 / i, + n[3] = (a[3 * o + l] - a[3 * l + o]) * i, + n[o] = (a[3 * o + s] + a[3 * s + o]) * i, + n[l] = (a[3 * l + s] + a[3 * s + l]) * i + } + } + , + t.createFromMatrix4x4 = function(t, e) { + var i, n, a = t.elements, r = e.elements, s = a[0] + a[5] + a[10]; + s > 0 ? (i = Math.sqrt(s + 1), + r[3] = .5 * i, + i = .5 / i, + r[0] = (a[6] - a[9]) * i, + r[1] = (a[8] - a[2]) * i, + r[2] = (a[1] - a[4]) * i) : a[0] >= a[5] && a[0] >= a[10] ? (n = .5 / (i = Math.sqrt(1 + a[0] - a[5] - a[10])), + r[0] = .5 * i, + r[1] = (a[1] + a[4]) * n, + r[2] = (a[2] + a[8]) * n, + r[3] = (a[6] - a[9]) * n) : a[5] > a[10] ? (n = .5 / (i = Math.sqrt(1 + a[5] - a[0] - a[10])), + r[0] = (a[4] + a[1]) * n, + r[1] = .5 * i, + r[2] = (a[9] + a[6]) * n, + r[3] = (a[8] - a[2]) * n) : (n = .5 / (i = Math.sqrt(1 + a[10] - a[0] - a[5])), + r[0] = (a[8] + a[2]) * n, + r[1] = (a[9] + a[6]) * n, + r[2] = .5 * i, + r[3] = (a[1] - a[4]) * n) + } + , + t.slerp = function(t, e, i, n) { + var a, r, s, o, l, h = t.elements, c = e.elements, _ = n.elements, u = h[0], d = h[1], f = h[2], p = h[3], m = c[0], g = c[1], y = c[2], v = c[3]; + return (r = u * m + d * g + f * y + p * v) < 0 && (r = -r, + m = -m, + g = -g, + y = -y, + v = -v), + 1 - r > 1e-6 ? (a = Math.acos(r), + s = Math.sin(a), + o = Math.sin((1 - i) * a) / s, + l = Math.sin(i * a) / s) : (o = 1 - i, + l = i), + _[0] = o * u + l * m, + _[1] = o * d + l * g, + _[2] = o * f + l * y, + _[3] = o * p + l * v, + _ + } + , + t.lerp = function(t, e, i, n) { + var a = n.elements + , r = t.elements + , s = e.elements + , o = r[0] + , l = r[1] + , h = r[2] + , c = r[3]; + a[0] = o + i * (s[0] - o), + a[1] = l + i * (s[1] - l), + a[2] = h + i * (s[2] - h), + a[3] = c + i * (s[3] - c) + } + , + t.add = function(t, e, i) { + var n = i.elements + , a = t.elements + , r = e.elements; + n[0] = a[0] + r[0], + n[1] = a[1] + r[1], + n[2] = a[2] + r[2], + n[3] = a[3] + r[3] + } + , + t.dot = function(t, e) { + var i = t.elements + , n = e.elements; + return i[0] * n[0] + i[1] * n[1] + i[2] * n[2] + i[3] * n[3] + } + , + t.rotationLookAt = function(e, i, n) { + t.lookAt(Be.ZERO, e, i, n) + } + , + t.lookAt = function(e, i, n, a) { + Se.lookAt(e, i, n, t._tempMatrix3x3), + t.rotationMatrix(t._tempMatrix3x3, a) + } + , + t.invert = function(t, e) { + var i = t.elements + , n = e.elements + , a = t.lengthSquared(); + Ce.isZero(a) || (a = 1 / a, + n[0] = -i[0] * a, + n[1] = -i[1] * a, + n[2] = -i[2] * a, + n[3] = i[3] * a) + } + , + t.rotationMatrix = function(t, e) { + var i = t.elements + , n = i[0] + , a = i[1] + , r = i[2] + , s = i[3] + , o = i[4] + , l = i[5] + , h = i[6] + , c = i[7] + , _ = i[8] + , u = e.elements + , d = NaN + , f = NaN + , p = n + o + _; + p > 0 ? (d = Math.sqrt(p + 1), + u[3] = .5 * d, + d = .5 / d, + u[0] = (l - c) * d, + u[1] = (h - r) * d, + u[2] = (a - s) * d) : n >= o && n >= _ ? (f = .5 / (d = Math.sqrt(1 + n - o - _)), + u[0] = .5 * d, + u[1] = (a + s) * f, + u[2] = (r + h) * f, + u[3] = (l - c) * f) : o > _ ? (f = .5 / (d = Math.sqrt(1 + o - n - _)), + u[0] = (s + a) * f, + u[1] = .5 * d, + u[2] = (c + l) * f, + u[3] = (h - r) * f) : (f = .5 / (d = Math.sqrt(1 + _ - n - o)), + u[0] = (h + r) * f, + u[1] = (c + l) * f, + u[2] = .5 * d, + u[3] = (a - s) * f) + } + , + t.DEFAULT = new t, + n(t, ["TEMPVector30", function() { + return this.TEMPVector30 = new Be + } + , "TEMPVector31", function() { + return this.TEMPVector31 = new Be + } + , "TEMPVector32", function() { + return this.TEMPVector32 = new Be + } + , "TEMPVector33", function() { + return this.TEMPVector33 = new Be + } + , "TEMPMatrix0", function() { + return this.TEMPMatrix0 = new Me + } + , "TEMPMatrix1", function() { + return this.TEMPMatrix1 = new Me + } + , "_tempMatrix3x3", function() { + return this._tempMatrix3x3 = new Se + } + , "NAN", function() { + return this.NAN = new t(NaN,NaN,NaN,NaN) + } + ]), + t + }() + , De = function() { + function t(t) { + this._temp = new Uint32Array(1), + this.seeds = new Uint32Array(4), + this.seeds[0] = t, + this.seeds[1] = 1812433253 * this.seeds[0] + 1, + this.seeds[2] = 1812433253 * this.seeds[1] + 1, + this.seeds[3] = 1812433253 * this.seeds[2] + 1 + } + a(t, "laya.d3.math.Rand"); + var e = t.prototype; + return e.getUint = function() { + return this._temp[0] = this.seeds[0] ^ this.seeds[0] << 11, + this.seeds[0] = this.seeds[1], + this.seeds[1] = this.seeds[2], + this.seeds[2] = this.seeds[3], + this.seeds[3] = this.seeds[3] ^ this.seeds[3] >>> 19 ^ this._temp[0] ^ this._temp[0] >>> 8, + this.seeds[3] + } + , + e.getFloat = function() { + return this.getUint(), + (8388607 & this.seeds[3]) * (1 / 8388607) + } + , + e.getSignedFloat = function() { + return 2 * this.getFloat() - 1 + } + , + r(0, e, "seed", function() { + return this.seeds[0] + }, function(t) { + this.seeds[0] = t, + this.seeds[1] = 1812433253 * this.seeds[0] + 1, + this.seeds[2] = 1812433253 * this.seeds[1] + 1, + this.seeds[3] = 1812433253 * this.seeds[2] + 1 + }), + t.getFloatFromInt = function(t) { + return 1 / 8388607 * (8388607 & t) + } + , + t.getByteFromInt = function(t) { + return (8388607 & t) >>> 15 + } + , + t + }() + , Ne = (function() { + function t(t) { + if (this._state0U = NaN, + this._state0L = NaN, + this._state1U = NaN, + this._state1L = NaN, + !(t instanceof Array) || 4 !== t.length) + throw new Error("Rand:Seed must be an array with 4 numbers"); + this._state0U = 0 | t[0], + this._state0L = 0 | t[1], + this._state1U = 0 | t[2], + this._state1L = 0 | t[3] + } + a(t, "laya.d3.math.RandX"); + var e = t.prototype; + e.randomint = function() { + var t = this._state0U + , e = this._state0L + , i = this._state1U + , n = this._state1L + , a = (n >>> 0) + (e >>> 0) + , r = i + t + (a / 2 >>> 31) >>> 0 + , s = a >>> 0; + this._state0U = i, + this._state0L = n; + var o = 0 + , l = 0 + , h = 0 + , c = 0; + o = (t ^= o = t << 23 | (-512 & e) >>> 9) ^ i, + l = (e ^= l = e << 23) ^ n; + o ^= h = t >>> 18, + l ^= c = e >>> 18 | (262143 & t) << 14; + return h = i >>> 5, + c = n >>> 5 | (31 & i) << 27, + o ^= h, + l ^= c, + this._state1U = o, + this._state1L = l, + [r, s] + } + , + e.random = function() { + var e = this.randomint() + , i = e[0] + , n = 1023 << 20 | i >>> 12 + , a = 0 | (e[1] >>> 12 | (4095 & i) << 20); + t._CONVERTION_BUFFER.setUint32(0, n, !1), + t._CONVERTION_BUFFER.setUint32(4, a, !1); + return De._CONVERTION_BUFFER.getFloat64(0, !1) - 1 + } + , + n(t, ["_CONVERTION_BUFFER", function() { + return this._CONVERTION_BUFFER = new DataView(new ArrayBuffer(8)) + } + , "defaultRand", function() { + return this.defaultRand = new De([0, Date.now() / 65536, 0, Date.now() % 65536]) + } + ]) + }(), + function() { + function t(t, e) { + this.origin = null, + this.direction = null, + this.origin = t, + this.direction = e + } + return a(t, "laya.d3.math.Ray"), + t + }()) + , Ae = function() { + function t(t, e) { + this.elements = new Float32Array(2), + void 0 === t && (t = 0), + void 0 === e && (e = 0); + var i = this.elements; + i[0] = t, + i[1] = e + } + a(t, "laya.d3.math.Vector2"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.fromArray = function(t, e) { + void 0 === e && (e = 0), + this.elements[0] = t[e + 0], + this.elements[1] = t[e + 1] + } + , + e.cloneTo = function(t) { + var e = t.elements + , i = this.elements; + e[0] = i[0], + e[1] = i[1] + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, e, "x", function() { + return this.elements[0] + }, function(t) { + this.elements[0] = t + }), + r(0, e, "y", function() { + return this.elements[1] + }, function(t) { + this.elements[1] = t + }), + t.scale = function(t, e, i) { + var n = i.elements + , a = t.elements; + n[0] = a[0] * e, + n[1] = a[1] * e + } + , + n(t, ["ZERO", function() { + return this.ZERO = new t(0,0) + } + , "ONE", function() { + return this.ONE = new t(1,1) + } + ]), + t + }() + , Be = function() { + function t(t, e, i) { + this.elements = new Float32Array(3), + void 0 === t && (t = 0), + void 0 === e && (e = 0), + void 0 === i && (i = 0); + var n = this.elements; + n[0] = t, + n[1] = e, + n[2] = i + } + a(t, "laya.d3.math.Vector3"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.fromArray = function(t, e) { + void 0 === e && (e = 0), + this.elements[0] = t[e + 0], + this.elements[1] = t[e + 1], + this.elements[2] = t[e + 2] + } + , + e.cloneTo = function(t) { + var e = t.elements + , i = this.elements; + e[0] = i[0], + e[1] = i[1], + e[2] = i[2] + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + e.toDefault = function() { + this.elements[0] = 0, + this.elements[1] = 0, + this.elements[2] = 0 + } + , + r(0, e, "x", function() { + return this.elements[0] + }, function(t) { + this.elements[0] = t + }), + r(0, e, "y", function() { + return this.elements[1] + }, function(t) { + this.elements[1] = t + }), + r(0, e, "z", function() { + return this.elements[2] + }, function(t) { + this.elements[2] = t + }), + t.distanceSquared = function(t, e) { + var i = t.elements + , n = e.elements + , a = i[0] - n[0] + , r = i[1] - n[1] + , s = i[2] - n[2]; + return a * a + r * r + s * s + } + , + t.distance = function(t, e) { + var i = t.elements + , n = e.elements + , a = i[0] - n[0] + , r = i[1] - n[1] + , s = i[2] - n[2]; + return Math.sqrt(a * a + r * r + s * s) + } + , + t.min = function(t, e, i) { + var n = i.elements + , a = t.elements + , r = e.elements; + n[0] = Math.min(a[0], r[0]), + n[1] = Math.min(a[1], r[1]), + n[2] = Math.min(a[2], r[2]) + } + , + t.max = function(t, e, i) { + var n = i.elements + , a = t.elements + , r = e.elements; + n[0] = Math.max(a[0], r[0]), + n[1] = Math.max(a[1], r[1]), + n[2] = Math.max(a[2], r[2]) + } + , + t.transformQuat = function(t, e, i) { + var n = i.elements + , a = t.elements + , r = e.elements + , s = a[0] + , o = a[1] + , l = a[2] + , h = r[0] + , c = r[1] + , _ = r[2] + , u = r[3] + , d = u * s + c * l - _ * o + , f = u * o + _ * s - h * l + , p = u * l + h * o - c * s + , m = -h * s - c * o - _ * l; + n[0] = d * u + m * -h + f * -_ - p * -c, + n[1] = f * u + m * -c + p * -h - d * -_, + n[2] = p * u + m * -_ + d * -c - f * -h + } + , + t.scalarLength = function(t) { + var e = t.elements + , i = e[0] + , n = e[1] + , a = e[2]; + return Math.sqrt(i * i + n * n + a * a) + } + , + t.scalarLengthSquared = function(t) { + var e = t.elements + , i = e[0] + , n = e[1] + , a = e[2]; + return i * i + n * n + a * a + } + , + t.normalize = function(t, e) { + var i = t.elements + , n = e.elements + , a = i[0] + , r = i[1] + , s = i[2] + , o = a * a + r * r + s * s; + o > 0 && (o = 1 / Math.sqrt(o), + n[0] = i[0] * o, + n[1] = i[1] * o, + n[2] = i[2] * o) + } + , + t.multiply = function(t, e, i) { + var n = i.elements + , a = t.elements + , r = e.elements; + n[0] = a[0] * r[0], + n[1] = a[1] * r[1], + n[2] = a[2] * r[2] + } + , + t.scale = function(t, e, i) { + var n = i.elements + , a = t.elements; + n[0] = a[0] * e, + n[1] = a[1] * e, + n[2] = a[2] * e + } + , + t.lerp = function(t, e, i, n) { + var a = n.elements + , r = t.elements + , s = e.elements + , o = r[0] + , l = r[1] + , h = r[2]; + a[0] = o + i * (s[0] - o), + a[1] = l + i * (s[1] - l), + a[2] = h + i * (s[2] - h) + } + , + t.transformV3ToV3 = function(e, i, n) { + var a = t._tempVector4; + t.transformV3ToV4(e, i, a); + var r = a.elements + , s = n.elements; + s[0] = r[0], + s[1] = r[1], + s[2] = r[2] + } + , + t.transformV3ToV4 = function(t, e, i) { + var n = t.elements + , a = n[0] + , r = n[1] + , s = n[2] + , o = e.elements + , l = i.elements; + l[0] = a * o[0] + r * o[4] + s * o[8] + o[12], + l[1] = a * o[1] + r * o[5] + s * o[9] + o[13], + l[2] = a * o[2] + r * o[6] + s * o[10] + o[14], + l[3] = a * o[3] + r * o[7] + s * o[11] + o[15] + } + , + t.TransformNormal = function(t, e, i) { + var n = t.elements + , a = n[0] + , r = n[1] + , s = n[2] + , o = e.elements + , l = i.elements; + l[0] = a * o[0] + r * o[4] + s * o[8], + l[1] = a * o[1] + r * o[5] + s * o[9], + l[2] = a * o[2] + r * o[6] + s * o[10] + } + , + t.transformCoordinate = function(e, i, n) { + var a = t._tempVector4.elements + , r = e.elements + , s = r[0] + , o = r[1] + , l = r[2] + , h = i.elements; + a[0] = s * h[0] + o * h[4] + l * h[8] + h[12], + a[1] = s * h[1] + o * h[5] + l * h[9] + h[13], + a[2] = s * h[2] + o * h[6] + l * h[10] + h[14], + a[3] = 1 / (s * h[3] + o * h[7] + l * h[11] + h[15]); + var c = n.elements; + c[0] = a[0] * a[3], + c[1] = a[1] * a[3], + c[2] = a[2] * a[3] + } + , + t.Clamp = function(t, e, i, n) { + var a = t.elements + , r = a[0] + , s = a[1] + , o = a[2] + , l = e.elements + , h = l[0] + , c = l[1] + , _ = l[2] + , u = i.elements + , d = u[0] + , f = u[1] + , p = u[2] + , m = n.elements; + r = (r = r > d ? d : r) < h ? h : r, + s = (s = s > f ? f : s) < c ? c : s, + o = (o = o > p ? p : o) < _ ? _ : o, + m[0] = r, + m[1] = s, + m[2] = o + } + , + t.add = function(t, e, i) { + var n = i.elements + , a = t.elements + , r = e.elements; + n[0] = a[0] + r[0], + n[1] = a[1] + r[1], + n[2] = a[2] + r[2] + } + , + t.subtract = function(t, e, i) { + var n = i.elements + , a = t.elements + , r = e.elements; + n[0] = a[0] - r[0], + n[1] = a[1] - r[1], + n[2] = a[2] - r[2] + } + , + t.cross = function(t, e, i) { + var n = t.elements + , a = e.elements + , r = i.elements + , s = n[0] + , o = n[1] + , l = n[2] + , h = a[0] + , c = a[1] + , _ = a[2]; + r[0] = o * _ - l * c, + r[1] = l * h - s * _, + r[2] = s * c - o * h + } + , + t.dot = function(t, e) { + var i = t.elements + , n = e.elements; + return i[0] * n[0] + i[1] * n[1] + i[2] * n[2] + } + , + t.equals = function(t, e) { + var i = t.elements + , n = e.elements; + return Ce.nearEqual(Math.abs(i[0]), Math.abs(n[0])) && Ce.nearEqual(Math.abs(i[1]), Math.abs(n[1])) && Ce.nearEqual(Math.abs(i[2]), Math.abs(n[2])) + } + , + t.ZERO = new t(0,0,0), + t.ONE = new t(1,1,1), + t.NegativeUnitX = new t(-1,0,0), + t.UnitX = new t(1,0,0), + t.UnitY = new t(0,1,0), + t.UnitZ = new t(0,0,1), + t.ForwardRH = new t(0,0,-1), + t.ForwardLH = new t(0,0,1), + t.Up = new t(0,1,0), + t.NAN = new t(NaN,NaN,NaN), + n(t, ["_tempVector4", function() { + return this._tempVector4 = new ke + } + ]), + t + }() + , ke = function() { + function t(t, e, i, n) { + this.elements = new Float32Array(4), + void 0 === t && (t = 0), + void 0 === e && (e = 0), + void 0 === i && (i = 0), + void 0 === n && (n = 0); + var a = this.elements; + a[0] = t, + a[1] = e, + a[2] = i, + a[3] = n + } + a(t, "laya.d3.math.Vector4"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.IClone": !0 + }), + e.fromArray = function(t, e) { + void 0 === e && (e = 0), + this.elements[0] = t[e + 0], + this.elements[1] = t[e + 1], + this.elements[2] = t[e + 2], + this.elements[3] = t[e + 3] + } + , + e.cloneTo = function(t) { + var e = t.elements + , i = this.elements; + e[0] = i[0], + e[1] = i[1], + e[2] = i[2], + e[3] = i[3] + } + , + e.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + e.length = function() { + return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w) + } + , + e.lengthSquared = function() { + return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w + } + , + r(0, e, "x", function() { + return this.elements[0] + }, function(t) { + this.elements[0] = t + }), + r(0, e, "y", function() { + return this.elements[1] + }, function(t) { + this.elements[1] = t + }), + r(0, e, "z", function() { + return this.elements[2] + }, function(t) { + this.elements[2] = t + }), + r(0, e, "w", function() { + return this.elements[3] + }, function(t) { + this.elements[3] = t + }), + t.lerp = function(t, e, i, n) { + var a = n.elements + , r = t.elements + , s = e.elements + , o = r[0] + , l = r[1] + , h = r[2] + , c = r[3]; + a[0] = o + i * (s[0] - o), + a[1] = l + i * (s[1] - l), + a[2] = h + i * (s[2] - h), + a[3] = c + i * (s[3] - c) + } + , + t.transformByM4x4 = function(t, e, i) { + var n = t.elements + , a = n[0] + , r = n[1] + , s = n[2] + , o = n[3] + , l = e.elements + , h = i.elements; + h[0] = a * l[0] + r * l[4] + s * l[8] + o * l[12], + h[1] = a * l[1] + r * l[5] + s * l[9] + o * l[13], + h[2] = a * l[2] + r * l[6] + s * l[10] + o * l[14], + h[3] = a * l[3] + r * l[7] + s * l[11] + o * l[15] + } + , + t.equals = function(t, e) { + var i = t.elements + , n = e.elements; + return Ce.nearEqual(Math.abs(i[0]), Math.abs(n[0])) && Ce.nearEqual(Math.abs(i[1]), Math.abs(n[1])) && Ce.nearEqual(Math.abs(i[2]), Math.abs(n[2])) && Ce.nearEqual(Math.abs(i[3]), Math.abs(n[3])) + } + , + t.normalize = function(t, e) { + var i = t.elements + , n = e.elements + , a = t.length(); + a > 0 && (n[0] = i[0] * a, + n[1] = i[1] * a, + n[2] = i[2] * a, + n[3] = i[3] * a) + } + , + t.add = function(t, e, i) { + var n = i.elements + , a = t.elements + , r = e.elements; + n[0] = a[0] + r[0], + n[1] = a[1] + r[1], + n[2] = a[2] + r[2], + n[3] = a[3] + r[3] + } + , + t.subtract = function(t, e, i) { + var n = i.elements + , a = t.elements + , r = e.elements; + n[0] = a[0] - r[0], + n[1] = a[1] - r[1], + n[2] = a[2] - r[2], + n[3] = a[3] - r[3] + } + , + t.multiply = function(t, e, i) { + var n = i.elements + , a = t.elements + , r = e.elements; + n[0] = a[0] * r[0], + n[1] = a[1] * r[1], + n[2] = a[2] * r[2], + n[3] = a[3] * r[3] + } + , + t.scale = function(t, e, i) { + var n = i.elements + , a = t.elements; + n[0] = a[0] * e, + n[1] = a[1] * e, + n[2] = a[2] * e, + n[3] = a[3] * e + } + , + t.Clamp = function(t, e, i, n) { + var a = t.elements + , r = a[0] + , s = a[1] + , o = a[2] + , l = a[3] + , h = e.elements + , c = h[0] + , _ = h[1] + , u = h[2] + , d = h[3] + , f = i.elements + , p = f[0] + , m = f[1] + , g = f[2] + , y = f[3] + , v = n.elements; + r = (r = r > p ? p : r) < c ? c : r, + s = (s = s > m ? m : s) < _ ? _ : s, + o = (o = o > g ? g : o) < u ? u : o, + l = (l = l > y ? y : l) < d ? d : l, + v[0] = r, + v[1] = s, + v[2] = o, + v[3] = l + } + , + t.distanceSquared = function(t, e) { + var i = t.elements + , n = e.elements + , a = i[0] - n[0] + , r = i[1] - n[1] + , s = i[2] - n[2] + , o = i[3] - n[3]; + return a * a + r * r + s * s + o * o + } + , + t.distance = function(t, e) { + var i = t.elements + , n = e.elements + , a = i[0] - n[0] + , r = i[1] - n[1] + , s = i[2] - n[2] + , o = i[3] - n[3]; + return Math.sqrt(a * a + r * r + s * s + o * o) + } + , + t.dot = function(t, e) { + var i = t.elements + , n = e.elements; + return i[0] * n[0] + i[1] * n[1] + i[2] * n[2] + i[3] * n[3] + } + , + t.min = function(t, e, i) { + var n = i.elements + , a = t.elements + , r = e.elements; + n[0] = Math.min(a[0], r[0]), + n[1] = Math.min(a[1], r[1]), + n[2] = Math.min(a[2], r[2]), + n[3] = Math.min(a[3], r[3]) + } + , + t.max = function(t, e, i) { + var n = i.elements + , a = t.elements + , r = e.elements; + n[0] = Math.max(a[0], r[0]), + n[1] = Math.max(a[1], r[1]), + n[2] = Math.max(a[2], r[2]), + n[3] = Math.max(a[3], r[3]) + } + , + n(t, ["ZERO", function() { + return this.ZERO = new t + } + , "ONE", function() { + return this.ONE = new t(1,1,1,1) + } + , "UnitX", function() { + return this.UnitX = new t(1,0,0,0) + } + , "UnitY", function() { + return this.UnitY = new t(0,1,0,0) + } + , "UnitZ", function() { + return this.UnitZ = new t(0,0,1,0) + } + , "UnitW", function() { + return this.UnitW = new t(0,0,0,1) + } + ]), + t + }() + , Re = function() { + function t(t, e, i, n) { + this.minDepth = 0, + this.maxDepth = 1, + this.x = t, + this.y = e, + this.width = i, + this.height = n + } + a(t, "laya.d3.math.Viewport"); + var e = t.prototype; + return e.project = function(t, e, i) { + Be.transformV3ToV3(t, e, i); + var n = t.elements + , a = e.elements + , r = i.elements + , s = n[0] * a[3] + n[1] * a[7] + n[2] * a[11] + a[15]; + 1 !== s && (r[0] = r[0] / s, + r[1] = r[1] / s, + r[2] = r[2] / s), + r[0] = .5 * (r[0] + 1) * this.width + this.x, + r[1] = .5 * (1 - r[1]) * this.height + this.y, + r[2] = r[2] * (this.maxDepth - this.minDepth) + this.minDepth + } + , + e.unprojectFromMat = function(t, e, i) { + var n = t.elements + , a = e.elements + , r = i.elements; + r[0] = (n[0] - this.x) / this.width * 2 - 1, + r[1] = -((n[1] - this.y) / this.height * 2 - 1); + var s = (this.maxDepth - this.minDepth) / 2; + r[2] = (n[2] - this.minDepth - s) / s; + var o = r[0] * a[3] + r[1] * a[7] + r[2] * a[11] + a[15]; + Be.transformV3ToV3(i, e, i), + 1 !== o && (r[0] = r[0] / o, + r[1] = r[1] / o, + r[2] = r[2] / o) + } + , + e.unprojectFromWVP = function(e, i, n, a, r) { + Me.multiply(i, n, t._tempMatrix4x4), + a && Me.multiply(t._tempMatrix4x4, a, t._tempMatrix4x4), + t._tempMatrix4x4.invert(t._tempMatrix4x4), + this.unprojectFromMat(e, t._tempMatrix4x4, r) + } + , + n(t, ["_tempMatrix4x4", function() { + return this._tempMatrix4x4 = new Me + } + ]), + t + }() + , Pe = function() { + function t() { + this._alphaBlending = 1, + this._colorIntensity = 1, + this._shaderValue = new Fe + } + a(t, "laya.d3.resource.models.Sky"); + var e = t.prototype; + return e._setEnvironmentDiffuse = function() { + this._environmentDiffuse.loaded ? this.__ownerCamera._shaderValues.setValue(7, this._environmentDiffuse) : this._environmentDiffuse.on("loaded", this, this._environmentDiffuseLoaded) + } + , + e._setEnvironmentSpecular = function() { + if (this._environmentSpecular.loaded) { + var t = this._environmentSpecular.simLodInfo; + t && t instanceof Float32Array && this.__ownerCamera._shaderValues.setValue(9, t), + this.__ownerCamera._shaderValues.setValue(8, this._environmentSpecular) + } else + this._environmentSpecular.on("loaded", this, this._environmentSpecularLoaded) + } + , + e._environmentDiffuseLoaded = function() { + this.__ownerCamera._shaderValues.setValue(7, this._environmentDiffuse) + } + , + e._environmentSpecularLoaded = function() { + var t = this._environmentSpecular.simLodInfo; + t && t instanceof Float32Array && this.__ownerCamera._shaderValues.setValue(9, t), + this.__ownerCamera._shaderValues.setValue(8, this._environmentSpecular) + } + , + e._render = function(t) {} + , + e.destroy = function() { + this.__ownerCamera = null + } + , + r(0, e, "_ownerCamera", null, function(t) { + this.__ownerCamera = t, + this._environmentDiffuse && this._setEnvironmentDiffuse(), + this._environmentSpecular && this._setEnvironmentSpecular() + }), + r(0, e, "alphaBlending", function() { + return this._alphaBlending + }, function(t) { + this._alphaBlending = t, + this._alphaBlending < 0 && (this._alphaBlending = 0), + this._alphaBlending > 1 && (this._alphaBlending = 1) + }), + r(0, e, "envDiffuseSHBlue", null, function(t) { + this.__ownerCamera._shaderValues.setValue(12, t) + }), + r(0, e, "colorIntensity", function() { + return this._colorIntensity + }, function(t) { + this._colorIntensity = t, + this._colorIntensity < 0 && (this._colorIntensity = 0) + }), + r(0, e, "envDiffuseSHGreen", null, function(t) { + this.__ownerCamera._shaderValues.setValue(11, t) + }), + r(0, e, "envDiffuseSHRed", null, function(t) { + this.__ownerCamera._shaderValues.setValue(10, t) + }), + r(0, e, "environmentDiffuse", function() { + return this._environmentDiffuse + }, function(t) { + t.minFifter = 9728, + this._environmentDiffuse = t, + this.__ownerCamera && this._setEnvironmentDiffuse() + }), + r(0, e, "environmentSpecular", function() { + return this._environmentSpecular + }, function(t) { + this._environmentSpecular = t, + this.__ownerCamera && this._setEnvironmentSpecular() + }), + t.MVPMATRIX = 0, + t.INTENSITY = 1, + t.ALPHABLENDING = 2, + t.DIFFUSETEXTURE = 3, + t + }() + , Oe = function() { + function t(t) { + this._mesh = null, + this._boneIndicesList = null, + this._subIndexBufferStart = null, + this._subIndexBufferCount = null, + this._skinAnimationDatas = null, + this._bufferUsage = null, + this._indexInMesh = 0, + this._vertexBuffer = null, + this._vertexStart = 0, + this._vertexCount = 0, + this._indexBuffer = null, + this._indexStart = 0, + this._indexCount = 0, + this._indices = null, + this._bufferUsage = {}, + this._mesh = t, + this._boneIndicesList = [], + this._subIndexBufferStart = [], + this._subIndexBufferCount = [] + } + a(t, "laya.d3.resource.models.SubMesh"); + var e = t.prototype; + return i.imps(e, { + "laya.d3.core.render.IRenderable": !0, + "laya.resource.IDispose": !0 + }), + e._getVertexBuffer = function(t) { + return void 0 === t && (t = 0), + 0 === t ? this._vertexBuffer : null + } + , + e._getIndexBuffer = function() { + return this._indexBuffer + } + , + e._getStaticBatchBakedVertexs = function(e, i) { + var n, a, r = this._vertexBuffer, s = r.vertexDeclaration, o = s.getVertexElementByUsage(0).offset / 4, l = s.getVertexElementByUsage(3).offset / 4, h = i.meshRender.lightmapScaleOffset, c = 0, _ = 0, u = 0, d = 0, f = 0, p = 0; + if (h) + if (a = s.getVertexElementByUsage(15)) + u = s.vertexStride / 4, + n = this._vertexCount > 0 ? r.getData().slice(this._vertexStart * u, (this._vertexStart + this._vertexCount) * u) : r.getData().slice(), + d = a.offset / 4; + else { + u = (p = s.vertexStride / 4) + 2, + n = this._vertexCount ? new Float32Array(this._vertexCount * (r.vertexDeclaration.vertexStride / 4 + 2)) : new Float32Array(r.vertexCount * (r.vertexDeclaration.vertexStride / 4 + 2)), + d = (f = s.getVertexElementByUsage(2).offset / 4) + 2; + var m = r.getData(); + for (c = 0, + _ = m.length / p; c < _; c++) { + var g = 0; + g = this._vertexCount > 0 ? (this._vertexStart + c) * p : c * p; + var y = c * u + , v = 0; + for (v = 0; v < d; v++) + n[y + v] = m[g + v]; + for (v = d; v < p; v++) + n[y + v + 2] = m[g + v] + } + } + else + u = s.vertexStride / 4, + n = this._vertexCount ? r.getData().slice(this._vertexStart * u, (this._vertexStart + this._vertexCount) * u) : r.getData().slice(); + if (e) { + var b = e.worldMatrix + , w = t._tempMatrix4x40; + b.invert(w); + var x = t._tempMatrix4x41 + , I = i.transform.worldMatrix; + Me.multiply(w, I, x) + } else + x = i.transform.worldMatrix; + var C = t._tempQuaternion0; + for (x.decomposeTransRotScale(t._tempVector30, C, t._tempVector31), + c = 0, + _ = n.length / u; c < _; c++) { + var S = c * u + o + , M = c * u + l; + if (Ke.transformVector3ArrayToVector3ArrayCoordinate(n, S, x, n, S), + Ke.transformVector3ArrayByQuat(n, M, C, n, M), + h) { + var L = c * u + d; + if (a) + Ke.transformLightingMapTexcoordByUV1Array(n, L, h, n, L); + else { + var T = c * p + f; + Ke.transformLightingMapTexcoordByUV0Array(m, T, h, n, L) + } + } + } + return n + } + , + e._getVertexBuffers = function() { + return null + } + , + e._beforeRender = function(t) { + return this._vertexBuffer._bind(), + this._indexBuffer._bind(), + !0 + } + , + e._render = function(t) { + var e, i = 0, n = t.renderElement; + if (this._indexCount > 1) { + var a = this._boneIndicesList.length; + if (a > 1) { + for (var r = 0; r < a; r++) + (e = n._skinAnimationDatas || this._skinAnimationDatas) && (n._shaderValue.setValue(0, e[r]), + t._shader.uploadRenderElementUniforms(n._shaderValue.data)), + B.mainContext.drawElements(4, this._subIndexBufferCount[r], 5123, 2 * this._subIndexBufferStart[r]); + E.drawCall += a + } else + (e = n._skinAnimationDatas || this._skinAnimationDatas) && (n._shaderValue.setValue(0, e[0]), + t._shader.uploadRenderElementUniforms(n._shaderValue.data)), + B.mainContext.drawElements(4, this._indexCount, 5123, 2 * this._indexStart), + E.drawCall++; + i = this._indexCount + } else + i = this._indexBuffer.indexCount, + (e = n._skinAnimationDatas || this._skinAnimationDatas) && (n._shaderValue.setValue(0, e[0]), + t._shader.uploadRenderElementUniforms(n._shaderValue.data)), + B.mainContext.drawElements(4, i, 5123, 0), + E.drawCall++; + E.trianglesFaces += i / 3 + } + , + e.getIndices = function() { + return this._indexCount > 0 ? this._indices : this._indexBuffer.getData() + } + , + e.dispose = function() { + this._indexBuffer.destroy(), + this._vertexBuffer.destroy(), + this._mesh = null, + this._boneIndicesList = null, + this._subIndexBufferStart = null, + this._subIndexBufferCount = null, + this._skinAnimationDatas = null, + this._bufferUsage = null, + this._vertexBuffer = null, + this._indexBuffer = null + } + , + r(0, e, "_vertexBufferCount", function() { + return 1 + }), + r(0, e, "triangleCount", function() { + return this._indexBuffer.indexCount / 3 + }), + n(t, ["_tempVector30", function() { + return this._tempVector30 = new Be + } + , "_tempVector31", function() { + return this._tempVector31 = new Be + } + , "_tempQuaternion0", function() { + return this._tempQuaternion0 = new Ee + } + , "_tempMatrix4x40", function() { + return this._tempMatrix4x40 = new Me + } + , "_tempMatrix4x41", function() { + return this._tempMatrix4x41 = new Me + } + ]), + t + }() + , Ue = function() { + function t(t) { + this.defineCounter = 0, + this.defines = null, + t ? (this.defineCounter = t.defineCounter, + this.defines = t.defines.slice()) : (this.defineCounter = 0, + this.defines = []) + } + a(t, "laya.d3.shader.ShaderDefines", null, "ShaderDefines$1"); + return t.prototype.registerDefine = function(t) { + var e = Math.pow(2, this.defineCounter++); + return this.defines[e] = t, + e + } + , + t + }() + , Ve = function() { + function t() {} + return a(t, "laya.d3.shader.ShaderInit3D"), + t.__init__ = function() { + ci._globalRegDefine("HIGHPRECISION", ci.SHADERDEFINE_HIGHPRECISION), + ci._globalRegDefine("FOG", ci.SHADERDEFINE_FOG), + ci._globalRegDefine("DIRECTIONLIGHT", ci.SHADERDEFINE_DIRECTIONLIGHT), + ci._globalRegDefine("POINTLIGHT", ci.SHADERDEFINE_POINTLIGHT), + ci._globalRegDefine("SPOTLIGHT", ci.SHADERDEFINE_SPOTLIGHT), + ci._globalRegDefine("UV", ci.SHADERDEFINE_UV0), + ci._globalRegDefine("COLOR", ci.SHADERDEFINE_COLOR), + ci._globalRegDefine("UV1", ci.SHADERDEFINE_UV1), + ci._globalRegDefine("CASTSHADOW", He.SHADERDEFINE_CAST_SHADOW), + ci._globalRegDefine("SHADOWMAP_PSSM1", He.SHADERDEFINE_SHADOW_PSSM1), + ci._globalRegDefine("SHADOWMAP_PSSM2", He.SHADERDEFINE_SHADOW_PSSM2), + ci._globalRegDefine("SHADOWMAP_PSSM3", He.SHADERDEFINE_SHADOW_PSSM3), + ci._globalRegDefine("SHADOWMAP_PCF_NO", He.SHADERDEFINE_SHADOW_PCF_NO), + ci._globalRegDefine("SHADOWMAP_PCF1", He.SHADERDEFINE_SHADOW_PCF1), + ci._globalRegDefine("SHADOWMAP_PCF2", He.SHADERDEFINE_SHADOW_PCF2), + ci._globalRegDefine("SHADOWMAP_PCF3", He.SHADERDEFINE_SHADOW_PCF3), + ci._globalRegDefine("DEPTHFOG", ci.SAHDERDEFINE_DEPTHFOG), + Oi.addInclude("LightHelper.glsl", "\nstruct DirectionLight\n{\n vec3 Direction;\n vec3 Diffuse;\n};\n\nstruct PointLight\n{\n vec3 Diffuse;\n vec3 Attenuation;\n vec3 Position;\n float Range;\n};\n\nstruct SpotLight\n{\n vec3 Diffuse;\n vec3 Attenuation;\n vec3 Position;\n vec3 Direction;\n float Spot;\n float Range;\n};\n\n\nvec3 NormalSampleToWorldSpace(vec3 normalMapSample, vec3 unitNormal, vec3 tangent)\n{\n\tvec3 normalT = 2.0*normalMapSample - 1.0;\n\n\t// Build orthonormal basis.\n\tvec3 N = normalize(unitNormal);\n\tvec3 T = normalize(tangent- dot(tangent, N)*N);\n\tvec3 B = cross(T, N);\n\n\tmat3 TBN = mat3(T, B, N);\n\n\t// Transform from tangent space to world space.\n\tvec3 bumpedNormal = TBN*normalT;\n\n\treturn bumpedNormal;\n}\n\n\nvoid computeDirectionLight(in vec3 matDif,in vec3 matAmb,in vec4 matSpe,in DirectionLight dirLight,in vec3 ambinentColor,in vec3 normal,in vec3 toEye,out vec3 dif,out vec3 amb,out vec3 spec)\n{\n\tdif=vec3(0.0);//不初始化在IOS中闪烁,PC中不会闪烁\n\tamb=vec3(0.0);\n\tspec=vec3(0.0);\n\tvec3 lightVec=-normalize(dirLight.Direction);\n\t\n\tamb=matAmb*ambinentColor;\n\t\n\tfloat diffuseFactor=dot(lightVec, normal);\n\t\n\tif(diffuseFactor>0.0)\n\t{\n\t vec3 v = reflect(-lightVec, normal);\n\t float specFactor = pow(max(dot(v, toEye), 0.0), matSpe.w);\n\t \n\t dif = diffuseFactor * matDif * dirLight.Diffuse;\n\t spec = specFactor * matSpe.rgb;\n\t}\n\t\n}\n\nvoid computePointLight(in vec3 matDif,in vec3 matAmb,in vec4 matSpe,in PointLight poiLight,in vec3 ambinentColor, in vec3 pos,in vec3 normal,in vec3 toEye,out vec3 dif,out vec3 amb,out vec3 spec)\n{\n\tdif=vec3(0.0);\n\tamb=vec3(0.0);\n\tspec=vec3(0.0);\n\tvec3 lightVec = poiLight.Position - pos;\n\t\t\n\tfloat d = length(lightVec);\n\t\n\tif( d > poiLight.Range )\n\t\treturn;\n\t\t\n\tlightVec /= d; \n\t\n\tamb = matAmb*ambinentColor;\t\n\n\tfloat diffuseFactor = dot(lightVec, normal);\n\n\tif( diffuseFactor > 0.0 )\n\t{\n\t\tvec3 v= reflect(-lightVec, normal);\n\t\tfloat specFactor = pow(max(dot(v, toEye), 0.0), matSpe.w);\n\t\t\t\t\t\n\t\tdif = diffuseFactor * matDif * poiLight.Diffuse;\n\t\tspec = specFactor * matSpe.rgb;\n\t}\n\n\tfloat attenuate = 1.0 / dot(poiLight.Attenuation, vec3(1.0, d, d*d));\n\n\tdif *= attenuate;\n\tspec*= attenuate;\n}\n\nvoid ComputeSpotLight(in vec3 matDif,in vec3 matAmb,in vec4 matSpe,in SpotLight spoLight,in vec3 ambinentColor,in vec3 pos, in vec3 normal,in vec3 toEye,out vec3 dif,out vec3 amb,out vec3 spec)\n{\n\tamb = vec3(0.0);\n\tdif =vec3(0.0);\n\tspec= vec3(0.0);\n\tvec3 lightVec = spoLight.Position - pos;\n\t\t\n\tfloat d = length(lightVec);\n\t\n\tif( d > spoLight.Range)\n\t\treturn;\n\t\t\n\tlightVec /= d; \n\t\n\tamb = matAmb*ambinentColor;\t\n\n\tfloat diffuseFactor = dot(lightVec, normal);\n\n\tif(diffuseFactor > 0.0)\n\t{\n\t\tvec3 v= reflect(-lightVec, normal);\n\t\tfloat specFactor = pow(max(dot(v, toEye), 0.0), matSpe.w);\n\t\t\t\t\t\n\t\tdif = diffuseFactor * matDif * spoLight.Diffuse;\n\t\tspec = specFactor * matSpe.rgb;\n\t}\n\t\n\tfloat spot = pow(max(dot(-lightVec, normalize(spoLight.Direction)), 0.0), spoLight.Spot);\n\n\tfloat attenuate = spot/dot(spoLight.Attenuation, vec3(1.0, d, d*d));\n\n\tamb *= spot;\n\tdif *= attenuate;\n\tspec*= attenuate;\n}\n\n"), + Oi.addInclude("Lighting.glsl", "\nstruct DirectionLight\n{\n\tvec3 Color;\n\tvec3 Direction;\n};\n\nstruct PointLight\n{\n\tvec3 Color;\n\tvec3 Position;\n\tfloat Range;\n};\n\nstruct SpotLight\n{\n\tvec3 Color;\n\tvec3 Position;\n\tvec3 Direction;\n\tfloat Spot;\n\tfloat Range;\n};\n\n// U3D中使用衰减纹理,此函数模拟并非正确\n//float U3DAttenuation(in vec3 L,in float invLightRadius)\n//{\n//\tfloat fRatio = clamp(length(L) * invLightRadius,0.0,1.0);\n//\tfRatio *= fRatio;\n//\treturn 1.0 / (1.0 + 25.0 * fRatio)* clamp(4.0*(1.0 - fRatio),0.0,1.0); //fade to black as if 4 pixel texture\n//} \n\n// Same as Just Cause 2 and Crysis 2 (you can read GPU Pro 1 book for more information)\nfloat BasicAttenuation(in vec3 L,in float invLightRadius)\n{\n\tvec3 distance = L * invLightRadius;\n\tfloat attenuation = clamp(1.0 - dot(distance, distance),0.0,1.0); // Equals float attenuation = saturate(1.0f - dot(L, L) / (lightRadius * lightRadius)); \t\n\treturn attenuation * attenuation;\n} \n\n// Inspired on http://fools.slindev.com/viewtopic.php?f=11&t=21&view=unread#unread\t\nfloat NaturalAttenuation(in vec3 L,in float invLightRadius)\n{\n\tfloat attenuationFactor = 30.0;\n\tvec3 distance = L * invLightRadius;\n\tfloat attenuation = dot(distance, distance); // Equals float attenuation = dot(L, L) / (lightRadius * lightRadius);\n\tattenuation = 1.0 / (attenuation * attenuationFactor + 1.0);\n\t// Second we move down the function therewith it reaches zero at abscissa 1:\n\tattenuationFactor = 1.0 / (attenuationFactor + 1.0); //attenuationFactor contains now the value we have to subtract\n\tattenuation = max(attenuation - attenuationFactor, 0.0); // The max fixes a bug.\n\t// Finally we expand the equation along the y-axis so that it starts with a function value of 1 again.\n\tattenuation /= 1.0 - attenuationFactor;\n\treturn attenuation;\n} \n\nvoid LayaAirBlinnPhongLight (in vec3 specColor,in float specColorIntensity,in vec3 normal,in vec3 gloss, in vec3 viewDir,in vec3 lightColor, in vec3 lightVec,out vec3 diffuseColor,out vec3 specularColor)\n{\n mediump vec3 h = normalize(viewDir-lightVec);\n lowp float ln = max (0.0, dot (-lightVec,normal));\n float nh = max (0.0, dot (h,normal));\n\tdiffuseColor=lightColor * ln;\n\tspecularColor=lightColor *specColor*pow (nh, specColorIntensity*128.0) * gloss;\n}\n\nvoid LayaAirBlinnPhongDiectionLight (in vec3 specColor,in float specColorIntensity,in vec3 normal,in vec3 gloss, in vec3 viewDir, in DirectionLight light,out vec3 diffuseColor,out vec3 specularColor)\n{\n\tvec3 lightVec=normalize(light.Direction);\n\tLayaAirBlinnPhongLight(specColor,specColorIntensity,normal,gloss,viewDir,light.Color,lightVec,diffuseColor,specularColor);\n}\n\nvoid LayaAirBlinnPhongPointLight (in vec3 pos,in vec3 specColor,in float specColorIntensity,in vec3 normal,in vec3 gloss, in vec3 viewDir, in PointLight light,out vec3 diffuseColor,out vec3 specularColor)\n{\n\tvec3 lightVec = pos-light.Position;\n\t//if( length(lightVec) > light.Range )\n\t//\treturn;\n\tLayaAirBlinnPhongLight(specColor,specColorIntensity,normal,gloss,viewDir,light.Color,lightVec/length(lightVec),diffuseColor,specularColor);\n\tfloat attenuate = BasicAttenuation(lightVec, 1.0/light.Range);\n\tdiffuseColor *= attenuate;\n\tspecularColor*= attenuate;\n}\n\nvoid LayaAirBlinnPhongSpotLight (in vec3 pos,in vec3 specColor,in float specColorIntensity,in vec3 normal,in vec3 gloss, in vec3 viewDir, in SpotLight light,out vec3 diffuseColor,out vec3 specularColor)\n{\n\tvec3 lightVec = pos-light.Position;\n\t//if( length(lightVec) > light.Range )\n\t//\treturn;\n\tvec3 normalLightVec=lightVec/length(lightVec);\n\tLayaAirBlinnPhongLight(specColor,specColorIntensity,normal,gloss,viewDir,light.Color,normalLightVec,diffuseColor,specularColor);\n\tfloat spot = pow(max(dot(normalLightVec, normalize(light.Direction)), 0.0), light.Spot);\n\tfloat attenuate = spot*BasicAttenuation(lightVec, 1.0/light.Range);\n\tdiffuseColor *= attenuate;\n\tspecularColor*= attenuate;\n}\n\nvec3 NormalSampleToWorldSpace(vec3 normalMapSample, vec3 unitNormal, vec3 tangent,vec3 binormal)\n{\n\tvec3 normalT =vec3(2.0*normalMapSample.x - 1.0,1.0-2.0*normalMapSample.y,2.0*normalMapSample.z - 1.0);\n\t\n\t// Build orthonormal basis.\n\tvec3 N = normalize(unitNormal);\n\tvec3 T = normalize(tangent);\n\tvec3 B = normalize(binormal);\n\tmat3 TBN = mat3(T, B, N);\n\t\n\t// Transform from tangent space to world space.\n\tvec3 bumpedNormal = TBN*normalT;\n\n\treturn bumpedNormal;\n}\n\n\n"), + Oi.addInclude("ShadowHelper.glsl", "uniform sampler2D u_shadowMap1;\nuniform sampler2D u_shadowMap2;\nuniform sampler2D u_shadowMap3;\nuniform vec2\t u_shadowPCFoffset;\nuniform vec4 u_shadowPSSMDistance;\nvec4 packDepth(const in float depth)\n{\n\tconst vec4 bitShift = vec4(256.0*256.0*256.0, 256.0*256.0, 256.0, 1.0);\n\tconst vec4 bitMask\t= vec4(0.0, 1.0/256.0, 1.0/256.0, 1.0/256.0);\n\tvec4 res = mod(depth*bitShift*vec4(255), vec4(256))/vec4(255);\n\tres -= res.xxyz * bitMask;\n\treturn res;\n}\nfloat unpackDepth(const in vec4 rgbaDepth)\n{\n\tconst vec4 bitShift = vec4(1.0/(256.0*256.0*256.0), 1.0/(256.0*256.0), 1.0/256.0, 1.0);\n\tfloat depth = dot(rgbaDepth, bitShift);\n\treturn depth;\n}\nfloat tex2DPCF( sampler2D shadowMap,vec2 texcoord,vec2 invsize,float zRef )\n{\n\tvec2 texelpos =texcoord / invsize;\n\tvec2 lerps = fract( texelpos );\n\tfloat sourcevals[4];\n\tsourcevals[0] = float( unpackDepth(texture2D(shadowMap,texcoord)) > zRef );\n\tsourcevals[1] = float( unpackDepth(texture2D(shadowMap,texcoord + vec2(invsize.x,0))) > zRef );\n\tsourcevals[2] = float( unpackDepth(texture2D(shadowMap,texcoord + vec2(0,invsize.y))) > zRef );\n\tsourcevals[3] = float( unpackDepth(texture2D(shadowMap,texcoord + vec2(invsize.x, invsize.y) )) > zRef );\n\treturn mix( mix(sourcevals[0],sourcevals[2],lerps.y),mix(sourcevals[1],sourcevals[3],lerps.y),lerps.x );\n}\nfloat getShadowPSSM3( sampler2D shadowMap1,sampler2D shadowMap2,sampler2D shadowMap3,mat4 lightShadowVP[4],vec4 pssmDistance,vec2 shadowPCFOffset,vec3 worldPos,float posViewZ,float zBias )\n{\n\tfloat value = 1.0;\n\tint nPSNum = int(posViewZ>pssmDistance.x);\n\tnPSNum += int(posViewZ>pssmDistance.y);\n\tnPSNum += int(posViewZ>pssmDistance.z);\n\t//真SB,webgl不支持在PS中直接访问数组\n\tmat4 lightVP;\n\tif( nPSNum == 0 )\n\t{\n\t\tlightVP = lightShadowVP[1];\n\t}\n\telse if( nPSNum == 1 )\n\t{\n\t\tlightVP = lightShadowVP[2];\n\t}\n\telse if( nPSNum == 2 )\n\t{\n\t\tlightVP = lightShadowVP[3];\n\t}\n\tvec4 vLightMVPPos = lightVP * vec4(worldPos,1.0);\n\t//为了效率,在CPU计算/2.0 + 0.5\n\t//vec3 vText = (vLightMVPPos.xyz / vLightMVPPos.w)/2.0 + 0.5;\n\tvec3 vText = vLightMVPPos.xyz / vLightMVPPos.w;\n\tfloat fMyZ = vText.z - zBias;\n\t/*\n\tbvec4 bInFrustumVec = bvec4 ( vText.x >= 0.0, vText.x <= 1.0, vText.y >= 0.0, vText.y <= 1.0 );\n\tbool bInFrustum = all( bInFrustumVec );\n\tbvec2 bFrustumTestVec = bvec2( bInFrustum, fMyZ <= 1.0 );\n\tbool bFrustumTest = all( bFrustumTestVec );\n\tif ( bFrustumTest ) \n\t*/\n\tif( fMyZ <= 1.0 )\n\t{\n\t\tfloat zdepth=0.0;\n#ifdef SHADOWMAP_PCF3\n\t\tif ( nPSNum == 0 )\n\t\t{\n\t\t\tvalue = tex2DPCF( shadowMap1, vText.xy,shadowPCFOffset,fMyZ );\n\t\t\tvalue += tex2DPCF( shadowMap1, vText.xy+vec2(shadowPCFOffset.xy),shadowPCFOffset,\tfMyZ );\n\t\t\tvalue += tex2DPCF( shadowMap1, vText.xy+vec2(shadowPCFOffset.x,0),shadowPCFOffset,\tfMyZ );\n\t\t\tvalue += tex2DPCF( shadowMap1, vText.xy+vec2(0,shadowPCFOffset.y),shadowPCFOffset,\tfMyZ );\n\t\t\tvalue = value/4.0;\n\t\t} \n\t\telse if( nPSNum == 1 )\n\t\t{\n\t\t\tvalue = tex2DPCF( shadowMap2,vText.xy,shadowPCFOffset,fMyZ);\n\t\t}\n\t\telse if( nPSNum == 2 )\n\t\t{\n\t\t\tvec4 color = texture2D( shadowMap3,vText.xy );\n\t\t\tzdepth = unpackDepth(color);\n\t\t\tvalue = float(fMyZ < zdepth);\n\t\t}\n#endif\n#ifdef SHADOWMAP_PCF2\n\t\tif ( nPSNum == 0 )\n\t\t{\n\t\t\tvalue = tex2DPCF( shadowMap1,vText.xy,shadowPCFOffset,fMyZ);\n\t\t}\n\t\telse if( nPSNum == 1 )\n\t\t{\n\t\t\tvalue = tex2DPCF( shadowMap2,vText.xy,shadowPCFOffset,fMyZ);\n\t\t}\n\t\telse if( nPSNum == 2 )\n\t\t{\n\t\t\tvec4 color = texture2D( shadowMap3,vText.xy );\n\t\t\tzdepth = unpackDepth(color);\n\t\t\tvalue = float(fMyZ < zdepth);\n\t\t}\n\n#endif\n#ifdef SHADOWMAP_PCF1\n\t\tif ( nPSNum == 0 )\n\t\t{\n\t\t\tvalue = tex2DPCF( shadowMap1,vText.xy,shadowPCFOffset,fMyZ);\n\t\t}\n\t\telse if( nPSNum == 1 )\n\t\t{\n\t\t\tvec4 color = texture2D( shadowMap2,vText.xy );\n\t\t\tzdepth = unpackDepth(color);\n\t\t\tvalue = float(fMyZ < zdepth);\n\t\t}\n\t\telse if( nPSNum == 2 )\n\t\t{\n\t\t\tvec4 color = texture2D( shadowMap3,vText.xy );\n\t\t\tzdepth = unpackDepth(color);\n\t\t\tvalue = float(fMyZ < zdepth);\n\t\t}\n#endif\n#ifdef SHADOWMAP_PCF_NO\n\t\tvec4 color;\n\t\tif ( nPSNum == 0 )\n\t\t{\n\t\t\tcolor = texture2D( shadowMap1,vText.xy );\n\t\t}\n\t\telse if( nPSNum == 1 )\n\t\t{\n\t\t\tcolor = texture2D( shadowMap2,vText.xy );\n\t\t}\n\t\telse if( nPSNum == 2 )\n\t\t{\n\t\t\tcolor = texture2D( shadowMap3,vText.xy );\n\t\t}\n\t\tzdepth = unpackDepth(color);\n\t\tvalue = float(fMyZ < zdepth);\n#endif\n\t}\n\treturn value;\n}\nfloat getShadowPSSM2( sampler2D shadowMap1,sampler2D shadowMap2,mat4 lightShadowVP[4],vec4 pssmDistance,vec2 shadowPCFOffset,vec3 worldPos,float posViewZ,float zBias )\n{\n\tfloat value = 1.0;\n\tint nPSNum = int(posViewZ>pssmDistance.x);\n\tnPSNum += int(posViewZ>pssmDistance.y);\n\t//真SB,webgl不支持在PS中直接访问数组\n\tmat4 lightVP;\n\tif( nPSNum == 0 )\n\t{\n\t\tlightVP = lightShadowVP[1];\n\t}\n\telse if( nPSNum == 1 )\n\t{\n\t\tlightVP = lightShadowVP[2];\n\t}\n\tvec4 vLightMVPPos = lightVP * vec4(worldPos,1.0);\n\t//为了效率,在CPU计算/2.0 + 0.5\n\t//vec3 vText = (vLightMVPPos.xyz / vLightMVPPos.w)/2.0 + 0.5;\n\tvec3 vText = vLightMVPPos.xyz / vLightMVPPos.w;\n\tfloat fMyZ = vText.z - zBias;\n\t/*\n\tbvec4 bInFrustumVec = bvec4 ( vText.x >= 0.0, vText.x <= 1.0, vText.y >= 0.0, vText.y <= 1.0 );\n\tbool bInFrustum = all( bInFrustumVec );\n\tbvec2 bFrustumTestVec = bvec2( bInFrustum, fMyZ <= 1.0 );\n\tbool bFrustumTest = all( bFrustumTestVec );\n\tif ( bFrustumTest ) \n\t*/\n\tif( fMyZ <= 1.0 )\n\t{\n\t\tfloat zdepth=0.0;\n#ifdef SHADOWMAP_PCF3\n\t\tif ( nPSNum == 0 )\n\t\t{\n\t\t\tvalue = tex2DPCF( shadowMap1, vText.xy,shadowPCFOffset,fMyZ );\n\t\t\tvalue += tex2DPCF( shadowMap1, vText.xy+vec2(shadowPCFOffset.xy),shadowPCFOffset,\tfMyZ );\n\t\t\tvalue += tex2DPCF( shadowMap1, vText.xy+vec2(shadowPCFOffset.x,0),shadowPCFOffset,\tfMyZ );\n\t\t\tvalue += tex2DPCF( shadowMap1, vText.xy+vec2(0,shadowPCFOffset.y),shadowPCFOffset,\tfMyZ );\n\t\t\tvalue = value/4.0;\n\t\t}\n\t\telse if( nPSNum == 1 )\n\t\t{\n\t\t\tvalue = tex2DPCF( shadowMap2,vText.xy,shadowPCFOffset,fMyZ);\n\t\t}\n#endif\n#ifdef SHADOWMAP_PCF2\n\t\tif ( nPSNum == 0 )\n\t\t{\n\t\t\tvalue = tex2DPCF( shadowMap1,vText.xy,shadowPCFOffset,fMyZ);\n\t\t}\n\t\telse if( nPSNum == 1 )\n\t\t{\n\t\t\tvalue = tex2DPCF( shadowMap2,vText.xy,shadowPCFOffset,fMyZ);\n\t\t}\n#endif\n#ifdef SHADOWMAP_PCF1\n\t\tif ( nPSNum == 0 )\n\t\t{\n\t\t\tvalue = tex2DPCF( shadowMap1,vText.xy,shadowPCFOffset,fMyZ);\n\t\t}\n\t\telse if( nPSNum == 1 )\n\t\t{\n\t\t\tvec4 color = texture2D( shadowMap2,vText.xy );\n\t\t\tzdepth = unpackDepth(color);\n\t\t\tvalue = float(fMyZ < zdepth);\n\t\t}\n#endif\n#ifdef SHADOWMAP_PCF_NO\n\t\tvec4 color;\n\t\tif ( nPSNum == 0 )\n\t\t{\n\t\t\tcolor = texture2D( shadowMap1,vText.xy );\n\t\t}\n\t\telse if( nPSNum == 1 )\n\t\t{\n\t\t\tcolor = texture2D( shadowMap2,vText.xy );\n\t\t}\n\t\tzdepth = unpackDepth(color);\n\t\tvalue = float(fMyZ < zdepth);\n#endif\n\t}\n\treturn value;\n}\nfloat getShadowPSSM1( sampler2D shadowMap1,vec4 lightMVPPos,vec4 pssmDistance,vec2 shadowPCFOffset,float posViewZ,float zBias )\n{\n\tfloat value = 1.0;\n\tif( posViewZ < pssmDistance.x )\n\t{\n\t\tvec3 vText = lightMVPPos.xyz / lightMVPPos.w;\n\t\tfloat fMyZ = vText.z - zBias;\n\t\t/*\n\t\tbvec4 bInFrustumVec = bvec4 ( vText.x >= 0.0, vText.x <= 1.0, vText.y >= 0.0, vText.y <= 1.0 );\n\t\tbool bInFrustum = all( bInFrustumVec );\n\t\tbvec2 bFrustumTestVec = bvec2( bInFrustum, fMyZ <= 1.0 );\n\t\tbool bFrustumTest = all( bFrustumTestVec );\n\t\t*/\n\t\tif ( fMyZ <= 1.0 ) \n\t\t{\n\t\t\tfloat zdepth=0.0;\n#ifdef SHADOWMAP_PCF3\n\t\t\tvalue = tex2DPCF( shadowMap1, vText.xy,shadowPCFOffset,fMyZ );\n\t\t\tvalue += tex2DPCF( shadowMap1, vText.xy+vec2(shadowPCFOffset.xy),shadowPCFOffset,fMyZ );\n\t\t\tvalue += tex2DPCF( shadowMap1, vText.xy+vec2(shadowPCFOffset.x,0),shadowPCFOffset,fMyZ );\n\t\t\tvalue += tex2DPCF( shadowMap1, vText.xy+vec2(0,shadowPCFOffset.y),shadowPCFOffset,fMyZ );\n\t\t\tvalue = value/4.0;\n#endif\n#ifdef SHADOWMAP_PCF2\t\t\n\t\t\tvalue = tex2DPCF( shadowMap1,vText.xy,shadowPCFOffset,fMyZ);\n#endif\n#ifdef SHADOWMAP_PCF1\n\t\t\tvalue = tex2DPCF( shadowMap1,vText.xy,shadowPCFOffset,fMyZ);\n#endif\n#ifdef SHADOWMAP_PCF_NO\t\t\n\t\t\tvec4 color = texture2D( shadowMap1,vText.xy );\n\t\t\tzdepth = unpackDepth(color);\n\t\t\tvalue = float(fMyZ < zdepth);\n#endif\n\t\t}\n\t}\n\treturn value;\n}"), + Oi.addInclude("WaveFunction.glsl", "\nuniform vec2 u_WaveInfoD[20];\nuniform vec4 u_WaveInfo[20];\n\nuniform float TEXWAVE_UV_SCALE ;//= 20.0; //每texwidth像素代表的实际距离\n/**\n\t这里的计算都是\n*/\n\n/**\n* 计算一个波形\n* 开始计算的时候都按照z向上,最后输出的时候,颠倒一下。\n* @param tm {float} 毫秒\n*/\nvoid calcGerstnerWave(float curtm, vec3 pos, float deep, vec2 uvpos, out vec3 opos, out vec3 B, out vec3 T, out vec3 N, out float foamS){\n\tfloat tm = curtm/1000.;\n\topos = pos;\n\tvec3 wpos=vec3(0.);\t\t//累加的位置\n\tN=vec3(0.,0.,0.);\t//输出的法线初始化一下\n\tT=vec3(0.,0.,0.);\n\tB=vec3(0.,0.,0.);\n\tvec2 cD ;//= D;\n\t//float deepAtt = max(0.,min(deep,1.0));\n\t//A*=deepAtt; //TODO\n\t\n\tfor( int i=0; i<4; i++){\n\t\tcD = u_WaveInfoD[i];//vec2(wi.winfo[0],wi.winfo[1]);// wi.vDir;\n\t\tfloat Q = u_WaveInfo[i].x;//wi.QorK;\n\t\tfloat A = u_WaveInfo[i].y;//wi.A;\n\t\tfloat W = u_WaveInfo[i].z;//wi.omega;\n\t\tfloat P = u_WaveInfo[i].w;//wi.phi;\n\t\tfloat dop = dot(cD,uvpos);\n\t\tfloat c = cos(dop*W - tm*P);//TODO 优化\n\t\tfloat s = sin(dop*W - tm*P);\n\t\tfloat AWs = A*W*s;\n\t\tfloat AWc = A*W*c;\n\t\tfloat _QxyAWs = -Q*cD.x*cD.y*AWs;\n\t\t\n\t\twpos += vec3(Q*A*cD.x*c,\n\t\t\t\t\tQ*A*cD.y*c,\n\t\t\t\t\tA*s);\n\t\tN += vec3(-cD.x*AWc,\n\t\t\t\t-cD.y*AWc,\n\t\t\t\tQ*AWs);//记得最后1-\n\t\tT += vec3(_QxyAWs,\n\t\t\t\tQ*cD.y*cD.y*AWs,//记得1-\n\t\t\t\tcD.y*AWc\n\t\t\t);\n\t\tB += vec3(Q*cD.x*cD.x*AWs,//记得1-\n\t\t\t\t_QxyAWs,\n\t\t\t\tcD.x*AWc\n\t\t\t);\n\t\t//float v1 = exp(-tan((dop*W - tm*P)/2.+1.07));//除2,+pi/2 这样正好能对齐\n#ifdef USE_FOAM\t\t\n\t\tfloat v1 = 0.5-sin((dop*W - tm*P)/1.+2.0)/2.;\n\t\tfoamS += pow(v1,9.)/4.;\n#endif\n\t}\n\tT.y=1.-T.y; B.x=1.-B.x;N.z=1.-N.z;\n\topos += vec3(wpos.x,wpos.z*min(deep/10.,1.),wpos.y);\n\t//y和z交换一下。现在根据uv计算的位置,所以直接交换yz就行。其他情况下有问题么\n\tT.xyz=T.xzy;\n\tB.xyz=B.xzy;\n\tN.xyz=N.xzy;\n}\n\n\nvoid calcWave(float curtm, vec2 uv, out vec3 B, out vec3 T, out vec3 N){\n\tfloat tm = curtm/1000.;\n\tN=vec3(0.,0.,0.);\t//输出的法线初始化一下\n\tvec2 uvpos = uv*TEXWAVE_UV_SCALE; //TODO 这个范围是什么 就是1?\n\tuvpos.y*=-1.;\n\tvec2 cD;// = D;\n\tconst int NumWaves = 4;\n\tfloat scale = 1./float(NumWaves);\n\tfor( int i=0; i 3 && (this._numberOfPSSM = 3), + this._scene = t, + this._maxDistance = e, + this.PSSMNum = a, + this._globalParallelLightDir = i, + this._ratioOfDistance = 1 / this._numberOfPSSM; + for (var s = 0; s < this._spiltDistance.length; s++) + this._spiltDistance[s] = 0; + this._shadowMapTextureSize = n, + this._shadowPCFOffset.x = 1 / this._shadowMapTextureSize, + this._shadowPCFOffset.y = 1 / this._shadowMapTextureSize, + this.setPCFType(r), + this._statesDirty = !0 + } + , + e.setPCFType = function(t) { + switch (this._PCFType = t, + this._PCFType) { + case 0: + this._scene.addShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF_NO), + this._scene.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF1), + this._scene.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF2), + this._scene.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF3); + break; + case 1: + this._scene.addShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF1), + this._scene.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF_NO), + this._scene.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF2), + this._scene.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF3); + break; + case 2: + this._scene.addShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF2), + this._scene.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF_NO), + this._scene.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF1), + this._scene.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF3); + break; + case 3: + this._scene.addShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF3), + this._scene.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF_NO), + this._scene.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF1), + this._scene.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PCF2) + } + } + , + e.getPCFType = function() { + return this._PCFType + } + , + e.setFarDistance = function(t) { + this._maxDistance != t && (this._maxDistance = t, + this._statesDirty = !0) + } + , + e.getFarDistance = function() { + return this._maxDistance + } + , + e._setGlobalParallelLightDir = function(t) { + this._globalParallelLightDir = t + } + , + e.getGlobalParallelLightDir = function() { + return this._globalParallelLightDir + } + , + e.getCurrentPSSM = function() { + return this._currentPSSM + } + , + e.getLightCamera = function(t) { + return this._lightCameras[t] + } + , + e._beginSampler = function(t, e) { + if (t < 0 || t > this._numberOfPSSM) + throw new Error("ParallelSplitShadowMap: beginSample invalid index"); + this._currentPSSM = t, + this._update(e) + } + , + e.endSampler = function(t) { + this._currentPSSM = -1 + } + , + e._calcAllLightCameraInfo = function(t) { + if (1 === this._numberOfPSSM) + this._beginSampler(0, t), + this.endSampler(t); + else + for (var e = 0, i = this._numberOfPSSM + 1; e < i; e++) + this._beginSampler(e, t), + this.endSampler(t) + } + , + e._recalculate = function(t, e, i) { + this._calcSplitDistance(t), + this._calcBoundingBox(e, i), + this._rebuildRenderInfo() + } + , + e._update = function(t) { + var e = t.nearPlane + , i = t.fieldOfView + , n = t.aspectRatio; + (this._statesDirty || this.lastNearPlane !== e || this.lastFieldOfView !== i || this.lastAspectRatio !== n) && (this._recalculate(e, i, n), + this._uploadShaderValue(), + this._statesDirty = !1, + this.lastNearPlane = e, + this.lastFieldOfView = i, + this.lastAspectRatio = n), + this._calcLightViewProject(t) + } + , + e._uploadShaderValue = function() { + var t = this._scene; + switch (this._numberOfPSSM) { + case 1: + t.addShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PSSM1), + t.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PSSM2), + t.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PSSM3); + break; + case 2: + t.addShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PSSM2), + t.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PSSM1), + t.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PSSM3); + break; + case 3: + t.addShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PSSM3), + t.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PSSM1), + t.removeShaderDefine(laya.d3.shadowMap.ParallelSplitShadowMap.SHADERDEFINE_SHADOW_PSSM2) + } + var e = t._shaderValues; + switch (e.setValue(15, this._shaderValueDistance.elements), + e.setValue(16, this._shaderValueLightVP), + e.setValue(17, this._shadowPCFOffset.elements), + this._numberOfPSSM) { + case 3: + e.setValue(18, this.getRenderTarget(1)), + e.setValue(19, this.getRenderTarget(2)), + e.setValue(20, this.getRenderTarget(3)); + break; + case 2: + e.setValue(18, this.getRenderTarget(1)), + e.setValue(19, this.getRenderTarget(2)); + break; + case 1: + e.setValue(18, this.getRenderTarget(1)) + } + } + , + e._calcSplitDistance = function(t) { + var e = this._maxDistance + , i = 1 / this._numberOfPSSM + , n = 0; + for (n = 0; n <= this._numberOfPSSM; n++) + this._uniformDistance[n] = t + (e - t) * n * i; + var a = e / t; + for (n = 0; n <= this._numberOfPSSM; n++) { + var r = Math.pow(a, n * i); + this._logDistance[n] = t * r + } + for (n = 0; n <= this._numberOfPSSM; n++) + this._spiltDistance[n] = this._uniformDistance[n] * this._ratioOfDistance + this._logDistance[n] * (1 - this._ratioOfDistance); + this._shaderValueDistance.x = this._spiltDistance[1], + this._shaderValueDistance.y = this._spiltDistance[2], + this._shaderValueDistance.z = this._spiltDistance[3], + this._shaderValueDistance.w = this._spiltDistance[4] + } + , + e._calcBoundingBox = function(t, e) { + var i = 3.1415926 * t / 180 + , n = Math.tan(i / 2) + , a = NaN + , r = NaN + , s = NaN + , o = 0; + for (o = 0; o <= this._numberOfPSSM; o++) { + r = (a = (s = this._spiltDistance[o]) * n) * e; + var l = this._frustumPos[4 * o + 0].elements; + l[0] = -r, + l[1] = -a, + l[2] = -s, + (l = this._frustumPos[4 * o + 1].elements)[0] = r, + l[1] = -a, + l[2] = -s, + (l = this._frustumPos[4 * o + 2].elements)[0] = -r, + l[1] = a, + l[2] = -s, + (l = this._frustumPos[4 * o + 3].elements)[0] = r, + l[1] = a, + l[2] = -s, + (l = this._dimension[o].elements)[0] = r, + l[1] = a + } + var h, c, _, u; + for (o = 1; o <= this._numberOfPSSM; o++) + h = this._dimension[o].elements, + (c = this._boundingBox[o].min.elements)[0] = -h[0], + c[1] = -h[1], + c[2] = -this._spiltDistance[o], + (_ = this._boundingBox[o].max.elements)[0] = h[0], + _[1] = h[1], + _[2] = -this._spiltDistance[o - 1], + (u = this._boundingSphere[o].center.elements)[0] = .5 * (c[0] + _[0]), + u[1] = .5 * (c[1] + _[1]), + u[2] = .5 * (c[2] + _[2]), + this._boundingSphere[o].radius = .5 * Math.sqrt(Math.pow(_[0] - c[0], 2) + Math.pow(_[1] - c[1], 2) + Math.pow(_[2] - c[2], 2)); + c = this._boundingBox[0].min.elements, + h = this._dimension[this._numberOfPSSM].elements, + c[0] = -h[0], + c[1] = -h[1], + c[2] = -this._spiltDistance[this._numberOfPSSM], + (_ = this._boundingBox[0].max.elements)[0] = h[0], + _[1] = h[1], + _[2] = -this._spiltDistance[0], + (u = this._boundingSphere[0].center.elements)[0] = .5 * (c[0] + _[0]), + u[1] = .5 * (c[1] + _[1]), + u[2] = .5 * (c[2] + _[2]), + this._boundingSphere[0].radius = .5 * Math.sqrt(Math.pow(_[0] - c[0], 2) + Math.pow(_[1] - c[1], 2) + Math.pow(_[2] - c[2], 2)) + } + , + e.calcSplitFrustum = function(t) { + this._currentPSSM > 0 ? Me.createPerspective(3.1416 * t.fieldOfView / 180, t.aspectRatio, this._spiltDistance[this._currentPSSM - 1], this._spiltDistance[this._currentPSSM], this._tempMatrix44) : Me.createPerspective(3.1416 * t.fieldOfView / 180, t.aspectRatio, this._spiltDistance[0], this._spiltDistance[this._numberOfPSSM], this._tempMatrix44), + Me.multiply(this._tempMatrix44, t.viewMatrix, this._tempMatrix44), + this._splitFrustumCulling.matrix = this._tempMatrix44 + } + , + e._rebuildRenderInfo = function() { + var t = this._numberOfPSSM + 1 + , e = 0; + if (null == this._renderTarget) + for (this._renderTarget = s(t), + this._renderTarget[0] = null, + e = 1; e < t; e++) + this._renderTarget[e] = new rn(this._shadowMapTextureSize,this._shadowMapTextureSize,6408,5121,33189,!1,!1,9728,9728); + else if (this._renderTarget.length != t) + for (this.disposeAllRenderTarget(), + this._renderTarget.length = t, + this._renderTarget[0] = null, + e = 1; e < t; e++) + this._renderTarget[e] = new rn(this._shadowMapTextureSize,this._shadowMapTextureSize,6408,5121,33189,!1,!1,9728,9728); + else + for (e = 1; e < t; e++) + null != this._renderTarget[e] && this._renderTarget[e].width == this._shadowMapTextureSize && this._renderTarget[e].height == this._shadowMapTextureSize || (null != this._renderTarget[e] && this._renderTarget[e].destroy(), + this._renderTarget[e] = new rn(this._shadowMapTextureSize,this._shadowMapTextureSize,6408,5121,33189,!1,!1,9728,9728)); + if (null == this._lightCulling || this._lightCulling.length != t) + for (this._lightCulling ? this._lightCulling.length = t : this._lightCulling = s(t), + e = 0; e < this._lightCulling.length; e++) + this._lightCulling[e] = new we(Me.DEFAULT); + if (null == this._lightVPMatrix || this._lightVPMatrix.length != t) + for (this._lightVPMatrix ? this._lightVPMatrix.length = t : this._lightVPMatrix = s(t), + e = 0; e < this._lightVPMatrix.length; e++) + this._lightVPMatrix[e] = new Me; + if (null == this._lightCameras || this._lightCameras.length != t) + for (this._lightCameras ? this._lightCameras.length = t : this._lightCameras = s(t), + e = 0; e < this._lightCameras.length; e++) + this._lightCameras[e] = new pn, + this._lightCameras[e].name = "lightCamera" + e; + if (null == this._shadowQuenes || this._shadowQuenes.length != this._numberOfPSSM) + for (this._shadowQuenes ? this._shadowQuenes.length = this._numberOfPSSM : this._shadowQuenes = s(this._numberOfPSSM), + e = 0; e < this._shadowQuenes.length; e++) + this._shadowQuenes[e] = new _t(this._scene); + if (null == this._shaderValueVPs || this._shaderValueVPs.length != t) + for (this._shaderValueVPs ? this._shaderValueVPs.length = t : this._shaderValueVPs = s(t), + this._shaderValueLightVP = new Float32Array(16 * t), + e = 0; e < t; e++) + this._shaderValueVPs[e] = new Float32Array(this._shaderValueLightVP.buffer,64 * e) + } + , + e._calcLightViewProject = function(e) { + var i = this._boundingSphere[this._currentPSSM] + , n = e.transform.worldMatrix; + i.radius; + i.center.cloneTo(this._tempLookAt3), + Be.transformV3ToV4(this._tempLookAt3, n, this._tempLookAt4); + var a = this._tempLookAt3.elements + , r = this._tempLookAt4.elements; + a[0] = r[0], + a[1] = r[1], + a[2] = r[2]; + var s = this._tempLightUp.elements + , o = e.forward.elements; + s[0] = o[0], + s[1] = 1, + s[2] = o[2], + Be.normalize(this._tempLightUp, this._tempLightUp), + Be.scale(this._globalParallelLightDir, 4 * i.radius, this._tempPos), + Be.subtract(this._tempLookAt3, this._tempPos, this._tempPos); + var l = this._lightCameras[this._currentPSSM]; + l.transform.position = this._tempPos, + l.transform.lookAt(this._tempLookAt3, this._tempLightUp, !1); + var h = this._tempMax.elements + , c = this._tempMin.elements; + h[0] = h[1] = h[2] = -1e5, + h[3] = 1, + c[0] = c[1] = c[2] = 1e5, + c[3] = 1, + Me.multiply(l.viewMatrix, n, this._tempMatrix44); + var _ = this._tempValue.elements + , u = []; + u.length = 8, + this._boundingBox[this._currentPSSM].getCorners(u); + for (var d = 0; d < 8; d++) { + var f = u[d].elements; + _[0] = f[0], + _[1] = f[1], + _[2] = f[2], + _[3] = 1, + ke.transformByM4x4(this._tempValue, this._tempMatrix44, this._tempValue), + c[0] = _[0] < c[0] ? _[0] : c[0], + c[1] = _[1] < c[1] ? _[1] : c[1], + c[2] = _[2] < c[2] ? _[2] : c[2], + h[0] = _[0] > h[0] ? _[0] : h[0], + h[1] = _[1] > h[1] ? _[1] : h[1], + h[2] = _[2] > h[2] ? _[2] : h[2] + } + ke.add(this._tempMax, this._tempMin, this._tempValue), + _[0] *= .5, + _[1] *= .5, + _[2] *= .5, + _[3] = 1, + ke.transformByM4x4(this._tempValue, l.transform.worldMatrix, this._tempValue); + var p = Math.abs(-this._tempMax.z) + , m = p > this._maxDistance ? p : this._maxDistance; + Be.scale(this._globalParallelLightDir, m, this._tempPos); + var g = this._tempPos.elements; + g[0] = _[0] - g[0], + g[1] = _[1] - g[1], + g[2] = _[2] - g[2], + l.transform.position = this._tempPos, + l.transform.lookAt(this._tempLookAt3, this._tempLightUp, !1), + Me.createOrthoOffCenterRH(c[0], h[0], c[1], h[1], 1, m + .5 * (h[2] - c[2]), l.projectionMatrix), + l.projectionViewMatrix.cloneTo(this._lightVPMatrix[this._currentPSSM]), + this._lightCulling[this._currentPSSM].matrix = this._lightVPMatrix[this._currentPSSM], + t.multiplyMatrixOutFloat32Array(this._tempScaleMatrix44, this._lightVPMatrix[this._currentPSSM], this._shaderValueVPs[this._currentPSSM]) + } + , + e.getLightFrustumCulling = function(t) { + return this._lightCulling[t] + } + , + e.getSplitFrustumCulling = function() { + return this._splitFrustumCulling + } + , + e.getSplitDistance = function(t) { + return this._spiltDistance[t] + } + , + e.setShadowMapTextureSize = function(t) { + t !== this._shadowMapTextureSize && (this._shadowMapTextureSize = t, + this._shadowPCFOffset.x = 1 / this._shadowMapTextureSize, + this._shadowPCFOffset.y = 1 / this._shadowMapTextureSize, + this._statesDirty = !0) + } + , + e.getShadowMapTextureSize = function() { + return this._shadowMapTextureSize + } + , + e.beginRenderTarget = function(t) { + this._renderTarget[t].start() + } + , + e.endRenderTarget = function(t) { + this._renderTarget[t].end() + } + , + e.getRenderTarget = function(t) { + return this._renderTarget[t] + } + , + e.disposeAllRenderTarget = function() { + for (var t = 0, e = this._numberOfPSSM + 1; t < e; t++) + this._renderTarget[t] && (this._renderTarget[t].destroy(), + this._renderTarget[t] = null) + } + , + r(0, e, "PSSMNum", function() { + return this._numberOfPSSM + }, function(t) { + t = (t = t > 0 ? t : 1) <= 3 ? t : 3, + this._numberOfPSSM != t && (this._numberOfPSSM = t, + this._ratioOfDistance = 1 / this._numberOfPSSM, + this._statesDirty = !0) + }), + t.multiplyMatrixOutFloat32Array = function(t, e, i) { + var n, a, r, s, o, l, h; + for (a = t.elements, + r = e.elements, + n = 0; n < 4; n++) + s = a[n], + o = a[n + 4], + l = a[n + 8], + h = a[n + 12], + i[n] = s * r[0] + o * r[1] + l * r[2] + h * r[3], + i[n + 4] = s * r[4] + o * r[5] + l * r[6] + h * r[7], + i[n + 8] = s * r[8] + o * r[9] + l * r[10] + h * r[11], + i[n + 12] = s * r[12] + o * r[13] + l * r[14] + h * r[15] + } + , + t.SHADERDEFINE_RECEIVE_SHADOW = 1, + t.SHADERDEFINE_CAST_SHADOW = 512, + t.SHADERDEFINE_SHADOW_PSSM1 = 1024, + t.SHADERDEFINE_SHADOW_PSSM2 = 2048, + t.SHADERDEFINE_SHADOW_PSSM3 = 4096, + t.SHADERDEFINE_SHADOW_PCF_NO = 8192, + t.SHADERDEFINE_SHADOW_PCF1 = 16384, + t.SHADERDEFINE_SHADOW_PCF2 = 32768, + t.SHADERDEFINE_SHADOW_PCF3 = 65536, + t.MAX_PSSM_COUNT = 3, + t + }() + , Ge = function() { + function t() { + this._boundingSphere = null, + this._boundingBox = null, + this._sizeOfY = null, + this._currentLODLevel = 0, + this._lastDistanceToEye = NaN, + this._originalBoundingSphere = null, + this._originalBoundingBox = null, + this._originalBoundingBoxCorners = null, + this._bUseStrip = !1, + this._gridSize = NaN, + this._beginGridX = 0, + this._beginGridZ = 0, + this._LODError = null, + t.__init__(), + this._currentLODLevel = 0 + } + a(t, "laya.d3.terrain.TerrainLeaf"); + var e = t.prototype; + return e.calcVertextNorml = function(e, i, n, a, r, s) { + var o = 0 + , l = 0; + l = -1 * t.getHeightFromTerrainHeightData(e - 1, i - 1, n, a, r), + l += -1 * t.getHeightFromTerrainHeightData(e - 1, i, n, a, r), + l += -1 * t.getHeightFromTerrainHeightData(e - 1, i + 1, n, a, r), + l += 1 * t.getHeightFromTerrainHeightData(e + 1, i - 1, n, a, r), + l += 1 * t.getHeightFromTerrainHeightData(e + 1, i, n, a, r), + l += 1 * t.getHeightFromTerrainHeightData(e + 1, i + 1, n, a, r), + o = -1 * t.getHeightFromTerrainHeightData(e - 1, i - 1, n, a, r), + o += -1 * t.getHeightFromTerrainHeightData(e, i - 1, n, a, r), + o += -1 * t.getHeightFromTerrainHeightData(e + 1, i - 1, n, a, r), + o += 1 * t.getHeightFromTerrainHeightData(e - 1, i + 1, n, a, r), + o += 1 * t.getHeightFromTerrainHeightData(e, i + 1, n, a, r), + o += 1 * t.getHeightFromTerrainHeightData(e + 1, i + 1, n, a, r), + s.x = -l, + s.y = 6, + s.z = -o, + Be.normalize(s, s) + } + , + e.calcVertextNormlUV = function(t, e, i, n, a) { + a.x = t / i, + a.y = e / n, + a.z = e / n + } + , + e.calcVertextBuffer = function(e, i, n, a, r, s, o, l, h, c, _, u) { + if (1 == u && !t.__ADAPT_MATRIX__) { + t.__ADAPT_MATRIX__ = new Me; + var d = new Me; + Me.createRotationY(Math.PI, t.__ADAPT_MATRIX__), + Me.createTranslate(new Be(0,0,(_ - 1) * r), d), + Me.multiply(d, t.__ADAPT_MATRIX__, t.__ADAPT_MATRIX__), + t.__ADAPT_MATRIX_INV__ = new Me, + t.__ADAPT_MATRIX__.invert(t.__ADAPT_MATRIX_INV__) + } + this._gridSize = r, + this._beginGridX = e * t.CHUNK_GRID_NUM + n, + this._beginGridZ = i * t.CHUNK_GRID_NUM + a; + for (var f = o * l, p = 2147483647, m = -2147483648, g = new Be, y = 0, v = t.LEAF_GRID_NUM + 1; y < v; y++) + for (var b = 0, w = t.LEAF_GRID_NUM + 1; b < w; b++) + t.__VECTOR3__.x = (this._beginGridX + b) * this._gridSize, + t.__VECTOR3__.z = (this._beginGridZ + y) * this._gridSize, + t.__VECTOR3__.y = h[(this._beginGridZ + y) * c + (this._beginGridX + b)], + p = t.__VECTOR3__.y < p ? t.__VECTOR3__.y : p, + m = t.__VECTOR3__.y > m ? t.__VECTOR3__.y : m, + t.__ADAPT_MATRIX__ && Be.transformV3ToV3(t.__VECTOR3__, t.__ADAPT_MATRIX__, t.__VECTOR3__), + s[f] = t.__VECTOR3__.x, + s[++f] = t.__VECTOR3__.y, + s[++f] = t.__VECTOR3__.z, + f++, + this.calcVertextNormlUV(this._beginGridX + b, this._beginGridZ + y, c, _, g), + s[f] = g.x, + s[++f] = g.y, + s[++f] = g.z, + s[++f] = (n + b) / t.CHUNK_GRID_NUM, + s[++f] = (a + y) / t.CHUNK_GRID_NUM, + s[++f] = this._beginGridX + b, + s[++f] = this._beginGridZ + y, + f++; + this._sizeOfY = new Ae(p - 1,m + 1), + this.calcLODErrors(h, c, _), + this.calcOriginalBoudingBoxAndSphere() + } + , + e.calcSkirtVertextBuffer = function(e, i, n, a, r, s, o, l, h, c, _) { + this._gridSize = r, + this._beginGridX = e * t.CHUNK_GRID_NUM + n, + this._beginGridZ = i * t.CHUNK_GRID_NUM + a; + var u = o * l + , d = 0 + , f = 0 + , p = t.LEAF_GRID_NUM + 1 + , m = new Be + , g = 0 + , y = 0; + for (d = 0; d < 2; d++) + for (f = 0; f < p; f++) + t.__VECTOR3__.x = (this._beginGridX + f) * this._gridSize, + t.__VECTOR3__.y = 1 == d ? h[this._beginGridZ * c + (this._beginGridX + f)] : -this._gridSize, + t.__VECTOR3__.z = (this._beginGridZ + 0) * this._gridSize, + t.__ADAPT_MATRIX__ && Be.transformV3ToV3(t.__VECTOR3__, t.__ADAPT_MATRIX__, t.__VECTOR3__), + s[u] = t.__VECTOR3__.x, + s[++u] = t.__VECTOR3__.y, + s[++u] = t.__VECTOR3__.z, + u++, + g = 0 == d ? this._beginGridZ - 1 : this._beginGridZ, + this.calcVertextNormlUV(this._beginGridX + f, g, c, _, m), + s[u] = m.x, + s[++u] = m.y, + s[++u] = m.z, + s[++u] = (n + f) / t.CHUNK_GRID_NUM, + s[++u] = (a + 0) / t.CHUNK_GRID_NUM, + s[++u] = this._beginGridX + f, + s[++u] = g, + u++; + for (d = 0; d < 2; d++) + for (f = 0; f < p; f++) + t.__VECTOR3__.x = (this._beginGridX + f) * this._gridSize, + t.__VECTOR3__.y = 0 == d ? h[(this._beginGridZ + t.LEAF_GRID_NUM) * c + (this._beginGridX + f)] : -this._gridSize, + t.__VECTOR3__.z = (this._beginGridZ + t.LEAF_GRID_NUM) * this._gridSize, + t.__ADAPT_MATRIX__ && Be.transformV3ToV3(t.__VECTOR3__, t.__ADAPT_MATRIX__, t.__VECTOR3__), + s[u] = t.__VECTOR3__.x, + s[++u] = t.__VECTOR3__.y, + s[++u] = t.__VECTOR3__.z, + u++, + g = 0 == d ? this._beginGridZ + t.LEAF_GRID_NUM : this._beginGridZ + t.LEAF_GRID_NUM + 1, + this.calcVertextNormlUV(this._beginGridX + f, g, c, _, m), + s[u] = m.x, + s[++u] = m.y, + s[++u] = m.z, + s[++u] = (n + f) / t.CHUNK_GRID_NUM, + s[++u] = (a + t.LEAF_GRID_NUM) / t.CHUNK_GRID_NUM, + s[++u] = this._beginGridX + f, + s[++u] = g, + u++; + for (d = 0; d < 2; d++) + for (f = 0; f < p; f++) + t.__VECTOR3__.x = (this._beginGridX + 0) * this._gridSize, + t.__VECTOR3__.y = 0 == d ? h[(this._beginGridZ + f) * c + (this._beginGridX + 0)] : -this._gridSize, + t.__VECTOR3__.z = (this._beginGridZ + f) * this._gridSize, + t.__ADAPT_MATRIX__ && Be.transformV3ToV3(t.__VECTOR3__, t.__ADAPT_MATRIX__, t.__VECTOR3__), + s[u] = t.__VECTOR3__.x, + s[++u] = t.__VECTOR3__.y, + s[++u] = t.__VECTOR3__.z, + u++, + y = 0 == d ? this._beginGridX : this._beginGridX - 1, + this.calcVertextNormlUV(y, this._beginGridZ + f, c, _, m), + s[u] = m.x, + s[++u] = m.y, + s[++u] = m.z, + s[++u] = (n + 0) / t.CHUNK_GRID_NUM, + s[++u] = (a + f) / t.CHUNK_GRID_NUM, + s[++u] = y, + s[++u] = this._beginGridZ + f, + u++; + for (d = 0; d < 2; d++) + for (f = 0; f < p; f++) + t.__VECTOR3__.x = (this._beginGridX + t.LEAF_GRID_NUM) * this._gridSize, + t.__VECTOR3__.y = 1 == d ? h[(this._beginGridZ + f) * c + (this._beginGridX + t.LEAF_GRID_NUM)] : -this._gridSize, + t.__VECTOR3__.z = (this._beginGridZ + f) * this._gridSize, + t.__ADAPT_MATRIX__ && Be.transformV3ToV3(t.__VECTOR3__, t.__ADAPT_MATRIX__, t.__VECTOR3__), + s[u] = t.__VECTOR3__.x, + s[++u] = t.__VECTOR3__.y, + s[++u] = t.__VECTOR3__.z, + u++, + y = 0 == d ? this._beginGridX + t.LEAF_GRID_NUM + 1 : this._beginGridX + t.LEAF_GRID_NUM, + this.calcVertextNormlUV(y, this._beginGridZ + f, c, _, m), + s[u] = m.x, + s[++u] = m.y, + s[++u] = m.z, + s[++u] = (n + t.LEAF_GRID_NUM) / t.CHUNK_GRID_NUM, + s[++u] = (a + f) / t.CHUNK_GRID_NUM, + s[++u] = y, + s[++u] = this._beginGridZ + f, + u++ + } + , + e.calcOriginalBoudingBoxAndSphere = function() { + var e = new Be(this._beginGridX * this._gridSize,this._sizeOfY.x,this._beginGridZ * this._gridSize) + , i = new Be((this._beginGridX + t.LEAF_GRID_NUM) * this._gridSize,this._sizeOfY.y,(this._beginGridZ + t.LEAF_GRID_NUM) * this._gridSize); + t.__ADAPT_MATRIX__ && (Be.transformV3ToV3(e, t.__ADAPT_MATRIX__, e), + Be.transformV3ToV3(i, t.__ADAPT_MATRIX__, i)), + this._originalBoundingBox = new be(e,i); + var n = new Be; + Be.subtract(i, e, n), + Be.scale(n, .5, n); + var a = new Be; + Be.add(e, n, a), + this._originalBoundingSphere = new xe(a,Be.scalarLength(n)), + this._originalBoundingBoxCorners = s(8, null), + this._originalBoundingBox.getCorners(this._originalBoundingBoxCorners), + this._boundingBox = new be(new Be(-.5,-.5,-.5),new Be(.5,.5,.5)), + this._boundingSphere = new xe(new Be(0,0,0),1) + } + , + e.calcLeafBoudingBox = function(t) { + for (var e = 0; e < 8; e++) + Be.transformCoordinate(this._originalBoundingBoxCorners[e], t, ei._tempBoundBoxCorners[e]); + be.createfromPoints(ei._tempBoundBoxCorners, this._boundingBox) + } + , + e.calcLeafBoudingSphere = function(t, e) { + Be.transformCoordinate(this._originalBoundingSphere.center, t, this._boundingSphere.center), + this._boundingSphere.radius = this._originalBoundingSphere.radius * e + } + , + e.calcLODErrors = function(e, i, n) { + this._LODError = new Float32Array(t._maxLODLevel + 1); + for (var a = 1, r = 0, s = t._maxLODLevel + 1; r < s; r++) { + for (var o = 0, l = 0, h = t.LEAF_GRID_NUM; l < h; l += a) + for (var c = 0, _ = t.LEAF_GRID_NUM; c < _; c += a) + for (var u = e[(this._beginGridZ + l) * i + (this._beginGridX + c)], d = e[(this._beginGridZ + l) * i + (this._beginGridX + c) + a], f = e[(this._beginGridZ + l + a) * i + (this._beginGridX + c)], p = e[(this._beginGridZ + l + a) * i + (this._beginGridX + c) + a], m = 0; m < a; m++) + for (var g = m / a, y = 0; y < a; y++) { + var v = y / a + , b = e[(this._beginGridZ + l + m) * i + (this._beginGridX + c) + y] + , w = v + g <= 1 ? u + (d - u) * v + (f - u) * g : p + (f - p) * (1 - v) + (d - p) * (1 - g) + , x = Math.abs(w - b); + o = Math.max(o, x) + } + a *= 2, + this._LODError[r] = o + } + } + , + e.determineLod = function(e, i, n, a) { + var r = Be.distance(e, this._boundingSphere.center) + , s = t._maxLODLevel; + if (!a) { + if (this._lastDistanceToEye == r) + return this._currentLODLevel; + this._lastDistanceToEye > r && (s = this._currentLODLevel) + } + for (var o = s; o >= 1; o--) + if (fn.LOD_DISTANCE_FACTOR * this._LODError[o] / r * i < n) { + this._currentLODLevel = o; + break + } + return this._lastDistanceToEye = r, + this._currentLODLevel + } + , + t.__init__ = function() { + if (!t._bInit) { + var e = t.CHUNK_GRID_NUM / t.LEAF_GRID_NUM * (t.CHUNK_GRID_NUM / t.LEAF_GRID_NUM); + t._planeLODIndex = s(e); + var i = 0 + , n = 0 + , a = 0 + , r = 0 + , o = 0 + , l = 0 + , h = null + , c = null; + for (i = 0; i < e; i++) + t._planeLODIndex[i] = new Array(t._maxLODLevel + 1); + for (i = 0, + r = t._maxLODLevel + 1; i < r; i++) + t._planeLODIndex[0][i] = t.calcPlaneLODIndex(i); + for (i = 1; i < e; i++) + for (l = i * t.LEAF_PLANE_VERTEXT_COUNT, + n = 0, + o = t._maxLODLevel + 1; n < o; n++) { + for (h = t._planeLODIndex[0][n], + c = new Uint16Array(h.length), + a = 0; a < h.length; a++) + c[a] = h[a] + l; + t._planeLODIndex[i][n] = c + } + for (t._skirtLODIndex = s(e), + i = 0; i < e; i++) + t._skirtLODIndex[i] = new Array(t._maxLODLevel + 1); + for (i = 0, + r = t._maxLODLevel + 1; i < r; i++) + t._skirtLODIndex[0][i] = t.calcSkirtLODIndex(i); + for (i = 1; i < e; i++) + for (l = i * t.LEAF_SKIRT_VERTEXT_COUNT, + n = 0, + o = t._maxLODLevel + 1; n < o; n++) { + for (h = t._skirtLODIndex[0][n], + c = new Uint16Array(h.length), + a = 0; a < h.length; a++) + c[a] = h[a] + l; + t._skirtLODIndex[i][n] = c + } + t._bInit = !0 + } + } + , + t.getPlaneLODIndex = function(e, i) { + return t._planeLODIndex[e][i] + } + , + t.getSkirtLODIndex = function(e, i) { + return t._skirtLODIndex[e][i] + } + , + t.calcPlaneLODIndex = function(e) { + e > t._maxLODLevel && (e = t._maxLODLevel); + var i = t.LEAF_GRID_NUM + 1 + , n = 0 + , a = null + , r = laya.d3.terrain.TerrainLeaf.LEAF_GRID_NUM / Math.pow(2, e); + a = new Uint16Array(r * r * 6); + for (var s = laya.d3.terrain.TerrainLeaf.LEAF_GRID_NUM / r, o = 0; o < t.LEAF_GRID_NUM; o += s) + for (var l = 0; l < t.LEAF_GRID_NUM; l += s) + a[n] = (o + s) * i + l, + a[++n] = o * i + l, + a[++n] = o * i + l + s, + a[++n] = o * i + l + s, + a[++n] = (o + s) * i + l + s, + a[++n] = (o + s) * i + l, + n++; + return a + } + , + t.calcSkirtLODIndex = function(e) { + e > t._maxLODLevel && (e = t._maxLODLevel); + var i = t.CHUNK_GRID_NUM / t.LEAF_GRID_NUM * (t.CHUNK_GRID_NUM / t.LEAF_GRID_NUM) * t.LEAF_PLANE_VERTEXT_COUNT + , n = t.LEAF_GRID_NUM + 1 + , a = 0 + , r = null + , s = laya.d3.terrain.TerrainLeaf.LEAF_GRID_NUM / Math.pow(2, e); + r = new Uint16Array(4 * s * 6); + for (var o = laya.d3.terrain.TerrainLeaf.LEAF_GRID_NUM / s, l = 0; l < 4; l++) { + for (var h = 0; h < t.LEAF_GRID_NUM; h += o) + r[a] = i + n + h, + r[++a] = i + h, + r[++a] = i + h + o, + r[++a] = i + h + o, + r[++a] = i + n + h + o, + r[++a] = i + n + h, + a++; + i += 2 * n + } + return r + } + , + t.getHeightFromTerrainHeightData = function(t, e, i, n, a) { + return t = t < 0 ? 0 : t, + t = t >= n ? n - 1 : t, + e = e < 0 ? 0 : e, + e = e >= a ? a - 1 : e, + i[e * n + t] + } + , + t.CHUNK_GRID_NUM = 64, + t.LEAF_GRID_NUM = 32, + t.__ADAPT_MATRIX__ = null, + t.__ADAPT_MATRIX_INV__ = null, + t._planeLODIndex = null, + t._skirtLODIndex = null, + t._bInit = !1, + n(t, ["LEAF_PLANE_VERTEXT_COUNT", function() { + return this.LEAF_PLANE_VERTEXT_COUNT = (t.LEAF_GRID_NUM + 1) * (t.LEAF_GRID_NUM + 1) + } + , "LEAF_SKIRT_VERTEXT_COUNT", function() { + return this.LEAF_SKIRT_VERTEXT_COUNT = 2 * (t.LEAF_GRID_NUM + 1) * 4 + } + , "LEAF_VERTEXT_COUNT", function() { + return this.LEAF_VERTEXT_COUNT = t.LEAF_PLANE_VERTEXT_COUNT + t.LEAF_SKIRT_VERTEXT_COUNT + } + , "LEAF_PLANE_MAX_INDEX_COUNT", function() { + return this.LEAF_PLANE_MAX_INDEX_COUNT = t.LEAF_GRID_NUM * t.LEAF_GRID_NUM * 6 + } + , "LEAF_SKIRT_MAX_INDEX_COUNT", function() { + return this.LEAF_SKIRT_MAX_INDEX_COUNT = 4 * t.LEAF_GRID_NUM * 6 + } + , "LEAF_MAX_INDEX_COUNT", function() { + return this.LEAF_MAX_INDEX_COUNT = t.LEAF_PLANE_MAX_INDEX_COUNT + t.LEAF_SKIRT_MAX_INDEX_COUNT + } + , "__VECTOR3__", function() { + return this.__VECTOR3__ = new Be + } + , "_maxLODLevel", function() { + return this._maxLODLevel = Math.log2(t.LEAF_GRID_NUM) + } + ]), + t + }() + , ze = function() { + function t() { + this.alphaMap = null, + this.detailID = null, + this.normalMap = null + } + return a(t, "laya.d3.terrain.unit.ChunkInfo"), + t + }() + , je = function() { + function t() { + this.diffuseTexture = null, + this.normalTexture = null, + this.scale = null, + this.offset = null + } + return a(t, "laya.d3.terrain.unit.DetailTextureInfo"), + t + }() + , We = function() { + function t() { + this.ambientColor = null, + this.diffuseColor = null, + this.specularColor = null + } + return a(t, "laya.d3.terrain.unit.MaterialInfo"), + t + }() + , Xe = function() { + function t() {} + return a(t, "laya.d3.utils.Physics"), + t.__init__ = function() { + t._layerCollsionMatrix.length = 31; + for (var e = 0; e < 31; e++) { + var i = [] + , n = 31 - e; + i.length = n; + for (var a = 0; a < n; a++) + i[a] = a === n - 1; + t._layerCollsionMatrix[e] = i + } + } + , + t.setLayerCollision = function(e, i, n) { + t._layerCollsionMatrix[e.number][30 - i.number] = n + } + , + t.getLayerCollision = function(e, i) { + return t._layerCollsionMatrix[e.number][30 - i.number] + } + , + t.setColliderCollision = function(t, e, i) { + i ? (delete t._ignoreCollisonMap[e.id], + delete e._ignoreCollisonMap[t.id]) : (t._ignoreCollisonMap[e.id] = e, + e._ignoreCollisonMap[t.id] = t) + } + , + t.getIColliderCollision = function(t, e) { + return !!t._ignoreCollisonMap[e.id] + } + , + t.rayCast = function(e, i, n, a) { + void 0 === n && (n = 1.79e308), + void 0 === a && (a = 0), + t._outHitAllInfo.length = 0; + for (var r = z.getLayerByNumber(a)._colliders, s = 0, o = r.length; s < o; s++) { + var l = r[s]; + if (l.enable && (l.raycast(e, t._outHitInfo, n), + -1 !== t._outHitInfo.distance && t._outHitInfo.distance <= n)) { + var h = new Ye; + t._outHitInfo.cloneTo(h), + t._outHitAllInfo.push(h) + } + } + if (0 == t._outHitAllInfo.length) + return i.sprite3D = null, + void (i.distance = -1); + for (var c = Number.MAX_VALUE, _ = 0, u = 0; u < t._outHitAllInfo.length; u++) + t._outHitAllInfo[u].distance < c && (c = t._outHitAllInfo[u].distance, + _ = u); + t._outHitAllInfo[_].cloneTo(i) + } + , + t.rayCastAll = function(e, i, n, a) { + void 0 === n && (n = 1.79e308), + void 0 === a && (a = 0), + i.length = 0; + for (var r = z.getLayerByNumber(a)._colliders, s = 0, o = r.length; s < o; s++) { + var l = r[s]; + if (l.enable && (t._outHitInfo.distance = -1, + t._outHitInfo.sprite3D = null, + l.raycast(e, t._outHitInfo, n), + -1 !== t._outHitInfo.distance && t._outHitInfo.distance <= n)) { + var h = new Ye; + t._outHitInfo.cloneTo(h), + i.push(h) + } + } + } + , + t._outHitAllInfo = [], + t._layerCollsionMatrix = [], + n(t, ["_outHitInfo", function() { + return this._outHitInfo = new Ye + } + , "collisionManager", function() { + return this.collisionManager = new ni + } + , "gravity", function() { + return this.gravity = new Be(0,-9.81,0) + } + ]), + t + }() + , qe = function() { + function t() {} + return a(t, "laya.d3.utils.Picker"), + t.calculateCursorRay = function(e, i, n, a, r, s) { + var o = e.elements[0] + , l = e.elements[1] + , h = t._tempVector30 + , c = h.elements; + c[0] = o, + c[1] = l, + c[2] = i.minDepth; + var _ = t._tempVector31 + , u = _.elements; + u[0] = o, + u[1] = l, + u[2] = i.maxDepth; + var d = s.origin + , f = t._tempVector32; + i.unprojectFromWVP(h, n, a, r, d), + i.unprojectFromWVP(_, n, a, r, f); + var p = s.direction.elements; + p[0] = f.x - d.x, + p[1] = f.y - d.y, + p[2] = f.z - d.z, + Be.normalize(s.direction, s.direction) + } + , + t.rayIntersectsPositionsAndIndices = function(e, i, n, a, r) { + for (var s = n.vertexStride / 4, o = n.getVertexElementByUsage(0).offset / 4, l = Number.MAX_VALUE, h = -1, c = -1, _ = -1, u = 0; u < a.length; u += 3) { + var d = t._tempVector35 + , f = d.elements + , p = a[u] * s + , m = p + o; + f[0] = i[m], + f[1] = i[m + 1], + f[2] = i[m + 2]; + var g = t._tempVector36 + , y = g.elements + , v = a[u + 1] * s + , b = v + o; + y[0] = i[b], + y[1] = i[b + 1], + y[2] = i[b + 2]; + var w = t._tempVector37 + , x = w.elements + , I = a[u + 2] * s + , C = I + o; + x[0] = i[C], + x[1] = i[C + 1], + x[2] = i[C + 2]; + var S = laya.d3.utils.Picker.rayIntersectsTriangle(e, d, g, w); + !isNaN(S) && S < l && (l = S, + h = p, + c = v, + _ = I) + } + if (l !== Number.MAX_VALUE) { + r.distance = l, + Be.scale(e.direction, l, r.position), + Be.add(e.origin, r.position, r.position); + var M = r.trianglePositions + , L = M[0] + , T = M[1] + , E = M[2] + , D = L.elements + , N = T.elements + , A = E.elements + , B = h + o; + D[0] = i[B], + D[1] = i[B + 1], + D[2] = i[B + 2]; + var k = c + o; + N[0] = i[k], + N[1] = i[k + 1], + N[2] = i[k + 2]; + var R = _ + o; + A[0] = i[R], + A[1] = i[R + 1], + A[2] = i[R + 2]; + var P = n.getVertexElementByUsage(3); + if (P) { + var O = P.offset / 4 + , U = r.triangleNormals + , V = U[0] + , F = U[1] + , H = U[2] + , G = V.elements + , z = F.elements + , j = H.elements + , W = h + O; + G[0] = i[W], + G[1] = i[W + 1], + G[2] = i[W + 2]; + var X = c + O; + z[0] = i[X], + z[1] = i[X + 1], + z[2] = i[X + 2]; + var q = _ + O; + j[0] = i[q], + j[1] = i[q + 1], + j[2] = i[q + 2] + } + return !0 + } + return r.position.toDefault(), + r.distance = Number.MAX_VALUE, + r.trianglePositions[0].toDefault(), + r.trianglePositions[1].toDefault(), + r.trianglePositions[2].toDefault(), + r.triangleNormals[0].toDefault(), + r.triangleNormals[1].toDefault(), + r.triangleNormals[2].toDefault(), + !1 + } + , + t.rayIntersectsTriangle = function(e, i, n, a) { + var r = t._tempVector30 + , s = t._tempVector31; + Be.subtract(n, i, r), + Be.subtract(a, i, s); + var o = t._tempVector32; + Be.cross(e.direction, s, o); + var l; + if ((l = Be.dot(r, o)) > -Number.MIN_VALUE && l < Number.MIN_VALUE) + return Number.NaN; + var h = 1 / l + , c = t._tempVector33; + Be.subtract(e.origin, i, c); + var _; + if (_ = Be.dot(c, o), + (_ *= h) < 0 || _ > 1) + return Number.NaN; + var u = t._tempVector34; + Be.cross(c, r, u); + var d; + if (d = Be.dot(e.direction, u), + (d *= h) < 0 || _ + d > 1) + return Number.NaN; + var f; + return f = Be.dot(s, u), + (f *= h) < 0 ? Number.NaN : f + } + , + n(t, ["_tempVector30", function() { + return this._tempVector30 = new Be + } + , "_tempVector31", function() { + return this._tempVector31 = new Be + } + , "_tempVector32", function() { + return this._tempVector32 = new Be + } + , "_tempVector33", function() { + return this._tempVector33 = new Be + } + , "_tempVector34", function() { + return this._tempVector34 = new Be + } + , "_tempVector35", function() { + return this._tempVector35 = new Be + } + , "_tempVector36", function() { + return this._tempVector36 = new Be + } + , "_tempVector37", function() { + return this._tempVector37 = new Be + } + ]), + t + }() + , Ye = function() { + function t() { + this.distance = NaN, + this.trianglePositions = null, + this.triangleNormals = null, + this.position = null, + this.sprite3D = null, + this.distance = -1, + this.trianglePositions = [new Be, new Be, new Be], + this.trianglePositions.length = 3, + this.triangleNormals = [new Be, new Be, new Be], + this.triangleNormals.length = 3, + this.position = new Be + } + a(t, "laya.d3.utils.RaycastHit"); + return t.prototype.cloneTo = function(t) { + t.distance = this.distance, + this.trianglePositions[0].cloneTo(t.trianglePositions[0]), + this.trianglePositions[1].cloneTo(t.trianglePositions[1]), + this.trianglePositions[2].cloneTo(t.trianglePositions[2]), + this.triangleNormals[0].cloneTo(t.triangleNormals[0]), + this.triangleNormals[1].cloneTo(t.triangleNormals[1]), + this.triangleNormals[2].cloneTo(t.triangleNormals[2]), + this.position.cloneTo(t.position), + t.sprite3D = this.sprite3D + } + , + t + }() + , Je = function() { + function t(t, e) { + this._width = 0, + this._height = 0, + this._width = t, + this._height = e + } + a(t, "laya.d3.utils.Size"); + var e = t.prototype; + return r(0, e, "width", function() { + return -1 === this._width ? ut.clientWidth : this._width + }), + r(0, e, "height", function() { + return -1 === this._height ? ut.clientHeight : this._height + }), + r(1, t, "fullScreen", function() { + return new t(-1,-1) + }), + t + }() + , Ke = function() { + function t() {} + return a(t, "laya.d3.utils.Utils3D"), + t._rotationTransformScaleSkinAnimation = function(e, i, n, a, r, s, o, l, h, c, _, u) { + var d = t._tempArray16_0 + , f = t._tempArray16_1 + , p = t._tempArray16_2 + , m = a + a + , g = r + r + , y = s + s + , v = a * m + , b = r * m + , w = r * g + , x = s * m + , I = s * g + , C = s * y + , S = o * m + , M = o * g + , L = o * y; + d[15] = 1, + d[0] = 1 - w - C, + d[1] = b + L, + d[2] = x - M, + d[4] = b - L, + d[5] = 1 - v - C, + d[6] = I + S, + d[8] = x + M, + d[9] = I - S, + d[10] = 1 - v - w, + f[15] = 1, + f[0] = l, + f[5] = h, + f[10] = c; + var T, E, D, N, A; + for (T = 0; T < 4; T++) + E = d[T], + D = d[T + 4], + N = d[T + 8], + A = d[T + 12], + p[T] = E, + p[T + 4] = D, + p[T + 8] = N, + p[T + 12] = E * e + D * i + N * n + A; + for (T = 0; T < 4; T++) + E = p[T], + D = p[T + 4], + N = p[T + 8], + A = p[T + 12], + _[T + u] = E * f[0] + D * f[1] + N * f[2] + A * f[3], + _[T + u + 4] = E * f[4] + D * f[5] + N * f[6] + A * f[7], + _[T + u + 8] = E * f[8] + D * f[9] + N * f[10] + A * f[11], + _[T + u + 12] = E * f[12] + D * f[13] + N * f[14] + A * f[15] + } + , + t._createNodeByJson = function(e, i, n, a) { + if (!n) + switch (i.type) { + case "Sprite3D": + n = new Pi; + break; + case "MeshSprite3D": + n = new gn; + break; + case "SkinnedMeshSprite3D": + n = new vn; + break; + case "ShuriKenParticle3D": + n = new yn; + break; + case "TrailSprite3D": + n = new bn; + break; + case "Terrain": + n = new fn; + break; + case "Camera": + n = new pn; + break; + case "DirectionLight": + n = new mn; + break; + default: + throw new Error("Utils3D:unidentified class type in (.lh) file.") + } + var r = i.props; + if (r) + for (var s in r) + n[s] = r[s]; + var o = i.customProps; + o && (n instanceof laya.d3.core.Sprite3D ? (n._parseBaseCustomProps(o), + n._parseCustomProps(e, a, o, i), + n._parseCustomComponent(e, a, i.components)) : n._parseCustomProps(e, a, o, i)); + var l = i.child; + if (l) + for (var h = 0, c = l.length; h < c; h++) { + var _ = t._createNodeByJson(e, l[h], null, a); + n.addChild(_) + } + return n + } + , + t._computeBoneAndAnimationDatasByBindPoseMatrxix = function(t, e, i, n, a, r) { + var s, o, l = 0, h = 0, c = t.length; + for (s = 0; s < c; l += t[s].keyframeWidth, + h += 16, + s++) + laya.d3.utils.Utils3D._rotationTransformScaleSkinAnimation(e[l + 0], e[l + 1], e[l + 2], e[l + 3], e[l + 4], e[l + 5], e[l + 6], e[l + 7], e[l + 8], e[l + 9], n, h), + 0 != s && (o = 16 * t[s].parentIndex, + laya.d3.utils.Utils3D.mulMatrixByArray(n, o, n, h, n, h)); + var _ = i.length; + for (s = 0; s < _; s++) + laya.d3.utils.Utils3D.mulMatrixByArrayAndMatrixFast(n, 16 * r[s], i[s], a, 16 * s) + } + , + t._computeAnimationDatasByArrayAndMatrixFast = function(t, e, i, n) { + for (var a = 0, r = t.length; a < r; a++) + laya.d3.utils.Utils3D.mulMatrixByArrayAndMatrixFast(e, 16 * n[a], t[a], i, 16 * a) + } + , + t._computeBoneAndAnimationDatasByBindPoseMatrxixOld = function(t, e, i, n, a) { + var r, s, o = 0, l = 0, h = t.length; + for (r = 0; r < h; o += t[r].keyframeWidth, + l += 16, + r++) + laya.d3.utils.Utils3D._rotationTransformScaleSkinAnimation(e[o + 7], e[o + 8], e[o + 9], e[o + 3], e[o + 4], e[o + 5], e[o + 6], e[o + 0], e[o + 1], e[o + 2], n, l), + 0 != r && (s = 16 * t[r].parentIndex, + laya.d3.utils.Utils3D.mulMatrixByArray(n, s, n, l, n, l)); + var c = i.length; + for (r = 0; r < c; r++) { + var _ = 16 * r; + laya.d3.utils.Utils3D.mulMatrixByArrayAndMatrixFast(n, _, i[r], a, _) + } + } + , + t._computeAnimationDatasByArrayAndMatrixFastOld = function(t, e, i) { + for (var n = t.length, a = 0; a < n; a++) { + var r = 16 * a; + laya.d3.utils.Utils3D.mulMatrixByArrayAndMatrixFast(e, r, t[a], i, r) + } + } + , + t._computeRootAnimationData = function(t, e, i) { + for (var n = 0, a = 0, r = 0, s = t.length; n < s; a += t[n].keyframeWidth, + r += 16, + n++) + laya.d3.utils.Utils3D.createAffineTransformationArray(e[a + 0], e[a + 1], e[a + 2], e[a + 3], e[a + 4], e[a + 5], e[a + 6], e[a + 7], e[a + 8], e[a + 9], i, r) + } + , + t.transformVector3ArrayByQuat = function(t, e, i, n, a) { + var r = i.elements + , s = t[e] + , o = t[e + 1] + , l = t[e + 2] + , h = r[0] + , c = r[1] + , _ = r[2] + , u = r[3] + , d = u * s + c * l - _ * o + , f = u * o + _ * s - h * l + , p = u * l + h * o - c * s + , m = -h * s - c * o - _ * l; + n[a] = d * u + m * -h + f * -_ - p * -c, + n[a + 1] = f * u + m * -c + p * -h - d * -_, + n[a + 2] = p * u + m * -_ + d * -c - f * -h + } + , + t.mulMatrixByArray = function(e, i, n, a, r, s) { + var o, l, h, c, _; + if (r === n) { + for (n = t._tempArray16_3, + o = 0; o < 16; ++o) + n[o] = r[s + o]; + a = 0 + } + for (o = 0; o < 4; o++) + l = e[i + o], + h = e[i + o + 4], + c = e[i + o + 8], + _ = e[i + o + 12], + r[s + o] = l * n[a + 0] + h * n[a + 1] + c * n[a + 2] + _ * n[a + 3], + r[s + o + 4] = l * n[a + 4] + h * n[a + 5] + c * n[a + 6] + _ * n[a + 7], + r[s + o + 8] = l * n[a + 8] + h * n[a + 9] + c * n[a + 10] + _ * n[a + 11], + r[s + o + 12] = l * n[a + 12] + h * n[a + 13] + c * n[a + 14] + _ * n[a + 15] + } + , + t.mulMatrixByArrayFast = function(t, e, i, n, a, r) { + var s, o, l, h, c; + for (s = 0; s < 4; s++) + o = t[e + s], + l = t[e + s + 4], + h = t[e + s + 8], + c = t[e + s + 12], + a[r + s] = o * i[n + 0] + l * i[n + 1] + h * i[n + 2] + c * i[n + 3], + a[r + s + 4] = o * i[n + 4] + l * i[n + 5] + h * i[n + 6] + c * i[n + 7], + a[r + s + 8] = o * i[n + 8] + l * i[n + 9] + h * i[n + 10] + c * i[n + 11], + a[r + s + 12] = o * i[n + 12] + l * i[n + 13] + h * i[n + 14] + c * i[n + 15] + } + , + t.mulMatrixByArrayAndMatrixFast = function(t, e, i, n, a) { + var r, s, o, l, h, c = i.elements, _ = c[0], u = c[1], d = c[2], f = c[3], p = c[4], m = c[5], g = c[6], y = c[7], v = c[8], b = c[9], w = c[10], x = c[11], I = c[12], C = c[13], S = c[14], M = c[15], L = e, T = e + 4, E = e + 8, D = e + 12, N = a, A = a + 4, B = a + 8, k = a + 12; + for (r = 0; r < 4; r++) + s = t[L + r], + o = t[T + r], + l = t[E + r], + h = t[D + r], + n[N + r] = s * _ + o * u + l * d + h * f, + n[A + r] = s * p + o * m + l * g + h * y, + n[B + r] = s * v + o * b + l * w + h * x, + n[k + r] = s * I + o * C + l * S + h * M + } + , + t.createAffineTransformationArray = function(t, e, i, n, a, r, s, o, l, h, c, _) { + var u = n + n + , d = a + a + , f = r + r + , p = n * u + , m = n * d + , g = n * f + , y = a * d + , v = a * f + , b = r * f + , w = s * u + , x = s * d + , I = s * f; + c[_ + 0] = (1 - (y + b)) * o, + c[_ + 1] = (m + I) * o, + c[_ + 2] = (g - x) * o, + c[_ + 3] = 0, + c[_ + 4] = (m - I) * l, + c[_ + 5] = (1 - (p + b)) * l, + c[_ + 6] = (v + w) * l, + c[_ + 7] = 0, + c[_ + 8] = (g + x) * h, + c[_ + 9] = (v - w) * h, + c[_ + 10] = (1 - (p + y)) * h, + c[_ + 11] = 0, + c[_ + 12] = t, + c[_ + 13] = e, + c[_ + 14] = i, + c[_ + 15] = 1 + } + , + t.transformVector3ArrayToVector3ArrayCoordinate = function(e, i, n, a, r) { + var s = t._tempArray4_0 + , o = e[i + 0] + , l = e[i + 1] + , h = e[i + 2] + , c = n.elements; + s[0] = o * c[0] + l * c[4] + h * c[8] + c[12], + s[1] = o * c[1] + l * c[5] + h * c[9] + c[13], + s[2] = o * c[2] + l * c[6] + h * c[10] + c[14], + s[3] = 1 / (o * c[3] + l * c[7] + h * c[11] + c[15]), + a[r + 0] = s[0] * s[3], + a[r + 1] = s[1] * s[3], + a[r + 2] = s[2] * s[3] + } + , + t.transformLightingMapTexcoordByUV0Array = function(t, e, i, n, a) { + var r = i.elements; + n[a + 0] = t[e + 0] * r[0] + r[2], + n[a + 1] = (t[e + 1] - 1) * r[1] + r[3] + } + , + t.transformLightingMapTexcoordByUV1Array = function(t, e, i, n, a) { + var r = i.elements; + n[a + 0] = t[e + 0] * r[0] + r[2], + n[a + 1] = 1 + t[e + 1] * r[1] + r[3] + } + , + t.getURLVerion = function(t) { + var e = t.indexOf("?"); + return e >= 0 ? t.substr(e) : null + } + , + t._quaternionCreateFromYawPitchRollArray = function(t, e, i, n) { + var a = .5 * i + , r = .5 * e + , s = .5 * t + , o = Math.sin(a) + , l = Math.cos(a) + , h = Math.sin(r) + , c = Math.cos(r) + , _ = Math.sin(s) + , u = Math.cos(s); + n[0] = u * h * l + _ * c * o, + n[1] = _ * c * l - u * h * o, + n[2] = u * c * o - _ * h * l, + n[3] = u * c * l + _ * h * o + } + , + t._createAffineTransformationArray = function(t, e, i, n) { + var a = e[0] + , r = e[1] + , s = e[2] + , o = e[3] + , l = a + a + , h = r + r + , c = s + s + , _ = a * l + , u = a * h + , d = a * c + , f = r * h + , p = r * c + , m = s * c + , g = o * l + , y = o * h + , v = o * c + , b = i[0] + , w = i[1] + , x = i[2]; + n[0] = (1 - (f + m)) * b, + n[1] = (u + v) * b, + n[2] = (d - y) * b, + n[3] = 0, + n[4] = (u - v) * w, + n[5] = (1 - (_ + m)) * w, + n[6] = (p + g) * w, + n[7] = 0, + n[8] = (d + y) * x, + n[9] = (p - g) * x, + n[10] = (1 - (_ + f)) * x, + n[11] = 0, + n[12] = t[0], + n[13] = t[1], + n[14] = t[2], + n[15] = 1 + } + , + t._mulMatrixArray = function(t, e, i, n) { + var a, r, s, o, l, h = e.elements, c = h[0], _ = h[1], u = h[2], d = h[3], f = h[4], p = h[5], m = h[6], g = h[7], y = h[8], v = h[9], b = h[10], w = h[11], x = h[12], I = h[13], C = h[14], S = h[15], M = n, L = n + 4, T = n + 8, E = n + 12; + for (a = 0; a < 4; a++) + r = t[a], + s = t[a + 4], + o = t[a + 8], + l = t[a + 12], + i[M + a] = r * c + s * _ + o * u + l * d, + i[L + a] = r * f + s * p + o * m + l * g, + i[T + a] = r * y + s * v + o * b + l * w, + i[E + a] = r * x + s * I + o * C + l * S + } + , + t.getYawPitchRoll = function(e, i) { + t.transformQuat(Be.ForwardRH, e, Ee.TEMPVector31), + t.transformQuat(Be.Up, e, Ee.TEMPVector32); + var n = Ee.TEMPVector32.elements; + t.angleTo(Be.ZERO, Ee.TEMPVector31, Ee.TEMPVector33); + var a = Ee.TEMPVector33.elements; + a[0] == Math.PI / 2 ? (a[1] = t.arcTanAngle(n[2], n[0]), + a[2] = 0) : a[0] == -Math.PI / 2 ? (a[1] = t.arcTanAngle(-n[2], -n[0]), + a[2] = 0) : (Me.createRotationY(-a[1], Ee.TEMPMatrix0), + Me.createRotationX(-a[0], Ee.TEMPMatrix1), + Be.transformCoordinate(Ee.TEMPVector32, Ee.TEMPMatrix0, Ee.TEMPVector32), + Be.transformCoordinate(Ee.TEMPVector32, Ee.TEMPMatrix1, Ee.TEMPVector32), + a[2] = t.arcTanAngle(n[1], -n[0])), + a[1] <= -Math.PI && (a[1] = Math.PI), + a[2] <= -Math.PI && (a[2] = Math.PI), + a[1] >= Math.PI && a[2] >= Math.PI && (a[1] = 0, + a[2] = 0, + a[0] = Math.PI - a[0]), + i[0] = a[1], + i[1] = a[0], + i[2] = a[2] + } + , + t.arcTanAngle = function(t, e) { + return 0 == t ? 1 == e ? Math.PI / 2 : -Math.PI / 2 : t > 0 ? Math.atan(e / t) : t < 0 ? e > 0 ? Math.atan(e / t) + Math.PI : Math.atan(e / t) - Math.PI : 0 + } + , + t.angleTo = function(e, i, n) { + Be.subtract(i, e, Ee.TEMPVector30), + Be.normalize(Ee.TEMPVector30, Ee.TEMPVector30), + n.elements[0] = Math.asin(Ee.TEMPVector30.y), + n.elements[1] = t.arcTanAngle(-Ee.TEMPVector30.z, -Ee.TEMPVector30.x) + } + , + t.transformQuat = function(t, e, i) { + var n = i.elements + , a = t.elements + , r = e + , s = a[0] + , o = a[1] + , l = a[2] + , h = r[0] + , c = r[1] + , _ = r[2] + , u = r[3] + , d = u * s + c * l - _ * o + , f = u * o + _ * s - h * l + , p = u * l + h * o - c * s + , m = -h * s - c * o - _ * l; + n[0] = d * u + m * -h + f * -_ - p * -c, + n[1] = f * u + m * -c + p * -h - d * -_, + n[2] = p * u + m * -_ + d * -c - f * -h + } + , + t.quaterionNormalize = function(t, e) { + var i = t[0] + , n = t[1] + , a = t[2] + , r = t[3] + , s = i * i + n * n + a * a + r * r; + s > 0 && (s = 1 / Math.sqrt(s), + e[0] = i * s, + e[1] = n * s, + e[2] = a * s, + e[3] = r * s) + } + , + t.matrix4x4MultiplyFFF = function(t, e, i) { + var n, a, r, s, o; + if (i === e) + for (e = new Float32Array(16), + n = 0; n < 16; ++n) + e[n] = i[n]; + for (n = 0; n < 4; n++) + a = t[n], + r = t[n + 4], + s = t[n + 8], + o = t[n + 12], + i[n] = a * e[0] + r * e[1] + s * e[2] + o * e[3], + i[n + 4] = a * e[4] + r * e[5] + s * e[6] + o * e[7], + i[n + 8] = a * e[8] + r * e[9] + s * e[10] + o * e[11], + i[n + 12] = a * e[12] + r * e[13] + s * e[14] + o * e[15] + } + , + t.matrix4x4MultiplyMFM = function(e, i, n) { + t.matrix4x4MultiplyFFF(e.elements, i, n.elements) + } + , + t._tempVector3_0 = new Be, + t._tempVector3_1 = new Be, + t._tempVector3_2 = new Be, + t._tempVector3_3 = new Be, + t._tempVector3_4 = new Be, + t._tempVector3_5 = new Be, + t._tempVector3_6 = new Be, + t._tempArray4_0 = new Float32Array(4), + t._tempArray16_0 = new Float32Array(16), + t._tempArray16_1 = new Float32Array(16), + t._tempArray16_2 = new Float32Array(16), + t._tempArray16_3 = new Float32Array(16), + n(t, ["_typeToFunO", function() { + return this._typeToFunO = { + INT16: "writeInt16", + SHORT: "writeInt16", + UINT16: "writeUint16", + UINT32: "writeUint32", + FLOAT32: "writeFloat32", + INT: "writeInt32", + UINT: "writeUint32", + BYTE: "writeByte", + STRING: "writeUTFString" + } + } + ]), + t + }() + , Ze = function() { + function t() {} + return a(t, "Laya3D"), + t._cancelLoadByUrl = function(e) { + i.loader.cancelLoadByUrl(e), + t._innerFirstLevelLoaderManager.cancelLoadByUrl(e), + t._innerSecondLevelLoaderManager.cancelLoadByUrl(e), + t._innerThirdLevelLoaderManager.cancelLoadByUrl(e), + t._innerFourthLevelLoaderManager.cancelLoadByUrl(e) + } + , + t._changeWebGLSize = function(t, e) { + B.onStageResize(t, e), + ut.clientWidth = t, + ut.clientHeight = e + } + , + t.__init__ = function() { + var e = b.createMap; + e.lh = [Pi, "SPRITE3DHIERARCHY"], + e.ls = [Ri, "SPRITE3DHIERARCHY"], + e.lm = [an, "MESH"], + e.lmat = [ji, "MATERIAL"], + e.lpbr = [Hi, "MATERIAL"], + e.ltc = [hn, "TEXTURECUBE"], + e.jpg = [ln, "nativeimage"], + e.jpeg = [ln, "nativeimage"], + e.png = [ln, "nativeimage"], + e.pkm = [ln, "arraybuffer"], + e.lsani = [l, "arraybuffer"], + e.lrani = [l, "arraybuffer"], + e.raw = [en, "arraybuffer"], + e.mipmaps = [en, "arraybuffer"], + e.thdata = [vi, "arraybuffer"], + e.lt = [bi, "TERRAIN"], + e.lani = [fi, "arraybuffer"], + e.lav = [pi, "json"], + e.ani = [l, "arraybuffer"], + v.parserMap.SPRITE3DHIERARCHY = t._loadHierarchy, + v.parserMap.MESH = t._loadMesh, + v.parserMap.MATERIAL = t._loadMaterial, + v.parserMap.TEXTURECUBE = t._loadTextureCube, + v.parserMap.TERRAIN = t._loadTerrain, + t._innerFirstLevelLoaderManager.on("error", null, t._eventLoadManagerError), + t._innerSecondLevelLoaderManager.on("error", null, t._eventLoadManagerError), + t._innerThirdLevelLoaderManager.on("error", null, t._eventLoadManagerError), + t._innerFourthLevelLoaderManager.on("error", null, t._eventLoadManagerError) + } + , + t.READ_BLOCK = function() { + return t._readData.pos += 4, + !0 + } + , + t.READ_DATA = function() { + return t._DATA.offset = t._readData.getUint32(), + t._DATA.size = t._readData.getUint32(), + !0 + } + , + t.READ_STRINGS = function() { + var e = [] + , i = { + offset: 0, + size: 0 + }; + i.offset = t._readData.getUint16(), + i.size = t._readData.getUint16(); + t._readData.pos; + t._readData.pos = i.offset + t._DATA.offset; + for (var n = 0; n < i.size; n++) { + var a = t._readData.readUTFString(); + -1 === a.lastIndexOf(".lmat") && -1 === a.lastIndexOf(".lpbr") || e.push(a) + } + return e + } + , + t.formatRelativePath = function(t, e) { + var i; + if ("." === e.charAt(0)) { + for (var n = (t + e).split("/"), a = 0, r = n.length; a < r; a++) + if (".." == n[a]) { + var s = a - 1; + s > 0 && ".." !== n[s] && (n.splice(s, 2), + a -= 2) + } + i = n.join("/") + } else + i = t + e; + return null != N.customFormat && (i = N.customFormat(i, null)), + i + } + , + t._eventLoadManagerError = function(t) { + i.loader.event("error", t) + } + , + t._addHierarchyInnerUrls = function(e, i, n, a, r, s) { + var o = t.formatRelativePath(a, r); + n && (o += n), + e.push({ + url: o, + clas: s + }), + i[r] = o + } + , + t._getSprite3DHierarchyInnerUrls = function(e, i, n, a, r, s, o) { + var l, h = 0, c = 0; + switch (e.type) { + case "Scene": + var _ = e.customProps.lightmaps; + for (h = 0, + c = _.length; h < c; h++) { + var d = _[h].replace(".exr", ".png"); + t._addHierarchyInnerUrls(a, r, s, o, d, ln) + } + break; + case "MeshSprite3D": + case "TrailSprite3D": + case "LineSprite3D": + case "SkinnedMeshSprite3D": + var f; + if (e.instanceParams) + (f = e.instanceParams.loadPath) && t._addHierarchyInnerUrls(i, r, s, o, f, an); + else { + (f = (l = e.customProps).meshPath) && t._addHierarchyInnerUrls(i, r, s, o, f, an); + var p = l.materials; + if (p) + for (h = 0, + c = p.length; h < c; h++) { + var m = p[h] + , g = m.type.split(".") + , y = u.window; + if (g.forEach(function(t) { + y = y[t] + }), + "function" != typeof y) + throw "_getSprite3DHierarchyInnerUrls 错误: " + m.type + " 不是类"; + t._addHierarchyInnerUrls(n, r, s, o, m.path, y) + } + } + break; + case "ShuriKenParticle3D": + var v = (l = e.customProps).meshPath; + v && t._addHierarchyInnerUrls(i, r, s, o, v, an); + var b = l.material; + if (b) + g = b.type.split("."), + y = u.window, + g.forEach(function(t) { + y = y[t] + }), + t._addHierarchyInnerUrls(n, r, s, o, b.path, y); + else { + var w = l.materialPath; + if (w) + t._addHierarchyInnerUrls(n, r, s, o, w, Ji); + else { + var x = l.texturePath; + x && t._addHierarchyInnerUrls(a, r, s, o, x, ln) + } + } + break; + case "Terrain": + t._addHierarchyInnerUrls(a, r, s, o, e.customProps.dataPath, bi) + } + var I = e.components; + for (var C in I) { + var S = I[C]; + switch (C) { + case "Animator": + var M = S.avatarPath; + if (M) + t._addHierarchyInnerUrls(a, r, s, o, M, pi); + else { + var L = S.avatar; + L && t._addHierarchyInnerUrls(a, r, s, o, L.path, pi) + } + var T = S.clipPaths; + for (h = 0, + c = T.length; h < c; h++) + t._addHierarchyInnerUrls(a, r, s, o, T[h], fi) + } + } + var E = e.child; + for (h = 0, + c = E.length; h < c; h++) + t._getSprite3DHierarchyInnerUrls(E[h], i, n, a, r, s, o) + } + , + t._loadHierarchy = function(e) { + e.on("loaded", null, t._onHierarchylhLoaded, [e, e._class._getGroup()]), + e.load(e.url, "json", !1, null, !0) + } + , + t._onHierarchylhLoaded = function(e, i, n) { + if (e._class.destroyed) + e.endLoad(); + else { + var a = e.url + , r = Ke.getURLVerion(a) + , s = N.getPathcaps(a) + , o = [] + , l = [] + , h = [] + , c = {}; + t._getSprite3DHierarchyInnerUrls(n, o, l, h, c, r, s); + var _ = o.length + l.length + h.length + , u = _ + 1 + , d = 1 / u; + if (t._onProcessChange(e, 0, d, 1), + h.length > 0) { + var f = _ / u + , p = y.create(null, t._onProcessChange, [e, d, f], !1); + t._innerFourthLevelLoaderManager.create(h, y.create(null, t._onHierarchyInnerForthLevResouLoaded, [e, i, p, n, c, o, l, d + f * h.length, f]), p, null, null, 1, !0, i) + } else + t._onHierarchyInnerForthLevResouLoaded(e, i, null, n, c, o, l, d, f) + } + } + , + t._onHierarchyInnerForthLevResouLoaded = function(e, i, n, a, r, s, o, l, h) { + if (e._class.destroyed) + e.endLoad(); + else if (n && n.recover(), + o.length > 0) { + var c = y.create(null, t._onProcessChange, [e, l, h], !1); + t._innerSecondLevelLoaderManager.create(o, y.create(null, t._onHierarchyInnerSecondLevResouLoaded, [e, i, c, a, r, s, l + h * o.length, h]), n, null, null, 1, !0, i) + } else + t._onHierarchyInnerSecondLevResouLoaded(e, i, null, a, r, s, l, h) + } + , + t._onHierarchyInnerSecondLevResouLoaded = function(e, i, n, a, r, s, o, l) { + if (e._class.destroyed) + e.endLoad(); + else if (n && n.recover(), + s.length > 0) { + var h = y.create(null, t._onProcessChange, [e, o, l], !1); + t._innerFirstLevelLoaderManager.create(s, y.create(null, t._onHierarchyInnerFirstLevResouLoaded, [e, h, a, r]), n, null, null, 1, !0, i) + } else + t._onHierarchyInnerFirstLevResouLoaded(e, null, a, r) + } + , + t._onHierarchyInnerFirstLevResouLoaded = function(t, e, i, n) { + e && e.recover(), + t.endLoad([i, n]) + } + , + t._loadTerrain = function(e) { + e.on("loaded", null, t._onTerrainLtLoaded, [e, e._class._getGroup()]), + e.load(e.url, "json", !1, null, !0) + } + , + t._onTerrainLtLoaded = function(e, i, n) { + if (e._class.destroyed) + e.endLoad(); + else { + var a, r, s = e.url, o = Ke.getURLVerion(s), l = N.getPathcaps(s), h = [], c = {}, _ = 0, u = 0, d = n.heightData; + a = d.url, + r = t.formatRelativePath(l, a), + o && (r += o), + c[a] = r, + a = r; + var f = n.detailTexture; + for (_ = 0, + u = f.length; _ < u; _++) + h.push({ + url: f[_].diffuse + }); + var p = n.normalMap; + for (_ = 0, + u = p.length; _ < u; _++) + h.push({ + url: p[_] + }); + var m = n.alphaMap; + for (_ = 0, + u = m.length; _ < u; _++) + h.push({ + url: m[_], + params: [!1, !1, 6408, !0] + }); + for (_ = 0, + u = h.length; _ < u; _++) { + var g = h[_].url; + r = t.formatRelativePath(l, g), + o && (r += o), + h[_].url = r, + c[g] = r + } + var v = h.length + , b = v + 2 + , w = 1 / b; + t._onProcessChange(e, 0, w, 1); + var x = { + heightMapLoaded: !1, + texturesLoaded: !1 + } + , I = y.create(null, t._onProcessChange, [e, w, w], !1); + t._innerFourthLevelLoaderManager.create(a, y.create(null, t._onTerrainHeightMapLoaded, [e, I, n, c, x]), I, null, [d.numX, d.numZ, d.bitType, d.value], 1, !0, i); + var C = y.create(null, t._onProcessChange, [e, 2 * w, v / b], !1); + t._innerFourthLevelLoaderManager.create(h, y.create(null, t._onTerrainTexturesLoaded, [e, C, n, c, x]), C, null, null, 1, !0, i) + } + } + , + t._onTerrainHeightMapLoaded = function(t, e, i, n, a) { + a.heightMapLoaded = !0, + a.texturesLoaded && (t.endLoad([i, n]), + e.recover()) + } + , + t._onTerrainTexturesLoaded = function(t, e, i, n, a) { + a.texturesLoaded = !0, + a.heightMapLoaded && (t.endLoad([i, n]), + e.recover()) + } + , + t._loadMesh = function(e) { + e.on("loaded", null, t._onMeshLmLoaded, [e, e._class._getGroup()]), + e.load(e.url, "arraybuffer", !1, null, !0) + } + , + t._onMeshLmLoaded = function(e, i, n) { + if (e._class.destroyed) + e.endLoad(); + else { + var a, r, s = e.url, o = Ke.getURLVerion(s), l = N.getPathcaps(s), h = {}, c = 0, _ = 0, u = 0; + (t._readData = new f(n)).pos = 0; + switch (t._readData.readUTFString()) { + case "LAYAMODEL:02": + case "LAYAMODEL:03": + case "LAYAMODEL:0301": + var d = t._readData.getUint32(); + t._readData.pos = t._readData.pos + 4, + u = t._readData.getUint16(), + t._readData.pos = t._readData.pos + 8 * u; + var p = t._readData.getUint32(); + for (u = t._readData.getUint16(), + t._readData.pos = d + p, + a = [], + c = 0; c < u; c++) { + var m = t._readData.readUTFString(); + -1 !== m.lastIndexOf(".lmat") && a.push(m) + } + break; + default: + for (t.READ_BLOCK(), + c = 0; c < 2; c++) { + var g = t._readData.getUint16() + , v = t._strings[g] + , b = t["READ_" + v]; + if (null == b) + throw new Error("model file err,no this function:" + g + " " + v); + 1 === c ? a = b.call() : b.call() + } + } + for (c = 0, + _ = a.length; c < _; c++) { + var w = a[c]; + r = t.formatRelativePath(l, w), + o && (r += o), + a[c] = r, + h[w] = r + } + if (a.length > 0) { + t._onProcessChange(e, 0, .5, 1); + var x = y.create(null, t._onProcessChange, [e, .5, .5], !1); + t._innerSecondLevelLoaderManager.create(a, y.create(null, t._onMeshMateialLoaded, [e, x, n, h]), x, null, null, 1, !0, i) + } else + e.endLoad([n, h]) + } + } + , + t._onMeshMateialLoaded = function(t, e, i, n) { + t.endLoad([i, n]), + e.recover() + } + , + t._getMaterialTexturePath = function(e, i, n) { + var a = e.length - 4; + return e.indexOf(".dds") != a && e.indexOf(".tga") != a && e.indexOf(".exr") != a && e.indexOf(".DDS") != a && e.indexOf(".TGA") != a && e.indexOf(".EXR") != a || (e = e.substr(0, a) + ".png"), + e = t.formatRelativePath(n, e), + i && (e += i), + e + } + , + t._loadMaterial = function(e) { + e.on("loaded", null, t._onMaterilLmatLoaded, [e, e._class._getGroup()]), + e.load(e.url, "json", !1, null, !0) + } + , + t._onMaterilLmatLoaded = function(e, i, n) { + if (e._class.destroyed) + e.endLoad(); + else { + var a, r = e.url, s = Ke.getURLVerion(r), o = N.getPathcaps(r), l = [], h = {}, c = n.customProps, _ = n.version; + if (_) + switch (_) { + case "LAYAMATERIAL:01": + case "LAYAMATERIAL:02": + for (var u = n.props.textures, d = 0, f = u.length; d < f; d++) { + var p = u[d] + , m = p.path; + if (m) { + var g = m.length - 4; + m.indexOf(".exr") != g && m.indexOf(".EXR") != g || (m = m.substr(0, g) + ".png"), + a = t.formatRelativePath(o, m), + s && (a += s), + l.push({ + url: a, + params: p.params + }), + h[m] = a + } + } + break; + default: + throw new Error("Laya3D:unkonwn version.") + } + else { + var v = c.diffuseTexture.texture2D; + if (v && (a = t._getMaterialTexturePath(v, s, o), + l.push(a), + h[v] = a), + c.normalTexture) { + var b = c.normalTexture.texture2D; + b && (a = t._getMaterialTexturePath(b, s, o), + l.push(a), + h[b] = a) + } + if (c.specularTexture) { + var w = c.specularTexture.texture2D; + w && (a = t._getMaterialTexturePath(w, s, o), + l.push(a), + h[w] = a) + } + if (c.emissiveTexture) { + var x = c.emissiveTexture.texture2D; + x && (a = t._getMaterialTexturePath(x, s, o), + l.push(a), + h[x] = a) + } + if (c.ambientTexture) { + var I = c.ambientTexture.texture2D; + I && (a = t._getMaterialTexturePath(I, s, o), + l.push(a), + h[I] = a) + } + if (c.reflectTexture) { + var C = c.reflectTexture.texture2D; + C && (a = t._getMaterialTexturePath(C, s, o), + l.push(a), + h[C] = a) + } + } + var S = l.length + , M = S + 1 + , L = 1 / M; + if (t._onProcessChange(e, 0, L, 1), + S > 0) { + var T = y.create(null, t._onProcessChange, [e, L, S / M], !1); + t._innerFourthLevelLoaderManager.create(l, y.create(null, t._onMateialTexturesLoaded, [e, T, n, h]), T, ln, null, 1, !0, i) + } else + t._onMateialTexturesLoaded(e, null, n, null) + } + } + , + t._onMateialTexturesLoaded = function(t, e, i, n) { + t.endLoad([i, n]), + e && e.recover() + } + , + t._loadTextureCube = function(e) { + e.on("loaded", null, t._onTextureCubeLtcLoaded, [e]), + e.load(e.url, "json", !1, null, !0) + } + , + t._onTextureCubeLtcLoaded = function(e, i) { + if (e._class.destroyed) + e.endLoad(); + else { + var n = N.getPathcaps(e.url) + , a = [t.formatRelativePath(n, i.px), t.formatRelativePath(n, i.nx), t.formatRelativePath(n, i.py), t.formatRelativePath(n, i.ny), t.formatRelativePath(n, i.pz), t.formatRelativePath(n, i.nz)]; + t._onProcessChange(e, 0, 1 / 7, 1); + var r = y.create(null, t._onProcessChange, [e, 1 / 7, 6 / 7], !1); + t._innerFourthLevelLoaderManager.load(a, y.create(null, t._onTextureCubeImagesLoaded, [e, a, r]), r, "nativeimage") + } + } + , + t._onTextureCubeImagesLoaded = function(t, e, i) { + var n = []; + n.length = 6; + for (var a = 0; a < 6; a++) { + var r = e[a]; + n[a] = v.getRes(r), + v.clearRes(r) + } + t.endLoad(n), + i.recover() + } + , + t._onProcessChange = function(t, e, i, n) { + (n = e + n * i) < 1 && t.event("progress", n) + } + , + t.init = function(e, n, a, r, s, o) { + void 0 === a && (a = !1), + void 0 === r && (r = !1), + void 0 === s && (s = !0), + void 0 === o && (o = !0), + M.update3DLoop = function() { + ni._triggerCollision() + } + , + M.cancelLoadByUrl = function(e) { + t._cancelLoadByUrl(e) + } + , + m.isAntialias = a, + m.isAlpha = r, + m.premultipliedAlpha = s, + m.isStencil = o, + B.enable() ? (M.changeWebGLSize = t._changeWebGLSize, + I.is3DMode = !0, + i.init(e, n), + z.__init__(), + Xe.__init__(), + Vi.__init__(), + Ve.__init__(), + gn.__init__(), + U.__init__(), + t.__init__(), + c.maxTextureCount = 2, + (t.debugMode || dt.debugMode) && (t._debugPhasorSprite = new ht)) : alert("Laya3D init error,must support webGL!") + } + , + t.HIERARCHY = "SPRITE3DHIERARCHY", + t.MESH = "MESH", + t.MATERIAL = "MATERIAL", + t.PBRMATERIAL = "PBRMTL", + t.TEXTURECUBE = "TEXTURECUBE", + t.TERRAIN = "TERRAIN", + t._readData = null, + t._debugPhasorSprite = null, + t.debugMode = !1, + n(t, ["_DATA", function() { + return this._DATA = { + offset: 0, + size: 0 + } + } + , "_strings", function() { + return this._strings = ["BLOCK", "DATA", "STRINGS"] + } + , "_innerFirstLevelLoaderManager", function() { + return this._innerFirstLevelLoaderManager = new b + } + , "_innerSecondLevelLoaderManager", function() { + return this._innerSecondLevelLoaderManager = new b + } + , "_innerThirdLevelLoaderManager", function() { + return this._innerThirdLevelLoaderManager = new b + } + , "_innerFourthLevelLoaderManager", function() { + return this._innerFourthLevelLoaderManager = new b + } + ]), + t + }() + , Qe = function(t) { + function e(t) { + e.__super.call(this), + this._owner = t, + this._childs = [], + this._localMatrix = new Float32Array(16), + this._localQuaternionUpdate = !1, + this._locaEulerlUpdate = !1, + this._localUpdate = !1, + this._worldUpdate = !0 + } + a(e, "laya.d3.animation.AnimationTransform3D", g); + var i = e.prototype; + return i._getlocalMatrix = function() { + return this._localUpdate && (Ke._createAffineTransformationArray(this._localPosition, this._localRotation, this._localScale, this._localMatrix), + this._localUpdate = !1), + this._localMatrix + } + , + i._onWorldTransform = function() { + if (!this._worldUpdate) { + this._worldUpdate = !0; + for (var t = 0, e = this._childs.length; t < e; t++) + this._childs[t]._onWorldTransform() + } + } + , + i._setWorldMatrixAndUpdate = function(t) { + if (this._worldMatrix = t, + null == this._parent) + throw new Error("don't need to set worldMatrix to root Node."); + if (null == this._parent._parent) + for (var e = this._getlocalMatrix(), i = 0; i < 16; ++i) + this._worldMatrix[i] = e[i]; + else + Ke.matrix4x4MultiplyFFF(this._parent.getWorldMatrix(), this._getlocalMatrix(), this._worldMatrix); + this._worldUpdate = !1 + } + , + i._setWorldMatrixNoUpdate = function(t) { + this._worldMatrix = t + } + , + i._setWorldMatrixIgnoreUpdate = function(t) { + this._worldMatrix = t, + this._worldUpdate = !1 + } + , + i.getLocalPosition = function() { + return this._localPosition + } + , + i.setLocalPosition = function(t) { + if (this._parent) + this._localPosition = t, + this._localUpdate = !0, + this._onWorldTransform(); + else { + var e = this._entity.owner._transform + , i = this._entity.localPosition + , n = i.elements; + n[0] = t[0], + n[1] = t[1], + n[2] = t[2], + e.localPosition = i + } + } + , + i.getLocalRotation = function() { + if (this._localQuaternionUpdate) { + var t = this._localRotationEuler; + Ke._quaternionCreateFromYawPitchRollArray(t[1] / e._angleToRandin, t[0] / e._angleToRandin, t[2] / e._angleToRandin, this._localRotation), + this._localQuaternionUpdate = !1 + } + return this._localRotation + } + , + i.setLocalRotation = function(t) { + if (this._parent) + this._localRotation = t, + Ke.quaterionNormalize(this._localRotation, this._localRotation), + this._locaEulerlUpdate = !0, + this._localQuaternionUpdate = !1, + this._localUpdate = !0, + this._onWorldTransform(); + else { + var e = this._entity.owner._transform + , i = this._entity.localRotation + , n = i.elements; + n[0] = t[0], + n[1] = t[1], + n[2] = t[2], + n[3] = t[3], + e.localRotation = i + } + } + , + i.getLocalScale = function() { + return this._localScale + } + , + i.setLocalScale = function(t) { + if (this._parent) + this._localScale = t, + this._localUpdate = !0, + this._onWorldTransform(); + else { + var e = this._entity.owner._transform + , i = this._entity.localScale + , n = i.elements; + n[0] = t[0], + n[1] = t[1], + n[2] = t[2], + e.localScale = i + } + } + , + i.getLocalRotationEuler = function() { + if (this._locaEulerlUpdate) { + Ke.getYawPitchRoll(this._localRotation, e._tempVector3); + var t = e._tempVector3 + , i = this._localRotationEuler; + i[0] = t[1] * e._angleToRandin, + i[1] = t[0] * e._angleToRandin, + i[2] = t[2] * e._angleToRandin, + this._locaEulerlUpdate = !1 + } + return this._localRotationEuler + } + , + i.setLocalRotationEuler = function(t) { + if (this._parent) + Ke._quaternionCreateFromYawPitchRollArray(t[1] / e._angleToRandin, t[0] / e._angleToRandin, t[2] / e._angleToRandin, this._localRotation), + this._localRotationEuler = t, + this._locaEulerlUpdate = !1, + this._localQuaternionUpdate = !1, + this._localUpdate = !0, + this._onWorldTransform(); + else { + var i = this._entity.owner._transform + , n = this._entity.localRotationEuler + , a = n.elements; + a[0] = t[0], + a[1] = t[1], + a[2] = t[2], + i.localRotationEuler = n + } + } + , + i.getWorldMatrix = function() { + if (this._worldUpdate) { + if (null != this._parent._parent) + Ke.matrix4x4MultiplyFFF(this._parent.getWorldMatrix(), this._getlocalMatrix(), this._worldMatrix); + else + for (var t = this._getlocalMatrix(), e = 0; e < 16; ++e) + this._worldMatrix[e] = t[e]; + this._worldUpdate = !1 + } + return this._worldMatrix + } + , + i.setParent = function(t) { + if (this._parent !== t) { + if (this._parent) { + var e = this._parent._childs + , i = e.indexOf(this); + e.splice(i, 1) + } + t && (t._childs.push(this), + t && this._onWorldTransform()), + this._parent = t + } + } + , + n(e, ["_tempVector3", function() { + return this._tempVector3 = new Float32Array(3) + } + , "_angleToRandin", function() { + return this._angleToRandin = 180 / Math.PI + } + ]), + e + }() + , $e = function(t) { + function e() { + this._destroyed = !1, + this._id = 0, + this._enable = !1, + this._owner = null, + this.started = !1, + e.__super.call(this), + this._destroyed = !1, + this._id = e._uniqueIDCounter, + e._uniqueIDCounter++ + } + a(e, "laya.d3.component.Component3D", g); + var n = e.prototype; + return i.imps(n, { + "laya.d3.core.render.IUpdate": !0, + "laya.resource.IDestroy": !0 + }), + n._initialize = function(t) { + this._owner = t, + this._enable = !0, + this.started = !1, + this._load(t) + } + , + n._destroy = function() { + this._unload(this._owner), + this._owner = null, + this._destroyed = !0 + } + , + n._load = function(t) {} + , + n._start = function(t) {} + , + n._update = function(t) {} + , + n._lateUpdate = function(t) {} + , + n._preRenderUpdate = function(t) {} + , + n._postRenderUpdate = function(t) {} + , + n._unload = function(t) { + this.offAll() + } + , + n._cloneTo = function(t) {} + , + r(0, n, "id", function() { + return this._id + }), + r(0, n, "destroyed", function() { + return this._destroyed + }), + r(0, n, "owner", function() { + return this._owner + }), + r(0, n, "enable", function() { + return this._enable + }, function(t) { + this._enable !== t && (this._enable = t, + this.event("enablechanged", this._enable)) + }), + r(0, n, "isSingleton", function() { + return e._isSingleton + }), + e._isSingleton = !0, + e._uniqueIDCounter = 1, + e + }() + , ti = function(t) { + function e() { + this._destroyed = !1, + e.__super.call(this), + this._destroyed = !1 + } + a(e, "laya.d3.core.GeometryFilter", g); + var n = e.prototype; + return i.imps(n, { + "laya.resource.IDestroy": !0 + }), + n._destroy = function() { + this.offAll(), + this._destroyed = !0 + } + , + r(0, n, "_isAsyncLoaded", function() { + return !0 + }), + r(0, n, "_originalBoundingBoxCorners", function() { + throw new Error("BaseRender: must override it.") + }), + r(0, n, "_originalBoundingSphere", function() { + throw new Error("BaseRender: must override it.") + }), + r(0, n, "_originalBoundingBox", function() { + throw new Error("BaseRender: must override it.") + }), + r(0, n, "destroyed", function() { + return this._destroyed + }), + e + }() + , ei = function(t) { + function e(t) { + e.__super.call(this), + this._id = ++e._uniqueIDCounter, + this._indexInSceneFrustumCullingObjects = -1, + this._boundingBox = new be(new Be,new Be), + this._boundingBoxCenter = new Be, + this._boundingSphere = new xe(new Be,0), + this._boundingSphereNeedChange = !0, + this._boundingBoxNeedChange = !0, + this._boundingBoxCenterNeedChange = !0, + this._octreeNodeNeedChange = !0, + this._materials = [], + this._renderElements = [], + this._isPartOfStaticBatch = !1, + this._destroyed = !1, + this._owner = t, + this._enable = !0, + this._materialsInstance = [], + this.lightmapIndex = -1, + this.castShadow = !1, + this.receiveShadow = !1, + this.sortingFudge = 0, + this._owner.transform.on("worldmatrixneedchanged", this, this._onWorldMatNeedChange) + } + a(e, "laya.d3.core.render.BaseRender", g); + var s = e.prototype; + return i.imps(s, { + "laya.resource.IDestroy": !0 + }), + s._changeMaterialReference = function(t, e) { + t && t._removeReference(), + e._addReference() + } + , + s._getInstanceMaterial = function(t, e) { + var i = new t.constructor; + return t.cloneTo(i), + i.name = i.name + "(Instance)", + this._materialsInstance[e] = !0, + this._changeMaterialReference(this._materials[e], i), + this._materials[e] = i, + i + } + , + s._setShaderValuelightMap = function(t) { + this._setShaderValueTexture(3, t) + } + , + s._onWorldMatNeedChange = function() { + this._boundingSphereNeedChange = !0, + this._boundingBoxNeedChange = !0, + this._boundingBoxCenterNeedChange = !0, + this._octreeNodeNeedChange = !0 + } + , + s._renderRenderableBoundBox = function() { + var t = Ze._debugPhasorSprite + , i = this.boundingBox + , n = e._tempBoundBoxCorners; + i.getCorners(n), + t.line(n[0], e._greenColor, n[1], e._greenColor), + t.line(n[2], e._greenColor, n[3], e._greenColor), + t.line(n[4], e._greenColor, n[5], e._greenColor), + t.line(n[6], e._greenColor, n[7], e._greenColor), + t.line(n[0], e._greenColor, n[3], e._greenColor), + t.line(n[1], e._greenColor, n[2], e._greenColor), + t.line(n[2], e._greenColor, n[6], e._greenColor), + t.line(n[3], e._greenColor, n[7], e._greenColor), + t.line(n[0], e._greenColor, n[4], e._greenColor), + t.line(n[1], e._greenColor, n[5], e._greenColor), + t.line(n[4], e._greenColor, n[7], e._greenColor), + t.line(n[5], e._greenColor, n[6], e._greenColor) + } + , + s._calculateBoundingSphere = function() { + throw "BaseRender: must override it." + } + , + s._calculateBoundingBox = function() { + throw "BaseRender: must override it." + } + , + s._setShaderValueTexture = function(t, e) { + this._owner._shaderValues.setValue(t, e) + } + , + s._setShaderValueMatrix4x4 = function(t, e) { + this._owner._shaderValues.setValue(t, e ? e.elements : null) + } + , + s._setShaderValueColor = function(t, e) { + this._owner._shaderValues.setValue(t, e ? e.elements : null) + } + , + s._setShaderValueBuffer = function(t, e) { + this._owner._shaderValues.setValue(t, e) + } + , + s._setShaderValueInt = function(t, e) { + this._owner._shaderValues.setValue(t, e) + } + , + s._setShaderValueBool = function(t, e) { + this._owner._shaderValues.setValue(t, e) + } + , + s._setShaderValueNumber = function(t, e) { + this._owner._shaderValues.setValue(t, e) + } + , + s._setShaderValueVector2 = function(t, e) { + this._owner._shaderValues.setValue(t, e ? e.elements : null) + } + , + s._addShaderDefine = function(t) { + this._owner._shaderDefineValue |= t + } + , + s._removeShaderDefine = function(t) { + this._owner._shaderDefineValue &= ~t + } + , + s._renderUpdate = function(t) { + return !0 + } + , + s._applyLightMapParams = function() { + if (this._lightmapIndex >= 0) { + var t = this._owner.scene; + if (t) { + var e = t.getlightmaps()[this._lightmapIndex]; + e ? (this._addShaderDefine(un.SAHDERDEFINE_LIGHTMAP), + e.loaded ? this._setShaderValuelightMap(e) : e.once("loaded", this, this._setShaderValuelightMap)) : this._removeShaderDefine(un.SAHDERDEFINE_LIGHTMAP) + } else + this._removeShaderDefine(un.SAHDERDEFINE_LIGHTMAP) + } else + this._removeShaderDefine(un.SAHDERDEFINE_LIGHTMAP) + } + , + s._updateOctreeNode = function() { + var t = this._treeNode; + t && this._octreeNodeNeedChange && (t.updateObject(this), + this._octreeNodeNeedChange = !1) + } + , + s._destroy = function() { + this.offAll(); + var t = 0 + , e = 0; + for (t = 0, + e = this._renderElements.length; t < e; t++) + this._renderElements[t]._destroy(); + for (t = 0, + e = this._materials.length; t < e; t++) + this._materials[t]._removeReference(); + this._renderElements = null, + this._owner = null, + this._materials = null, + this._boundingBox = null, + this._boundingBoxCenter = null, + this._boundingSphere = null, + this._lightmapScaleOffset = null, + this._destroyed = !0 + } + , + r(0, s, "boundingSphere", function() { + return this._boundingSphereNeedChange && (this._calculateBoundingSphere(), + this._boundingSphereNeedChange = !1), + this._boundingSphere + }), + r(0, s, "id", function() { + return this._id + }), + r(0, s, "material", function() { + var t = this._materials[0]; + if (t && !this._materialsInstance[0]) { + var e = this._getInstanceMaterial(t, 0); + this.event("materialchanged", [this, 0, e]) + } + return this._materials[0] + }, function(t) { + this.sharedMaterial = t + }), + r(0, s, "sharedMaterial", function() { + return this._materials[0] + }, function(t) { + var e = this._materials[0]; + e !== t && (this._materials[0] = t, + this._materialsInstance[0] = !1, + this._changeMaterialReference(e, t), + this.event("materialchanged", [this, 0, t])) + }), + r(0, s, "lightmapIndex", function() { + return this._lightmapIndex + }, function(t) { + this._lightmapIndex = t, + this._applyLightMapParams() + }), + r(0, s, "lightmapScaleOffset", function() { + return this._lightmapScaleOffset + }, function(t) { + this._lightmapScaleOffset = t, + this._setShaderValueColor(2, t), + this._addShaderDefine(un.SHADERDEFINE_SCALEOFFSETLIGHTINGMAPUV) + }), + r(0, s, "enable", function() { + return this._enable + }, function(t) { + this._enable = t, + this.event("enablechanged", [this, t]) + }), + r(0, s, "materials", function() { + for (var t = 0, e = this._materials.length; t < e; t++) + if (!this._materialsInstance[t]) { + var i = this._getInstanceMaterial(this._materials[t], t); + this.event("materialchanged", [this, t, i]) + } + return this._materials.slice() + }, function(t) { + this.sharedMaterials = t + }), + r(0, s, "sharedMaterials", function() { + return this._materials.slice() + }, function(t) { + if (!t) + throw new Error("MeshRender: shadredMaterials value can't be null."); + var e = t.length; + this._materialsInstance.length = e; + for (var i = 0; i < e; i++) { + var n = this._materials[i]; + n !== t[i] && (this._materialsInstance[i] = !1, + this._changeMaterialReference(n, t[i]), + this.event("materialchanged", [this, i, t[i]])) + } + this._materials = t + }), + r(0, s, "boundingBox", function() { + return this._boundingBoxNeedChange && (this._calculateBoundingBox(), + this._boundingBoxNeedChange = !1), + this._boundingBox + }), + r(0, s, "boundingBoxCenter", function() { + if (this._boundingBoxCenterNeedChange) { + var t = this.boundingBox; + Be.add(t.min, t.max, this._boundingBoxCenter), + Be.scale(this._boundingBoxCenter, .5, this._boundingBoxCenter), + this._boundingBoxCenterNeedChange = !1 + } + return this._boundingBoxCenter + }), + r(0, s, "receiveShadow", function() { + return this._receiveShadow + }, function(t) { + this._receiveShadow !== t && (this._receiveShadow = t, + t ? this._addShaderDefine(He.SHADERDEFINE_RECEIVE_SHADOW) : this._removeShaderDefine(He.SHADERDEFINE_RECEIVE_SHADOW)) + }), + r(0, s, "destroyed", function() { + return this._destroyed + }), + e._uniqueIDCounter = 0, + n(e, ["_tempBoundBoxCorners", function() { + return this._tempBoundBoxCorners = [new Be, new Be, new Be, new Be, new Be, new Be, new Be, new Be] + } + , "_greenColor", function() { + return this._greenColor = new ke(0,1,0,1) + } + ]), + e + }() + , ii = function(t) { + function e(t) { + this._owner = null, + this._localQuaternionUpdate = !1, + this._locaEulerlUpdate = !1, + this._localUpdate = !1, + this._worldUpdate = !0, + this._positionUpdate = !0, + this._rotationUpdate = !0, + this._scaleUpdate = !0, + this._parent = null, + this._childs = null, + this._dummy = null, + this.pivot = null, + e.__super.call(this), + this._localPosition = new Be, + this._localRotation = new Ee(0,0,0,1), + this._localScale = new Be(1,1,1), + this._localRotationEuler = new Be, + this._localMatrix = new Me, + this._position = new Be, + this._rotation = new Ee(0,0,0,1), + this._scale = new Be(1,1,1), + this._worldMatrix = new Me, + this._forward = new Be, + this._up = new Be, + this._right = new Be, + this._owner = t, + this._childs = [] + } + a(e, "laya.d3.core.Transform3D", g); + var i = e.prototype; + return i._updateLocalMatrix = function() { + if (!this.pivot || 0 === this.pivot.x && 0 === this.pivot.y && 0 === this.pivot.z) + Me.createAffineTransformation(this._localPosition, this.localRotation, this._localScale, this._localMatrix); + else { + var t = e._tempVector30; + Be.multiply(this.pivot, this._localScale, t); + var i = e._tempVector31; + Be.subtract(t, this.pivot, i); + var n = e._tempVector32 + , a = this.localRotation; + Be.transformQuat(t, a, n), + Be.subtract(n, t, n); + var r = e._tempVector33; + Be.subtract(this._localPosition, i, r), + Be.subtract(r, n, r), + Me.createAffineTransformation(r, a, this._localScale, this._localMatrix) + } + } + , + i._onWorldPositionRotationTransform = function() { + if (!this._worldUpdate || !this._positionUpdate || !this._rotationUpdate) { + this._worldUpdate = this._positionUpdate = this._rotationUpdate = !0, + this.event("worldmatrixneedchanged"); + for (var t = 0, e = this._childs.length; t < e; t++) + this._childs[t]._onWorldPositionRotationTransform() + } + } + , + i._onWorldPositionScaleTransform = function() { + if (!this._worldUpdate || !this._positionUpdate || !this._scaleUpdate) { + this._worldUpdate = this._positionUpdate = this._scaleUpdate = !0, + this.event("worldmatrixneedchanged"); + for (var t = 0, e = this._childs.length; t < e; t++) + this._childs[t]._onWorldPositionScaleTransform() + } + } + , + i._onWorldPositionTransform = function() { + if (!this._worldUpdate || !this._positionUpdate) { + this._worldUpdate = this._positionUpdate = !0, + this.event("worldmatrixneedchanged"); + for (var t = 0, e = this._childs.length; t < e; t++) + this._childs[t]._onWorldPositionTransform() + } + } + , + i._onWorldRotationTransform = function() { + if (!this._worldUpdate || !this._rotationUpdate) { + this._worldUpdate = this._rotationUpdate = !0, + this.event("worldmatrixneedchanged"); + for (var t = 0, e = this._childs.length; t < e; t++) + this._childs[t]._onWorldPositionRotationTransform() + } + } + , + i._onWorldScaleTransform = function() { + if (!this._worldUpdate || !this._scaleUpdate) { + this._worldUpdate = this._scaleUpdate = !0, + this.event("worldmatrixneedchanged"); + for (var t = 0, e = this._childs.length; t < e; t++) + this._childs[t]._onWorldPositionScaleTransform() + } + } + , + i._onWorldTransform = function() { + if (!(this._worldUpdate && this._positionUpdate && this._rotationUpdate && this._scaleUpdate)) { + this._worldUpdate = this._positionUpdate = this._rotationUpdate = this._scaleUpdate = !0, + this.event("worldmatrixneedchanged"); + for (var t = 0, e = this._childs.length; t < e; t++) + this._childs[t]._onWorldTransform() + } + } + , + i.translate = function(t, i) { + void 0 === i && (i = !0), + i ? (Me.createFromQuaternion(this.localRotation, e._tempMatrix0), + Be.transformCoordinate(t, e._tempMatrix0, e._tempVector30), + Be.add(this.localPosition, e._tempVector30, this._localPosition), + this.localPosition = this._localPosition) : (Be.add(this.position, t, this._position), + this.position = this._position) + } + , + i.rotate = function(t, i, n) { + void 0 === i && (i = !0), + void 0 === n && (n = !0); + var a; + n ? a = t : (Be.scale(t, Math.PI / 180, e._tempVector30), + a = e._tempVector30), + Ee.createFromYawPitchRoll(a.y, a.x, a.z, e._tempQuaternion0), + i ? (Ee.multiply(this._localRotation, e._tempQuaternion0, this._localRotation), + this.localRotation = this._localRotation) : (Ee.multiply(e._tempQuaternion0, this.rotation, this._rotation), + this.rotation = this._rotation) + } + , + i.lookAt = function(t, e, i) { + void 0 === i && (i = !1); + var n, a = t.elements; + if (i) { + if (n = this._localPosition.elements, + Math.abs(n[0] - a[0]) < Ce.zeroTolerance && Math.abs(n[1] - a[1]) < Ce.zeroTolerance && Math.abs(n[2] - a[2]) < Ce.zeroTolerance) + return; + Ee.lookAt(this._localPosition, t, e, this._localRotation), + this._localRotation.invert(this._localRotation), + this.localRotation = this._localRotation + } else { + var r = this.position; + if (n = r.elements, + Math.abs(n[0] - a[0]) < Ce.zeroTolerance && Math.abs(n[1] - a[1]) < Ce.zeroTolerance && Math.abs(n[2] - a[2]) < Ce.zeroTolerance) + return; + Ee.lookAt(r, t, e, this._rotation), + this._rotation.invert(this._rotation), + this.rotation = this._rotation + } + } + , + r(0, i, "_isFrontFaceInvert", function() { + var t = this.scale + , e = t.x < 0; + return t.y < 0 && (e = !e), + t.z < 0 && (e = !e), + e + }), + r(0, i, "owner", function() { + return this._owner + }), + r(0, i, "localRotation", function() { + if (this._localQuaternionUpdate) { + var t = this._localRotationEuler.elements; + Ee.createFromYawPitchRoll(t[1] / e._angleToRandin, t[0] / e._angleToRandin, t[2] / e._angleToRandin, this._localRotation) + } + return this._localRotation + }, function(t) { + this._localRotation = t, + this._localRotation.normalize(this._localRotation), + this._locaEulerlUpdate = !0, + this._localQuaternionUpdate = !1, + this._localUpdate = !0, + !this.pivot || 0 === this.pivot.x && 0 === this.pivot.y && 0 === this.pivot.z ? this._onWorldRotationTransform() : this._onWorldPositionRotationTransform() + }), + r(0, i, "worldMatrix", function() { + return this._worldUpdate && (null != this._parent ? Me.multiply(this._parent.worldMatrix, this.localMatrix, this._worldMatrix) : this.localMatrix.cloneTo(this._worldMatrix), + this._worldUpdate = !1), + this._worldMatrix + }, function(t) { + null === this._parent ? t.cloneTo(this._localMatrix) : (this._parent.worldMatrix.invert(this._localMatrix), + Me.multiply(this._localMatrix, t, this._localMatrix)), + this.localMatrix = this._localMatrix, + this._worldMatrix = t, + this._worldUpdate = !1 + }), + r(0, i, "worldNeedUpdate", function() { + return this._worldUpdate + }), + r(0, i, "localMatrix", function() { + return this._localUpdate && (this._updateLocalMatrix(), + this._localUpdate = !1), + this._localMatrix + }, function(t) { + this._localMatrix = t, + this._localMatrix.decomposeTransRotScale(this._localPosition, this._localRotation, this._localScale), + this._localUpdate = !1, + this._onWorldTransform() + }), + r(0, i, "dummy", function() { + return this._dummy + }, function(t) { + this._dummy !== t && (this._dummy && (this._dummy._entity = null), + t && (t._entity = this), + this._dummy = t) + }), + r(0, i, "localPosition", function() { + return this._localPosition + }, function(t) { + this._localPosition = t, + this._localUpdate = !0, + this._onWorldPositionTransform() + }), + r(0, i, "position", function() { + if (this._positionUpdate) { + if (null != this._parent) { + var t = this._parent.position; + Be.multiply(this._localPosition, this._parent.scale, e._tempVector30), + Be.transformQuat(e._tempVector30, this._parent.rotation, e._tempVector30), + Be.add(t, e._tempVector30, this._position) + } else + this._localPosition.cloneTo(this._position); + this._positionUpdate = !1 + } + return this._position + }, function(t) { + if (null != this._parent) { + Be.subtract(t, this._parent.position, this._localPosition); + var i = this._parent.scale.elements + , n = i[0] + , a = i[1] + , r = i[2]; + if (1 !== n || 1 !== a || 1 !== r) { + var s = e._tempVector30 + , o = s.elements; + o[0] = 1 / n, + o[1] = 1 / a, + o[2] = 1 / r, + Be.multiply(this._localPosition, s, this._localPosition) + } + this._parent.rotation.invert(e._tempQuaternion0), + Be.transformQuat(this._localPosition, e._tempQuaternion0, this._localPosition) + } else + t.cloneTo(this._localPosition); + this.localPosition = this._localPosition, + this._position = t, + this._positionUpdate = !1 + }), + r(0, i, "localScale", function() { + return this._localScale + }, function(t) { + this._localScale = t, + this._localUpdate = !0, + !this.pivot || 0 === this.pivot.x && 0 === this.pivot.y && 0 === this.pivot.z ? this._onWorldScaleTransform() : this._onWorldPositionScaleTransform() + }), + r(0, i, "localRotationEuler", function() { + if (this._locaEulerlUpdate) { + this._localRotation.getYawPitchRoll(e._tempVector30); + var t = e._tempVector30.elements + , i = this._localRotationEuler.elements; + i[0] = t[1] * e._angleToRandin, + i[1] = t[0] * e._angleToRandin, + i[2] = t[2] * e._angleToRandin + } + return this._localRotationEuler + }, function(t) { + this._localRotationEuler = t, + this._locaEulerlUpdate = !1, + this._localQuaternionUpdate = !0, + this._localUpdate = !0, + !this.pivot || 0 === this.pivot.x && 0 === this.pivot.y && 0 === this.pivot.z ? this._onWorldRotationTransform() : this._onWorldPositionRotationTransform() + }), + r(0, i, "rotation", function() { + return this._rotationUpdate && (null != this._parent ? Ee.multiply(this._parent.rotation, this.localRotation, this._rotation) : this.localRotation.cloneTo(this._rotation), + this._rotationUpdate = !1), + this._rotation + }, function(t) { + null != this._parent ? (this._parent.rotation.invert(e._tempQuaternion0), + Ee.multiply(t, e._tempQuaternion0, this._localRotation)) : t.cloneTo(this._localRotation), + this.localRotation = this._localRotation, + this._rotation = t, + this._rotationUpdate = !1 + }), + r(0, i, "scale", function() { + return this._scaleUpdate ? (null !== this._parent ? Be.multiply(this._parent.scale, this._localScale, this._scale) : this._localScale.cloneTo(this._scale), + this._scaleUpdate = !1, + this._scale) : this._scale + }, function(t) { + if (null !== this._parent) { + var i = this._parent.scale.elements + , n = e._tempVector30.elements; + n[0] = 1 / i[0], + n[1] = 1 / i[1], + n[2] = 1 / i[2], + Be.multiply(t, e._tempVector30, this._localScale) + } else + t.cloneTo(this._localScale); + this.localScale = this._localScale, + this._scale = t, + this._scaleUpdate = !1 + }), + r(0, i, "rotationEuler", null, function(t) { + Ee.createFromYawPitchRoll(t.y, t.x, t.z, this._rotation), + this.rotation = this._rotation + }), + r(0, i, "forward", function() { + var t = this.worldMatrix.elements; + return this._forward.elements[0] = -t[8], + this._forward.elements[1] = -t[9], + this._forward.elements[2] = -t[10], + this._forward + }), + r(0, i, "up", function() { + var t = this.worldMatrix.elements; + return this._up.elements[0] = t[4], + this._up.elements[1] = t[5], + this._up.elements[2] = t[6], + this._up + }), + r(0, i, "right", function() { + var t = this.worldMatrix.elements; + return this._right.elements[0] = t[0], + this._right.elements[1] = t[1], + this._right.elements[2] = t[2], + this._right + }), + r(0, i, "parent", function() { + return this._parent + }, function(t) { + if (this._parent !== t) { + if (this._parent) { + var e = this._parent._childs + , i = e.indexOf(this); + e.splice(i, 1) + } + t && (t._childs.push(this), + t && this._onWorldTransform()), + this._parent = t + } + }), + n(e, ["_tempVector30", function() { + return this._tempVector30 = new Be + } + , "_tempVector31", function() { + return this._tempVector31 = new Be + } + , "_tempVector32", function() { + return this._tempVector32 = new Be + } + , "_tempVector33", function() { + return this._tempVector33 = new Be + } + , "_tempQuaternion0", function() { + return this._tempQuaternion0 = new Ee + } + , "_tempMatrix0", function() { + return this._tempMatrix0 = new Me + } + , "_angleToRandin", function() { + return this._angleToRandin = 180 / Math.PI + } + ]), + e + }() + , ni = (function(t) { + function e() { + this._rotation = 0, + this._matNeedUpdte = !1, + e.__super.call(this), + this._matrix = new Me, + this._offset = new Ae, + this._tiling = new Ae(1,1) + } + a(e, "laya.d3.core.TransformUV", g); + var s = e.prototype; + i.imps(s, { + "laya.d3.core.IClone": !0 + }), + s._updateMatrix = function() { + e._tempOffsetV3.elements[0] = this._offset.x, + e._tempOffsetV3.elements[1] = this._offset.y, + Ee.createFromYawPitchRoll(0, 0, this._rotation, e._tempRotationQua), + e._tempTitlingV3.elements[0] = this._tiling.x, + e._tempTitlingV3.elements[1] = this._tiling.y, + Me.createAffineTransformation(e._tempOffsetV3, e._tempRotationQua, e._tempTitlingV3, this._matrix) + } + , + s.cloneTo = function(t) { + t._matrix = this._matrix.clone(), + t._offset = this._offset.clone(), + t._rotation = this._rotation, + t._tiling = this._tiling.clone() + } + , + s.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, s, "matrix", function() { + return this._matNeedUpdte && (this._updateMatrix(), + this._matNeedUpdte = !1), + this._matrix + }), + r(0, s, "tiling", function() { + return this._tiling + }, function(t) { + this._tiling = t, + this._matNeedUpdte = !0 + }), + r(0, s, "offset", function() { + return this._offset + }, function(t) { + this._offset = t, + this._matNeedUpdte = !0 + }), + r(0, s, "rotation", function() { + return this._rotation + }, function(t) { + this._rotation = t, + this._matNeedUpdte = !0 + }), + n(e, ["_tempOffsetV3", function() { + return this._tempOffsetV3 = new Be(0,0,0) + } + , "_tempRotationQua", function() { + return this._tempRotationQua = new Ee + } + , "_tempTitlingV3", function() { + return this._tempTitlingV3 = new Be(1,1,1) + } + ]) + }(), + function(t) { + function e() { + e.__super.call(this) + } + return a(e, "laya.d3.utils.CollisionManager", g), + e._onTrigger = function(t, e, i, n, a) { + var r = 0 + , s = 0 + , o = t.id + , l = e.id; + if (!t._ignoreCollisonMap[l]) { + var h = Xe.collisionManager + , c = t._runtimeCollisonTestMap[l]; + if (null != c) + if (c) + if (t._collisonTo(e)) + if (t._runtimeCollisonMap[l]) { + for (r = 0, + s = i.length; r < s; r++) + i[r].onTriggerStay(e); + for (r = 0, + s = n.length; r < s; r++) + n[r].onTriggerStay(t); + h.event("triggerstay", [t, e]) + } else { + for (t._runtimeCollisonMap[l] = e, + t._runtimeCollisonTestMap[l] = !1, + e._runtimeCollisonMap[o] = t, + a && (e._runtimeCollisonTestMap[o] = !1), + r = 0, + s = i.length; r < s; r++) + i[r].onTriggerEnter(e); + for (r = 0, + s = n.length; r < s; r++) + n[r].onTriggerEnter(t); + h.event("triggerenter", [t, e]) + } + else { + var _ = t._runtimeCollisonMap; + if (_[l]) { + for (delete _[l], + delete t._runtimeCollisonTestMap[l], + delete e._runtimeCollisonMap[o], + a && delete e._runtimeCollisonTestMap[o], + r = 0, + s = i.length; r < s; r++) + i[r].onTriggerExit(e); + for (r = 0, + s = n.length; r < s; r++) + n[r].onTriggerExit(t); + h.event("triggerexit", [t, e]) + } + } + else { + for (r = 0, + s = i.length; r < s; r++) + i[r].onTriggerStay(e); + for (r = 0, + s = n.length; r < s; r++) + n[r].onTriggerStay(t); + h.event("triggerstay", [t, e]) + } + else if (t._collisonTo(e)) { + for (t._runtimeCollisonMap[l] = e, + t._runtimeCollisonTestMap[l] = !1, + e._runtimeCollisonMap[o] = t, + a && (e._runtimeCollisonTestMap[o] = !1), + r = 0, + s = i.length; r < s; r++) + i[r].onTriggerEnter(e); + for (r = 0, + s = n.length; r < s; r++) + n[r].onTriggerEnter(t); + h.event("triggerenter", [t, e]) + } + } + } + , + e._triggerCollision = function() { + for (var t = z._collsionTestList, i = t.length, n = Xe._layerCollsionMatrix, a = 0; a < i; a++) + for (var r = t[a], s = z.getLayerByNumber(r), o = s._colliders, l = s._nonRigidbodyOffset, h = i - 1; h >= a; h--) { + var c = t[h]; + if (n[r][30 - c]) { + var _, u, d, f = 0, p = 0, m = 0, g = 0, y = z.getLayerByNumber(c), v = y._colliders, b = y._nonRigidbodyOffset; + if (s !== y) { + for (f = 0; f < l; f++) + if ((_ = o[f]).enable) { + for (d = _.owner._scripts, + m = 0, + g = b; m < g; m++) + (u = v[m]).enable && e._onTrigger(_, u, d, u.owner._scripts, !0); + for (m = b, + g = v.length; m < g; m++) + (u = v[m]).enable && e._onTrigger(_, u, d, u.owner._scripts, !1) + } + for (f = l, + p = o.length; f < p; f++) + if ((_ = o[f]).enable) + for (d = _.owner._scripts, + m = 0, + g = y._nonRigidbodyOffset; m < g; m++) + (u = v[m]).enable && e._onTrigger(u, _, d, u.owner._scripts, !1) + } else + for (f = 0; f < l; f++) + if ((_ = o[f]).enable) { + for (d = _.owner._scripts, + m = f + 1, + g = l; m < g; m++) + (u = v[m]).enable && e._onTrigger(_, u, d, u.owner._scripts, !0); + for (m = l, + g = o.length; m < g; m++) + (u = v[m]).enable && e._onTrigger(_, u, d, u.owner._scripts, !1) + } + } + } + } + , + e + }()) + , ai = (function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.d3.core.glitter.SplineCurvePosition", t); + var i = e.prototype; + i._CalcVelocity = function(t, e, i) { + Be.subtract(t, e, i), + Be.scale(i, .5, i) + } + , + i.Init = function(e, i, n, a) { + this._CalcVelocity(i, e, this._tempVector30), + this._CalcVelocity(a, n, this._tempVector31), + t.prototype.Init.call(this, i, this._tempVector30, a, this._tempVector31) + } + }(H), + function(t) { + function e() { + this.x = NaN, + this.y = NaN, + this.z = NaN, + e.__super.call(this), + this.x = 1, + this.y = 1, + this.z = 1, + this.randomDirection = !1 + } + a(e, "laya.d3.core.particleShuriKen.module.shape.BoxShape", t); + var i = e.prototype; + return i._getShapeBoundBox = function(t) { + var e = t.min.elements; + e[0] = .5 * -this.x, + e[1] = .5 * -this.y, + e[2] = .5 * -this.z; + var i = t.max.elements; + i[0] = .5 * this.x, + i[1] = .5 * this.y, + i[2] = .5 * this.z + } + , + i._getSpeedBoundBox = function(t) { + var e = t.min.elements; + e[0] = 0, + e[1] = 0, + e[2] = 0; + var i = t.max.elements; + i[0] = 0, + i[1] = 1, + i[2] = 0 + } + , + i.generatePositionAndDirection = function(t, e, i, n) { + var a = t.elements + , r = e.elements; + i ? (i.seed = n[16], + nt._randomPointInsideHalfUnitBox(t, i), + n[16] = i.seed) : nt._randomPointInsideHalfUnitBox(t), + a[0] = this.x * a[0], + a[1] = this.y * a[1], + a[2] = this.z * a[2], + this.randomDirection ? i ? (i.seed = n[17], + nt._randomPointUnitSphere(e, i), + n[17] = i.seed) : nt._randomPointUnitSphere(e) : (r[0] = 0, + r[1] = 0, + r[2] = 1) + } + , + i.cloneTo = function(e) { + t.prototype.cloneTo.call(this, e); + var i = e; + i.x = this.x, + i.y = this.y, + i.z = this.z, + i.randomDirection = this.randomDirection + } + , + e + }(it)) + , ri = function(t) { + function e() { + this.radius = NaN, + this.arc = NaN, + this.emitFromEdge = !1, + e.__super.call(this), + this.radius = 1, + this.arc = 2 * Math.PI, + this.emitFromEdge = !1, + this.randomDirection = !1 + } + a(e, "laya.d3.core.particleShuriKen.module.shape.CircleShape", t); + var i = e.prototype; + return i._getShapeBoundBox = function(t) { + var e = t.min.elements; + e[0] = e[2] = -this.radius, + e[1] = 0; + var i = t.max.elements; + i[0] = i[2] = this.radius, + i[1] = 0 + } + , + i._getSpeedBoundBox = function(t) { + var e = t.min.elements; + e[0] = e[1] = -1, + e[2] = 0; + var i = t.max.elements; + i[0] = i[1] = 1, + i[2] = 0 + } + , + i.generatePositionAndDirection = function(t, i, n, a) { + var r = t.elements + , s = e._tempPositionPoint.elements; + n ? (n.seed = a[16], + this.emitFromEdge ? nt._randomPointUnitArcCircle(this.arc, e._tempPositionPoint, n) : nt._randomPointInsideUnitArcCircle(this.arc, e._tempPositionPoint, n), + a[16] = n.seed) : this.emitFromEdge ? nt._randomPointUnitArcCircle(this.arc, e._tempPositionPoint) : nt._randomPointInsideUnitArcCircle(this.arc, e._tempPositionPoint), + r[0] = -s[0], + r[1] = s[1], + r[2] = 0, + Be.scale(t, this.radius, t), + this.randomDirection ? n ? (n.seed = a[17], + nt._randomPointUnitSphere(i, n), + a[17] = n.seed) : nt._randomPointUnitSphere(i) : t.cloneTo(i) + } + , + i.cloneTo = function(e) { + t.prototype.cloneTo.call(this, e); + var i = e; + i.radius = this.radius, + i.arc = this.arc, + i.emitFromEdge = this.emitFromEdge, + i.randomDirection = this.randomDirection + } + , + n(e, ["_tempPositionPoint", function() { + return this._tempPositionPoint = new Ae + } + ]), + e + }(it) + , si = function(t) { + function e() { + this.angle = NaN, + this.radius = NaN, + this.length = NaN, + this.emitType = 0, + e.__super.call(this), + this.angle = 25 / 180 * Math.PI, + this.radius = 1, + this.length = 5, + this.emitType = 0, + this.randomDirection = !1 + } + a(e, "laya.d3.core.particleShuriKen.module.shape.ConeShape", t); + var i = e.prototype; + return i._getShapeBoundBox = function(t) { + var e = this.radius + this.length * Math.sin(this.angle) + , i = this.length * Math.cos(this.angle) + , n = t.min.elements; + n[0] = n[1] = -e, + n[2] = 0; + var a = t.max.elements; + a[0] = a[1] = e, + a[2] = i + } + , + i._getSpeedBoundBox = function(t) { + var e = Math.sin(this.angle) + , i = t.min.elements; + i[0] = i[1] = -e, + i[2] = 0; + var n = t.max.elements; + n[0] = i[1] = e, + n[2] = 1 + } + , + i.generatePositionAndDirection = function(t, i, n, a) { + var r, s = t.elements, o = i.elements, l = e._tempPositionPoint.elements, h = NaN, c = NaN, _ = Math.cos(this.angle), u = Math.sin(this.angle); + switch (this.emitType) { + case 0: + n ? (n.seed = a[16], + nt._randomPointInsideUnitCircle(e._tempPositionPoint, n), + a[16] = n.seed) : nt._randomPointInsideUnitCircle(e._tempPositionPoint), + h = l[0], + c = l[1], + s[0] = h * this.radius, + s[1] = c * this.radius, + s[2] = 0, + this.randomDirection ? (n ? (n.seed = a[17], + nt._randomPointInsideUnitCircle(e._tempDirectionPoint, n), + a[17] = n.seed) : nt._randomPointInsideUnitCircle(e._tempDirectionPoint), + r = e._tempDirectionPoint.elements, + o[0] = r[0] * u, + o[1] = r[1] * u) : (o[0] = h * u, + o[1] = c * u), + o[2] = _; + break; + case 1: + n ? (n.seed = a[16], + nt._randomPointUnitCircle(e._tempPositionPoint, n), + a[16] = n.seed) : nt._randomPointUnitCircle(e._tempPositionPoint), + h = l[0], + c = l[1], + s[0] = h * this.radius, + s[1] = c * this.radius, + s[2] = 0, + this.randomDirection ? (n ? (n.seed = a[17], + nt._randomPointInsideUnitCircle(e._tempDirectionPoint, n), + a[17] = n.seed) : nt._randomPointInsideUnitCircle(e._tempDirectionPoint), + r = e._tempDirectionPoint.elements, + o[0] = r[0] * u, + o[1] = r[1] * u) : (o[0] = h * u, + o[1] = c * u), + o[2] = _; + break; + case 2: + n ? (n.seed = a[16], + nt._randomPointInsideUnitCircle(e._tempPositionPoint, n)) : nt._randomPointInsideUnitCircle(e._tempPositionPoint), + h = l[0], + c = l[1], + s[0] = h * this.radius, + s[1] = c * this.radius, + s[2] = 0, + o[0] = h * u, + o[1] = c * u, + o[2] = _, + Be.normalize(i, i), + n ? (Be.scale(i, this.length * n.getFloat(), i), + a[16] = n.seed) : Be.scale(i, this.length * Math.random(), i), + Be.add(t, i, t), + this.randomDirection && (n ? (n.seed = a[17], + nt._randomPointUnitSphere(i, n), + a[17] = n.seed) : nt._randomPointUnitSphere(i)); + break; + case 3: + n ? (n.seed = a[16], + nt._randomPointUnitCircle(e._tempPositionPoint, n)) : nt._randomPointUnitCircle(e._tempPositionPoint), + h = l[0], + c = l[1], + s[0] = h * this.radius, + s[1] = c * this.radius, + s[2] = 0, + o[0] = h * u, + o[1] = c * u, + o[2] = _, + Be.normalize(i, i), + n ? (Be.scale(i, this.length * n.getFloat(), i), + a[16] = n.seed) : Be.scale(i, this.length * Math.random(), i), + Be.add(t, i, t), + this.randomDirection && (n ? (n.seed = a[17], + nt._randomPointUnitSphere(i, n), + a[17] = n.seed) : nt._randomPointUnitSphere(i)); + break; + default: + throw new Error("ConeShape:emitType is invalid.") + } + } + , + i.cloneTo = function(e) { + t.prototype.cloneTo.call(this, e); + var i = e; + i.angle = this.angle, + i.radius = this.radius, + i.length = this.length, + i.emitType = this.emitType, + i.randomDirection = this.randomDirection + } + , + n(e, ["_tempPositionPoint", function() { + return this._tempPositionPoint = new Ae + } + , "_tempDirectionPoint", function() { + return this._tempDirectionPoint = new Ae + } + ]), + e + }(it) + , oi = function(t) { + function e() { + this.radius = NaN, + this.emitFromShell = !1, + e.__super.call(this), + this.radius = 1, + this.emitFromShell = !1, + this.randomDirection = !1 + } + a(e, "laya.d3.core.particleShuriKen.module.shape.HemisphereShape", t); + var i = e.prototype; + return i._getShapeBoundBox = function(t) { + var e = t.min.elements; + e[0] = e[1] = e[2] = -this.radius; + var i = t.max.elements; + i[0] = i[1] = this.radius, + i[2] = 0 + } + , + i._getSpeedBoundBox = function(t) { + var e = t.min.elements; + e[0] = e[1] = -1, + e[2] = 0; + var i = t.max.elements; + i[0] = i[1] = i[2] = 1 + } + , + i.generatePositionAndDirection = function(t, e, i, n) { + var a = t.elements; + i ? (i.seed = n[16], + this.emitFromShell ? nt._randomPointUnitSphere(t, i) : nt._randomPointInsideUnitSphere(t, i), + n[16] = i.seed) : this.emitFromShell ? nt._randomPointUnitSphere(t) : nt._randomPointInsideUnitSphere(t), + Be.scale(t, this.radius, t); + var r = a[2]; + r < 0 && (a[2] = -1 * r), + this.randomDirection ? i ? (i.seed = n[17], + nt._randomPointUnitSphere(e, i), + n[17] = i.seed) : nt._randomPointUnitSphere(e) : t.cloneTo(e) + } + , + i.cloneTo = function(e) { + t.prototype.cloneTo.call(this, e); + var i = e; + i.radius = this.radius, + i.emitFromShell = this.emitFromShell, + i.randomDirection = this.randomDirection + } + , + e + }(it) + , li = function(t) { + function e() { + this.radius = NaN, + this.emitFromShell = !1, + e.__super.call(this), + this.radius = 1, + this.emitFromShell = !1, + this.randomDirection = !1 + } + a(e, "laya.d3.core.particleShuriKen.module.shape.SphereShape", t); + var i = e.prototype; + return i._getShapeBoundBox = function(t) { + var e = t.min.elements; + e[0] = e[1] = e[2] = -this.radius; + var i = t.max.elements; + i[0] = i[1] = i[2] = this.radius + } + , + i._getSpeedBoundBox = function(t) { + var e = t.min.elements; + e[0] = e[1] = e[2] = -1; + var i = t.max.elements; + i[0] = i[1] = i[2] = 1 + } + , + i.generatePositionAndDirection = function(t, e, i, n) { + i ? (i.seed = n[16], + this.emitFromShell ? nt._randomPointUnitSphere(t, i) : nt._randomPointInsideUnitSphere(t, i), + n[16] = i.seed) : this.emitFromShell ? nt._randomPointUnitSphere(t) : nt._randomPointInsideUnitSphere(t), + Be.scale(t, this.radius, t), + this.randomDirection ? i ? (i.seed = n[17], + nt._randomPointUnitSphere(e, i), + n[17] = i.seed) : nt._randomPointUnitSphere(e) : t.cloneTo(e) + } + , + i.cloneTo = function(e) { + t.prototype.cloneTo.call(this, e); + var i = e; + i.radius = this.radius, + i.emitFromShell = this.emitFromShell, + i.randomDirection = this.randomDirection + } + , + e + }(it) + , hi = function(t) { + function e() { + this._batchIndexStart = 0, + this._batchIndexEnd = 0, + this._skinAnimationDatas = null, + e.__super.call(this) + } + return a(e, "laya.d3.core.render.SubMeshRenderElement", ct), + e + }() + , ci = function(t) { + function e(t, i, n, a, r, s) { + this._name = NaN, + this._attributeMap = null, + this._renderElementUniformMap = null, + this._materialUniformMap = null, + this._spriteUniformMap = null, + this._cameraUniformMap = null, + this._sceneUniformMap = null, + this.sharders = null, + this._spriteDefineCounter = 3, + this._spriteInt2name = [], + this._spriteName2Int = {}, + this._materialDefineCounter = 1, + this._materialInt2name = [], + this._materialName2Int = {}, + this._conchShader = null, + this._name = t, + this._renderElementUniformMap = {}, + this._materialUniformMap = {}, + this._spriteUniformMap = {}, + this._cameraUniformMap = {}, + this._sceneUniformMap = {}, + this.sharders = [], + this._spriteInt2name[He.SHADERDEFINE_RECEIVE_SHADOW] = "RECEIVESHADOW", + this._spriteInt2name[un.SHADERDEFINE_SCALEOFFSETLIGHTINGMAPUV] = "SCALEOFFSETLIGHTINGMAPUV", + this._spriteInt2name[un.SAHDERDEFINE_LIGHTMAP] = "LIGHTMAP", + this._spriteInt2name[vn.SHADERDEFINE_BONE] = "BONE", + this._materialInt2name[mi.SHADERDEFINE_ALPHATEST] = "ALPHATEST"; + e.__super.call(this, t, i, n, null, {}), + this._attributeMap = a; + var o; + for (o in r) { + var l = r[o]; + switch (l[1]) { + case 0: + this._renderElementUniformMap[o] = l[0]; + break; + case 1: + this._materialUniformMap[o] = l[0]; + break; + case 2: + this._spriteUniformMap[o] = l[0]; + break; + case 3: + this._cameraUniformMap[o] = l[0]; + break; + case 4: + this._sceneUniformMap[o] = l[0]; + break; + default: + throw new Error("ShaderCompile3D: period is unkonw.") + } + } + } + a(e, "laya.d3.shader.ShaderCompile3D", L); + var i = e.prototype; + return i._definesToNameDic = function(t, e) { + for (var i = {}, n = 1, a = 0; a < 32 && !((n = 1 << a) > t); a++) + if (t & n) { + var r = e[n]; + r && (i[r] = "") + } + return i + } + , + i.withCompile = function(t, i, n) { + var a, r, s; + if (r = this.sharders[t]) + if (s = r[i]) { + if (a = s[n]) + return a + } else + s = r[i] = []; + else + s = (r = this.sharders[t] = [])[i] = []; + var o, l = this._definesToNameDic(t, e._globalInt2name), h = this._definesToNameDic(i, this._spriteInt2name), c = this._definesToNameDic(n, this._materialInt2name); + if (laya.d3.shader.ShaderCompile3D.debugMode) { + var _ = ""; + for (o in l) + _ += o + " "; + var u = ""; + for (o in h) + u += o + " "; + var d = ""; + for (o in c) + d += o + " "; + console.log("ShaderCompile3DDebugMode---(Name:" + Oi.nameKey.getName(this._name) + " PublicDefine:" + t + " SpriteDefine:" + i + " MaterialDefine:" + n + " PublicDefineGroup:" + _ + " SpriteDefineGroup:" + u + "MaterialDefineGroup: " + d + ")---ShaderCompile3DDebugMode") + } + var f = {} + , p = ""; + if (l) + for (o in l) + p += "#define " + o + "\n", + f[o] = !0; + if (h) + for (o in h) + p += "#define " + o + "\n", + f[o] = !0; + if (c) + for (o in c) + p += "#define " + o + "\n", + f[o] = !0; + var m = this._VS.toscript(f, []) + , g = this._PS.toscript(f, []); + return a = Oi.create(p + m.join("\n"), p + g.join("\n"), this._attributeMap, this._sceneUniformMap, this._cameraUniformMap, this._spriteUniformMap, this._materialUniformMap, this._renderElementUniformMap), + s[n] = a, + a + } + , + i.precompileShaderWithShaderDefine = function(t, e, i) { + this.withCompile(t, e, i) + } + , + i.addMaterialDefines = function(t) { + var e = t.defines; + for (var i in e) { + var n = e[i] + , a = parseInt(i); + this._materialInt2name[a] = n, + this._materialName2Int[n] = a + } + } + , + i.addSpriteDefines = function(t) { + var e = t.defines; + for (var i in e) { + var n = e[i] + , a = parseInt(i); + this._spriteInt2name[a] = n, + this._spriteName2Int[n] = a + } + } + , + i.getMaterialDefineByName = function(t) { + return this._materialName2Int[t] + } + , + i.registerMaterialDefine = function(t) { + var e = Math.pow(2, this._materialDefineCounter++); + return this._materialInt2name[e] = t, + this._materialName2Int[t] = e, + e + } + , + i.registerSpriteDefine = function(t) { + var e = Math.pow(2, this._spriteDefineCounter++); + return this._spriteInt2name[e] = t, + this._spriteName2Int[t] = e, + e + } + , + e._globalRegDefine = function(t, i) { + e._globalInt2name[i] = t + } + , + e.add = function(t, i, n, a, r) { + return laya.d3.shader.ShaderCompile3D._preCompileShader[t] = new e(t,i,n,a,r,L.includes) + } + , + e.get = function(t) { + return laya.d3.shader.ShaderCompile3D._preCompileShader[Oi.nameKey.getID(t)] + } + , + e._preCompileShader = {}, + e._globalInt2name = [], + e.debugMode = !1, + e.SHADERDEFINE_HIGHPRECISION = 1, + e.SHADERDEFINE_FOG = 4, + e.SHADERDEFINE_DIRECTIONLIGHT = 8, + e.SHADERDEFINE_POINTLIGHT = 16, + e.SHADERDEFINE_SPOTLIGHT = 32, + e.SHADERDEFINE_UV0 = 64, + e.SHADERDEFINE_COLOR = 128, + e.SHADERDEFINE_UV1 = 256, + e.SAHDERDEFINE_DEPTHFOG = 131072, + e + }() + , _i = function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.d3.graphics.MeshSprite3DStaticBatchManager", Ct); + var i = e.prototype; + return i._getStaticBatch = function(t, e, i, n) { + var a, r; + return r = t ? t.id.toString() + i.id.toString() + e.id.toString() + n.toString() : i.id.toString() + e.id.toString() + n.toString(), + this._staticBatches[r] ? a = this._staticBatches[r] : this._staticBatches[r] = a = new ui(r,this,t,e,i), + a + } + , + i._initStaticBatchs = function(t) { + this._initBatchRenderElements.sort(e._sortPrepareStaticBatch); + for (var i, n, a, r = !1, s = 0, o = 0, l = this._initBatchRenderElements.length; o < l; o++) { + var h = this._initBatchRenderElements[o] + , c = h.renderObj._getVertexBuffer(0); + h._sprite3D; + if (n === c.vertexDeclaration && i === h._material) { + var _; + if (r) + a._addCombineBatchRenderObjTest(h) ? (_ = h._staticBatch) !== a && (_ && _._deleteCombineBatchRenderObj(h), + a._addCombineBatchRenderObj(h)) : (r = !1, + s++); + else { + var u = this._initBatchRenderElements[o - 1] + , d = u.renderObj + , f = h.renderObj; + d._getVertexBuffer().vertexCount + f._getVertexBuffer().vertexCount > 65535 ? r = !1 : (a = this._getStaticBatch(t, n, i, s), + (_ = u._staticBatch) !== a && (_ && _._deleteCombineBatchRenderObj(u), + a._addCombineBatchRenderObj(u)), + (_ = h._staticBatch) !== a && (_ && _._deleteCombineBatchRenderObj(h), + a._addCombineBatchRenderObj(h)), + r = !0) + } + } else + r = !1, + s = 0; + i = h._material, + n = c.vertexDeclaration + } + } + , + e._sortPrepareStaticBatch = function(t, e) { + var i = t._render + , n = e._render + , a = i.lightmapIndex - n.lightmapIndex; + if (0 === a) { + var r = i.receiveShadow - n.receiveShadow; + if (0 === r) { + var s = t._mainSortID - e._mainSortID; + return 0 === s ? t.renderObj.triangleCount - e.renderObj.triangleCount : s + } + return r + } + return a + } + , + e + }() + , ui = function(t) { + function e(t, i, n, a, r) { + this._batchOwnerIndices = null, + this._batchOwners = null, + this._needFinishCombine = !1, + this._currentCombineVertexCount = 0, + this._currentCombineIndexCount = 0, + this._vertexDeclaration = null, + this._vertexBuffer = null, + this._indexBuffer = null, + e.__super.call(this, t, i, n), + this._batchOwnerIndices = [], + this._batchOwners = [], + this._needFinishCombine = !1, + this._currentCombineVertexCount = 0, + this._currentCombineIndexCount = 0, + this._vertexDeclaration = a, + this._material = r + } + a(e, "laya.d3.graphics.SubMeshStaticBatch", St); + var i = e.prototype; + return i._compareBatchRenderElement = function(t, e) { + return t._batchIndexStart > e._batchIndexStart + } + , + i._addCombineBatchRenderObjTest = function(t) { + var e = t.renderObj._vertexCount; + return !((e > 0 ? this._currentCombineVertexCount + e : this._currentCombineVertexCount + t.renderObj._getVertexBuffer().vertexCount) > 65535) + } + , + i._addCombineBatchRenderObj = function(t) { + var e = t.renderObj + , i = e._vertexCount; + this._initBatchRenderElements.push(t), + t._staticBatch = this, + i > 0 ? (this._currentCombineIndexCount += e._indexCount, + this._currentCombineVertexCount += i) : (this._currentCombineIndexCount = this._currentCombineIndexCount + e._getIndexBuffer().indexCount, + this._currentCombineVertexCount = this._currentCombineVertexCount + e._getVertexBuffer().vertexCount), + this._needFinishCombine = !0 + } + , + i._deleteCombineBatchRenderObj = function(t) { + var e = t.renderObj + , i = this._initBatchRenderElements.indexOf(t); + if (-1 !== i) { + this._initBatchRenderElements.splice(i, 1), + t._staticBatch = null; + var n = e._vertexCount; + n > 0 ? (this._currentCombineIndexCount = this._currentCombineIndexCount - e._indexCount, + this._currentCombineVertexCount = this._currentCombineVertexCount - n) : (this._currentCombineIndexCount = this._currentCombineIndexCount - e._getIndexBuffer().indexCount, + this._currentCombineVertexCount = this._currentCombineVertexCount - e._getVertexBuffer().vertexCount), + this._needFinishCombine = !0 + } + } + , + i._finishInit = function() { + if (this._needFinishCombine) { + var t = 0 + , e = 0; + this._initBatchRenderElements[0]._sprite3D._render.lightmapIndex >= 0 ? this._vertexDeclaration = this._getVertexDecLightMap(this._vertexDeclaration) : this._material instanceof laya.d3.core.material.StandardMaterial && this._material.ambientTexture && (this._vertexDeclaration = this._getVertexDecLightMap(this._vertexDeclaration)); + var i = new Float32Array(this._vertexDeclaration.vertexStride / 4 * this._currentCombineVertexCount) + , n = new Uint16Array(this._currentCombineIndexCount); + this._vertexBuffer && (this._vertexBuffer.destroy(), + this._indexBuffer.destroy()), + this._vertexBuffer = Yi.create(this._vertexDeclaration, this._currentCombineVertexCount, 35044), + this._indexBuffer = qi.create("ushort", this._currentCombineIndexCount, 35044); + for (var a = 0, r = this._initBatchRenderElements.length; a < r; a++) { + var s = this._initBatchRenderElements[a] + , o = s.renderObj + , l = o._getStaticBatchBakedVertexs(this._rootOwner ? this._rootOwner._transform : null, s._sprite3D) + , h = o.getIndices() + , c = s._sprite3D.transform._isFrontFaceInvert + , _ = t / (this._vertexDeclaration.vertexStride / 4) - o._vertexStart + , u = e + , d = u + h.length; + s._batchIndexStart = u, + s._batchIndexEnd = d, + n.set(h, e); + var f = 0; + if (c) + for (f = u; f < d; f += 3) { + n[f] = _ + n[f]; + var p = n[f + 1] + , m = n[f + 2]; + n[f + 1] = _ + m, + n[f + 2] = _ + p + } + else + for (f = u; f < d; f += 3) + n[f] = _ + n[f], + n[f + 1] = _ + n[f + 1], + n[f + 2] = _ + n[f + 2]; + e += h.length, + i.set(l, t), + t += l.length + } + this._vertexBuffer.setData(i), + this._indexBuffer.setData(n), + this._needFinishCombine = !1 + } + } + , + i._getCombineRenderElementFromPool = function() { + return this._combineRenderElementPool[this._combineRenderElementPoolIndex++] || (this._combineRenderElementPool[this._combineRenderElementPoolIndex - 1] = new hi) + } + , + i._getRenderElement = function(t, e, i) { + for (var n, a, r = this._batchRenderElements.length, s = !0, o = 0; o < r; o++) { + var l, h = (a = this._batchRenderElements[o])._sprite3D._render; + 0 !== o && (s = (l = (n = this._batchRenderElements[o - 1])._sprite3D._render).lightmapIndex !== h.lightmapIndex || l.receiveShadow !== h.receiveShadow || n._batchIndexEnd !== a._batchIndexStart); + var c; + if (s) { + (c = this._getCombineRenderElementFromPool()).renderObj = this, + c._material = this._material, + c._batchIndexStart = a._batchIndexStart, + c._batchIndexEnd = a._batchIndexEnd; + var _ = h.lightmapIndex + , u = _ + 1 + , d = this._batchOwnerIndices[u]; + d || (d = this._batchOwnerIndices[u] = []); + var f, p = d[a._render.receiveShadow ? 1 : 0]; + void 0 === p ? (d[h.receiveShadow ? 1 : 0] = this._batchOwners.length, + (f = new gn(null,"StaticBatchMeshSprite3D"))._scene = e, + f._transform = this._rootOwner ? this._rootOwner._transform : null, + f._render.lightmapIndex = _, + f._render.receiveShadow = a._render.receiveShadow, + this._batchOwners.push(f)) : f = this._batchOwners[p], + f._render._renderUpdate(i), + c._sprite3D = f, + t.push(c) + } else + c._batchIndexEnd = a._batchIndexEnd + } + } + , + i._beforeRender = function(t) { + return this._vertexBuffer._bind(), + this._indexBuffer._bind(), + !0 + } + , + i._render = function(t) { + var e = t.renderElement + , i = e._batchIndexStart + , n = e._batchIndexEnd - i; + B.mainContext.drawElements(4, n, 5123, 2 * i), + E.drawCall++, + E.trianglesFaces += n / 3 + } + , + i.dispose = function() { + this._batchOwnerIndices = null, + this._batchOwners = null, + this._vertexDeclaration = null, + this._vertexBuffer.destroy(), + this._indexBuffer.destroy() + } + , + i._getVertexBuffer = function(t) { + return void 0 === t && (t = 0), + this._vertexBuffer + } + , + e + }() + , di = (function(t) { + function e() { + e.__super.call(this), + e._nameNumber++, + this.loadShaderParams(), + this.createResource(), + this.alphaBlending = 1, + this.colorIntensity = 1 + } + a(e, "laya.d3.resource.models.SkyBox", t); + var i = e.prototype; + i._getShader = function(t) { + var e = t.scene._shaderDefineValue; + return this._shader = this._shaderCompile.withCompile(e, 0, 0), + this._shader + } + , + i.createResource = function() { + this._numberVertices = 36, + this._numberIndices = 36; + var t = new Uint16Array(this._numberIndices) + , i = e._vertexDeclaration.vertexStride / 4 + , n = new Float32Array(this._numberVertices * i) + , a = new Be(-.5,.5,.5) + , r = new Be(-.5,-.5,.5) + , s = new Be(.5,.5,.5) + , o = new Be(.5,-.5,.5) + , l = new Be(-.5,.5,-.5) + , h = new Be(.5,.5,-.5) + , c = new Be(-.5,-.5,-.5) + , _ = new Be(.5,-.5,-.5) + , u = 0; + u = this._addVertex(n, u, a), + u = this._addVertex(n, u, r), + u = this._addVertex(n, u, s), + u = this._addVertex(n, u, r), + u = this._addVertex(n, u, o), + u = this._addVertex(n, u, s), + u = this._addVertex(n, u, l), + u = this._addVertex(n, u, h), + u = this._addVertex(n, u, c), + u = this._addVertex(n, u, c), + u = this._addVertex(n, u, h), + u = this._addVertex(n, u, _), + u = this._addVertex(n, u, a), + u = this._addVertex(n, u, h), + u = this._addVertex(n, u, l), + u = this._addVertex(n, u, a), + u = this._addVertex(n, u, s), + u = this._addVertex(n, u, h), + u = this._addVertex(n, u, r), + u = this._addVertex(n, u, c), + u = this._addVertex(n, u, _), + u = this._addVertex(n, u, r), + u = this._addVertex(n, u, _), + u = this._addVertex(n, u, o), + u = this._addVertex(n, u, a), + u = this._addVertex(n, u, c), + u = this._addVertex(n, u, r), + u = this._addVertex(n, u, l), + u = this._addVertex(n, u, c), + u = this._addVertex(n, u, a), + u = this._addVertex(n, u, s), + u = this._addVertex(n, u, o), + u = this._addVertex(n, u, _), + u = this._addVertex(n, u, h), + u = this._addVertex(n, u, s), + u = this._addVertex(n, u, _); + for (var d = 0; d < 36; d++) + t[d] = d; + this._vertexBuffer = new Yi(e._vertexDeclaration,this._numberVertices,35044,!0), + this._indexBuffer = new qi("ushort",this._numberIndices,35044,!0), + this._vertexBuffer.setData(n), + this._indexBuffer.setData(t) + } + , + i._addVertex = function(t, e, i) { + var n = i.elements; + return t[e + 0] = n[0], + t[e + 1] = n[1], + t[e + 2] = n[2], + e + 3 + } + , + i.loadShaderParams = function() { + this._sharderNameID = Oi.nameKey.getID("SkyBox"), + this._shaderCompile = ci._preCompileShader[this._sharderNameID] + } + , + i._render = function(t) { + this._textureCube && this._textureCube.loaded && (this._vertexBuffer._bind(), + this._indexBuffer._bind(), + this._shader = this._getShader(t), + this._shader.bind(), + t.camera.transform.worldMatrix.cloneTo(e._tempMatrix4x40), + e._tempMatrix4x40.transpose(), + Me.multiply(t._projectionMatrix, e._tempMatrix4x40, e._tempMatrix4x41), + t.camera._shaderValues.setValue(4, e._tempMatrix4x41.elements), + this._shader.uploadCameraUniforms(t.camera._shaderValues.data), + this._shaderValue.setValue(1, this._colorIntensity), + this._shaderValue.setValue(2, this._alphaBlending), + this._shaderValue.setValue(3, this.textureCube), + this._shader.uploadAttributes(e._vertexDeclaration.shaderValues.data, null), + this._shader.uploadMaterialUniforms(this._shaderValue.data), + B.mainContext.drawElements(4, 36, 5123, 0), + E.trianglesFaces += 12, + E.drawCall++) + } + , + i.destroy = function() { + t.prototype.destroy.call(this), + this._textureCube && (this._textureCube._removeReference(), + this._textureCube = null) + } + , + r(0, i, "textureCube", function() { + return this._textureCube + }, function(t) { + this._textureCube !== t && (this._textureCube && this._textureCube._removeReference(), + this._textureCube = t, + t && t._addReference()) + }), + e._nameNumber = 1, + n(e, ["_tempMatrix4x40", function() { + return this._tempMatrix4x40 = new Me + } + , "_tempMatrix4x41", function() { + return this._tempMatrix4x41 = new Me + } + , "_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(12,[new Lt(0,"vector3",0)]) + } + ]) + }(Pe), + function(t) { + function e() { + this._stacks = 16, + this._slices = 16, + this._radius = 1, + e.__super.call(this), + e._nameNumber++, + this.loadShaderParams(), + this.recreateResource(), + this.alphaBlending = 1, + this.colorIntensity = 1 + } + a(e, "laya.d3.resource.models.SkyDome", t); + var s = e.prototype; + s._getShader = function(t) { + var e = t.scene._shaderDefineValue; + return this._shader = this._shaderCompile.withCompile(e, 0, 0), + this._shader + } + , + s.recreateResource = function() { + this._numberVertices = (this._stacks + 1) * (this._slices + 1), + this._numberIndices = 3 * this._stacks * (this._slices + 1) * 2; + for (var t = new Uint16Array(this._numberIndices), i = e._vertexDeclaration.vertexStride / 4, n = new Float32Array(this._numberVertices * i), a = Math.PI / this._stacks, r = 2 * Math.PI / this._slices, s = 0, o = 0, l = 0, h = 0; h < this._stacks + 1; h++) + for (var c = Math.sin(h * a), _ = Math.cos(h * a), u = 0; u < this._slices + 1; u++) { + var d = c * Math.sin(u * r) + , f = c * Math.cos(u * r); + n[o + 0] = d * this._radius, + n[o + 1] = _ * this._radius, + n[o + 2] = f * this._radius, + n[o + 3] = -u / this._slices + .75, + n[o + 4] = h / this._stacks, + o += i, + h != this._stacks - 1 && (t[l++] = s + 1, + t[l++] = s, + t[l++] = s + (this._slices + 1), + t[l++] = s + (this._slices + 1), + t[l++] = s, + t[l++] = s + this._slices, + s++) + } + this._vertexBuffer = new Yi(e._vertexDeclaration,this._numberVertices,35044), + this._indexBuffer = new qi("ushort",this._numberIndices,35044), + this._vertexBuffer.setData(n), + this._indexBuffer.setData(t) + } + , + s.loadShaderParams = function() { + this._sharderNameID = Oi.nameKey.getID("SkyDome"), + this._shaderCompile = ci._preCompileShader[this._sharderNameID] + } + , + s._render = function(t) { + this._texture && this._texture.loaded && (this._vertexBuffer._bind(), + this._indexBuffer._bind(), + this._shader = this._getShader(t), + this._shader.bind(), + t.camera.transform.worldMatrix.cloneTo(e._tempMatrix4x40), + e._tempMatrix4x40.transpose(), + Me.multiply(t._projectionMatrix, e._tempMatrix4x40, e._tempMatrix4x41), + t.camera._shaderValues.setValue(4, e._tempMatrix4x41.elements), + this._shader.uploadCameraUniforms(t.camera._shaderValues.data), + this._shaderValue.setValue(1, this._colorIntensity), + this._shaderValue.setValue(2, this._alphaBlending), + this._shaderValue.setValue(3, this.texture), + this._shader.uploadAttributes(e._vertexDeclaration.shaderValues.data, null), + this._shader.uploadMaterialUniforms(this._shaderValue.data), + B.mainContext.drawElements(4, this._indexBuffer.indexCount, 5123, 0), + E.trianglesFaces += this._numberIndices / 3, + E.drawCall++) + } + , + s.onEnvDescLoaded = function(t) { + var e = "" + , n = Math.max(t.lastIndexOf("/"), t.lastIndexOf("\\")); + n > 0 && (e = t.substr(0, n + 1)); + var a = i.loader.getRes(t); + void 0 != a.ev && this.__ownerCamera ? this.__ownerCamera._shaderValues.setValue(13, Math.pow(2, a.ev)) : this.__ownerCamera._shaderValues.setValue(13, Math.pow(2, 0)), + this.texture = ln.load(e + a.skytex), + this.environmentSpecular = en.load(e + a.prefiltedEnv); + var r = new Float32Array(a.IrradianceMat); + this.envDiffuseSHRed = r.slice(0, 16), + this.envDiffuseSHGreen = r.slice(16, 32), + this.envDiffuseSHBlue = r.slice(32, 48) + } + , + s.loadEnvInfo = function(t) { + i.loader.load(t, y.create(this, this.onEnvDescLoaded, [t])) + } + , + s.destroy = function() { + t.prototype.destroy.call(this), + this._texture && (this._texture._removeReference(), + this._texture = null) + } + , + r(0, s, "texture", function() { + return this._texture + }, function(t) { + this._texture !== t && (this._texture && this._texture._removeReference(), + this._texture = t, + t && t._addReference()) + }), + e._nameNumber = 1, + n(e, ["_tempMatrix4x40", function() { + return this._tempMatrix4x40 = new Me + } + , "_tempMatrix4x41", function() { + return this._tempMatrix4x41 = new Me + } + , "_vertexDeclaration", function() { + return this._vertexDeclaration = new Mt(20,[new Lt(0,"vector3",0), new Lt(12,"vector2",2)]) + } + ]) + }(Pe), + function(t) { + function e() { + this._componentsMap = null, + this._typeComponentsIndices = null, + this._components = null, + this._scripts = null, + e.__super.call(this), + this._componentsMap = [], + this._typeComponentsIndices = [], + this._components = [], + this._scripts = [] + } + a(e, "laya.d3.core.ComponentNode", x); + var i = e.prototype; + return i.addComponent = function(t) { + var e, i = this._componentsMap.indexOf(t); + if (-1 === i) + e = [], + this._componentsMap.push(t), + this._typeComponentsIndices.push(e); + else if (e = this._typeComponentsIndices[i], + this._components[e[0]].isSingleton) + throw new Error("无法单实例创建" + t + "组件," + t + "组件已存在!"); + var n = p.getInstance(t); + return e.push(this._components.length), + this._components.push(n), + n instanceof laya.d3.component.Script && this._scripts.push(n), + n._initialize(this), + n + } + , + i._removeComponent = function(t, e) { + var i = this._typeComponentsIndices[t] + , n = i[e] + , a = this._components[n]; + this._components.splice(n, 1), + a instanceof laya.d3.component.Script && this._scripts.splice(this._scripts.indexOf(a), 1), + i.splice(e, 1), + 0 === i.length && (this._typeComponentsIndices.splice(t, 1), + this._componentsMap.splice(t, 1)); + for (var r = 0, s = this._componentsMap.length; r < s; r++) + for (var o = (i = this._typeComponentsIndices[r]).length - 1; o >= 0; o--) { + var l = i[o]; + if (!(l > n)) + break; + i[o] = --l + } + a._destroy() + } + , + i.getComponentByType = function(t, e) { + void 0 === e && (e = 0); + var i = this._componentsMap.indexOf(t); + return -1 === i ? null : this._components[this._typeComponentsIndices[i][e]] + } + , + i.getComponentsByType = function(t, e) { + var i = this._componentsMap.indexOf(t); + if (-1 !== i) { + var n = this._typeComponentsIndices[i] + , a = n.length; + e.length = a; + for (var r = 0; r < a; r++) + e[r] = this._components[n[r]] + } else + e.length = 0 + } + , + i.getComponentByIndex = function(t) { + return this._components[t] + } + , + i.removeComponentByType = function(t, e) { + void 0 === e && (e = 0); + var i = this._componentsMap.indexOf(t); + -1 !== i && this._removeComponent(i, e) + } + , + i.removeComponentsByType = function(t) { + var e = this._componentsMap.indexOf(t); + if (-1 !== e) + for (var i = this._typeComponentsIndices[e], n = 0, a = i.length; n < a; i.length < a ? a-- : n++) + this._removeComponent(e, n) + } + , + i.removeAllComponent = function() { + for (var t = 0, e = this._componentsMap.length; t < e; this._componentsMap.length < e ? e-- : t++) + this.removeComponentsByType(this._componentsMap[t]) + } + , + i._updateComponents = function(t) { + for (var e = 0, i = this._components.length; e < i; e++) { + var n = this._components[e]; + !n.started && (n._start(t), + n.started = !0), + n.enable && n._update(t) + } + } + , + i._lateUpdateComponents = function(t) { + for (var e = 0; e < this._components.length; e++) { + var i = this._components[e]; + !i.started && (i._start(t), + i.started = !0), + i.enable && i._lateUpdate(t) + } + } + , + i._preRenderUpdateComponents = function(t) { + for (var e = 0; e < this._components.length; e++) { + var i = this._components[e]; + !i.started && (i._start(t), + i.started = !0), + i.enable && i._preRenderUpdate(t) + } + } + , + i._postRenderUpdateComponents = function(t) { + for (var e = 0; e < this._components.length; e++) { + var i = this._components[e]; + !i.started && (i._start(t), + i.started = !0), + i.enable && i._postRenderUpdate(t) + } + } + , + e + }()) + , fi = function(t) { + function e() { + this._realTimeCurrentFrameIndexes = null, + this._realTimeCurrentTimes = null, + this._fullKeyframeIndicesCache = null, + this._animationDatasCache = null, + this._avatarDatasCache = null, + this._skinnedDatasCache = null, + this._version = null, + this._nodes = null, + this._nodesMap = null, + this._cachePropertyMap = null, + this._nodeToCachePropertyMap = null, + this._unCachePropertyMap = null, + this._duration = NaN, + this._frameRate = 0, + this._animationEvents = null, + this._publicClipDatas = null, + this.islooping = !1, + e.__super.call(this), + this._fullKeyframeIndicesCache = {}, + this._animationDatasCache = [], + this._avatarDatasCache = [], + this._skinnedDatasCache = [], + this._animationEvents = [] + } + a(e, "laya.d3.animation.AnimationClip", S); + var n = e.prototype; + return n.duration = function() { + return this._duration + } + , + n._hermiteInterpolate = function(t, e, i, n) { + for (var a = t.data, r = t.outTangent, s = t.next, o = s.data, l = s.inTangent, h = !1, c = NaN, _ = NaN, u = NaN, d = NaN, f = 0, p = n.length; f < p; f++) { + var m = r[f] + , g = l[f]; + if (Number.isFinite(m) && Number.isFinite(g)) { + if (!h) { + var y = e * e + , v = y * e; + c = 2 * v - 3 * y + 1, + _ = v - 2 * y + e, + u = v - y, + d = -2 * v + 3 * y, + h = !0 + } + n[f] = c * a[f] + _ * m * i + u * g * i + d * o[f] + } else + n[f] = a[f] + } + } + , + n._getFullKeyframeIndicesWithCache = function(t) { + return this._fullKeyframeIndicesCache[t] + } + , + n._cacheFullKeyframeIndices = function(t, e) { + this._fullKeyframeIndicesCache[t] = e + } + , + n._getAnimationDataWithCache = function(t, e) { + var i = this._animationDatasCache[t]; + return i ? i[e] : null + } + , + n._cacheAnimationData = function(t, e, i) { + (this._animationDatasCache[t] || (this._animationDatasCache[t] = []))[e] = i + } + , + n._getAvatarDataWithCache = function(t, e, i) { + var n = this._avatarDatasCache[t.id]; + if (n) { + var a = n[e]; + return a ? a[i] : null + } + return null + } + , + n._cacheAvatarData = function(t, e, i, n) { + var a = this._avatarDatasCache[t.id] || (this._avatarDatasCache[t.id] = []); + (a[e] || (a[e] = []))[i] = n + } + , + n._evaluateAnimationlDatasCacheMode = function(t, e, i, n, a) { + for (var r = 0, s = 0, o = 0, l = a ? a.length : this._nodes.length; o < l; o++) { + var h = a ? a[o] : o + , c = this._nodes[h] + , _ = c._cacheProperty; + if (t[h]) { + var u, d = e[h], f = d[i.currentFrameIndex], p = 0; + if (-1 !== f) { + var m = c.keyFrames[f]; + if (m.next) { + a && !_ ? (u = n[h]) || (u = n[h] = new Float32Array(c.keyFrameWidth)) : (u = new Float32Array(c.keyFrameWidth), + n[o] = u); + var g = NaN + , y = m.duration; + g = 0 !== y ? (i.currentFrameTime - m.startTime) / y : 0, + this._hermiteInterpolate(m, g, y, u) + } else { + if (a && !_) + (u = n[h]) || (u = n[h] = new Float32Array(c.keyFrameWidth)); + else { + if (-1 !== (p = i._lastFrameIndex) && d[p] === f) + continue; + u = new Float32Array(c.keyFrameWidth), + n[o] = u + } + var v = m.data; + for (r = 0, + s = u.length; r < s; r++) + u[r] = v[r] + } + } else { + if (a && !_) + (u = n[h]) || (u = n[h] = new Float32Array(c.keyFrameWidth)); + else { + if (-1 !== (p = i._lastFrameIndex) && d[p] === f) + continue; + u = new Float32Array(c.keyFrameWidth), + n[o] = u + } + var b = c.keyFrames[0].data; + for (r = 0, + s = u.length; r < s; r++) + u[r] = b[r] + } + } + } + } + , + n._evaluateAnimationlDatasRealTime = function(t, e, i, n) { + var a = 0 + , r = 0 + , s = this._nodes; + if (!this._realTimeCurrentFrameIndexes) { + for (this._realTimeCurrentFrameIndexes = new Int32Array(s.length), + a = 0, + r = s.length; a < r; a++) + this._realTimeCurrentFrameIndexes[a] = -1; + this._realTimeCurrentTimes = new Float32Array(s.length) + } + for (a = 0, + r = n ? n.length : this._nodes.length; a < r; a++) { + var o = n ? n[a] : a + , l = s[o]; + e < this._realTimeCurrentTimes[o] && (this._realTimeCurrentFrameIndexes[o] = -1), + this._realTimeCurrentTimes[o] = e; + for (var h = this._realTimeCurrentFrameIndexes[o] + 1, c = l.keyFrames, _ = c.length; h < _; ) { + if (c[h].startTime > e) { + this._realTimeCurrentFrameIndexes[o] = h - 1; + break + } + h++ + } + h === _ && (this._realTimeCurrentFrameIndexes[o] = _ - 1); + var u = 0 + , d = 0 + , f = i[o]; + f || (f = i[o] = new Float32Array(l.keyFrameWidth)); + var p = c[this._realTimeCurrentFrameIndexes[o]]; + if (p) { + if (p.next) { + var m = p.duration + , g = NaN; + g = 0 !== m ? (e - p.startTime) / m : 0, + this._hermiteInterpolate(p, g, m, f) + } else { + var y = p.data; + for (u = 0, + d = f.length; u < d; u++) + f[u] = y[u] + } + } else { + var v = l.keyFrames[0].data; + for (u = 0, + d = f.length; u < d; u++) + f[u] = v[u] + } + var b = t[o]; + b && (n ? U._propertySetFuncs[l.propertyNameID](b, null, f) : U._propertySetFuncs[l.propertyNameID](null, b, f)) + } + } + , + n._binarySearchEventIndex = function(t) { + for (var e = 0, i = this._animationEvents.length - 1, n = 0; e <= i; ) { + n = Math.floor((e + i) / 2); + var a = this._animationEvents[n].time; + if (a == t) + return n; + a > t ? i = n - 1 : e = n + 1 + } + return e + } + , + n.addEvent = function(t) { + var e = this._binarySearchEventIndex(t.time); + this._animationEvents.splice(e, 0, t) + } + , + n.onAsynLoaded = function(t, e, i) { + var n = new f(e); + switch (this._version = n.readUTFString(), + this._version) { + case "LAYAANIMATION:01": + R.parse(this, n); + break; + case "LAYAANIMATION:02": + P.parse(this, n) + } + this.completeCreate(), + this._endLoaded() + } + , + n.disposeResource = function() { + this._realTimeCurrentFrameIndexes = null, + this._realTimeCurrentTimes = null, + this._fullKeyframeIndicesCache = null, + this._animationDatasCache = null, + this._avatarDatasCache = null, + this._skinnedDatasCache = null, + this._version = null, + this._nodes = null, + this._nodesMap = null, + this._cachePropertyMap = null, + this._nodeToCachePropertyMap = null, + this._unCachePropertyMap = null, + this._publicClipDatas = null + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e + }() + , pi = function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.d3.core.Avatar", S); + var n = e.prototype; + return i.imps(n, { + "laya.d3.core.IClone": !0 + }), + n._initCloneToAnimator = function(t, e) { + e._avatarNodeMap[t.name] = t, + e._avatarNodes.push(t); + for (var i = 0, n = t.getChildCount(); i < n; i++) + this._initCloneToAnimator(t.getChildByIndex(i), e) + } + , + n._parseNode = function(t, e) { + var i = t.props.name; + if (e.name = i, + e._parent) { + var n = t.customProps + , a = e.transform; + a._localRotationEuler = new Float32Array(3), + a.setLocalPosition(new Float32Array(n.translate)), + a.setLocalRotation(new Float32Array(n.rotation)), + a.setLocalScale(new Float32Array(n.scale)), + a._setWorldMatrixAndUpdate(new Float32Array(16)) + } + for (var r = t.child, s = 0, o = r.length; s < o; s++) { + var l = r[s] + , h = new U; + e.addChild(h), + this._parseNode(l, h) + } + } + , + n.onAsynLoaded = function(t, e, i) { + if (this._rootNode = new U, + e.version) { + this._version = e.version; + var n = e.rootNode; + n && this._parseNode(n, this._rootNode) + } else + this._parseNode(e, this._rootNode); + this._endLoaded() + } + , + n._cloneDatasToAnimator = function(t) { + var e = this._rootNode.clone(); + e.transform._setWorldMatrixIgnoreUpdate(null); + t._avatarNodeMap = {}, + t._avatarNodes = [], + this._initCloneToAnimator(e, t) + } + , + n.cloneTo = function(t) { + var e = t + , i = this._rootNode.clone(); + e._rootNode = i + } + , + n.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e + }() + , mi = function(t) { + function e() { + e.__super.call(this), + this._shaderDefineValue = 0, + this._disablePublicShaderDefine = 0, + this._shaderValues = new Fe, + this._values = [], + this.renderQueue = 2e3, + this._alphaTest = !1, + this.cull = 2, + this.blend = 0, + this.srcBlend = 1, + this.dstBlend = 0, + this.srcBlendRGB = 1, + this.dstBlendRGB = 0, + this.srcBlendAlpha = 1, + this.dstBlendAlpha = 0, + this.blendConstColor = new ke(1,1,1,1), + this.blendEquation = 0, + this.blendEquationRGB = 0, + this.blendEquationAlpha = 0, + this.depthTest = 513, + this.depthWrite = !0 + } + a(e, "laya.d3.core.material.BaseMaterial", t); + var s = e.prototype; + return i.imps(s, { + "laya.d3.core.IClone": !0 + }), + s._addShaderDefine = function(t) { + this._shaderDefineValue |= t + } + , + s._removeShaderDefine = function(t) { + this._shaderDefineValue &= ~t + } + , + s._addDisablePublicShaderDefine = function(t) { + this._disablePublicShaderDefine |= t + } + , + s._removeDisablePublicShaderDefine = function(t) { + this._disablePublicShaderDefine &= ~t + } + , + s._setBuffer = function(t, e) { + this._shaderValues.setValue(t, e), + this._values[t] = e + } + , + s._getBuffer = function(t) { + return this._values[t] + } + , + s._setMatrix4x4 = function(t, e) { + this._shaderValues.setValue(t, e ? e.elements : null), + this._values[t] = e + } + , + s._getMatrix4x4 = function(t) { + return this._values[t] + } + , + s._setInt = function(t, e) { + this._shaderValues.setValue(t, e), + this._values[t] = e + } + , + s._getInt = function(t) { + return this._values[t] + } + , + s._setNumber = function(t, e) { + this._shaderValues.setValue(t, e), + this._values[t] = e + } + , + s._getNumber = function(t) { + return this._values[t] + } + , + s._setBool = function(t, e) { + this._shaderValues.setValue(t, e), + this._values[t] = e + } + , + s._getBool = function(t) { + return this._values[t] + } + , + s._setVector2 = function(t, e) { + this._shaderValues.setValue(t, e ? e.elements : null), + this._values[t] = e + } + , + s._getVector2 = function(t) { + return this._values[t] + } + , + s._setColor = function(t, e) { + this._shaderValues.setValue(t, e ? e.elements : null), + this._values[t] = e + } + , + s._getColor = function(t) { + return this._values[t] + } + , + s._setTexture = function(t, e) { + var i = this._values[t]; + this._values[t] = e, + this._shaderValues.setValue(t, e), + this.referenceCount > 0 && (i && i._removeReference(), + e && e._addReference()) + } + , + s._getTexture = function(t) { + return this._values[t] + } + , + s._upload = function() { + this._shader.uploadMaterialUniforms(this._shaderValues.data) + } + , + s._getShader = function(t, e, i) { + var n = (t | e) & ~this._disablePublicShaderDefine; + return this._shader = this._shaderCompile.withCompile(n, i, this._shaderDefineValue), + this._shader + } + , + s._setRenderStateBlendDepth = function() { + var t = B.mainContext; + switch (k.setDepthMask(t, this.depthWrite), + 0 === this.depthTest ? k.setDepthTest(t, !1) : (k.setDepthTest(t, !0), + k.setDepthFunc(t, this.depthTest)), + this.blend) { + case 0: + k.setBlend(t, !1); + break; + case 1: + k.setBlend(t, !0), + k.setBlendFunc(t, this.srcBlend, this.dstBlend); + break; + case 2: + k.setBlend(t, !0) + } + } + , + s._setRenderStateFrontFace = function(t, e) { + var i = B.mainContext + , n = 0; + switch (this.cull) { + case 0: + k.setCullFace(i, !1); + break; + case 1: + k.setCullFace(i, !0), + n = t ? e && e._isFrontFaceInvert ? 2305 : 2304 : e && e._isFrontFaceInvert ? 2304 : 2305, + k.setFrontFace(i, n); + break; + case 2: + k.setCullFace(i, !0), + n = t ? e && e._isFrontFaceInvert ? 2304 : 2305 : e && e._isFrontFaceInvert ? 2305 : 2304, + k.setFrontFace(i, n) + } + } + , + s.onAsynLoaded = function(t, e, i) { + var n = e[0] + , a = e[1]; + switch (n.version) { + case "LAYAMATERIAL:01": + var r = 0 + , s = 0 + , o = n.props; + for (var l in o) + switch (l) { + case "vectors": + var h = o[l]; + for (r = 0, + s = h.length; r < s; r++) { + var c = h[r] + , _ = c.value; + switch (_.length) { + case 2: + this[c.name] = new Ae(_[0],_[1]); + break; + case 3: + this[c.name] = new Be(_[0],_[1],_[2]); + break; + case 4: + this[c.name] = new ke(_[0],_[1],_[2],_[3]); + break; + default: + throw new Error("BaseMaterial:unkonwn color length.") + } + } + break; + case "textures": + var u = o[l]; + for (r = 0, + s = u.length; r < s; r++) { + var d = u[r] + , f = d.path; + f && (this[d.name] = v.getRes(a[f])) + } + break; + case "defines": + var p = o[l]; + for (r = 0, + s = p.length; r < s; r++) { + var m = this._shaderCompile.getMaterialDefineByName(p[r]); + this._addShaderDefine(m) + } + break; + case "cull": + case "blend": + case "srcBlend": + case "dstBlend": + case "depthWrite": + this[l] = o[l]; + break; + case "renderQueue": + switch (o[l]) { + case 1: + this.renderQueue = 2e3; + break; + case 2: + this.renderQueue = 3e3 + } + break; + default: + this[l] = o[l] + } + break; + case "LAYAMATERIAL:02": + o = n.props; + for (l in o) + switch (l) { + case "vectors": + for (r = 0, + s = (h = o[l]).length; r < s; r++) + switch (c = h[r], + (_ = c.value).length) { + case 2: + this[c.name] = new Ae(_[0],_[1]); + break; + case 3: + this[c.name] = new Be(_[0],_[1],_[2]); + break; + case 4: + this[c.name] = new ke(_[0],_[1],_[2],_[3]); + break; + default: + throw new Error("BaseMaterial:unkonwn color length.") + } + break; + case "textures": + for (r = 0, + s = (u = o[l]).length; r < s; r++) + (f = (d = u[r]).path) && (this[d.name] = v.getRes(a[f])); + break; + case "defines": + for (r = 0, + s = (p = o[l]).length; r < s; r++) + m = this._shaderCompile.getMaterialDefineByName(p[r]), + this._addShaderDefine(m); + break; + default: + this[l] = o[l] + } + break; + default: + throw new Error("BaseMaterial:unkonwn version.") + } + this._endLoaded() + } + , + s._addReference = function() { + t.prototype._addReference.call(this); + for (var e = 0, i = this._values.length; e < i; e++) { + var n = this._values[e]; + n && n instanceof laya.d3.resource.BaseTexture && n._addReference() + } + } + , + s._removeReference = function() { + t.prototype._removeReference.call(this); + for (var e = 0, i = this._values.length; e < i; e++) { + var n = this._values[e]; + n && n instanceof laya.d3.resource.BaseTexture && n._removeReference() + } + } + , + s.disposeResource = function() { + this.blendConstColor = null, + this._shader = null, + this._shaderValues = null; + for (var t = 0, e = this._values.length; t < e; t++) { + var i = this._values[t]; + i && i instanceof laya.d3.resource.BaseTexture && i._removeReference() + } + this._values = null + } + , + s.setShaderName = function(t) { + var e = Oi.nameKey.getID(t); + if (-1 === e) + throw new Error("BaseMaterial: unknown shader name."); + this._shaderCompile = ci._preCompileShader[e] + } + , + s.cloneTo = function(t) { + var e = t; + e.name = this.name, + e.cull = this.cull, + e.blend = this.blend, + e.srcBlend = this.srcBlend, + e.dstBlend = this.dstBlend, + e.srcBlendRGB = this.srcBlendRGB, + e.dstBlendRGB = this.dstBlendRGB, + e.srcBlendAlpha = this.srcBlendAlpha, + e.dstBlendAlpha = this.dstBlendAlpha, + this.blendConstColor.cloneTo(e.blendConstColor), + e.blendEquation = this.blendEquation, + e.blendEquationRGB = this.blendEquationRGB, + e.blendEquationAlpha = this.blendEquationAlpha, + e.depthTest = this.depthTest, + e.depthWrite = this.depthWrite, + e.renderQueue = this.renderQueue, + e._shader = this._shader, + e._disablePublicShaderDefine = this._disablePublicShaderDefine, + e._shaderDefineValue = this._shaderDefineValue; + var i = 0 + , n = 0 + , a = e._shaderValues; + e._shaderValues.data.length = this._shaderValues.data.length; + var r = this._values.length + , s = e._values; + for (s.length = r, + i = 0, + n = r; i < n; i++) { + var o = this._values[i]; + if (o) + if ("number" == typeof o) + s[i] = o, + a.data[i] = o; + else if ("number" == typeof o && Math.floor(o) == o) + s[i] = o, + a.data[i] = o; + else if ("boolean" == typeof o) + s[i] = o, + a.data[i] = o; + else if (o instanceof laya.d3.math.Vector2) { + var l = s[i] || (s[i] = new Ae); + o.cloneTo(l), + a.data[i] = l.elements + } else if (o instanceof laya.d3.math.Vector3) { + var h = s[i] || (s[i] = new Be); + o.cloneTo(h), + a.data[i] = h.elements + } else if (o instanceof laya.d3.math.Vector4) { + var c = s[i] || (s[i] = new ke); + o.cloneTo(c), + a.data[i] = c.elements + } else if (o instanceof laya.d3.math.Matrix4x4) { + var _ = s[i] || (s[i] = new Me); + o.cloneTo(_), + a.data[i] = _.elements + } else + o instanceof laya.d3.resource.BaseTexture && (s[i] = o, + a.data[i] = o) + } + } + , + s.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + r(0, s, "alphaTestValue", function() { + return this._getNumber(0) + }, function(t) { + this._setNumber(0, t) + }), + r(0, s, "alphaTest", function() { + return this._alphaTest + }, function(t) { + this._alphaTest = t, + t ? this._addShaderDefine(laya.d3.core.material.BaseMaterial.SHADERDEFINE_ALPHATEST) : this._removeShaderDefine(laya.d3.core.material.BaseMaterial.SHADERDEFINE_ALPHATEST) + }), + e.__init__ = function() { + e.SHADERDEFINE_ALPHATEST = e.shaderDefines.registerDefine("ALPHATEST") + } + , + e.RENDERQUEUE_OPAQUE = 2e3, + e.RENDERQUEUE_ALPHATEST = 2450, + e.RENDERQUEUE_TRANSPARENT = 3e3, + e.CULL_NONE = 0, + e.CULL_FRONT = 1, + e.CULL_BACK = 2, + e.BLEND_DISABLE = 0, + e.BLEND_ENABLE_ALL = 1, + e.BLEND_ENABLE_SEPERATE = 2, + e.BLENDPARAM_ZERO = 0, + e.BLENDPARAM_ONE = 1, + e.BLENDPARAM_SRC_COLOR = 768, + e.BLENDPARAM_ONE_MINUS_SRC_COLOR = 769, + e.BLENDPARAM_DST_COLOR = 774, + e.BLENDPARAM_ONE_MINUS_DST_COLOR = 775, + e.BLENDPARAM_SRC_ALPHA = 770, + e.BLENDPARAM_ONE_MINUS_SRC_ALPHA = 771, + e.BLENDPARAM_DST_ALPHA = 772, + e.BLENDPARAM_ONE_MINUS_DST_ALPHA = 773, + e.BLENDPARAM_SRC_ALPHA_SATURATE = 776, + e.BLENDEQUATION_ADD = 0, + e.BLENDEQUATION_SUBTRACT = 1, + e.BLENDEQUATION_REVERSE_SUBTRACT = 2, + e.DEPTHTEST_OFF = 0, + e.DEPTHTEST_NEVER = 512, + e.DEPTHTEST_LESS = 513, + e.DEPTHTEST_EQUAL = 514, + e.DEPTHTEST_LEQUAL = 515, + e.DEPTHTEST_GREATER = 516, + e.DEPTHTEST_NOTEQUAL = 517, + e.DEPTHTEST_GEQUAL = 518, + e.DEPTHTEST_ALWAYS = 519, + e.SHADERDEFINE_ALPHATEST = 1, + e.ALPHATESTVALUE = 0, + n(e, ["shaderDefines", function() { + return this.shaderDefines = new Ue + } + ]), + e + }(S) + , gi = function(t) { + function e() { + this._type = 0, + this._width = 0, + this._height = 0, + this._size = null, + this._repeat = !1, + this._mipmap = !1, + this._minFifter = 0, + this._magFifter = 0, + this._format = 0, + this._source = null, + this._conchTexture = null, + this._wrapModeU = 0, + this._wrapModeV = 0, + e.__super.call(this), + this._repeat = !0, + this.mipmap = !0, + this.minFifter = -1, + this.magFifter = -1 + } + a(e, "laya.d3.resource.BaseTexture", S); + var i = e.prototype; + return r(0, i, "width", function() { + return this._width + }), + r(0, i, "repeat", function() { + return this._repeat + }, function(t) { + if (this._repeat !== t && (this._repeat = t, + this._source)) { + var e = B.mainContext; + k.bindTexture(e, this._type, this._source); + h.isPOT(this._width, this._height) && this._repeat ? (e.texParameteri(this._type, 10242, 10497), + e.texParameteri(this._type, 10243, 10497)) : (e.texParameteri(this._type, 10242, 33071), + e.texParameteri(this._type, 10243, 33071)) + } + }), + r(0, i, "height", function() { + return this._height + }), + r(0, i, "magFifter", function() { + return this._magFifter + }, function(t) { + this._magFifter = t, + t != this._magFifter && this._conchTexture && this._conchTexture.setMaxFifter(t) + }), + r(0, i, "wrapModeV", function() { + return this._wrapModeV + }), + r(0, i, "size", function() { + return this._size + }), + r(0, i, "wrapModeU", function() { + return this._wrapModeU + }), + r(0, i, "mipmap", function() { + return this._mipmap + }, function(t) { + this._mipmap = t, + this._mipmap != t && this._conchTexture && this._conchTexture.setMipMap(t) + }), + r(0, i, "minFifter", function() { + return this._minFifter + }, function(t) { + this._minFifter = t, + this._minFifter != t && this._conchTexture && this._conchTexture.setMinFifter(t) + }), + r(0, i, "format", function() { + return this._format + }), + r(0, i, "source", function() { + return this.activeResource(), + this._source + }), + r(0, i, "defaulteTexture", function() { + return sn.grayTexture + }), + e.WARPMODE_REPEAT = 0, + e.WARPMODE_CLAMP = 1, + e + }() + , yi = function(t) { + function e() { + this._subMeshCount = 0, + this._boundingBox = null, + this._boundingSphere = null, + this._boundingBoxCorners = null, + this._positions = null, + e.__super.call(this), + this._boundingBoxCorners = s(8, null) + } + a(e, "laya.d3.resource.models.BaseMesh", S); + var i = e.prototype; + return i._getPositions = function() { + throw new Error("未Override,请重载该属性!") + } + , + i._generateBoundingObject = function() { + this._boundingSphere = new xe(new Be,0), + xe.createfromPoints(this._positions, this._boundingSphere), + this._boundingBox = new be(new Be,new Be), + be.createfromPoints(this._positions, this._boundingBox), + this._boundingBox.getCorners(this._boundingBoxCorners) + } + , + i.getRenderElementsCount = function() { + throw new Error("未Override,请重载该属性!") + } + , + i.getRenderElement = function(t) { + throw new Error("未Override,请重载该属性!") + } + , + r(0, i, "subMeshCount", function() { + return this._subMeshCount + }), + r(0, i, "boundingBox", function() { + return this._boundingBox + }), + r(0, i, "boundingBoxCorners", function() { + return this._boundingBoxCorners + }), + r(0, i, "boundingSphere", function() { + return this._boundingSphere + }), + e + }() + , vi = function(t) { + function e() { + this._terrainHeightData = null, + this._width = 0, + this._height = 0, + this._bitType = 0, + this._value = NaN, + e.__super.call(this) + } + a(e, "laya.d3.terrain.TerrainHeightData", S); + return e.prototype.onAsynLoaded = function(t, e, i) { + this._width = i[0], + this._height = i[1], + this._bitType = i[2], + this._value = i[3]; + var n, a = NaN; + 8 == this._bitType ? (n = new Uint8Array(e), + a = 1 / 255) : 16 == this._bitType && (n = new Int16Array(e), + a = 1 / 32766), + this._terrainHeightData = new Float32Array(this._height * this._width); + for (var r = 0, s = this._height * this._width; r < s; r++) + this._terrainHeightData[r] = n[r] * a * this._value / 2; + this._endLoaded() + } + , + e.load = function(t, n, a, r, s) { + return i.loader.create(t, null, null, e, [n, a, r, s], 1, !1) + } + , + e + }() + , bi = function(t) { + function e() { + this._version = NaN, + this._cameraCoordinateInverse = !1, + this._gridSize = NaN, + this._chunkNumX = 0, + this._chunkNumZ = 0, + this._heightDataX = 0, + this._heightDataZ = 0, + this._heightDataBitType = 0, + this._heightDataValue = NaN, + this._heightDataUrl = null, + this._detailTextureInfos = null, + this._chunkInfos = null, + this._heightData = null, + this._materialInfo = null, + this._alphaMaps = null, + this._normalMaps = null, + e.__super.call(this) + } + a(e, "laya.d3.terrain.TerrainRes", S); + var n = e.prototype; + return n.parseData = function(t) { + var e = t[0] + , i = t[1]; + if (this._version = e.version, + 1 == this._version) { + this._cameraCoordinateInverse = e.cameraCoordinateInverse, + this._gridSize = e.gridSize, + this._chunkNumX = e.chunkNumX, + this._chunkNumZ = e.chunkNumZ; + var n = e.heightData; + if (this._heightDataX = n.numX, + this._heightDataZ = n.numZ, + this._heightDataBitType = n.bitType, + this._heightDataValue = n.value, + this._heightDataUrl = i[n.url], + this._materialInfo = new We, + e.material) { + var a = e.material.ambient + , r = e.material.diffuse + , o = e.material.specular; + this._materialInfo.ambientColor = new Be(a[0],a[1],a[2]), + this._materialInfo.diffuseColor = new Be(r[0],r[1],r[2]), + this._materialInfo.specularColor = new ke(o[0],o[1],o[2],o[3]) + } + var l = e.detailTexture; + this._detailTextureInfos = s(l.length); + for (var h = 0; h < l.length; h++) { + var c = l[h] + , _ = new je; + _.diffuseTexture = i[c.diffuse], + _.normalTexture = c.normal ? i[c.normal] : null, + c.scale ? _.scale = new Ae(c.scale[0],c.scale[1]) : _.scale = new Ae(1,1), + c.offset ? _.offset = new Ae(c.offset[0],c.offset[1]) : _.offset = new Ae(0,0), + this._detailTextureInfos[h] = _ + } + var u = e.alphaMap; + for (this._alphaMaps = s(u.length), + h = 0; h < this._alphaMaps.length; h++) + this._alphaMaps[h] = e.alphaMap[h]; + var d = e.normalMap; + for (this._normalMaps = s(d.length), + h = 0; h < this._normalMaps.length; h++) + this._normalMaps[h] = e.normalMap[h]; + var f = e.chunkInfo; + if (this._chunkNumX * this._chunkNumZ != f.length) + return alert("terrain data error"), + !1; + for (this._chunkInfos = s(f.length), + h = 0; h < f.length; h++) { + var p = f[h] + , m = new ze + , g = p.alphaMap.length + , y = p.detailID.length; + if (g != y) + return alert("terrain chunk data error"), + !1; + m.alphaMap = s(g), + m.detailID = s(y), + m.normalMap = i[this._normalMaps[p.normalMap]]; + for (var b = 0; b < g; b++) { + m.alphaMap[b] = i[this._alphaMaps[p.alphaMap[b]]]; + var w = p.detailID[b] + , x = w.length; + m.detailID[b] = new Uint8Array(x); + for (var I = 0; I < x; I++) + m.detailID[b][I] = w[I] + } + this._chunkInfos[h] = m + } + this._heightData = v.getRes(this._heightDataUrl), + this.onLoadTerrainComplete(this._heightData) + } + return !0 + } + , + n.onLoadTerrainComplete = function(t) { + this._endLoaded() + } + , + n.onAsynLoaded = function(t, e, i) { + this.parseData(e) + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e, null, 1, !1) + } + , + e + }() + , wi = function(t) { + function e() { + this._player = null, + this._templet = null, + e.__super.call(this), + this._player = new o + } + a(e, "laya.d3.component.animation.KeyframeAnimations", t); + var n = e.prototype; + return n._updateAnimtionPlayer = function() { + this._player._update(i.timer.delta) + } + , + n._addUpdatePlayerToTimer = function() { + i.timer.frameLoop(1, this, this._updateAnimtionPlayer) + } + , + n._removeUpdatePlayerToTimer = function() { + i.timer.clear(this, this._updateAnimtionPlayer) + } + , + n._onOwnerActiveHierarchyChanged = function(t) { + this._owner.displayedInStage && (t ? this._addUpdatePlayerToTimer() : this._removeUpdatePlayerToTimer()) + } + , + n._load = function(t) { + t.activeInHierarchy && this._addUpdatePlayerToTimer(), + t.on("activeinhierarchychanged", this, this._onOwnerActiveHierarchyChanged) + } + , + n._unload = function(e) { + t.prototype._unload.call(this, e), + e.activeInHierarchy && this._removeUpdatePlayerToTimer(), + e.off("activeinhierarchychanged", this, this._onOwnerActiveHierarchyChanged), + this._player._destroy(), + this._player = null, + this._templet = null + } + , + r(0, n, "url", null, function(t) { + console.log("Warning: discard property,please use templet property instead."); + var e = i.loader.create(t, null, null, l); + this._templet !== e && (0 !== this._player.state && this._player.stop(!0), + this._templet = e, + this._player.templet = e, + this.event("animationchanged", this)) + }), + r(0, n, "player", function() { + return this._player + }), + r(0, n, "templet", function() { + return this._templet + }, function(t) { + this._templet !== t && (0 !== this._player.state && this._player.stop(!0), + this._templet = t, + this._player.templet = t, + this.event("animationchanged", this)) + }), + r(0, n, "currentFrameIndex", function() { + return this._player.currentKeyframeIndex + }), + r(0, n, "currentAnimationClipIndex", function() { + return this._player.currentAnimationClipIndex + }), + r(0, n, "nodeCount", function() { + return this._templet.getNodeCount(this._player.currentAnimationClipIndex) + }), + e + }($e) + , xi = function(t) { + function e() { + e.__super.call(this), + this._clipNames = [], + this._clips = [], + this._playStartFrames = [], + this._playEndFrames = [], + this._cacheNodesSpriteOwners = [], + this._cacheNodesAvatarOwners = [], + this._cacheNodesDefaultlValues = [], + this._cacheNodesToSpriteMap = [], + this._cacheSpriteToNodesMap = [], + this._cacheFullFrames = [], + this._publicClipsDatas = [], + this._playEventIndex = -1, + this._updateTransformPropertyLoopCount = -1, + this._lastFrameIndex = -1, + this._defaultClipIndex = -1, + this._cachePlayRate = 1, + this._currentPlayClip = null, + this._currentFrameIndex = -1, + this._currentTime = 0, + this._elapsedPlaybackTime = 0, + this._startUpdateLoopCount = -1, + this.isCache = !0, + this.cacheFrameRate = 60, + this.playbackRate = 1, + this.playOnWake = !0 + } + a(e, "laya.d3.component.Animator", t); + var s = e.prototype; + return i.imps(s, { + "laya.resource.IDestroy": !0 + }), + s._getAvatarOwnersByClip = function(t) { + var e = this._clips[t]._nodes + , i = e.length + , n = this._cacheNodesAvatarOwners[t]; + n.length = i; + var a = this._cacheNodesDefaultlValues[t]; + a.length = i; + for (var r = 0; r < i; r++) { + for (var s = this._avatarNodes[0], o = e[r], l = o.path, h = 0, c = l.length; h < c; h++) { + var _ = l[h]; + if ("" === _) + break; + if (!(s = s.getChildByName(_))) + break + } + if (s) { + n[r] = s; + var u = U._propertyGetFuncs[o.propertyNameID](s); + if (u) { + var d = new Float32Array(o.keyFrameWidth); + for (a[r] = d, + h = 0, + c = u.length; h < c; h++) + d[h] = u[h] + } + } + } + } + , + s._handleSpriteOwnersByClip = function(t) { + var e = this._clips[t]._nodes + , i = e.length + , n = this._cacheNodesSpriteOwners[t]; + n.length = i; + var a = this._cacheNodesDefaultlValues[t]; + a.length = i; + for (var r = 0; r < i; r++) { + var s = this._owner + , o = e[r] + , l = o.path + , h = 0 + , c = 0; + for (h = 0, + c = l.length; h < c; h++) { + var _ = l[h]; + if ("" === _) + break; + if (!(s = s.getChildByName(_))) + break + } + if (s) { + n[r] = s; + var u = U._propertyGetFuncs[o.propertyNameID](null, s); + if (u) { + var d = new Float32Array(o.keyFrameWidth); + for (a[r] = d, + h = 0, + c = u.length; h < c; h++) + d[h] = u[h] + } + } + } + } + , + s._offClipAndAvatarRelateEvent = function(t, e) { + t.loaded ? e.loaded || e.off("loaded", this, this._getAvatarOwnersByClip) : t.off("loaded", this, this._getAvatarOwnersAndInitDatasAsync) + } + , + s._getAvatarOwnersByClipAsync = function(t, e) { + e.loaded ? this._getAvatarOwnersByClip(t) : e.once("loaded", this, this._getAvatarOwnersByClip, [t]) + } + , + s._offGetSpriteOwnersByClipAsyncEvent = function(t) { + t.loaded || t.off("loaded", this, this._getSpriteOwnersByClipAsync) + } + , + s._getSpriteOwnersByClipAsync = function(t, e) { + e.loaded ? this._handleSpriteOwnersByClip(t) : e.once("loaded", this, this._handleSpriteOwnersByClip, [t]) + } + , + s._getAvatarOwnersAndInitDatasAsync = function() { + for (var t = 0, e = this._clips.length; t < e; t++) + this._getAvatarOwnersByClipAsync(t, this._clips[t]); + for (this._avatar._cloneDatasToAnimator(this), + t = 0, + e = this._avatarNodes.length; t < e; t++) + this._checkAnimationNode(this._avatarNodes[t], this._owner) + } + , + s._offGetClipCacheFullKeyframeIndicesEvent = function(t) { + t.loaded || t.off("loaded", this, this._computeCacheFullKeyframeIndices) + } + , + s._computeCacheFullKeyframeIndices = function(t) { + var e = this._clips[t] + , i = this._cacheFrameRateInterval * this._cachePlayRate + , n = e._getFullKeyframeIndicesWithCache(i); + if (n) + this._cacheFullFrames[t] = n; + else { + n = this._cacheFullFrames[t] = []; + var a = e._nodes + , r = a.length; + n.length = r; + for (var s = Math.ceil(e._duration / i - 1e-5) + 1, o = 0; o < r; o++) { + var l = a[o] + , h = new Int32Array(s); + h.fill(-1); + for (var c = l.keyFrames, _ = 0, u = c.length; _ < u; _++) + for (var d = c[_], f = d.startTime, p = f + d.duration; f <= p; ) { + h[Math.ceil(f / i - 1e-5)] = _, + f += i + } + n[o] = h + } + e._cacheFullKeyframeIndices(i, n) + } + } + , + s._updateAnimtionPlayer = function() { + this._updatePlayer(i.timer.delta / 1e3) + } + , + s._onOwnerActiveHierarchyChanged = function() { + this._owner.activeInHierarchy ? (i.timer.frameLoop(1, this, this._updateAnimtionPlayer), + this.playOnWake && this.clip && this.play()) : (0 !== this.playState && (this._stoped = !0), + i.timer.clear(this, this._updateAnimtionPlayer)) + } + , + s._eventScript = function(t, e) { + for (var i = this._currentPlayClip._animationEvents, n = i.length; this._playEventIndex < n; this._playEventIndex++) { + var a = i[this._playEventIndex] + , r = a.time; + if (!(t <= r && r < e)) + break; + for (var s = this._owner._scripts, o = 0, l = s.length; o < l; o++) { + var h = s[o] + , c = h[a.eventName]; + c && c.apply(h, a.params) + } + } + } + , + s._setPlayParams = function(t, e) { + var i = this._currentTime; + this._currentTime = t, + this._currentFrameIndex = Math.max(Math.floor(this.currentPlayTime / e - 1e-5), 0), + this._currentFrameTime = this._currentFrameIndex * e, + this._eventScript(i, t) + } + , + s._setPlayParamsWhenStop = function(t, e) { + var i = this._currentTime; + this._currentTime = t, + this._currentFrameIndex = Math.max(Math.floor(t / e - 1e-5), 0), + this._currentFrameTime = this._currentFrameIndex * e, + this._eventScript(i, t), + this._currentPlayClip = null + } + , + s._revertKeyframeNodes = function(t, e) { + var i = this._cacheNodesDefaultlValues[e] + , n = t._nodes; + if (this._avatar) + for (var a = this._cacheNodesAvatarOwners[e], r = 0, s = a.length; r < s; r++) { + var o = a[r]; + o && U._propertySetFuncs[n[r].propertyNameID](o, null, i[r]) + } + else { + var l = this._cacheNodesSpriteOwners[e]; + for (r = 0, + s = l.length; r < s; r++) { + var h = l[r]; + h && U._propertySetFuncs[n[r].propertyNameID](null, h, i[r]) + } + } + } + , + s._onAnimationStop = function() { + var t, e, i, n = 0, a = 0; + this._lastFrameIndex = -1; + var r = this._currentPlayClip._nodes; + if (this._avatar) { + var s = this._cacheNodesAvatarOwners[this._currentPlayClipIndex]; + for (n = 0, + a = s.length; n < a; n++) { + var o = s[n]; + i = (e = (t = r[n]).keyFrames)[e.length - 1].data, + o && U._propertySetFuncs[t.propertyNameID](o, null, i) + } + } else { + var l = this._cacheNodesSpriteOwners[this._currentPlayClipIndex]; + for (n = 0, + a = l.length; n < a; n++) { + var h = l[n]; + i = (e = (t = r[n]).keyFrames)[e.length - 1].data, + h && U._propertySetFuncs[t.propertyNameID](null, h, i) + } + } + } + , + s._setAnimationClipPropertyToAnimationNode = function(t, e, i) { + for (var n = 0, a = e.length; n < a; n++) { + var r = e[n] + , s = t[r]; + if (s) { + var o = this._currentPlayClip._nodes[r] + , l = i[r]; + l && U._propertySetFuncs[o.propertyNameID](s, null, l) + } + } + } + , + s._setAnimationClipPropertyToSprite3D = function(t, e) { + for (var i = 0, n = t.length; i < n; i++) { + var a = t[i]; + if (a) { + var r = this._currentPlayClip._nodes[i] + , s = e[i]; + s && U._propertySetFuncs[r.propertyNameID](null, a, s) + } + } + } + , + s._handleSpriteOwnersBySprite = function(t, e, i, n) { + var a = this._clips[t] + , r = i.join("/") + , s = a._nodesMap[r]; + if (s) + for (var o = this._cacheNodesSpriteOwners[t], l = a._nodes, h = this._cacheNodesDefaultlValues[t], c = 0, _ = s.length; c < _; c++) { + var u = s[c] + , d = l.indexOf(u); + if (e) { + o[d] = n; + var f = U._propertyGetFuncs[u.propertyNameID](null, n); + if (f) { + var p = h[d]; + p || (h[d] = p = new Float32Array(u.keyFrameWidth)); + for (var m = 0, g = f.length; m < g; m++) + p[m] = f[m] + } + } else + o[d] = null + } + } + , + s._evaluateAvatarNodesCacheMode = function(t, i, n, a, r) { + i._evaluateAnimationlDatasCacheMode(t, this._cacheFullFrames[this._currentPlayClipIndex], this, n, r), + this._setAnimationClipPropertyToAnimationNode(t, r, n); + for (var s = 0, o = this._avatarNodes.length; s < o; s++) { + var l = this._avatarNodes[s].transform; + if (l._worldUpdate) { + var h = new Float32Array(16); + a[s] = h, + l._setWorldMatrixAndUpdate(h) + } else { + var c = l.getWorldMatrix(); + a[s] = c || e.deafaultMatrix + } + } + } + , + s._evaluateAvatarNodesRealTime = function(t, i, n, a, r) { + i._evaluateAnimationlDatasRealTime(t, this.currentPlayTime, n, r), + this._setAnimationClipPropertyToAnimationNode(t, r, n); + for (var s = 0, o = this._avatarNodes.length; s < o; s++) { + var l = this._avatarNodes[s].transform; + l._worldUpdate ? l._setWorldMatrixNoUpdate(a[s]) : a[s] = e.deafaultMatrix + } + } + , + s._updateAvatarNodesToSpriteCacheMode = function(t, i) { + for (var n = 0, a = this._cacheSpriteToNodesMap.length; n < a; n++) { + var r = this._cacheSpriteToNodesMap[n] + , s = i[r]; + if (s !== e.deafaultMatrix) { + var o = this._avatarNodes[r].transform._entity + , l = o.worldMatrix; + Ke.matrix4x4MultiplyMFM(this._owner._transform.worldMatrix, s, l), + o.worldMatrix = l + } + } + } + , + s._updateAvatarNodesToSpriteRealTime = function() { + for (var t = 0, i = this._cacheSpriteToNodesMap.length; t < i; t++) { + var n = this._avatarNodes[this._cacheSpriteToNodesMap[t]] + , a = n.transform._entity + , r = n.transform; + if (r._worldUpdate) { + var s = e._tempMatrix4x40; + r._setWorldMatrixAndUpdate(s); + var o = a.worldMatrix; + Ke.matrix4x4MultiplyMFM(this._owner._transform.worldMatrix, s, o), + a.worldMatrix = o + } + } + } + , + s._updatePlayer = function(t) { + if (null != this._currentPlayClip && !this._stoped && this._currentPlayClip.loaded) { + var e = this._cacheFrameRateInterval * this._cachePlayRate + , i = 0; + this._startUpdateLoopCount !== E.loopCount && (i = t * this.playbackRate, + this._elapsedPlaybackTime += i); + var n = this._currentPlayClip._frameRate + , a = this._playStartFrames[this._currentPlayClipIndex] / n + , r = Math.min(this._playEndFrames[this._currentPlayClipIndex] / n, this._currentPlayClip._duration) - a; + if (!this._currentPlayClip.islooping && this._elapsedPlaybackTime >= r) + return this._onAnimationStop(), + this._setPlayParamsWhenStop(r, e), + void this.event("stopped"); + if (i += this._currentTime, + r > 0) + if (i >= r) + do { + (i -= r) < r && (this._setPlayParams(i, e), + this.event("complete")), + this._playEventIndex = 0, + this._eventScript(0, i) + } while (i >= r); + else + this._setPlayParams(i, e); + else + this._currentTime = this._currentFrameTime = this._currentFrameIndex = this._playEventIndex = 0, + this.event("complete") + } + } + , + s._update = function(t) { + var e = this._currentPlayClip; + if (2 === this.playState && e && e.loaded) { + var n = this.playbackRate * i.timer.scale + , a = this._cachePlayRate; + this._canCache = this.isCache && n >= a; + var r, s = -1; + if (this._canCache) { + if (s = this._currentFrameIndex, + this._lastFrameIndex === s) + return; + if (r = e._getAnimationDataWithCache(a, s), + this._avatar) { + var o = this._cacheNodesAvatarOwners[this._currentPlayClipIndex] + , l = e._cachePropertyMap + , h = l.length; + h > 0 && (r || ((r = []).length = h, + e._cacheAnimationData(a, s, r), + e._evaluateAnimationlDatasCacheMode(o, this._cacheFullFrames[this._currentPlayClipIndex], this, r, l)), + this._setAnimationClipPropertyToAnimationNode(o, l, r)), + this._curAvatarNodeDatas = e._getAvatarDataWithCache(this._avatar, this._cachePlayRate, s), + this._curAvatarNodeDatas || (this._curAvatarNodeDatas = [], + this._curAvatarNodeDatas.length = this._avatarNodes.length, + e._cacheAvatarData(this._avatar, this._cachePlayRate, s, this._curAvatarNodeDatas), + this._evaluateAvatarNodesCacheMode(o, e, e._publicClipDatas, this._curAvatarNodeDatas, e._unCachePropertyMap)), + this._updateAvatarNodesToSpriteCacheMode(e, this._curAvatarNodeDatas) + } else { + var c = this._cacheNodesSpriteOwners[this._currentPlayClipIndex]; + r || ((r = []).length = this._currentPlayClip._nodes.length, + e._evaluateAnimationlDatasCacheMode(c, this._cacheFullFrames[this._currentPlayClipIndex], this, r, null), + e._cacheAnimationData(a, s, r)), + this._setAnimationClipPropertyToSprite3D(c, r) + } + } else if (r = e._publicClipDatas, + this._avatar) { + if (e._evaluateAnimationlDatasRealTime(this._cacheNodesAvatarOwners[this._currentPlayClipIndex], this.currentPlayTime, r, e._cachePropertyMap), + !this._publicAvatarNodeDatas) { + this._publicAvatarNodeDatas = []; + var _ = this._avatarNodes.length; + this._publicAvatarNodeDatas.length = _; + for (var u = 1; u < _; u++) + this._publicAvatarNodeDatas[u] = new Float32Array(16) + } + this._curAvatarNodeDatas = this._publicAvatarNodeDatas, + this._evaluateAvatarNodesRealTime(this._cacheNodesAvatarOwners[this._currentPlayClipIndex], e, r, this._curAvatarNodeDatas, e._unCachePropertyMap), + this._updateAvatarNodesToSpriteRealTime() + } else + e._evaluateAnimationlDatasRealTime(this._cacheNodesSpriteOwners[this._currentPlayClipIndex], this.currentPlayTime, r, null); + this._lastFrameIndex = s + } + } + , + s._checkAnimationNode = function(t, e) { + t.name !== e.name || e._transform.dummy || e._isLinkSpriteToAnimationNode(this, t, !0); + for (var i = 0, n = e._childs.length; i < n; i++) + this._checkAnimationNode(t, e.getChildAt(i)) + } + , + s._load = function(t) { + t.activeInHierarchy && i.timer.frameLoop(1, this, this._updateAnimtionPlayer), + this._owner.on("activeinhierarchychanged", this, this._onOwnerActiveHierarchyChanged) + } + , + s._unload = function(e) { + t.prototype._unload.call(this, e), + e.activeInHierarchy && i.timer.clear(this, this._updateAnimtionPlayer), + this._owner.off("activeinhierarchychanged", this, this._onOwnerActiveHierarchyChanged), + this._curAvatarNodeDatas = null + } + , + s._destroy = function() { + t.prototype._destroy.call(this); + for (var e = 0, i = this._clips.length; e < i; e++) + this._clips[e]._removeReference(); + this._currentPlayClip = null, + this._clipNames = null, + this._cacheNodesSpriteOwners = null, + this._cacheNodesAvatarOwners = null, + this._cacheNodesDefaultlValues = null, + this._clips = null, + this._cacheFullFrames = null + } + , + s._cloneTo = function(t) { + var e = t; + e.avatar = this.avatar; + this._clips.length; + for (var i = 0, n = this._clips.length; i < n; i++) + e.addClip(this._clips[i]); + if (this.clip && (e.clip = this.clip), + this._linkSpritesData) { + e._linkSpritesData = {}; + for (var a in this._linkSpritesData) + e._linkSpritesData[a] = this._linkSpritesData[a].slice() + } + } + , + s.addClip = function(t, e, i, n) { + void 0 === i && (i = 0), + void 0 === n && (n = 4294967295), + e = e || t.name; + var a = this._clipNames.indexOf(e); + if (-1 !== a) { + if (this._clips[a] !== t) + throw new Error("Animation:this playName has exist with another clip.") + } else { + var r = this._clips.indexOf(t); + if (i < 0 || n < 0) + throw new Error("Animator:startFrame and endFrame must large than zero."); + if (i > n) + throw new Error("Animator:startFrame must less than endFrame."); + this._clipNames.push(e), + this._clips.push(t), + this._playStartFrames.push(i), + this._playEndFrames.push(n), + this._cacheNodesSpriteOwners.push([]), + this._cacheNodesAvatarOwners.push([]), + this._cacheNodesDefaultlValues.push([]), + this._publicClipsDatas.push([]), + t._addReference(), + r = this._clips.length - 1, + this._avatar ? this._avatar.loaded ? this._getAvatarOwnersByClipAsync(r, t) : this._avatar.once("loaded", this, this._getAvatarOwnersByClipAsync, [r, t]) : this._getSpriteOwnersByClipAsync(r, t), + t.loaded ? this._computeCacheFullKeyframeIndices(r) : t.once("loaded", this, this._computeCacheFullKeyframeIndices, [r]) + } + } + , + s.removeClip = function(t) { + var e = this._clips.indexOf(t); + -1 !== e && (this._avatar ? this._offClipAndAvatarRelateEvent(this._avatar, t) : this._offGetSpriteOwnersByClipAsyncEvent(t), + this._offGetClipCacheFullKeyframeIndicesEvent(t), + this._clipNames.splice(e, 1), + this._clips.splice(e, 1), + this._playStartFrames.splice(e, 1), + this._playEndFrames.splice(e, 1), + this._cacheNodesSpriteOwners.splice(e, 1), + this._cacheNodesAvatarOwners.splice(e, 1), + this._cacheNodesDefaultlValues.splice(e, 1), + this._publicClipsDatas.splice(e, 1), + t._removeReference()) + } + , + s.removeClipByName = function(t) { + var e = this._clipNames.indexOf(t); + if (-1 !== e) { + var i = this._clips[e]; + this._avatar ? this._offClipAndAvatarRelateEvent(this._avatar, i) : this._offGetSpriteOwnersByClipAsyncEvent(i), + this._offGetClipCacheFullKeyframeIndicesEvent(i), + this._clipNames.splice(e, 1), + this._clips.splice(e, 1), + this._playStartFrames.splice(e, 1), + this._playEndFrames.splice(e, 1), + this._cacheNodesSpriteOwners.splice(e, 1), + this._cacheNodesAvatarOwners.splice(e, 1), + this._cacheNodesDefaultlValues.splice(e, 1), + this._publicClipsDatas.splice(e, 1) + } + } + , + s.getClip = function(t) { + var e = this._clipNames.indexOf(t); + return -1 !== e ? this._clips[e] : null + } + , + s.getClipCount = function() { + return this._clips.length + } + , + s.play = function(t, e) { + if (void 0 === e && (e = 1), + !t && -1 == this._defaultClipIndex) + throw new Error("Animator:must have default clip value,please set clip property."); + t ? (this._currentPlayClipIndex = this._clipNames.indexOf(t), + this._currentPlayClip = this._clips[this._currentPlayClipIndex]) : (this._currentPlayClipIndex = this._defaultClipIndex, + this._currentPlayClip = this._clips[this._defaultClipIndex]), + this._currentTime = 0, + this._currentFrameTime = 0, + this._elapsedPlaybackTime = 0, + this._playEventIndex = 0, + this.playbackRate = e, + this._stoped = !1, + this._currentFrameIndex = 0, + this._startUpdateLoopCount = E.loopCount, + this._lastPlayAnimationClip && this._lastPlayAnimationClip !== this._currentPlayClip && this._revertKeyframeNodes(this._lastPlayAnimationClip, this._lastPlayAnimationClipIndex), + this._updatePlayer(0), + this._lastPlayAnimationClip = this._currentPlayClip, + this._lastPlayAnimationClipIndex = this._currentPlayClipIndex + } + , + s.stop = function() { + 0 !== this.playState && (this._stoped = !0, + this.event("stopped")) + } + , + s._getLinkSpritePath = function(t, e) { + e.unshift(t.name); + var i = t._parent; + i._hierarchyAnimator === this ? this._getLinkSpritePath(i, e) : e.shift() + } + , + s.linkSprite3DToAvatarNode = function(t, e) { + if (e._hierarchyAnimator === this) { + if (this._avatar) { + var i = this._avatarNodeMap[t]; + if (i) { + this._linkSpritesData = this._linkSpritesData || {}; + var n = []; + return this._getLinkSpritePath(e, n), + this._linkSpritesData[t] = n, + e._isLinkSpriteToAnimationNode(this, i, !0), + !0 + } + return !1 + } + return !1 + } + throw "Animator:sprite3D must belong to this Animator" + } + , + s.unLinkSprite3DToAvatarNode = function(t) { + if (this._avatar) { + var e = t.transform.dummy; + if (e) { + var i = this._avatarNodeMap[e._owner.name]; + return t._isLinkSpriteToAnimationNode(this, i, !1), + !0 + } + return !1 + } + return !1 + } + , + r(0, s, "playState", function() { + return null == this._currentPlayClip ? 0 : this._stoped ? 0 : 2 + }), + r(0, s, "avatar", function() { + return this._avatar + }, function(t) { + if (this._avatar !== t) { + var e = this._avatar; + this._avatar = t; + for (var i = this._clips.length, n = 0; n < i; n++) + this._offClipAndAvatarRelateEvent(e, this._clips[n]); + t && (t.loaded ? this._getAvatarOwnersAndInitDatasAsync() : t.once("loaded", this, this._getAvatarOwnersAndInitDatasAsync)) + } + }), + r(0, s, "cacheFrameRate", function() { + return this._cacheFrameRate + }, function(t) { + if (this._cacheFrameRate !== t) { + this._cacheFrameRate = t, + this._cacheFrameRateInterval = 1 / this._cacheFrameRate; + for (var e = 0, i = this._clips.length; e < i; e++) + this._clips[e].loaded && this._computeCacheFullKeyframeIndices(e) + } + }), + r(0, s, "clip", function() { + return this._clips[this._defaultClipIndex] + }, function(t) { + var e = t ? this._clips.indexOf(t) : -1; + this._defaultClipIndex !== e && (-1 !== this._defaultClipIndex && this.removeClip(this._clips[this._defaultClipIndex]), + -1 !== e && this.addClip(t, t.name), + this._defaultClipIndex = e) + }), + r(0, s, "currentFrameIndex", function() { + return this._currentFrameIndex + }), + r(0, s, "cachePlayRate", function() { + return this._cachePlayRate + }, function(t) { + if (this._cachePlayRate !== t) { + this._cachePlayRate = t; + for (var e = 0, i = this._clips.length; e < i; e++) + this._clips[e].loaded && this._computeCacheFullKeyframeIndices(e) + } + }), + r(0, s, "currentFrameTime", function() { + return this._currentFrameTime + }), + r(0, s, "currentPlayClip", function() { + return this._currentPlayClip + }), + r(0, s, "currentPlayTime", function() { + return this._currentTime + this._playStartFrames[this._currentPlayClipIndex] / this._currentPlayClip._frameRate + }), + r(0, s, "playbackTime", null, function(t) { + if (null != this._currentPlayClip && this._currentPlayClip && this._currentPlayClip.loaded) { + this._startUpdateLoopCount = E.loopCount; + var e = this._cacheFrameRateInterval * this._cachePlayRate; + this._currentTime = t, + this._currentFrameIndex = Math.floor(this.currentPlayTime / e), + this._currentFrameTime = this._currentFrameIndex * e + } + }), + r(0, s, "paused", function() { + return this._stoped + }, function(t) { + this._stoped = t, + t && this.event("paused") + }), + n(e, ["deafaultMatrix", function() { + return this.deafaultMatrix = new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]) + } + , "_tempMatrix4x40", function() { + return this._tempMatrix4x40 = new Float32Array(16) + } + ]), + e + }($e) + , Ii = (function(t) { + function e() { + this._attachSkeleton = null, + this._extenData = null, + this.attachBones = null, + this.matrixs = null, + e.__super.call(this), + this.attachBones = [], + this.matrixs = [] + } + a(e, "laya.d3.component.AttachPoint", t); + var i = e.prototype; + i._load = function(e) { + t.prototype._load.call(this, e), + this._attachSkeleton = e.getComponentByType(Zi) + } + , + i._update = function(t) { + if (this._attachSkeleton && !this._attachSkeleton.destroyed && 0 !== this._attachSkeleton.player.state && this._attachSkeleton.curBonesDatas) { + var e = this._attachSkeleton.player + , i = this._attachSkeleton.templet; + this.matrixs.length = this.attachBones.length; + for (var n = this._attachSkeleton.curBonesDatas, a = this.owner.transform.worldMatrix, r = 0, s = this.attachBones.length; r < s; r++) { + var o = 16 * i.getNodeIndexWithName(e.currentAnimationClipIndex, this.attachBones[r]) + , l = this.matrixs[r]; + l || (l = this.matrixs[r] = new Me); + for (var h = l.elements, c = 0; c < 16; c++) + h[c] = n[o + c]; + Me.multiply(a, l, l) + } + this.event("complete") + } + } + }($e), + function(t) { + function e() { + e.__super.call(this), + this._isRigidbody = !1, + this._runtimeCollisonMap = {}, + this._runtimeCollisonTestMap = {}, + this._ignoreCollisonMap = {}, + this.isTrigger = !0 + } + a(e, "laya.d3.component.physics.Collider", t); + var i = e.prototype; + return i._clearCollsionMap = function() { + for (var t in this._runtimeCollisonMap) { + var e = this._runtimeCollisonMap[t]; + delete e._runtimeCollisonMap[this.id], + e._isRigidbody && delete e._runtimeCollisonTestMap[this.id]; + var i = e.id; + delete this._runtimeCollisonMap[i], + this._isRigidbody && delete this._runtimeCollisonTestMap[i] + } + } + , + i._unload = function(t) { + for (var e in this._runtimeCollisonMap) { + var i = this._runtimeCollisonMap[e]; + delete i._runtimeCollisonMap[this.id], + i._isRigidbody && delete i._runtimeCollisonTestMap[this.id], + delete this._ignoreCollisonMap[e]._ignoreCollisonMap[this.id] + } + } + , + i._setIsRigidbody = function(t) { + if (this._isRigidbody !== t) { + this._isRigidbody = t; + var e = this._owner; + if (e.displayedInStage) { + var i = e.layer; + i._removeCollider(this), + i._addCollider(this) + } + } + } + , + i._getType = function() { + return -1 + } + , + i._collisonTo = function(t) { + return !1 + } + , + i.raycast = function(t, e, i) { + throw void 0 === i && (i = 1.79e308), + new Error("Collider:Must override it.") + } + , + r(0, i, "enable", t.prototype._$get_enable, function(t) { + if (this._enable !== t) { + this._owner.displayedInStage && (t || this._clearCollsionMap()), + this._enable = t, + this.event("enablechanged", this._enable) + } + }), + r(0, i, "isSingleton", function() { + return e._isSingleton + }), + e._isSingleton = !1, + e + }($e)) + , Ci = function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.d3.component.Rigidbody", t); + return r(0, e.prototype, "enable", t.prototype._$get_enable, function(t) { + if (this._enable !== t) { + for (var e = this._owner._colliders, i = 0, n = e.length; i < n; i++) { + var a = e[i]; + a._setIsRigidbody(t); + var r = a._runtimeCollisonMap + , s = a._runtimeCollisonTestMap; + if (!t) + for (var o in r) + delete s[o] + } + this._enable = t, + this.event("enablechanged", this._enable) + } + }), + e + }($e) + , Si = (function(t) { + function e() { + e.__super.call(this) + } + a(e, "laya.d3.component.Script", $e); + var i = e.prototype; + i.onTriggerEnter = function(t) {} + , + i.onTriggerExit = function(t) {} + , + i.onTriggerStay = function(t) {} + , + r(0, i, "isSingleton", function() { + return e._isSingleton + }), + e._isSingleton = !1 + }(), + function(t) { + function e(t) { + e.__super.call(this, t) + } + a(e, "laya.d3.core.GlitterRender", ei); + var i = e.prototype; + return i._calculateBoundingBox = function() { + var t = this._boundingBox.min.elements; + t[0] = -Number.MAX_VALUE, + t[1] = -Number.MAX_VALUE, + t[2] = -Number.MAX_VALUE; + var e = this._boundingBox.min.elements; + e[0] = Number.MAX_VALUE, + e[1] = Number.MAX_VALUE, + e[2] = Number.MAX_VALUE + } + , + i._calculateBoundingSphere = function() { + var t = this._boundingSphere.center.elements; + t[0] = 0, + t[1] = 0, + t[2] = 0, + this._boundingSphere.radius = Number.MAX_VALUE + } + , + i._renderUpdate = function(t) { + this._setShaderValueMatrix4x4(0, this._owner.transform.worldMatrix); + var e = this._owner.getProjectionViewWorldMatrix(t); + this._setShaderValueMatrix4x4(1, e); + var i = this._owner.templet; + return this._setShaderValueNumber(3, i.lifeTime), + this._setShaderValueNumber(2, i._currentTime), + !0 + } + , + e + }()) + , Mi = function(t) { + function e(t) { + this._owner = null, + this._sharedMesh = null, + e.__super.call(this), + this._owner = t + } + a(e, "laya.d3.core.MeshFilter", t); + var i = e.prototype; + return i._sharedMeshLoaded = function() { + this.event("loaded") + } + , + i._destroy = function() { + t.prototype._destroy.call(this), + this._owner = null, + this._sharedMesh && (this._sharedMesh._removeReference(), + this._sharedMesh = null) + } + , + r(0, i, "sharedMesh", function() { + return this._sharedMesh + }, function(t) { + var e = this._sharedMesh; + e && e._removeReference(), + this._sharedMesh = t, + t._addReference(), + this.event("meshchanged", [this, e, t]), + t.loaded || this._sharedMesh.once("loaded", this, this._sharedMeshLoaded) + }), + r(0, i, "_isAsyncLoaded", function() { + return this._sharedMesh.loaded + }), + r(0, i, "_originalBoundingBoxCorners", function() { + return this._sharedMesh.boundingBoxCorners + }), + r(0, i, "_originalBoundingSphere", function() { + return this._sharedMesh.boundingSphere + }), + r(0, i, "_originalBoundingBox", function() { + return this._sharedMesh.boundingBox + }), + e + }(ti) + , Li = function(t) { + function e(t) { + e.__super.call(this, t), + t.meshFilter.on("meshchanged", this, this._onMeshChanged) + } + a(e, "laya.d3.core.MeshRender", ei); + var i = e.prototype; + return i._onMeshChanged = function(t, e, i) { + i.loaded ? this._boundingSphereNeedChange = this._boundingBoxNeedChange = this._boundingBoxCenterNeedChange = this._octreeNodeNeedChange = !0 : i.once("loaded", this, this._onMeshLoaed) + } + , + i._onMeshLoaed = function(t, e) { + this._boundingSphereNeedChange = this._boundingBoxNeedChange = this._boundingBoxCenterNeedChange = this._octreeNodeNeedChange = !0 + } + , + i._calculateBoundingSphereByInitSphere = function(t) { + var e = NaN + , i = this._owner.transform + , n = i.scale.elements + , a = Math.abs(n[0]) + , r = Math.abs(n[1]) + , s = Math.abs(n[2]); + e = a >= r && a >= s ? a : r >= s ? r : s, + Be.transformCoordinate(t.center, i.worldMatrix, this._boundingSphere.center), + this._boundingSphere.radius = t.radius * e + } + , + i._calculateBoundBoxByInitCorners = function(t) { + for (var e = this._owner.transform.worldMatrix, i = 0; i < 8; i++) + Be.transformCoordinate(t[i], e, ei._tempBoundBoxCorners[i]); + be.createfromPoints(ei._tempBoundBoxCorners, this._boundingBox) + } + , + i._calculateBoundingSphere = function() { + var t = this._owner.meshFilter.sharedMesh; + null == t || null == t.boundingSphere ? this._boundingSphere.toDefault() : this._calculateBoundingSphereByInitSphere(t.boundingSphere) + } + , + i._calculateBoundingBox = function() { + var t = this._owner.meshFilter.sharedMesh; + null == t || null == t.boundingBox ? this._boundingBox.toDefault() : this._calculateBoundBoxByInitCorners(t.boundingBoxCorners) + } + , + i._renderUpdate = function(t) { + var e = this._owner.transform; + if (e) { + this._setShaderValueMatrix4x4(0, e.worldMatrix); + var i = this._owner.getProjectionViewWorldMatrix(t); + this._setShaderValueMatrix4x4(1, i) + } else + this._setShaderValueMatrix4x4(0, Me.DEFAULT), + this._setShaderValueMatrix4x4(1, t); + return Ze.debugMode && this._renderRenderableBoundBox(), + !0 + } + , + e + }() + , Ti = function(t) { + function e(t) { + e.__super.call(this), + this._tempRotationMatrix = new Me, + this._uvLength = new Ae, + this._firstActiveElement = 0, + this._firstNewElement = 0, + this._firstFreeElement = 0, + this._firstRetiredElement = 0, + this._owner = t, + this._ownerRender = t.particleRender, + this._boundingBoxCorners = s(8, null), + this._boundingSphere = new xe(new Be,Number.MAX_VALUE), + this._boundingBox = new be(new Be(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),new Be(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE)), + this._currentTime = 0, + this._isEmitting = !1, + this._isPlaying = !1, + this._isPaused = !1, + this._burstsIndex = 0, + this._frameRateTime = 0, + this._emissionTime = 0, + this._totalDelayTime = 0, + this._simulateUpdate = !1, + this._bufferMaxParticles = 1, + this.duration = 5, + this.looping = !0, + this.prewarm = !1, + this.startDelayType = 0, + this.startDelay = 0, + this.startDelayMin = 0, + this.startDelayMax = 0, + this._startLifetimeType = 0, + this._startLifetimeConstant = 5, + this._startLifeTimeGradient = new Q, + this._startLifetimeConstantMin = 0, + this._startLifetimeConstantMax = 5, + this._startLifeTimeGradientMin = new Q, + this._startLifeTimeGradientMax = new Q, + this._maxStartLifetime = 5, + this.startSpeedType = 0, + this.startSpeedConstant = 5, + this.startSpeedConstantMin = 0, + this.startSpeedConstantMax = 5, + this.threeDStartSize = !1, + this.startSizeType = 0, + this.startSizeConstant = 1, + this.startSizeConstantSeparate = new Be(1,1,1), + this.startSizeConstantMin = 0, + this.startSizeConstantMax = 1, + this.startSizeConstantMinSeparate = new Be(0,0,0), + this.startSizeConstantMaxSeparate = new Be(1,1,1), + this.threeDStartRotation = !1, + this.startRotationType = 0, + this.startRotationConstant = 0, + this.startRotationConstantSeparate = new Be(0,0,0), + this.startRotationConstantMin = 0, + this.startRotationConstantMax = 0, + this.startRotationConstantMinSeparate = new Be(0,0,0), + this.startRotationConstantMaxSeparate = new Be(0,0,0), + this.randomizeRotationDirection = 0, + this.startColorType = 0, + this.startColorConstant = new ke(1,1,1,1), + this.startColorConstantMin = new ke(1,1,1,1), + this.startColorConstantMax = new ke(1,1,1,1), + this.gravityModifier = 0, + this.simulationSpace = 1, + this.scaleMode = 0, + this.playOnAwake = !0, + this._rand = new De(0), + this.autoRandomSeed = !0, + this.randomSeed = new Uint32Array(1), + this._randomSeeds = new Uint32Array(e._RANDOMOFFSET.length), + this.isPerformanceMode = !0, + this._emission = new X, + this._emission.enbale = !0, + this._owner.on("activeinhierarchychanged", this, this._onOwnerActiveHierarchyChanged) + } + a(e, "laya.d3.core.particleShuriKen.ShurikenParticleSystem", t); + var o = e.prototype; + return i.imps(o, { + "laya.d3.core.render.IRenderable": !0, + "laya.d3.core.IClone": !0 + }), + o._getVertexBuffer = function(t) { + return void 0 === t && (t = 0), + 0 === t ? this._vertexBuffer : null + } + , + o._getIndexBuffer = function() { + return this._indexBuffer + } + , + o._generateBoundingSphere = function() { + var t = this._boundingSphere.center.elements; + t[0] = 0, + t[1] = 0, + t[2] = 0, + this._boundingSphere.radius = Number.MAX_VALUE + } + , + o._generateBoundingBox = function() { + var t = this._owner.particleRender + , i = this._boundingBox.min + , n = this._boundingBox.max + , a = 0 + , r = 0 + , s = NaN; + switch (this.startLifetimeType) { + case 0: + s = this.startLifetimeConstant; + break; + case 1: + s = -Number.MAX_VALUE; + var o = o; + for (a = 0, + r = o.gradientCount; a < r; a++) + s = Math.max(s, o.getValueByIndex(a)); + break; + case 2: + s = Math.max(this.startLifetimeConstantMin, this.startLifetimeConstantMax); + break; + case 3: + s = -Number.MAX_VALUE; + var l = l; + for (a = 0, + r = l.gradientCount; a < r; a++) + s = Math.max(s, l.getValueByIndex(a)); + var h = h; + for (a = 0, + r = h.gradientCount; a < r; a++) + s = Math.max(s, h.getValueByIndex(a)) + } + var c = NaN + , _ = NaN; + switch (this.startSpeedType) { + case 0: + c = _ = this.startSpeedConstant; + break; + case 1: + break; + case 2: + c = this.startLifetimeConstantMin, + _ = this.startLifetimeConstantMax + } + var u, d, f, p; + this._shape && this._shape.enable || (u = d = Be.ZERO, + f = Be.ZERO, + p = Be.UnitZ); + var m = new Be(f.x * c,f.y * c,f.z * c) + , g = new Be(p.x * _,p.y * _,p.z * _); + if (this._velocityOverLifetime && this._velocityOverLifetime.enbale) { + var y = this._velocityOverLifetime.velocity; + switch (y.type) { + case 0: + y.constant; + break; + case 1: + new Be(y.gradientX.getAverageValue(),y.gradientY.getAverageValue(),y.gradientZ.getAverageValue()); + break; + case 2: + y.constantMin, + y.constantMax; + break; + case 3: + new Be(y.gradientXMin.getAverageValue(),y.gradientYMin.getAverageValue(),y.gradientZMin.getAverageValue()), + new Be(y.gradientXMax.getAverageValue(),y.gradientYMax.getAverageValue(),y.gradientZMax.getAverageValue()) + } + } + var v, b, w = this._owner.transform, x = w.position, I = e._tempVector39, C = I.elements, S = t.renderMode; + switch (this.scaleMode) { + case 0: + var M = w.scale; + v = M, + C[0] = M.x, + C[1] = M.z, + C[2] = M.y, + 1 === S && (b = M); + break; + case 1: + var L = w.localScale; + v = L, + C[0] = L.x, + C[1] = L.z, + C[2] = L.y, + 1 === S && (b = L); + break; + case 2: + v = w.scale, + C[0] = C[1] = C[2] = 1, + 1 === S && (b = Be.ONE) + } + var T, E; + switch (this._velocityOverLifetime && this._velocityOverLifetime.enbale || (T = new Be(m.x * s,m.y * s,m.z * s), + E = new Be(g.x * s,g.y * s,g.z * s), + 2 != this.scaleMode ? (Be.add(u, T, i), + Be.multiply(v, i, i), + Be.add(d, E, n), + Be.multiply(v, n, n)) : (Be.multiply(v, u, i), + Be.add(i, T, i), + Be.multiply(v, d, n), + Be.add(n, E, n))), + this.simulationSpace) { + case 0: + break; + case 1: + Be.add(i, x, i), + Be.add(n, x, n) + } + var D = NaN + , N = NaN; + switch (this.startSizeType) { + case 0: + if (this.threeDStartSize) { + var A = A; + D = Math.max(A.x, A.y), + 1 === S && (N = A.y) + } else + D = this.startSizeConstant, + 1 === S && (N = this.startSizeConstant); + break; + case 1: + break; + case 2: + if (this.threeDStartSize) { + var B = B; + D = Math.max(B.x, B.y), + 1 === S && (N = B.y) + } else + D = this.startSizeConstantMax, + 1 === S && (N = this.startSizeConstantMax) + } + if (this._sizeOverLifetime && this._sizeOverLifetime.enbale) { + this._sizeOverLifetime.size; + D *= this._sizeOverLifetime.size.getMaxSizeInGradient() + } + var k = e._tempVector30 + , R = k.elements + , P = NaN + , O = NaN; + switch (S) { + case 0: + P = D * e.halfKSqrtOf2, + Be.scale(I, D, k), + Be.subtract(i, k, i), + Be.add(n, k, n); + break; + case 1: + var U = e._tempVector31 + , V = e._tempVector32 + , F = e._tempVector33 + , H = e._tempVector34; + this._velocityOverLifetime && this._velocityOverLifetime.enbale || (Be.multiply(b, g, V), + Be.multiply(b, m, F)); + var G = N * t.stretchedBillboardLengthScale + , z = Be.scalarLength(V) * t.stretchedBillboardSpeedScale + G + , j = Be.scalarLength(F) * t.stretchedBillboardSpeedScale + G + , W = e._tempVector35 + , X = e._tempVector36; + Be.normalize(V, W), + Be.scale(W, z, H), + Be.subtract(E, H, H), + Be.normalize(F, X), + Be.scale(X, j, U), + Be.add(T, U, U), + P = D * e.halfKSqrtOf2, + Be.scale(I, P, k); + var q = e._tempVector37 + , Y = e._tempVector38; + Be.scale(W, .5, q), + Be.scale(X, .5, Y), + Be.multiply(q, I, q), + Be.multiply(Y, I, Y), + Be.add(i, Y, i), + Be.min(i, H, i), + Be.subtract(i, k, i), + Be.subtract(n, q, n), + Be.max(n, U, n), + Be.add(n, k, n); + break; + case 2: + O = .5 * (D *= Math.cos(.7853981633974483)), + R[0] = I.x * O, + R[1] = I.z * O, + Be.subtract(i, k, i), + Be.add(n, k, n); + break; + case 3: + O = .5 * (D *= Math.cos(.7853981633974483)), + Be.scale(I, O, k), + Be.subtract(i, k, i), + Be.add(n, k, n) + } + this._boundingBox.getCorners(this._boundingBoxCorners) + } + , + o._updateEmission = function() { + if (i.stage.isVisibility && this.isAlive) + if (this._simulateUpdate) + this._simulateUpdate = !1; + else { + var t = this._startUpdateLoopCount === E.loopCount || this._isPaused ? 0 : i.timer.delta / 1e3; + t = Math.min(e._maxElapsedTime, t), + this._updateParticles(t) + } + } + , + o._updateParticles = function(t) { + (4 !== this._ownerRender.renderMode || this._ownerRender.mesh) && (this._currentTime += t, + this._retireActiveParticles(), + this._freeRetiredParticles(), + this._totalDelayTime += t, + this._totalDelayTime < this._playStartDelay || this._emission.enbale && this._isEmitting && !this._isPaused && this._advanceTime(t, this._currentTime)) + } + , + o._updateParticlesSimulationRestart = function(t) { + this._firstActiveElement = 0, + this._firstNewElement = 0, + this._firstFreeElement = 0, + this._firstRetiredElement = 0, + this._burstsIndex = 0, + this._frameRateTime = t, + this._emissionTime = 0, + this._totalDelayTime = 0, + this._currentTime = t; + var e = t; + e < this._playStartDelay ? this._totalDelayTime = e : this._emission.enbale && this._advanceTime(t, t) + } + , + o._addUpdateEmissionToTimer = function() { + i.timer.frameLoop(1, this, this._updateEmission) + } + , + o._removeUpdateEmissionToTimer = function() { + i.timer.clear(this, this._updateEmission) + } + , + o._onOwnerActiveHierarchyChanged = function(t) { + this._owner.displayedInStage && (t ? this._addUpdateEmissionToTimer() : this._removeUpdateEmissionToTimer()) + } + , + o._retireActiveParticles = function() { + for (; this._firstActiveElement != this._firstNewElement; ) { + var t = this._firstActiveElement * this._floatCountPerVertex * this._vertexStride + , e = t + this._timeIndex; + if (this._currentTime - this._vertices[e] + 1e-4 < this._vertices[t + this._startLifeTimeIndex]) + break; + this._vertices[e] = this._drawCounter, + this._firstActiveElement++, + this._firstActiveElement >= this._bufferMaxParticles && (this._firstActiveElement = 0) + } + } + , + o._freeRetiredParticles = function() { + for (; this._firstRetiredElement != this._firstActiveElement; ) { + var t = this._drawCounter - this._vertices[this._firstRetiredElement * this._floatCountPerVertex * this._vertexStride + this._timeIndex]; + if (this.isPerformanceMode && t < 3) + break; + this._firstRetiredElement++, + this._firstRetiredElement >= this._bufferMaxParticles && (this._firstRetiredElement = 0) + } + } + , + o._burst = function(t, e) { + for (var i = 0, n = this._emission._bursts, a = n.length; this._burstsIndex < a; this._burstsIndex++) { + var r = n[this._burstsIndex] + , s = r.time; + if (!(t <= s && s < e)) + break; + var o = 0; + this.autoRandomSeed ? o = w.lerp(r.minCount, r.maxCount, Math.random()) : (this._rand.seed = this._randomSeeds[0], + o = w.lerp(r.minCount, r.maxCount, this._rand.getFloat()), + this._randomSeeds[0] = this._rand.seed), + i += o + } + return i + } + , + o._advanceTime = function(t, e) { + var i = 0 + , n = this._emissionTime; + this._emissionTime += t; + var a = 0; + if (this._emissionTime > this.duration) { + if (!this.looping) { + for (a = Math.min(this.maxParticles - this.aliveParticleCount, a), + i = 0; i < a; i++) + this.emit(e); + return this._isPlaying = !1, + void this.stop() + } + a += this._burst(n, this._emissionTime), + this._emissionTime -= this.duration, + this.event("complete"), + this._burstsIndex = 0, + a += this._burst(0, this._emissionTime) + } else + a += this._burst(n, this._emissionTime); + for (a = Math.min(this.maxParticles - this.aliveParticleCount, a), + i = 0; i < a; i++) + this.emit(e); + var r = this.emission.emissionRate; + if (r > 0) { + var s = 1 / r; + for (this._frameRateTime += s, + this._frameRateTime = this._currentTime - (this._currentTime - this._frameRateTime) % this._maxStartLifetime; this._frameRateTime <= e && this.emit(this._frameRateTime); ) + this._frameRateTime += s; + this._frameRateTime = Math.floor(e / s) * s + } + } + , + o._initBufferDatas = function() { + this._vertexBuffer && (this._vertexBuffer.destroy(), + this._indexBuffer.destroy()); + var t = this._ownerRender + , e = t.renderMode; + if (-1 !== e && this.maxParticles > 0) { + var i, n, a = 0, r = 0, s = 0, o = 0, l = 0, h = t.mesh; + if (4 === e) { + if (h) { + if (h._vertexBuffers.length > 1) + throw new Error("ShurikenParticleSystem: submesh Count mesh be One or all subMeshes have the same vertexDeclaration."); + n = pe.vertexDeclaration, + this._floatCountPerVertex = n.vertexStride / 4, + this._startLifeTimeIndex = 12, + this._timeIndex = 16, + this._vertexStride = h._vertexBuffers[0].vertexCount; + var c = this._bufferMaxParticles * this._vertexStride + , _ = c % 65535; + if (Math.floor(c / 65535) + 1 > 1) + throw new Error("ShurikenParticleSystem:the maxParticleCount multiply mesh vertexCount is large than 65535."); + this._vertexBuffer = Yi.create(n, _, 35048), + this._vertices = new Float32Array(this._floatCountPerVertex * _), + this._indexStride = h._indexBuffer.indexCount; + var u = h._indexBuffer.getData() + , d = this._bufferMaxParticles * this._indexStride; + for (this._indexBuffer = qi.create("ushort", d, 35044), + i = new Uint16Array(d), + o = 0, + a = 0; a < this._bufferMaxParticles; a++) { + var f = a * this._vertexStride; + for (r = 0, + s = u.length; r < s; r++) + i[o++] = f + u[r] + } + this._indexBuffer.setData(i) + } + } else { + for (n = fe.vertexDeclaration, + this._floatCountPerVertex = n.vertexStride / 4, + this._startLifeTimeIndex = 7, + this._timeIndex = 11, + this._vertexStride = 4, + this._vertexBuffer = Yi.create(n, this._bufferMaxParticles * this._vertexStride, 35048), + this._vertices = new Float32Array(this._floatCountPerVertex * this._bufferMaxParticles * this._vertexStride), + a = 0; a < this._bufferMaxParticles; a++) + l = a * this._floatCountPerVertex * this._vertexStride, + this._vertices[l] = -.5, + this._vertices[l + 1] = -.5, + this._vertices[l + 2] = 0, + this._vertices[l + 3] = 1, + l += this._floatCountPerVertex, + this._vertices[l] = .5, + this._vertices[l + 1] = -.5, + this._vertices[l + 2] = 1, + this._vertices[l + 3] = 1, + l += this._floatCountPerVertex, + this._vertices[l] = .5, + this._vertices[l + 1] = .5, + this._vertices[l + 2] = 1, + this._vertices[l + 3] = 0, + l += this._floatCountPerVertex, + this._vertices[l] = -.5, + this._vertices[l + 1] = .5, + this._vertices[l + 2] = 0, + this._vertices[l + 3] = 0; + for (this._indexStride = 6, + this._indexBuffer = qi.create("ushort", 6 * this._bufferMaxParticles, 35044), + i = new Uint16Array(6 * this._bufferMaxParticles), + a = 0; a < this._bufferMaxParticles; a++) { + o = 6 * a; + var p = a * this._vertexStride + , m = p + 2; + i[o++] = p, + i[o++] = m, + i[o++] = p + 1, + i[o++] = p, + i[o++] = p + 3, + i[o++] = m + } + this._indexBuffer.setData(i) + } + } + } + , + o._destroy = function() { + t.prototype._destroy.call(this), + this._owner.activeInHierarchy && this._removeUpdateEmissionToTimer(), + this._vertexBuffer.destroy(), + this._indexBuffer.destroy(), + this._emission._destroy(), + this._owner = null, + this._vertices = null, + this._vertexBuffer = null, + this._indexBuffer = null, + this._emission = null, + this._shape = null, + this.startLifeTimeGradient = null, + this.startLifeTimeGradientMin = null, + this.startLifeTimeGradientMax = null, + this.startSizeConstantSeparate = null, + this.startSizeConstantMinSeparate = null, + this.startSizeConstantMaxSeparate = null, + this.startRotationConstantSeparate = null, + this.startRotationConstantMinSeparate = null, + this.startRotationConstantMaxSeparate = null, + this.startColorConstant = null, + this.startColorConstantMin = null, + this.startColorConstantMax = null, + this._velocityOverLifetime = null, + this._colorOverLifetime = null, + this._sizeOverLifetime = null, + this._rotationOverLifetime = null, + this._textureSheetAnimation = null + } + , + o.emit = function(t) { + var i = e._tempPosition + , n = e._tempDirection; + if (this._shape && this._shape.enable) + this.autoRandomSeed ? this._shape.generatePositionAndDirection(i, n) : this._shape.generatePositionAndDirection(i, n, this._rand, this._randomSeeds); + else { + var a = i.elements + , r = n.elements; + a[0] = a[1] = a[2] = 0, + r[0] = r[1] = 0, + r[2] = 1 + } + return this.addParticle(i, n, t) + } + , + o.addParticle = function(t, e, i) { + Be.normalize(e, e); + var n = this._firstFreeElement + 1; + if (n >= this._bufferMaxParticles && (n = 0), + n === this._firstRetiredElement) + return !1; + lt.create(this, this._ownerRender, this._owner.transform); + if (this._currentTime - i >= lt.startLifeTime) + return !0; + var a = NaN + , r = NaN + , s = NaN + , o = NaN + , l = NaN + , h = NaN + , c = NaN + , _ = this._velocityOverLifetime && this._velocityOverLifetime.enbale; + if (_) { + var u = this._velocityOverLifetime.velocity.type; + 2 === u || 3 === u ? this.autoRandomSeed ? (a = Math.random(), + r = Math.random(), + s = Math.random()) : (this._rand.seed = this._randomSeeds[9], + a = this._rand.getFloat(), + r = this._rand.getFloat(), + s = this._rand.getFloat(), + this._randomSeeds[9] = this._rand.seed) : _ = !1 + } else + _ = !1; + var d = this._colorOverLifetime && this._colorOverLifetime.enbale; + if (d) { + 3 === this._colorOverLifetime.color.type ? this.autoRandomSeed ? o = Math.random() : (this._rand.seed = this._randomSeeds[10], + o = this._rand.getFloat(), + this._randomSeeds[10] = this._rand.seed) : d = !1 + } else + d = !1; + var f = this._sizeOverLifetime && this._sizeOverLifetime.enbale; + if (f) { + 3 === this._sizeOverLifetime.size.type ? this.autoRandomSeed ? l = Math.random() : (this._rand.seed = this._randomSeeds[11], + l = this._rand.getFloat(), + this._randomSeeds[11] = this._rand.seed) : f = !1 + } else + f = !1; + var p = this._rotationOverLifetime && this._rotationOverLifetime.enbale; + if (p) { + var m = this._rotationOverLifetime.angularVelocity.type; + 2 === m || 3 === m ? this.autoRandomSeed ? h = Math.random() : (this._rand.seed = this._randomSeeds[12], + h = this._rand.getFloat(), + this._randomSeeds[12] = this._rand.seed) : p = !1 + } else + p = !1; + var g = this._textureSheetAnimation && this._textureSheetAnimation.enable; + if (g) { + 3 === this._textureSheetAnimation.frame.type ? this.autoRandomSeed ? c = Math.random() : (this._rand.seed = this._randomSeeds[15], + c = this._rand.getFloat(), + this._randomSeeds[15] = this._rand.seed) : g = !1 + } else + g = !1; + var y, v = this._firstFreeElement * this._floatCountPerVertex * this._vertexStride, b = lt.startUVInfo[0], w = lt.startUVInfo[1], x = lt.startUVInfo[2], I = lt.startUVInfo[3], C = t.elements, S = e.elements, M = 0, L = 0, T = 0, E = 0, D = 0, N = this._ownerRender; + if (4 === N.renderMode) { + var A = N.mesh._vertexBuffers[0]; + y = A.getData(); + var B = A.vertexDeclaration; + L = B.getVertexElementByUsage(0).offset / 4; + var k = B.getVertexElementByUsage(1); + T = k ? k.offset / 4 : -1; + var R = B.getVertexElementByUsage(2); + E = R ? R.offset / 4 : -1, + M = B.vertexStride / 4, + D = 0 + } else { + this._vertices[v + 2] = x, + this._vertices[v + 3] = I + w; + var P = v + this._floatCountPerVertex; + this._vertices[P + 2] = x + b, + this._vertices[P + 3] = I + w; + var O = P + this._floatCountPerVertex; + this._vertices[O + 2] = x + b, + this._vertices[O + 3] = I; + var U = O + this._floatCountPerVertex; + this._vertices[U + 2] = x, + this._vertices[U + 3] = I + } + for (var V = v, F = v + this._floatCountPerVertex * this._vertexStride; V < F; V += this._floatCountPerVertex) { + var H = 0; + if (4 === N.renderMode) { + H = V; + var G = M * D++ + , z = G + L; + this._vertices[H++] = y[z++], + this._vertices[H++] = y[z++], + this._vertices[H++] = y[z], + -1 === T ? (this._vertices[H++] = 1, + this._vertices[H++] = 1, + this._vertices[H++] = 1, + this._vertices[H++] = 1) : (z = G + T, + this._vertices[H++] = y[z++], + this._vertices[H++] = y[z++], + this._vertices[H++] = y[z++], + this._vertices[H++] = y[z]), + -1 === E ? (this._vertices[H++] = 0, + this._vertices[H++] = 0) : (z = G + E, + this._vertices[H++] = x + y[z++] * b, + this._vertices[H++] = I + y[z] * w) + } else + H = V + 4; + switch (this._vertices[H++] = C[0], + this._vertices[H++] = C[1], + this._vertices[H++] = C[2], + this._vertices[H++] = lt.startLifeTime, + this._vertices[H++] = S[0], + this._vertices[H++] = S[1], + this._vertices[H++] = S[2], + this._vertices[H++] = i, + this._vertices[H++] = lt.startColor[0], + this._vertices[H++] = lt.startColor[1], + this._vertices[H++] = lt.startColor[2], + this._vertices[H++] = lt.startColor[3], + this._vertices[H++] = lt.startSize[0], + this._vertices[H++] = lt.startSize[1], + this._vertices[H++] = lt.startSize[2], + this._vertices[H++] = lt.startRotation[0], + this._vertices[H++] = lt.startRotation[1], + this._vertices[H++] = lt.startRotation[2], + this._vertices[H++] = lt.startSpeed, + d && (this._vertices[H + 1] = o), + f && (this._vertices[H + 2] = l), + p && (this._vertices[H + 3] = h), + g && (this._vertices[H + 4] = c), + _ && (this._vertices[H + 5] = a, + this._vertices[H + 6] = r, + this._vertices[H + 7] = s), + this.simulationSpace) { + case 0: + H += 8, + this._vertices[H++] = lt.simulationWorldPostion[0], + this._vertices[H++] = lt.simulationWorldPostion[1], + this._vertices[H++] = lt.simulationWorldPostion[2], + this._vertices[H++] = lt.simulationWorldRotation[0], + this._vertices[H++] = lt.simulationWorldRotation[1], + this._vertices[H++] = lt.simulationWorldRotation[2], + this._vertices[H++] = lt.simulationWorldRotation[3]; + break; + case 1: + break; + default: + throw new Error("ShurikenParticleMaterial: SimulationSpace value is invalid.") + } + } + return this._firstFreeElement = n, + !0 + } + , + o.addNewParticlesToVertexBuffer = function() { + var t = 0; + this._firstNewElement < this._firstFreeElement ? (t = this._firstNewElement * this._vertexStride * this._floatCountPerVertex, + this._vertexBuffer.setData(this._vertices, t, t, (this._firstFreeElement - this._firstNewElement) * this._vertexStride * this._floatCountPerVertex)) : (t = this._firstNewElement * this._vertexStride * this._floatCountPerVertex, + this._vertexBuffer.setData(this._vertices, t, t, (this._bufferMaxParticles - this._firstNewElement) * this._vertexStride * this._floatCountPerVertex), + this._firstFreeElement > 0 && this._vertexBuffer.setData(this._vertices, 0, 0, this._firstFreeElement * this._vertexStride * this._floatCountPerVertex)), + this._firstNewElement = this._firstFreeElement + } + , + o._beforeRender = function(t) { + return this._firstNewElement != this._firstFreeElement && this.addNewParticlesToVertexBuffer(), + this._drawCounter++, + this._firstActiveElement != this._firstFreeElement && (this._vertexBuffer._bind(), + this._indexBuffer._bind(), + !0) + } + , + o._render = function(t) { + var e = 0 + , i = B.mainContext; + this._firstActiveElement < this._firstFreeElement ? (e = (this._firstFreeElement - this._firstActiveElement) * this._indexStride, + i.drawElements(4, e, 5123, 2 * this._firstActiveElement * this._indexStride), + E.trianglesFaces += e / 3, + E.drawCall++) : (e = (this._bufferMaxParticles - this._firstActiveElement) * this._indexStride, + i.drawElements(4, e, 5123, 2 * this._firstActiveElement * this._indexStride), + E.trianglesFaces += e / 3, + E.drawCall++, + this._firstFreeElement > 0 && (e = this._firstFreeElement * this._indexStride, + i.drawElements(4, e, 5123, 0), + E.trianglesFaces += e / 3, + E.drawCall++)) + } + , + o.play = function() { + if (this._burstsIndex = 0, + this._isEmitting = !0, + this._isPlaying = !0, + this._isPaused = !1, + this._emissionTime = 0, + this._totalDelayTime = 0, + !this.autoRandomSeed) + for (var t = 0, i = this._randomSeeds.length; t < i; t++) + this._randomSeeds[t] = this.randomSeed[0] + e._RANDOMOFFSET[t]; + switch (this.startDelayType) { + case 0: + this._playStartDelay = this.startDelay; + break; + case 1: + this.autoRandomSeed ? this._playStartDelay = w.lerp(this.startDelayMin, this.startDelayMax, Math.random()) : (this._rand.seed = this._randomSeeds[2], + this._playStartDelay = w.lerp(this.startDelayMin, this.startDelayMax, this._rand.getFloat()), + this._randomSeeds[2] = this._rand.seed); + break; + default: + throw new Error("Utils3D: startDelayType is invalid.") + } + this._frameRateTime = this._currentTime + this._playStartDelay, + this._startUpdateLoopCount = E.loopCount, + this.event("played") + } + , + o.pause = function() { + this._isPaused = !0, + this.event("paused") + } + , + o.simulate = function(t, e) { + void 0 === e && (e = !0), + this._simulateUpdate = !0, + e ? this._updateParticlesSimulationRestart(t) : (this._isPaused = !1, + this._updateParticles(t)), + this.pause() + } + , + o.stop = function() { + this._burstsIndex = 0, + this._isEmitting = !1, + this._emissionTime = 0, + this.event("stopped") + } + , + o.cloneTo = function(t) { + var e = t; + e.duration = this.duration, + e.looping = this.looping, + e.prewarm = this.prewarm, + e.startDelayType = this.startDelayType, + e.startDelay = this.startDelay, + e.startDelayMin = this.startDelayMin, + e.startDelayMax = this.startDelayMax, + e._maxStartLifetime = this._maxStartLifetime, + e.startLifetimeType = this.startLifetimeType, + e.startLifetimeConstant = this.startLifetimeConstant, + this.startLifeTimeGradient.cloneTo(e.startLifeTimeGradient), + e.startLifetimeConstantMin = this.startLifetimeConstantMin, + e.startLifetimeConstantMax = this.startLifetimeConstantMax, + this.startLifeTimeGradientMin.cloneTo(e.startLifeTimeGradientMin), + this.startLifeTimeGradientMax.cloneTo(e.startLifeTimeGradientMax), + e.startSpeedType = this.startSpeedType, + e.startSpeedConstant = this.startSpeedConstant, + e.startSpeedConstantMin = this.startSpeedConstantMin, + e.startSpeedConstantMax = this.startSpeedConstantMax, + e.threeDStartSize = this.threeDStartSize, + e.startSizeType = this.startSizeType, + e.startSizeConstant = this.startSizeConstant, + this.startSizeConstantSeparate.cloneTo(e.startSizeConstantSeparate), + e.startSizeConstantMin = this.startSizeConstantMin, + e.startSizeConstantMax = this.startSizeConstantMax, + this.startSizeConstantMinSeparate.cloneTo(e.startSizeConstantMinSeparate), + this.startSizeConstantMaxSeparate.cloneTo(e.startSizeConstantMaxSeparate), + e.threeDStartRotation = this.threeDStartRotation, + e.startRotationType = this.startRotationType, + e.startRotationConstant = this.startRotationConstant, + this.startRotationConstantSeparate.cloneTo(e.startRotationConstantSeparate), + e.startRotationConstantMin = this.startRotationConstantMin, + e.startRotationConstantMax = this.startRotationConstantMax, + this.startRotationConstantMinSeparate.cloneTo(e.startRotationConstantMinSeparate), + this.startRotationConstantMaxSeparate.cloneTo(e.startRotationConstantMaxSeparate), + e.randomizeRotationDirection = this.randomizeRotationDirection, + e.startColorType = this.startColorType, + this.startColorConstant.cloneTo(e.startColorConstant), + this.startColorConstantMin.cloneTo(e.startColorConstantMin), + this.startColorConstantMax.cloneTo(e.startColorConstantMax), + e.gravityModifier = this.gravityModifier, + e.simulationSpace = this.simulationSpace, + e.scaleMode = this.scaleMode, + e.playOnAwake = this.playOnAwake, + e.maxParticles = this.maxParticles, + this._emission && (e._emission = this._emission.clone()), + this.shape && (e.shape = this.shape.clone()), + this.velocityOverLifetime && (e.velocityOverLifetime = this.velocityOverLifetime.clone()), + this.colorOverLifetime && (e.colorOverLifetime = this.colorOverLifetime.clone()), + this.sizeOverLifetime && (e.sizeOverLifetime = this.sizeOverLifetime.clone()), + this.rotationOverLifetime && (e.rotationOverLifetime = this.rotationOverLifetime.clone()), + this.textureSheetAnimation && (e.textureSheetAnimation = this.textureSheetAnimation.clone()), + e.isPerformanceMode = this.isPerformanceMode, + e._isEmitting = this._isEmitting, + e._isPlaying = this._isPlaying, + e._isPaused = this._isPaused, + e._playStartDelay = this._playStartDelay, + e._frameRateTime = this._frameRateTime, + e._emissionTime = this._emissionTime, + e._totalDelayTime = this._totalDelayTime, + e._burstsIndex = this._burstsIndex + } + , + o.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + o._getVertexBuffers = function() { + return null + } + , + r(0, o, "maxParticles", function() { + return this._bufferMaxParticles - 1 + }, function(t) { + var e = t + 1; + e !== this._bufferMaxParticles && (this._bufferMaxParticles = e, + this._initBufferDatas()) + }), + r(0, o, "isEmitting", function() { + return this._isEmitting + }), + r(0, o, "isAlive", function() { + return !!(this._isPlaying || this.aliveParticleCount > 0) + }), + r(0, o, "shape", function() { + return this._shape + }, function(t) { + this._shape !== t && (t && t.enable ? this._ownerRender._addShaderDefine(yn.SHADERDEFINE_SHAPE) : this._ownerRender._removeShaderDefine(yn.SHADERDEFINE_SHAPE), + this._shape = t) + }), + r(0, o, "rotationOverLifetime", function() { + return this._rotationOverLifetime + }, function(t) { + var e = this._ownerRender; + if (t) { + var i = t.angularVelocity; + if (!i) + return; + var n = i.separateAxes + , a = i.type; + if (t.enbale) + switch (n ? e._addShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMESEPERATE) : e._addShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIME), + a) { + case 0: + e._addShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMECONSTANT); + break; + case 1: + e._addShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMECURVE); + break; + case 2: + e._addShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMERANDOMCONSTANTS); + break; + case 3: + e._addShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMERANDOMCURVES) + } + else + e._removeShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIME), + e._removeShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMESEPERATE), + e._removeShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMECONSTANT), + e._removeShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMECURVE), + e._removeShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMERANDOMCONSTANTS), + e._removeShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMERANDOMCURVES); + switch (a) { + case 0: + n ? e._setShaderValueColor(35, i.constantSeparate) : e._setShaderValueNumber(34, i.constant); + break; + case 1: + n ? (e._setShaderValueBuffer(37, i.gradientX._elements), + e._setShaderValueBuffer(38, i.gradientY._elements), + e._setShaderValueBuffer(39, i.gradientZ._elements), + e._setShaderValueBuffer(40, i.gradientW._elements)) : e._setShaderValueBuffer(36, i.gradient._elements); + break; + case 2: + n ? (e._setShaderValueColor(35, i.constantMinSeparate), + e._setShaderValueColor(42, i.constantMaxSeparate)) : (e._setShaderValueNumber(34, i.constantMin), + e._setShaderValueNumber(41, i.constantMax)); + break; + case 3: + n ? (e._setShaderValueBuffer(37, i.gradientXMin._elements), + e._setShaderValueBuffer(44, i.gradientXMax._elements), + e._setShaderValueBuffer(38, i.gradientYMin._elements), + e._setShaderValueBuffer(45, i.gradientYMax._elements), + e._setShaderValueBuffer(39, i.gradientZMin._elements), + e._setShaderValueBuffer(46, i.gradientZMax._elements), + e._setShaderValueBuffer(40, i.gradientWMin._elements), + e._setShaderValueBuffer(47, i.gradientWMax._elements)) : (e._setShaderValueBuffer(36, i.gradientMin._elements), + e._setShaderValueBuffer(43, i.gradientMax._elements)) + } + } else + e._removeShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIME), + e._removeShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMESEPERATE), + e._removeShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMECONSTANT), + e._removeShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMECURVE), + e._removeShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMERANDOMCONSTANTS), + e._removeShaderDefine(yn.SHADERDEFINE_ROTATIONOVERLIFETIMERANDOMCURVES), + e._setShaderValueColor(35, null), + e._setShaderValueColor(42, null), + e._setShaderValueNumber(34, void 0), + e._setShaderValueNumber(41, void 0), + e._setShaderValueBuffer(37, null), + e._setShaderValueBuffer(44, null), + e._setShaderValueBuffer(38, null), + e._setShaderValueBuffer(45, null), + e._setShaderValueBuffer(39, null), + e._setShaderValueBuffer(46, null), + e._setShaderValueBuffer(40, null), + e._setShaderValueBuffer(47, null), + e._setShaderValueBuffer(36, null), + e._setShaderValueBuffer(43, null); + this._rotationOverLifetime = t + }), + r(0, o, "emission", function() { + return this._emission + }), + r(0, o, "emissionTime", function() { + return this._emissionTime > this.duration ? this.duration : this._emissionTime + }), + r(0, o, "aliveParticleCount", function() { + return this._firstNewElement >= this._firstRetiredElement ? this._firstNewElement - this._firstRetiredElement : this._bufferMaxParticles - this._firstRetiredElement + this._firstNewElement + }), + r(0, o, "isPlaying", function() { + return this._isPlaying + }), + r(0, o, "isPaused", function() { + return this._isPaused + }), + r(0, o, "startLifetimeType", function() { + return this._startLifetimeType + }, function(t) { + var e = 0 + , i = 0; + switch (this.startLifetimeType) { + case 0: + this._maxStartLifetime = this.startLifetimeConstant; + break; + case 1: + this._maxStartLifetime = -Number.MAX_VALUE; + var n = n; + for (e = 0, + i = n.gradientCount; e < i; e++) + this._maxStartLifetime = Math.max(this._maxStartLifetime, n.getValueByIndex(e)); + break; + case 2: + this._maxStartLifetime = Math.max(this.startLifetimeConstantMin, this.startLifetimeConstantMax); + break; + case 3: + this._maxStartLifetime = -Number.MAX_VALUE; + var a = a; + for (e = 0, + i = a.gradientCount; e < i; e++) + this._maxStartLifetime = Math.max(this._maxStartLifetime, a.getValueByIndex(e)); + var r = r; + for (e = 0, + i = r.gradientCount; e < i; e++) + this._maxStartLifetime = Math.max(this._maxStartLifetime, r.getValueByIndex(e)) + } + this._startLifetimeType = t + }), + r(0, o, "_originalBoundingSphere", function() { + return this._boundingSphere + }), + r(0, o, "startLifetimeConstant", function() { + return this._startLifetimeConstant + }, function(t) { + 0 === this._startLifetimeType && (this._maxStartLifetime = t), + this._startLifetimeConstant = t + }), + r(0, o, "startLifetimeConstantMin", function() { + return this._startLifetimeConstantMin + }, function(t) { + 2 === this._startLifetimeType && (this._maxStartLifetime = Math.max(t, this._startLifetimeConstantMax)), + this._startLifetimeConstantMin = t + }), + r(0, o, "startLifeTimeGradient", function() { + return this._startLifeTimeGradient + }, function(t) { + if (1 === this._startLifetimeType) { + this._maxStartLifetime = -Number.MAX_VALUE; + for (var e = 0, i = t.gradientCount; e < i; e++) + this._maxStartLifetime = Math.max(this._maxStartLifetime, t.getValueByIndex(e)) + } + this._startLifeTimeGradient = t + }), + r(0, o, "startLifetimeConstantMax", function() { + return this._startLifetimeConstantMax + }, function(t) { + 2 === this._startLifetimeType && (this._maxStartLifetime = Math.max(this._startLifetimeConstantMin, t)), + this._startLifetimeConstantMax = t + }), + r(0, o, "startLifeTimeGradientMin", function() { + return this._startLifeTimeGradientMin + }, function(t) { + if (3 === this._startLifetimeType) { + var e = 0 + , i = 0; + for (this._maxStartLifetime = -Number.MAX_VALUE, + e = 0, + i = t.gradientCount; e < i; e++) + this._maxStartLifetime = Math.max(this._maxStartLifetime, t.getValueByIndex(e)); + for (e = 0, + i = this._startLifeTimeGradientMax.gradientCount; e < i; e++) + this._maxStartLifetime = Math.max(this._maxStartLifetime, this._startLifeTimeGradientMax.getValueByIndex(e)) + } + this._startLifeTimeGradientMin = t + }), + r(0, o, "startLifeTimeGradientMax", function() { + return this._startLifeTimeGradientMax + }, function(t) { + if (3 === this._startLifetimeType) { + var e = 0 + , i = 0; + for (this._maxStartLifetime = -Number.MAX_VALUE, + e = 0, + i = this._startLifeTimeGradientMin.gradientCount; e < i; e++) + this._maxStartLifetime = Math.max(this._maxStartLifetime, this._startLifeTimeGradientMin.getValueByIndex(e)); + for (e = 0, + i = t.gradientCount; e < i; e++) + this._maxStartLifetime = Math.max(this._maxStartLifetime, t.getValueByIndex(e)) + } + this._startLifeTimeGradientMax = t + }), + r(0, o, "velocityOverLifetime", function() { + return this._velocityOverLifetime + }, function(t) { + var e = this._ownerRender; + if (t) { + var i = t.velocity + , n = i.type; + if (t.enbale) + switch (n) { + case 0: + e._addShaderDefine(yn.SHADERDEFINE_VELOCITYOVERLIFETIMECONSTANT); + break; + case 1: + e._addShaderDefine(yn.SHADERDEFINE_VELOCITYOVERLIFETIMECURVE); + break; + case 2: + e._addShaderDefine(yn.SHADERDEFINE_VELOCITYOVERLIFETIMERANDOMCONSTANT); + break; + case 3: + e._addShaderDefine(yn.SHADERDEFINE_VELOCITYOVERLIFETIMERANDOMCURVE) + } + else + e._removeShaderDefine(yn.SHADERDEFINE_VELOCITYOVERLIFETIMECONSTANT), + e._removeShaderDefine(yn.SHADERDEFINE_VELOCITYOVERLIFETIMECURVE), + e._removeShaderDefine(yn.SHADERDEFINE_VELOCITYOVERLIFETIMERANDOMCONSTANT), + e._removeShaderDefine(yn.SHADERDEFINE_VELOCITYOVERLIFETIMERANDOMCURVE); + switch (n) { + case 0: + e._setShaderValueColor(13, i.constant); + break; + case 1: + e._setShaderValueBuffer(14, i.gradientX._elements), + e._setShaderValueBuffer(15, i.gradientY._elements), + e._setShaderValueBuffer(16, i.gradientZ._elements); + break; + case 2: + e._setShaderValueColor(13, i.constantMin), + e._setShaderValueColor(17, i.constantMax); + break; + case 3: + e._setShaderValueBuffer(14, i.gradientXMin._elements), + e._setShaderValueBuffer(18, i.gradientXMax._elements), + e._setShaderValueBuffer(15, i.gradientYMin._elements), + e._setShaderValueBuffer(19, i.gradientYMax._elements), + e._setShaderValueBuffer(16, i.gradientZMin._elements), + e._setShaderValueBuffer(20, i.gradientZMax._elements) + } + e._setShaderValueInt(21, t.space) + } else + e._removeShaderDefine(yn.SHADERDEFINE_VELOCITYOVERLIFETIMECONSTANT), + e._removeShaderDefine(yn.SHADERDEFINE_VELOCITYOVERLIFETIMECURVE), + e._removeShaderDefine(yn.SHADERDEFINE_VELOCITYOVERLIFETIMERANDOMCONSTANT), + e._removeShaderDefine(yn.SHADERDEFINE_VELOCITYOVERLIFETIMERANDOMCURVE), + e._setShaderValueColor(13, null), + e._setShaderValueBuffer(14, null), + e._setShaderValueBuffer(15, null), + e._setShaderValueBuffer(16, null), + e._setShaderValueColor(13, null), + e._setShaderValueColor(17, null), + e._setShaderValueBuffer(14, null), + e._setShaderValueBuffer(18, null), + e._setShaderValueBuffer(15, null), + e._setShaderValueBuffer(19, null), + e._setShaderValueBuffer(16, null), + e._setShaderValueBuffer(20, null), + e._setShaderValueInt(21, void 0); + this._velocityOverLifetime = t + }), + r(0, o, "colorOverLifetime", function() { + return this._colorOverLifetime + }, function(t) { + var e = this._ownerRender; + if (t) { + var i = t.color; + if (t.enbale) + switch (i.type) { + case 1: + e._addShaderDefine(yn.SHADERDEFINE_COLOROVERLIFETIME); + break; + case 3: + e._addShaderDefine(yn.SHADERDEFINE_RANDOMCOLOROVERLIFETIME) + } + else + e._removeShaderDefine(yn.SHADERDEFINE_COLOROVERLIFETIME), + e._removeShaderDefine(yn.SHADERDEFINE_RANDOMCOLOROVERLIFETIME); + switch (i.type) { + case 1: + var n = i.gradient; + e._setShaderValueBuffer(22, n._alphaElements), + e._setShaderValueBuffer(23, n._rgbElements); + break; + case 3: + var a = i.gradientMin + , r = i.gradientMax; + e._setShaderValueBuffer(22, a._alphaElements), + e._setShaderValueBuffer(23, a._rgbElements), + e._setShaderValueBuffer(24, r._alphaElements), + e._setShaderValueBuffer(25, r._rgbElements) + } + } else + e._removeShaderDefine(yn.SHADERDEFINE_COLOROVERLIFETIME), + e._removeShaderDefine(yn.SHADERDEFINE_RANDOMCOLOROVERLIFETIME), + e._setShaderValueBuffer(22, n._alphaElements), + e._setShaderValueBuffer(23, n._rgbElements), + e._setShaderValueBuffer(22, a._alphaElements), + e._setShaderValueBuffer(23, a._rgbElements), + e._setShaderValueBuffer(24, r._alphaElements), + e._setShaderValueBuffer(25, r._rgbElements); + this._colorOverLifetime = t + }), + r(0, o, "sizeOverLifetime", function() { + return this._sizeOverLifetime + }, function(t) { + var e = this._ownerRender; + if (t) { + var i = t.size + , n = i.separateAxes + , a = i.type; + if (t.enbale) + switch (a) { + case 0: + n ? e._addShaderDefine(yn.SHADERDEFINE_SIZEOVERLIFETIMECURVESEPERATE) : e._addShaderDefine(yn.SHADERDEFINE_SIZEOVERLIFETIMECURVE); + break; + case 2: + n ? e._addShaderDefine(yn.SHADERDEFINE_SIZEOVERLIFETIMERANDOMCURVESSEPERATE) : e._addShaderDefine(yn.SHADERDEFINE_SIZEOVERLIFETIMERANDOMCURVES) + } + else + e._removeShaderDefine(yn.SHADERDEFINE_SIZEOVERLIFETIMECURVE), + e._removeShaderDefine(yn.SHADERDEFINE_SIZEOVERLIFETIMECURVESEPERATE), + e._removeShaderDefine(yn.SHADERDEFINE_SIZEOVERLIFETIMERANDOMCURVES), + e._removeShaderDefine(yn.SHADERDEFINE_SIZEOVERLIFETIMERANDOMCURVESSEPERATE); + switch (a) { + case 0: + n ? (e._setShaderValueBuffer(27, i.gradientX._elements), + e._setShaderValueBuffer(28, i.gradientY._elements), + e._setShaderValueBuffer(29, i.gradientZ._elements)) : e._setShaderValueBuffer(26, i.gradient._elements); + break; + case 2: + n ? (e._setShaderValueBuffer(27, i.gradientXMin._elements), + e._setShaderValueBuffer(31, i.gradientXMax._elements), + e._setShaderValueBuffer(28, i.gradientYMin._elements), + e._setShaderValueBuffer(32, i.gradientYMax._elements), + e._setShaderValueBuffer(29, i.gradientZMin._elements), + e._setShaderValueBuffer(33, i.gradientZMax._elements)) : (e._setShaderValueBuffer(26, i.gradientMin._elements), + e._setShaderValueBuffer(30, i.gradientMax._elements)) + } + } else + e._removeShaderDefine(yn.SHADERDEFINE_SIZEOVERLIFETIMECURVE), + e._removeShaderDefine(yn.SHADERDEFINE_SIZEOVERLIFETIMECURVESEPERATE), + e._removeShaderDefine(yn.SHADERDEFINE_SIZEOVERLIFETIMERANDOMCURVES), + e._removeShaderDefine(yn.SHADERDEFINE_SIZEOVERLIFETIMERANDOMCURVESSEPERATE), + e._setShaderValueBuffer(27, null), + e._setShaderValueBuffer(31, null), + e._setShaderValueBuffer(28, null), + e._setShaderValueBuffer(32, null), + e._setShaderValueBuffer(29, null), + e._setShaderValueBuffer(33, null), + e._setShaderValueBuffer(26, null), + e._setShaderValueBuffer(30, null); + this._sizeOverLifetime = t + }), + r(0, o, "textureSheetAnimation", function() { + return this._textureSheetAnimation + }, function(t) { + var e = this._ownerRender; + if (t) { + var i = t.frame + , n = i.type; + if (t.enable) + switch (n) { + case 1: + e._addShaderDefine(yn.SHADERDEFINE_TEXTURESHEETANIMATIONCURVE); + break; + case 3: + e._addShaderDefine(yn.SHADERDEFINE_TEXTURESHEETANIMATIONRANDOMCURVE) + } + else + e._removeShaderDefine(yn.SHADERDEFINE_TEXTURESHEETANIMATIONCURVE), + e._removeShaderDefine(yn.SHADERDEFINE_TEXTURESHEETANIMATIONRANDOMCURVE); + if (1 === n || 3 === n) { + e._setShaderValueInt(48, t.cycles); + var a = t.tiles + , r = this._uvLength.elements; + r[0] = 1 / a.x, + r[1] = 1 / a.y, + e._setShaderValueVector2(49, this._uvLength) + } + switch (n) { + case 1: + e._setShaderValueBuffer(50, i.frameOverTimeData._elements); + break; + case 3: + e._setShaderValueBuffer(50, i.frameOverTimeDataMin._elements), + e._setShaderValueBuffer(51, i.frameOverTimeDataMax._elements) + } + } else + e._removeShaderDefine(yn.SHADERDEFINE_TEXTURESHEETANIMATIONCURVE), + e._removeShaderDefine(yn.SHADERDEFINE_TEXTURESHEETANIMATIONRANDOMCURVE), + e._setShaderValueInt(48, void 0), + e._setShaderValueVector2(49, null), + e._setShaderValueBuffer(50, null), + e._setShaderValueBuffer(51, null); + this._textureSheetAnimation = t + }), + r(0, o, "_vertexBufferCount", function() { + return 1 + }), + r(0, o, "triangleCount", function() { + return this._indexBuffer ? this._indexBuffer.indexCount / 3 : 0 + }), + r(0, o, "_originalBoundingBox", function() { + return this._boundingBox + }), + r(0, o, "_originalBoundingBoxCorners", function() { + return this._boundingBoxCorners + }), + e.halfKSqrtOf2 = .71, + n(e, ["_RANDOMOFFSET", function() { + return this._RANDOMOFFSET = new Uint32Array([592910910, 3276756734, 322376503, 306581307, 1793934638, 3737431713, 2527743459, 2368504881, 4085612399, 3774601268, 326370691, 1494990940, 1089181156, 3159510623, 2941263940, 2786374529, 271901988, 4233252447]) + } + , "_maxElapsedTime", function() { + return this._maxElapsedTime = 1 / 3 + } + , "_tempVector30", function() { + return this._tempVector30 = new Be + } + , "_tempVector31", function() { + return this._tempVector31 = new Be + } + , "_tempVector32", function() { + return this._tempVector32 = new Be + } + , "_tempVector33", function() { + return this._tempVector33 = new Be + } + , "_tempVector34", function() { + return this._tempVector34 = new Be + } + , "_tempVector35", function() { + return this._tempVector35 = new Be + } + , "_tempVector36", function() { + return this._tempVector36 = new Be + } + , "_tempVector37", function() { + return this._tempVector37 = new Be + } + , "_tempVector38", function() { + return this._tempVector38 = new Be + } + , "_tempVector39", function() { + return this._tempVector39 = new Be + } + , "_tempPosition", function() { + return this._tempPosition = new Be + } + , "_tempDirection", function() { + return this._tempDirection = new Be + } + ]), + e + }(ti) + , Ei = function(t) { + function e(t) { + this._finalGravity = new Be, + this._tempRotationMatrix = new Me, + e.__super.call(this, t), + this._defaultBoundBox = new be(new Be,new Be), + this._renderMode = -1, + this.stretchedBillboardCameraSpeedScale = 0, + this.stretchedBillboardSpeedScale = 0, + this.stretchedBillboardLengthScale = 1 + } + a(e, "laya.d3.core.particleShuriKen.ShurikenParticleRender", t); + var n = e.prototype; + return n._calculateBoundingBox = function() { + var t = this._boundingBox.min.elements; + t[0] = -Number.MAX_VALUE, + t[1] = -Number.MAX_VALUE, + t[2] = -Number.MAX_VALUE; + var e = this._boundingBox.min.elements; + e[0] = Number.MAX_VALUE, + e[1] = Number.MAX_VALUE, + e[2] = Number.MAX_VALUE + } + , + n._calculateBoundingSphere = function() { + var t = this._owner.particleSystem._boundingSphere + , e = NaN + , i = this._owner.transform + , n = i.scale.elements + , a = Math.abs(n[0]) + , r = Math.abs(n[1]) + , s = Math.abs(n[2]); + e = a >= r && a >= s ? a : r >= s ? r : s, + Be.transformCoordinate(t.center, i.worldMatrix, this._boundingSphere.center), + this._boundingSphere.radius = t.radius * e + } + , + n._renderUpdate = function(t) { + var e = this._owner.particleSystem; + if (!i.stage.isVisibility || !e.isAlive) + return !1; + var n = this._owner.transform; + switch (e.simulationSpace) { + case 0: + break; + case 1: + this._setShaderValueColor(0, n.position), + this._setShaderValueColor(1, n.rotation); + break; + default: + throw new Error("ShurikenParticleMaterial: SimulationSpace value is invalid.") + } + switch (e.scaleMode) { + case 0: + var a = n.scale; + this._setShaderValueColor(4, a), + this._setShaderValueColor(5, a); + break; + case 1: + var r = n.localScale; + this._setShaderValueColor(4, r), + this._setShaderValueColor(5, r); + break; + case 2: + this._setShaderValueColor(4, n.scale), + this._setShaderValueColor(5, Be.ONE) + } + var s = this._finalGravity.elements + , o = Xe.gravity.elements + , l = e.gravityModifier; + return s[0] = o[0] * l, + s[1] = o[1] * l, + s[2] = o[2] * l, + this._setShaderValueBuffer(7, s), + this._setShaderValueInt(11, e.simulationSpace), + this._setShaderValueBool(8, e.threeDStartRotation), + this._setShaderValueInt(6, e.scaleMode), + this._setShaderValueInt(9, this.stretchedBillboardLengthScale), + this._setShaderValueInt(10, this.stretchedBillboardSpeedScale), + this._setShaderValueNumber(12, e._currentTime), + Ze.debugMode && this._renderRenderableBoundBox(), + !0 + } + , + n._destroy = function() { + t.prototype._destroy.call(this), + this._mesh && (this._mesh._removeReference(), + this._mesh = null) + } + , + r(0, n, "boundingBox", function() { + return this._owner.particleSystem.isAlive ? (this._boundingBoxNeedChange && (this._calculateBoundingBox(), + this._boundingBoxNeedChange = !1), + this._boundingBox) : this._defaultBoundBox + }), + r(0, n, "renderMode", function() { + return this._renderMode + }, function(t) { + if (this._renderMode !== t) { + switch (this._renderMode) { + case 0: + this._removeShaderDefine(yn.SHADERDEFINE_RENDERMODE_BILLBOARD); + break; + case 1: + this._removeShaderDefine(yn.SHADERDEFINE_RENDERMODE_STRETCHEDBILLBOARD); + break; + case 2: + this._removeShaderDefine(yn.SHADERDEFINE_RENDERMODE_HORIZONTALBILLBOARD); + break; + case 3: + this._removeShaderDefine(yn.SHADERDEFINE_RENDERMODE_VERTICALBILLBOARD); + break; + case 4: + this._removeShaderDefine(yn.SHADERDEFINE_RENDERMODE_MESH) + } + switch (this._renderMode = t, + t) { + case 0: + this._addShaderDefine(yn.SHADERDEFINE_RENDERMODE_BILLBOARD); + break; + case 1: + this._addShaderDefine(yn.SHADERDEFINE_RENDERMODE_STRETCHEDBILLBOARD); + break; + case 2: + this._addShaderDefine(yn.SHADERDEFINE_RENDERMODE_HORIZONTALBILLBOARD); + break; + case 3: + this._addShaderDefine(yn.SHADERDEFINE_RENDERMODE_VERTICALBILLBOARD); + break; + case 4: + this._addShaderDefine(yn.SHADERDEFINE_RENDERMODE_MESH); + break; + default: + throw new Error("ShurikenParticleRender: unknown renderMode Value.") + } + this._owner.particleSystem._initBufferDatas() + } + }), + r(0, n, "mesh", function() { + return this._mesh + }, function(t) { + this._mesh !== t && (this._mesh && this._mesh._removeReference(), + this._mesh = t, + t && t._addReference(), + this._owner.particleSystem._initBufferDatas()) + }), + e + }(ei) + , Di = function(t) { + function e(t) { + this._owner = null, + this._trailRenderElements = null, + this._minVertexDistance = NaN, + this._widthMultiplier = NaN, + this._time = NaN, + this._widthCurve = null, + this._colorGradient = null, + this._textureMode = 0, + this._curtime = 0, + this._curSubTrailFinishCurTime = 0, + this._curSubTrailFinished = !1, + this._hasLifeSubTrail = !1, + this._trailTotalLength = 0, + this._trailSupplementLength = 0, + this._trailDeadLength = 0, + this._isStart = !1, + this._trailRenderElementIndex = 0, + e.__super.call(this), + this._curSubTrailFinishPosition = new Be, + this._curSubTrailFinishDirection = new Be, + this._owner = t, + this._trailRenderElements = [], + this.addRenderElement() + } + a(e, "laya.d3.core.trail.TrailFilter", t); + var i = e.prototype; + return i.getRenderElementsCount = function() { + return this._trailRenderElements.length + } + , + i.addRenderElement = function() { + for (var t = 0; t < this._trailRenderElements.length; t++) + if (1 == this._trailRenderElements[t]._isDead) + return this._trailRenderElements[t].reActivate(), + t; + var e = new vt(this); + return this._trailRenderElements.push(e), + this._trailRenderElements.length - 1 + } + , + i.getRenderElement = function(t) { + return this._trailRenderElements[t] + } + , + i._update = function(t) { + this._curtime += t.elapsedTime / 1e3, + this._owner._render._setShaderValueNumber(3, this._curtime), + this._curSubTrailFinished && (this._curSubTrailFinished = !1, + this._trailRenderElementIndex = this.addRenderElement(), + this.event("trailfilterchange", [this._trailRenderElementIndex, this._trailRenderElements[this._trailRenderElementIndex]])) + } + , + i.reset = function() { + for (var t = 0; t < this._trailRenderElements.length; t++) + this._trailRenderElements[t].reActivate(); + this._isStart = !1, + this._hasLifeSubTrail = !1, + this._curSubTrailFinished = !1, + this._curSubTrailFinishCurTime = 0, + this._trailTotalLength = 0, + this._trailSupplementLength = 0, + this._trailDeadLength = 0 + } + , + i._destroy = function() { + t.prototype._destroy.call(this); + for (var e = 0; e < this._trailRenderElements.length; e++) + this._trailRenderElements[e]._destroy(); + this._trailRenderElements = null, + this._widthCurve = null, + this._colorGradient = null, + this._curSubTrailFinishPosition = null, + this._curSubTrailFinishDirection = null + } + , + r(0, i, "widthMultiplier", function() { + return this._widthMultiplier + }, function(t) { + this._widthMultiplier = t + }), + r(0, i, "time", function() { + return this._time + }, function(t) { + this._time = t, + this._owner._render._setShaderValueNumber(4, t) + }), + r(0, i, "widthCurve", function() { + return this._widthCurve + }, function(t) { + this._widthCurve = t; + var e = new Float32Array(4 * t.length) + , i = 0 + , n = 0 + , a = 0; + for (i = 0, + n = t.length; i < n; i++) + e[a++] = t[i].time, + e[a++] = t[i].inTangent, + e[a++] = t[i].outTangent, + e[a++] = t[i].value; + this._owner._render._setShaderValueBuffer(5, e), + this._owner._render._setShaderValueInt(6, t.length) + }), + r(0, i, "minVertexDistance", function() { + return this._minVertexDistance + }, function(t) { + this._minVertexDistance = t + }), + r(0, i, "colorGradient", function() { + return this._colorGradient + }, function(t) { + this._colorGradient = t, + this._owner._render._setShaderValueBuffer(7, t._colorKeyData), + this._owner._render._setShaderValueBuffer(8, t._alphaKeyData), + 0 == t.mode ? this._owner._render._addShaderDefine(bn.SHADERDEFINE_GRADIENTMODE_BLEND) : this._owner._render._removeShaderDefine(bn.SHADERDEFINE_GRADIENTMODE_BLEND) + }), + r(0, i, "textureMode", function() { + return this._textureMode + }, function(t) { + this._textureMode = t + }), + e + }(ti) + , Ni = function(t) { + function e(t) { + e.__super.call(this, t) + } + a(e, "laya.d3.core.trail.TrailRenderer", ei); + var i = e.prototype; + return i._calculateBoundingBox = function() { + var t = this._boundingBox.min.elements; + t[0] = -Number.MAX_VALUE, + t[1] = -Number.MAX_VALUE, + t[2] = -Number.MAX_VALUE; + var e = this._boundingBox.min.elements; + e[0] = Number.MAX_VALUE, + e[1] = Number.MAX_VALUE, + e[2] = Number.MAX_VALUE + } + , + i._calculateBoundingSphere = function() { + var t = this._boundingSphere.center.elements; + t[0] = 0, + t[1] = 0, + t[2] = 0, + this._boundingSphere.radius = Number.MAX_VALUE + } + , + i._renderUpdate = function(t) { + return !0 + } + , + e + }() + , Ai = function(t) { + function e(t) { + this._floatCountPerVertex = 6, + this._owner = null, + this._vertices = null, + this._vertexBuffer = null, + this._firstActiveElement = 0, + this._firstNewElement = 0, + this._firstFreeElement = 0, + this._firstRetiredElement = 0, + this._currentTime = NaN, + this._drawCounter = 0, + this.scLeft = null, + this.scRight = null, + this._numPositionMode = 0, + this._numPositionVelocityMode = 0, + this._lastTime = NaN, + this._needPatch = !1, + this._lastPatchAddPos0 = null, + this._lastPatchAddPos1 = null, + this._lastPatchAddTime = NaN, + this.lifeTime = NaN, + this.minSegmentDistance = NaN, + this.minInterpDistance = NaN, + this.maxSlerpCount = 0, + this._maxSegments = 0, + e.__super.call(this), + this._tempVector0 = new Be, + this._tempVector1 = new Be, + this._tempVector2 = new Be, + this._tempVector3 = new Be, + this._posModeLastPosition0 = new Be, + this._posModeLastPosition1 = new Be, + this._posModePosition0 = new Be, + this._posModePosition1 = new Be, + this._posVelModePosition0 = new Be, + this._posVelModeVelocity0 = new Be, + this._posVelModePosition1 = new Be, + this._posVelModeVelocity1 = new Be, + this._owner = t, + this._lastTime = 0, + this._firstActiveElement = 0, + this._firstNewElement = 0, + this._firstFreeElement = 0, + this._firstRetiredElement = 0, + this._currentTime = 0, + this._drawCounter = 0, + this._needPatch = !1, + this._lastPatchAddPos0 = new Be, + this._lastPatchAddPos1 = new Be, + this.scLeft = new H, + this.scRight = new H, + this.lifeTime = .5, + this.minSegmentDistance = .1, + this.minInterpDistance = .6, + this.maxSlerpCount = 128, + this._maxSegments = 200, + this._owner.on("activeinhierarchychanged", this, this._onActiveHierarchyChanged) + } + a(e, "laya.d3.resource.tempelet.GlitterTemplet", t); + var n = e.prototype; + return i.imps(n, { + "laya.d3.core.render.IRenderable": !0 + }), + n._getVertexBuffer = function(t) { + return void 0 === t && (t = 0), + 0 === t ? this._vertexBuffer : null + } + , + n._getIndexBuffer = function() { + return null + } + , + n._initialize = function() { + this._vertexBuffer = Yi.create(Tt.vertexDeclaration, 2 * this.maxSegments, 35048), + this._vertices = new Float32Array(this.maxSegments * this._floatCountPerVertex * 2) + } + , + n._onActiveHierarchyChanged = function(t) { + t || (this._numPositionMode = 0, + this._numPositionVelocityMode = 0, + this._firstActiveElement = 0, + this._firstNewElement = 0, + this._firstFreeElement = 0, + this._firstRetiredElement = 0, + this._currentTime = 0, + this._drawCounter = 0) + } + , + n._updateTextureCoordinates = function() { + this._firstActiveElement < this._firstFreeElement ? this._updateSubTextureCoordinates(this._firstActiveElement, 2 * (this._firstFreeElement - this._firstActiveElement)) : (this._updateSubTextureCoordinates(this._firstActiveElement, 2 * (this.maxSegments - this._firstActiveElement)), + this._firstFreeElement > 0 && this._updateSubTextureCoordinates(0, 2 * this._firstFreeElement)) + } + , + n._updateSubTextureCoordinates = function(t, e) { + for (var i = 2 * t, n = 0; n < e; n += 2) { + var a = i + n + , r = a * this._floatCountPerVertex + , s = (a + 1) * this._floatCountPerVertex; + this._vertices[r + 3] = this._vertices[s + 3] = (this._vertices[r + 5] - this._currentTime) / this.lifeTime + } + } + , + n._retireActiveGlitter = function() { + for (var t = this.lifeTime, e = 2 * this._floatCountPerVertex; this._firstActiveElement != this._firstNewElement; ) { + var i = this._firstActiveElement * e + 5; + if (this._currentTime - this._vertices[i] < t) + break; + this._vertices[i] = this._drawCounter, + this._firstActiveElement++, + this._firstActiveElement >= this.maxSegments && (this._firstActiveElement = 0) + } + } + , + n._freeRetiredGlitter = function() { + for (var t = 2 * this._floatCountPerVertex; this._firstRetiredElement != this._firstActiveElement; ) { + if (this._drawCounter - this._vertices[this._firstRetiredElement * t + 5] < 3) + break; + this._firstRetiredElement++, + this._firstRetiredElement >= this.maxSegments && (this._firstRetiredElement = 0) + } + } + , + n._calcVelocity = function(t, e, i) { + Be.subtract(t, e, i), + Be.scale(i, .5, i) + } + , + n._addNewGlitterSegementToVertexBuffer = function() { + var t = 0; + this._firstActiveElement < this._firstFreeElement ? (t = 2 * this._firstActiveElement * this._floatCountPerVertex, + this._vertexBuffer.setData(this._vertices, t, t, 2 * (this._firstFreeElement - this._firstActiveElement) * this._floatCountPerVertex)) : (t = 2 * this._firstActiveElement * this._floatCountPerVertex, + this._vertexBuffer.setData(this._vertices, t, t, 2 * (this.maxSegments - this._firstActiveElement) * this._floatCountPerVertex), + this._firstFreeElement > 0 && this._vertexBuffer.setData(this._vertices, 0, 0, 2 * this._firstFreeElement * this._floatCountPerVertex)), + this._firstNewElement = this._firstFreeElement + } + , + n._addGlitter = function(t, e, i) { + this._needPatch && (this._needPatch = !1, + this._addGlitter(this._lastPatchAddPos0, this._lastPatchAddPos1, this._lastPatchAddTime)); + var n = this._firstFreeElement + 1; + n >= this.maxSegments && (n = 0, + t.cloneTo(this._lastPatchAddPos0), + e.cloneTo(this._lastPatchAddPos1), + this._lastPatchAddTime = i, + this._needPatch = !0), + n === this._firstRetiredElement && console.log("GlitterTemplet:current segement count have large than maxSegments,please adjust the value of maxSegments or add Glitter Vertex Frequency."); + var a = t.elements + , r = e.elements + , s = 0 + , o = this._firstFreeElement * this._floatCountPerVertex * 2; + for (s = 0; s < 3; s++) + this._vertices[o + s] = a[s]; + this._vertices[o + 3] = 0, + this._vertices[o + 4] = 0, + this._vertices[o + 5] = i; + var l = o + this._floatCountPerVertex; + for (s = 0; s < 3; s++) + this._vertices[l + s] = r[s]; + this._vertices[l + 3] = 0, + this._vertices[l + 4] = 1, + this._vertices[l + 5] = i, + this._firstFreeElement = n + } + , + n._update = function(t) { + this._currentTime += t / 1e3, + this._retireActiveGlitter(), + this._freeRetiredGlitter(), + this._firstActiveElement == this._firstFreeElement && (this._currentTime = 0), + this._firstRetiredElement == this._firstActiveElement && (this._drawCounter = 0), + this._updateTextureCoordinates() + } + , + n._beforeRender = function(t) { + return this._firstNewElement != this._firstFreeElement && this._addNewGlitterSegementToVertexBuffer(), + this._drawCounter++, + this._firstActiveElement != this._firstFreeElement && (this._vertexBuffer.bindWithIndexBuffer(null), + !0) + } + , + n._render = function(t) { + var e = 0 + , i = B.mainContext; + this._firstActiveElement < this._firstFreeElement ? (e = 2 * (this._firstFreeElement - this._firstActiveElement), + i.drawArrays(5, 2 * this._firstActiveElement, e), + E.trianglesFaces += e - 2, + E.drawCall++) : (e = 2 * (this.maxSegments - this._firstActiveElement), + i.drawArrays(5, 2 * this._firstActiveElement, e), + E.trianglesFaces += e - 2, + E.drawCall++, + this._firstFreeElement > 0 && (e = 2 * this._firstFreeElement, + i.drawArrays(5, 0, e), + E.trianglesFaces += e - 2, + E.drawCall++)) + } + , + n.addVertexPosition = function(t, e) { + if (this._owner.activeInHierarchy) + if (this._numPositionMode < 2) + 0 === this._numPositionMode ? (t.cloneTo(this._posModeLastPosition0), + e.cloneTo(this._posModeLastPosition1)) : (t.cloneTo(this._posModePosition0), + e.cloneTo(this._posModePosition1)), + this._numPositionMode++; + else { + var i = this._tempVector2; + this._calcVelocity(t, this._posModeLastPosition0, i); + var n = this._tempVector3; + this._calcVelocity(e, this._posModeLastPosition1, n), + this.addVertexPositionVelocity(this._posModePosition0, i, this._posModePosition1, n), + this._posModePosition0.cloneTo(this._posModeLastPosition0), + this._posModePosition1.cloneTo(this._posModeLastPosition1), + t.cloneTo(this._posModePosition0), + e.cloneTo(this._posModePosition1) + } + } + , + n.addVertexPositionVelocity = function(t, e, i, n) { + if (this._owner.activeInHierarchy) { + if (0 === this._numPositionVelocityMode) + this._numPositionVelocityMode++; + else { + var a = this._tempVector0; + Be.subtract(t, this._posVelModePosition0, a); + var r = Be.scalarLength(a); + Be.subtract(i, this._posVelModePosition1, a); + var s = Be.scalarLength(a) + , o = 0 + , l = l; + if (r < l && s < l) + return; + if (1 === (o = 1 + Math.floor(Math.max(r, s) / this.minInterpDistance))) + this._addGlitter(t, i, this._currentTime); + else { + o = Math.min(o, this.maxSlerpCount), + this.scLeft.Init(this._posVelModePosition0, this._posVelModeVelocity0, t, e), + this.scRight.Init(this._posVelModePosition1, this._posVelModeVelocity1, i, n); + for (var h = 1 / o, c = h, _ = this._currentTime - this._lastTime, u = 1; u <= o; u++) { + var d = this._tempVector0; + this.scLeft.Slerp(c, d); + var f = this._tempVector1; + this.scRight.Slerp(c, f); + var p = this._lastTime + _ * u / o; + this._addGlitter(d, f, p), + c += h + } + } + } + this._lastTime = this._currentTime, + t.cloneTo(this._posVelModePosition0), + e.cloneTo(this._posVelModeVelocity0), + i.cloneTo(this._posVelModePosition1), + n.cloneTo(this._posVelModeVelocity1) + } + } + , + n._destroy = function() { + t.prototype._destroy.call(this), + this._tempVector0 = null, + this._tempVector1 = null, + this._tempVector2 = null, + this._tempVector3 = null, + this._owner = null, + this._vertices = null, + this._vertexBuffer.destroy(), + this._vertexBuffer = null, + this.scLeft = null, + this.scRight = null, + this._posModeLastPosition0 = null, + this._posModeLastPosition1 = null, + this._posModePosition0 = null, + this._posModePosition1 = null, + this._posVelModePosition0 = null, + this._posVelModeVelocity0 = null, + this._posVelModePosition1 = null, + this._posVelModeVelocity1 = null, + this._lastPatchAddPos0 = null, + this._lastPatchAddPos1 = null + } + , + n._getVertexBuffers = function() { + return null + } + , + r(0, n, "maxSegments", function() { + return this._maxSegments - 1 + }, function(t) { + var e = t + 1; + e !== this._maxSegments && (this._maxSegments = e, + this._vertexBuffer && this._vertexBuffer.destroy(), + this._initialize()) + }), + r(0, n, "_vertexBufferCount", function() { + return 1 + }), + r(0, n, "triangleCount", function() { + var t = 0; + return this._firstActiveElement < this._firstFreeElement ? t = 2 * (this._firstFreeElement - this._firstActiveElement) - 2 : (t = 2 * (this.maxSegments - this._firstActiveElement) - 2, + t += 2 * this._firstFreeElement - 2), + t + }), + r(0, n, "_originalBoundingSphere", function() { + return i.superGet(ti, this, "_originalBoundingSphere") + }), + r(0, n, "_originalBoundingBox", function() { + return i.superGet(ti, this, "_originalBoundingBox") + }), + e + }(ti) + , Bi = function(t) { + function e(t, i, n, a, r, o, l, h) { + this._owner = null, + this._gridSize = NaN, + this.memorySize = 0, + this._numberVertices = 0, + this._maxNumberIndices = 0, + this._currentNumberIndices = 0, + this._numberTriangle = 0, + this._vertexBuffer = null, + this._indexBuffer = null, + this._boundingSphere = null, + this._boundingBox = null, + this._indexArrayBuffer = null, + this._boundingBoxCorners = null, + this._leafs = null, + this._leafNum = 0, + this._terrainHeightData = null, + this._terrainHeightDataWidth = 0, + this._terrainHeightDataHeight = 0, + this._chunkOffsetX = 0, + this._chunkOffsetZ = 0, + this._cameraCoordinateInverse = !1, + this._cameraPos = null, + this._currentLOD = 0, + this._perspectiveFactor = NaN, + this._LODTolerance = 0, + e.__super.call(this), + this._owner = t, + this._cameraPos = new Be, + this._chunkOffsetX = i, + this._chunkOffsetZ = n, + this._gridSize = a, + this._terrainHeightData = r, + this._terrainHeightDataWidth = o, + this._terrainHeightDataHeight = l, + this._leafNum = Ge.CHUNK_GRID_NUM / Ge.LEAF_GRID_NUM * (Ge.CHUNK_GRID_NUM / Ge.LEAF_GRID_NUM), + this._leafs = s(this._leafNum), + this._cameraCoordinateInverse = h; + for (var c = 0; c < this._leafNum; c++) + this._leafs[c] = new Ge; + this.recreateResource() + } + a(e, "laya.d3.terrain.TerrainFilter", t); + var o = e.prototype; + return i.imps(o, { + "laya.d3.core.render.IRenderable": !0 + }), + o._destroy = function() { + t.prototype._destroy.call(this), + this._owner = null, + this._vertexBuffer && this._vertexBuffer.destroy(), + this._indexBuffer && this._indexBuffer.destroy() + } + , + o.recreateResource = function() { + this._currentNumberIndices = 0, + this._numberTriangle = 0; + var t = Ge.LEAF_VERTEXT_COUNT + , e = Ge.LEAF_MAX_INDEX_COUNT; + this._numberVertices = t * this._leafNum, + this._maxNumberIndices = e * this._leafNum, + this._indexArrayBuffer = new Uint16Array(this._maxNumberIndices); + var i = ue.vertexDeclaration + , n = i.vertexStride / 4 + , a = new Float32Array(this._numberVertices * n) + , r = Ge.CHUNK_GRID_NUM / Ge.LEAF_GRID_NUM + , s = 0 + , o = 0 + , l = 0; + for (s = 0; s < this._leafNum; s++) + o = s % r, + l = Math.floor(s / r), + this._leafs[s].calcVertextBuffer(this._chunkOffsetX, this._chunkOffsetZ, o * Ge.LEAF_GRID_NUM, l * Ge.LEAF_GRID_NUM, this._gridSize, a, s * Ge.LEAF_PLANE_VERTEXT_COUNT, n, this._terrainHeightData, this._terrainHeightDataWidth, this._terrainHeightDataHeight, this._cameraCoordinateInverse); + for (s = 0; s < this._leafNum; s++) + o = s % r, + l = Math.floor(s / r), + this._leafs[s].calcSkirtVertextBuffer(this._chunkOffsetX, this._chunkOffsetZ, o * Ge.LEAF_GRID_NUM, l * Ge.LEAF_GRID_NUM, this._gridSize, a, this._leafNum * Ge.LEAF_PLANE_VERTEXT_COUNT + s * Ge.LEAF_SKIRT_VERTEXT_COUNT, n, this._terrainHeightData, this._terrainHeightDataWidth, this._terrainHeightDataHeight); + this.assembleIndexInit(), + this._vertexBuffer = new Yi(i,this._numberVertices,35044,!1), + this._indexBuffer = new qi("ushort",this._maxNumberIndices,35044,!1), + this._vertexBuffer.setData(a), + this._indexBuffer.setData(this._indexArrayBuffer), + this.memorySize = 2 * (this._vertexBuffer._byteLength + this._indexBuffer._byteLength), + this.calcOriginalBoudingBoxAndSphere() + } + , + o.setLODLevel = function(t) { + if (4 != t.length) + return !0; + var e = (t[0] + 1 << 24) + (t[1] + 1 << 16) + (t[2] + 1 << 8) + (t[3] + 1); + return this._currentLOD != e && (this._currentLOD = e, + !0) + } + , + o.assembleIndexInit = function() { + this._currentNumberIndices = 0, + this._numberTriangle = 0; + for (var t = 0, e = 0; e < this._leafNum; e++) { + var i = Ge.getPlaneLODIndex(e, 0); + this._indexArrayBuffer.set(i, t), + t += i.length; + var n = Ge.getSkirtLODIndex(e, 0); + this._indexArrayBuffer.set(n, t), + t += n.length, + this._currentNumberIndices += i.length + n.length + } + this._numberTriangle = this._currentNumberIndices / 3 + } + , + o.isNeedAssemble = function(t, e) { + var i = Math.min(t.viewport.width, t.viewport.height) / (2 * Math.tan(Math.PI * t.fieldOfView / 180)); + return this._perspectiveFactor != i ? (this._perspectiveFactor = i, + 1) : this._LODTolerance != fn.LOD_TOLERANCE_VALUE ? (this._LODTolerance = fn.LOD_TOLERANCE_VALUE, + 1) : 0 == Be.equals(e, this._cameraPos) ? (this._cameraPos.x = e.x, + this._cameraPos.y = e.y, + this._cameraPos.z = e.z, + 2) : 0 + } + , + o.assembleIndex = function(t, i) { + var n = this.isNeedAssemble(t, i); + if (n > 0) { + for (var a = 0; a < this._leafNum; a++) + e._TEMP_ARRAY_BUFFER[a] = this._leafs[a].determineLod(i, this._perspectiveFactor, fn.LOD_TOLERANCE_VALUE, 1 == n); + if (this.setLODLevel(e._TEMP_ARRAY_BUFFER)) { + this._currentNumberIndices = 0, + this._numberTriangle = 0; + var r = 0; + for (a = 0; a < this._leafNum; a++) { + var s = e._TEMP_ARRAY_BUFFER[a] + , o = Ge.getPlaneLODIndex(a, s); + this._indexArrayBuffer.set(o, r), + r += o.length; + var l = Ge.getSkirtLODIndex(a, s); + this._indexArrayBuffer.set(l, r), + r += l.length, + this._currentNumberIndices += o.length + l.length + } + return this._numberTriangle = this._currentNumberIndices / 3, + !0 + } + } + return !1 + } + , + o.calcOriginalBoudingBoxAndSphere = function() { + for (var t = new Ae(2147483647,-2147483647), e = 0; e < this._leafNum; e++) + t.x = this._leafs[e]._sizeOfY.x < t.x ? this._leafs[e]._sizeOfY.x : t.x, + t.y = this._leafs[e]._sizeOfY.y > t.y ? this._leafs[e]._sizeOfY.y : t.y; + var i = new Be(this._chunkOffsetX * Ge.CHUNK_GRID_NUM * this._gridSize,t.x,this._chunkOffsetZ * Ge.CHUNK_GRID_NUM * this._gridSize) + , n = new Be((this._chunkOffsetX + 1) * Ge.CHUNK_GRID_NUM * this._gridSize,t.y,(this._chunkOffsetZ + 1) * Ge.CHUNK_GRID_NUM * this._gridSize); + Ge.__ADAPT_MATRIX__ && (Be.transformV3ToV3(i, Ge.__ADAPT_MATRIX__, i), + Be.transformV3ToV3(n, Ge.__ADAPT_MATRIX__, n)), + this._boundingBox = new be(i,n); + var a = new Be; + Be.subtract(n, i, a), + Be.scale(a, .5, a); + var r = new Be; + Be.add(i, a, r), + this._boundingSphere = new xe(r,Be.scalarLength(a)), + this._boundingBoxCorners = s(8, null), + this._boundingBox.getCorners(this._boundingBoxCorners) + } + , + o.calcLeafBoudingBox = function(t) { + for (var e = 0; e < this._leafNum; e++) + this._leafs[e].calcLeafBoudingBox(t) + } + , + o.calcLeafBoudingSphere = function(t, e) { + for (var i = 0; i < this._leafNum; i++) + this._leafs[i].calcLeafBoudingSphere(t, e) + } + , + o._getVertexBuffer = function(t) { + return void 0 === t && (t = 0), + 0 == t ? this._vertexBuffer : null + } + , + o._getIndexBuffer = function() { + return this._indexBuffer + } + , + o._beforeRender = function(t) { + this._vertexBuffer._bind(), + this._indexBuffer._bind(); + if (0 == t.renderElement._material.blend) { + var e = t.camera; + this.assembleIndex(e, e.position) && this._indexBuffer.setData(this._indexArrayBuffer) + } + return !0 + } + , + o._getVertexBuffers = function() { + return null + } + , + o._render = function(t) { + B.mainContext.drawElements(fn.RENDER_LINE_MODEL ? 1 : 4, this._currentNumberIndices, 5123, 0), + E.trianglesFaces += this._numberTriangle, + E.drawCall++ + } + , + r(0, o, "_originalBoundingSphere", function() { + return this._boundingSphere + }), + r(0, o, "_originalBoundingBox", function() { + return this._boundingBox + }), + r(0, o, "_vertexBufferCount", function() { + return this._numberVertices + }), + r(0, o, "triangleCount", function() { + return this._numberTriangle + }), + n(e, ["_TEMP_ARRAY_BUFFER", function() { + return this._TEMP_ARRAY_BUFFER = new Uint32Array(Ge.CHUNK_GRID_NUM / Ge.LEAF_GRID_NUM * Ge.CHUNK_GRID_NUM / Ge.LEAF_GRID_NUM) + } + ]), + e + }(ti) + , ki = function(t) { + function e(t) { + this._terrainSprite3DOwner = null, + e.__super.call(this, t), + this._terrainSprite3DOwner = t + } + a(e, "laya.d3.terrain.TerrainRender", t); + var i = e.prototype; + return i._calculateBoundingSphere = function() { + var t = this._terrainSprite3DOwner.terrainFilter; + if (null == t) + this._boundingSphere.toDefault(); + else { + var e = t._originalBoundingSphere + , i = NaN + , n = this._terrainSprite3DOwner.transform + , a = n.scale; + i = a.x >= a.y && a.x >= a.z ? a.x : a.y >= a.z ? a.y : a.z, + Be.transformCoordinate(e.center, n.worldMatrix, this._boundingSphere.center), + this._boundingSphere.radius = e.radius * i, + t.calcLeafBoudingSphere(n.worldMatrix, i) + } + } + , + i._calculateBoundingBox = function() { + var t = this._terrainSprite3DOwner.terrainFilter; + if (null == t) + this._boundingBox.toDefault(); + else { + for (var e = this._terrainSprite3DOwner.transform.worldMatrix, i = t._boundingBoxCorners, n = 0; n < 8; n++) + Be.transformCoordinate(i[n], e, ei._tempBoundBoxCorners[n]); + be.createfromPoints(ei._tempBoundBoxCorners, this._boundingBox), + t.calcLeafBoudingBox(e) + } + } + , + i._renderUpdate = function(t) { + this._setShaderValueMatrix4x4(0, this._owner.transform.worldMatrix); + var e = this._owner.getProjectionViewWorldMatrix(t); + return this._setShaderValueMatrix4x4(1, e), + !0 + } + , + i._destroy = function() { + t.prototype._destroy.call(this), + this._terrainSprite3DOwner = null + } + , + e + }(ei) + , Ri = function(t) { + function e() { + this._time = 0, + this._enableLightCount = 3, + this._customRenderQueneIndex = 11, + this.enableLight = !0, + e.__super.call(this), + this._renderState = new ut, + this._lights = [], + this._quenes = [], + this._cameraPool = [], + this._renderableSprite3Ds = [], + this.__loaded = !0, + this._lightmaps = [], + this._shaderValues = new Fe, + this.parallelSplitShadowMaps = [], + this._dynamicBatchManager = new xt, + this._cullingRenders = [], + this._cullingRendersLength = 0, + this.enableFog = !1, + this.fogStart = 300, + this.fogRange = 1e3, + this.fogColor = new Be(.7,.7,.7), + this.ambientColor = new Be(.212,.227,.259), + B.shaderHighPrecision && this.addShaderDefine(ci.SHADERDEFINE_HIGHPRECISION), + this.on("display", this, this._display), + this.on("undisplay", this, this._unDisplay), + this._componentsMap = [], + this._typeComponentsIndices = [], + this._components = [] + } + a(e, "laya.d3.core.scene.Scene", t); + var n = e.prototype; + return i.imps(n, { + "laya.webgl.submit.ISubmit": !0, + "laya.resource.ICreateResource": !0 + }), + n._setUrl = function(t) { + this._url = t + } + , + n._getGroup = function() { + return this._group + } + , + n._setGroup = function(t) { + this._group = t + } + , + n._display = function() { + i.stage._scenes.push(this), + i.stage._scenes.sort(e._sortScenes); + for (var t = 0, n = this._childs.length; t < n; t++) { + var a = this._childs[t]; + a.active && a._activeHierarchy() + } + } + , + n._unDisplay = function() { + var t = i.stage._scenes; + t.splice(t.indexOf(this), 1); + for (var e = 0, n = this._childs.length; e < n; e++) { + var a = this._childs[e]; + a.active && a._inActiveHierarchy() + } + } + , + n._addChild3D = function(t) { + t.transform._onWorldTransform(), + t._setBelongScene(this), + this.displayedInStage && t.active && t._activeHierarchy() + } + , + n._removeChild3D = function(t) { + t.transform.parent = null, + this.displayedInStage && t.active && t._inActiveHierarchy(), + t._setUnBelongScene() + } + , + n.initOctree = function(t, e, i, n, a) { + void 0 === a && (a = 6), + this.treeSize = new Be(t,e,i), + this.treeLevel = a, + this.treeRoot = new dt(this,0), + this.treeRoot.init(n, this.treeSize) + } + , + n._prepareUpdateToRenderState = function(t, e) { + e.elapsedTime = this._lastCurrentTime ? this.timer.currTimer - this._lastCurrentTime : 0, + this._lastCurrentTime = this.timer.currTimer, + e.scene = this + } + , + n._prepareSceneToRender = function(t) { + var e = this._lights.length; + if (e > 0) + for (var i = 0, n = 0; n < e && !(this._lights[n]._prepareToScene(t) && ++i >= this._enableLightCount); n++) + ; + } + , + n._updateChilds = function(t) { + for (var e = 0, i = this._childs.length; e < i; ++e) + this._childs[e]._update(t) + } + , + n._preRenderScene = function(t, e, i) { + var n = e._viewMatrix + , a = e._projectionMatrix + , r = e._projectionViewMatrix + , s = 0 + , o = 0 + , l = e.camera; + for (l.useOcclusionCulling ? this.treeRoot ? It.renderObjectCullingOctree(i, this, l, n, a, r) : It.renderObjectCulling(i, this, l, n, a, r) : It.renderObjectCullingNoBoundFrustum(this, l, n, a, r), + s = 0, + o = this._quenes.length; s < o; s++) + this._quenes[s] && this._quenes[s]._preRender(e) + } + , + n._clear = function(t, e) { + var i = e._viewport + , n = e.camera + , a = i.x + , r = n.renderTargetSize.height - i.y - i.height + , s = i.width + , o = i.height; + t.viewport(a, r, s, o); + var l = 256 + , h = n.renderTarget; + switch (n.clearFlag) { + case 0: + var c = n.clearColor; + if (c) { + t.enable(3089), + t.scissor(a, r, s, o); + var _ = c.elements; + t.clearColor(_[0], _[1], _[2], _[3]), + l |= 16384 + } + if (h) + switch (c || (l = 16384), + h.depthStencilFormat) { + case 33189: + l |= 256; + break; + case 36168: + l |= 1024; + break; + case 34041: + l |= 256, + l |= 1024 + } + t.clear(l), + c && t.disable(3089); + break; + case 1: + case 2: + if (h) + switch (l = 16384, + h.depthStencilFormat) { + case 33189: + l |= 256; + break; + case 36168: + l |= 1024; + break; + case 34041: + l |= 256, + l |= 1024 + } + t.clear(l); + break; + case 3: + break; + default: + throw new Error("BaseScene:camera clearFlag invalid.") + } + } + , + n._renderScene = function(t, e) { + var i, n = e.camera, a = 0, r = 0; + for (a = 0; a < 2; a++) + (i = this._quenes[a]) && (n.renderTarget ? i._render(e, !0) : i._render(e, !1)); + if (1 === n.clearFlag) { + var s = n.sky; + s && (k.setCullFace(t, !1), + k.setDepthFunc(t, 515), + k.setDepthMask(t, !1), + s._render(e), + k.setDepthFunc(t, 513), + k.setDepthMask(t, !0)) + } + for (a = 2, + r = this._quenes.length; a < r; a++) + (i = this._quenes[a]) && (i._sortAlpha(e.camera.transform.position), + n.renderTarget ? i._render(e, !0) : i._render(e, !1)) + } + , + n._set3DRenderConfig = function(t) { + t.disable(3042), + k._blend = !1, + t.blendFunc(770, 771), + k._sFactor = 770, + k._dFactor = 771, + t.disable(2929), + k._depthTest = !1, + t.enable(2884), + k._cullFace = !0, + t.depthMask(1), + k._depthMask = !0, + t.frontFace(2304), + k._frontFace = 2304 + } + , + n._set2DRenderConfig = function(t) { + k.setBlend(t, !0), + k.setBlendFunc(t, 1, 771), + k.setDepthTest(t, !1), + k.setCullFace(t, !1), + k.setDepthMask(t, !0), + k.setFrontFace(t, 2305), + t.viewport(0, 0, C.width, C.height) + } + , + n._parseCustomProps = function(t, e, i, n) { + var a = n.customProps.lightmaps + , r = a.length + , s = this._lightmaps; + s.length = r; + for (var o = 0; o < r; o++) + s[o] = v.getRes(e[a[o].replace(".exr", ".png")]); + this.setlightmaps(s); + var l = n.customProps.ambientColor; + l && (this.ambientColor = new Be(l[0],l[1],l[2])); + var h = n.customProps.fogColor; + h && (this.fogColor = new Be(h[0],h[1],h[2])) + } + , + n._addLight = function(t) { + this._lights.indexOf(t) < 0 && this._lights.push(t) + } + , + n._removeLight = function(t) { + var e = this._lights.indexOf(t); + e >= 0 && this._lights.splice(e, 1) + } + , + n._updateScene = function() { + var t = this._renderState; + this._prepareUpdateToRenderState(B.mainContext, t), + this._updateComponents(t), + this._updateChilds(t), + this._lateUpdateComponents(t), + this._time += t.elapsedTime / 1e3, + this._shaderValues.setValue(22, this._time) + } + , + n._updateSceneConch = function() { + var t = this._renderState; + this._prepareUpdateToRenderState(B.mainContext, t), + this._updateComponents(t), + this._lateUpdateComponents(t), + this._prepareSceneToRender(t); + for (var e = 0, i = this._cameraPool.length; e < i; e++) { + var n = this._cameraPool[e]; + t.camera = n, + n._prepareCameraToRender() + } + } + , + n._preRenderShadow = function(t, e, i, n, a) { + this.treeRoot ? It.renderShadowObjectCullingOctree(this, e, i, n, a) : It.renderShadowObjectCulling(this, e, i, n, a); + for (var r = 0, s = i.length; r < s; r++) + i[r] && i[r]._preRender(t) + } + , + n._renderShadowMap = function(t, e, i) { + var n = this.parallelSplitShadowMaps[0]; + n._calcAllLightCameraInfo(i); + var a = n.PSSMNum; + this._preRenderShadow(e, n._lightCulling, n._shadowQuenes, n._lightVPMatrix[0], a), + this.addShaderDefine(He.SHADERDEFINE_CAST_SHADOW); + var r, s, o; + if (a > 1) + for (var l = 0; l < a; l++) + r = n.getRenderTarget(l + 1), + n.beginRenderTarget(l + 1), + t.clearColor(1, 1, 1, 1), + t.clear(16640), + t.viewport(0, 0, r.width, r.height), + e.camera = o = n.getLightCamera(l), + o._prepareCameraToRender(), + o._prepareCameraViewProject(o.viewMatrix, o.projectionMatrix), + e._projectionViewMatrix = n._lightVPMatrix[l + 1], + (s = n._shadowQuenes[l])._preRender(e), + s._renderShadow(e, !1), + n.endRenderTarget(l + 1); + else + r = n.getRenderTarget(1), + n.beginRenderTarget(1), + t.clearColor(1, 1, 1, 1), + t.clear(16640), + t.viewport(0, 0, r.width, r.height), + e.camera = o = n.getLightCamera(0), + o._prepareCameraToRender(), + o._prepareCameraViewProject(o.viewMatrix, o.projectionMatrix), + e._projectionViewMatrix = n._lightVPMatrix[0], + (s = n._shadowQuenes[0])._preRender(e), + s._renderShadow(e, !0), + n.endRenderTarget(1); + this.removeShaderDefine(He.SHADERDEFINE_CAST_SHADOW) + } + , + n.addTreeNode = function(t) { + this.treeRoot.addTreeNode(t) + } + , + n.removeTreeNode = function(t) { + this.treeSize && t._treeNode && t._treeNode.removeObject(t) + } + , + n.setlightmaps = function(t) { + this._lightmaps = t; + for (var e = 0, i = this._renderableSprite3Ds.length; e < i; e++) + this._renderableSprite3Ds[e]._render._applyLightMapParams() + } + , + n.getlightmaps = function() { + return this._lightmaps + } + , + n.addChildAt = function(t, e) { + if (!(t instanceof laya.d3.core.Sprite3D)) + throw new Error("Sprite3D:Node type must Sprite3D."); + if (!t || this.destroyed || t === this) + return t; + if (t.zOrder && this._set$P("hasZorder", !0), + e >= 0 && e <= this._childs.length) { + if (t._parent === this) { + var i = this.getChildIndex(t); + this._childs.splice(i, 1), + this._childs.splice(e, 0, t), + this.conchModel && (this.conchModel.removeChild(t.conchModel), + this.conchModel.addChildAt(t.conchModel, e)), + this._childChanged() + } else + t.parent && t.parent.removeChild(t), + this._childs === x.ARRAY_EMPTY && (this._childs = []), + this._childs.splice(e, 0, t), + this.conchModel && this.conchModel.addChildAt(t.conchModel, e), + t.parent = this, + this._addChild3D(t); + return t + } + throw new Error("appendChildAt:The index is out of bounds") + } + , + n.addChild = function(t) { + if (!(t instanceof laya.d3.core.Sprite3D)) + throw new Error("Sprite3D:Node type must Sprite3D."); + if (!t || this.destroyed || t === this) + return t; + if (t.zOrder && this._set$P("hasZorder", !0), + t._parent === this) { + var e = this.getChildIndex(t); + e !== this._childs.length - 1 && (this._childs.splice(e, 1), + this._childs.push(t), + this.conchModel && (this.conchModel.removeChild(t.conchModel), + this.conchModel.addChildAt(t.conchModel, this._childs.length - 1)), + this._childChanged()) + } else + t.parent && t.parent.removeChild(t), + this._childs === x.ARRAY_EMPTY && (this._childs = []), + this._childs.push(t), + this.conchModel && this.conchModel.addChildAt(t.conchModel, this._childs.length - 1), + t.parent = this, + this._childChanged(), + this._addChild3D(t); + return t + } + , + n.removeChildAt = function(t) { + var e = this.getChildAt(t); + return e && (this._removeChild3D(e), + this._childs.splice(t, 1), + this.conchModel && this.conchModel.removeChild(e.conchModel), + e.parent = null), + e + } + , + n.removeChildren = function(t, e) { + if (void 0 === t && (t = 0), + void 0 === e && (e = 2147483647), + this._childs && this._childs.length > 0) { + var i = this._childs; + if (0 === t && e >= r) { + var n = i; + this._childs = x.ARRAY_EMPTY + } else + n = i.splice(t, e - t); + for (var a = 0, r = n.length; a < r; a++) + this._removeChild3D(n[a]), + n[a].parent = null, + this.conchModel && this.conchModel.removeChild(n[a].conchModel) + } + return this + } + , + n.addFrustumCullingObject = function(t) { + this.treeRoot ? this.addTreeNode(t) : (this._cullingRendersLength === this._cullingRenders.length ? this._cullingRenders.push(t) : this._cullingRenders[this._cullingRendersLength] = t, + t._indexInSceneFrustumCullingObjects = this._cullingRendersLength++) + } + , + n.removeFrustumCullingObject = function(t) { + if (this.treeRoot) + this.removeTreeNode(t); + else { + this._cullingRendersLength--; + var e = t._indexInSceneFrustumCullingObjects; + if (e !== this._cullingRendersLength) { + var i = this._cullingRenders[this._cullingRendersLength]; + this._cullingRenders[e] = i, + i._indexInSceneFrustumCullingObjects = e, + t._indexInSceneFrustumCullingObjects = -1 + } + } + } + , + n.getRenderQueue = function(t) { + return t < 3e3 ? this._quenes[1] || (this._quenes[1] = new _t(this)) : this._quenes[2] || (this._quenes[2] = new _t(this)) + } + , + n.addRenderQuene = function() { + this._quenes[this._customRenderQueneIndex++] = new _t(this) + } + , + n.addShaderDefine = function(t) { + this._shaderDefineValue |= t + } + , + n.removeShaderDefine = function(t) { + this._shaderDefineValue &= ~t + } + , + n.addScript = function(t) { + return this._addComponent(t) + } + , + n.getScriptByType = function(t, e) { + return void 0 === e && (e = 0), + this._getComponentByType(t, e) + } + , + n.getScriptsByType = function(t, e) { + this._getComponentsByType(t, e) + } + , + n.getScriptByIndex = function(t) { + return this._getComponentByIndex(t) + } + , + n.removeScriptByType = function(t, e) { + void 0 === e && (e = 0), + this._removeComponentByType(t, e) + } + , + n.removeScriptsByType = function(t) { + this._removeComponentByType(t) + } + , + n.removeAllScript = function() { + this._removeAllComponent() + } + , + n.render = function(t, e, i) { + I._context.ctx._renderKey = 0, + this._childs.length > 0 && t.addRenderObject(this) + } + , + n.renderSubmit = function() { + var t = B.mainContext + , e = this._renderState; + this._set3DRenderConfig(t), + this._prepareSceneToRender(this._renderState); + var i, n = 0, a = 0; + if (Ze.debugMode || dt.debugMode) + for (n = 0, + a = this._cameraPool.length; n < a; n++) + i = this._cameraPool[n], + Ze._debugPhasorSprite.begin(1, i), + i.activeInHierarchy && i._renderCamera(t, e, this), + Ze._debugPhasorSprite.end(); + else + for (n = 0, + a = this._cameraPool.length; n < a; n++) + (i = this._cameraPool[n]).activeInHierarchy && i._renderCamera(t, e, this); + return this._set2DRenderConfig(t), + 1 + } + , + n.onAsynLoaded = function(t, e, i) { + var n = e[0]; + if ("Scene" !== n.type) + throw new Error("Scene: the .lh file root type must be Scene,please use other function to load this file."); + var a = e[1]; + Ke._createNodeByJson(this, n, this, a), + this.event("hierarchyloaded", [this]), + this.__loaded = !0 + } + , + n.destroy = function(e) { + void 0 === e && (e = !0), + this.destroyed || (t.prototype.destroy.call(this, e), + this._renderState = null, + this._lights = null, + this._lightmaps = null, + this._renderTargetTexture = null, + this._shaderValues = null, + this._cullingRenders = null, + this._dynamicBatchManager = null, + this._quenes = null, + this._cameraPool = null, + this._renderableSprite3Ds = null, + this.treeRoot = null, + this.treeSize = null, + this.parallelSplitShadowMaps = null, + this._typeComponentsIndices = null, + this._components = null, + v.clearRes(this.url), + this.loaded || Ze._cancelLoadByUrl(this.url)) + } + , + n.getRenderType = function() { + return 0 + } + , + n.releaseRender = function() {} + , + n._addComponent = function(t) { + var e, i = this._componentsMap.indexOf(t); + if (-1 === i) + e = [], + this._componentsMap.push(t), + this._typeComponentsIndices.push(e); + else if (e = this._typeComponentsIndices[i], + this._components[e[0]].isSingleton) + throw new Error("无法单实例创建" + t + "组件," + t + "组件已存在!"); + var n = p.getInstance(t); + e.push(this._components.length), + this._components.push(n); + return n._initialize(this), + n + } + , + n._removeComponent = function(t, e) { + var i = this._typeComponentsIndices[t] + , n = i[e] + , a = this._components[n]; + this._components.splice(n, 1), + i.splice(e, 1), + 0 === i.length && (this._typeComponentsIndices.splice(t, 1), + this._componentsMap.splice(t, 1)); + for (var r = 0, s = this._componentsMap.length; r < s; r++) + for (var o = (i = this._typeComponentsIndices[r]).length - 1; o >= 0; o--) { + var l = i[o]; + if (!(l > n)) + break; + i[o] = --l + } + a._destroy() + } + , + n._getComponentByType = function(t, e) { + void 0 === e && (e = 0); + var i = this._componentsMap.indexOf(t); + return -1 === i ? null : this._components[this._typeComponentsIndices[i][e]] + } + , + n._getComponentsByType = function(t, e) { + var i = this._componentsMap.indexOf(t); + if (-1 !== i) { + var n = this._typeComponentsIndices[i] + , a = n.length; + e.length = a; + for (var r = 0; r < a; r++) + e[r] = this._components[n[r]] + } else + e.length = 0 + } + , + n._getComponentByIndex = function(t) { + return this._components[t] + } + , + n._removeComponentByType = function(t, e) { + void 0 === e && (e = 0); + var i = this._componentsMap.indexOf(t); + -1 !== i && this._removeComponent(i, e) + } + , + n._removeComponentsByType = function(t) { + var e = this._componentsMap.indexOf(t); + if (-1 !== e) + for (var i = this._typeComponentsIndices[e], n = 0, a = i.length; n < a; i.length < a ? a-- : n++) + this._removeComponent(e, n) + } + , + n._removeAllComponent = function() { + for (var t = 0, e = this._componentsMap.length; t < e; this._componentsMap.length < e ? e-- : t++) + this._removeComponentsByType(this._componentsMap[t]) + } + , + n._updateComponents = function(t) { + for (var e = 0, i = this._components.length; e < i; e++) { + var n = this._components[e]; + !n.started && (n._start(t), + n.started = !0), + n.enable && n._update(t) + } + } + , + n._lateUpdateComponents = function(t) { + for (var e = 0; e < this._components.length; e++) { + var i = this._components[e]; + !i.started && (i._start(t), + i.started = !0), + i.enable && i._lateUpdate(t) + } + } + , + n._preRenderUpdateComponents = function(t) { + for (var e = 0; e < this._components.length; e++) { + var i = this._components[e]; + !i.started && (i._start(t), + i.started = !0), + i.enable && i._preRenderUpdate(t) + } + } + , + n._postRenderUpdateComponents = function(t) { + for (var e = 0; e < this._components.length; e++) { + var i = this._components[e]; + !i.started && (i._start(t), + i.started = !0), + i.enable && i._postRenderUpdate(t) + } + } + , + r(0, n, "_loaded", null, function(t) { + this.__loaded = t + }), + r(0, n, "fogColor", function() { + return this._fogColor + }, function(t) { + this._fogColor = t, + this._shaderValues.setValue(0, t.elements) + }), + r(0, n, "enableFog", function() { + return this._enableFog + }, function(t) { + this._enableFog !== t && (this._enableFog = t, + t ? (this.addShaderDefine(ci.SHADERDEFINE_FOG), + this.removeShaderDefine(ci.SAHDERDEFINE_DEPTHFOG)) : this.removeShaderDefine(ci.SHADERDEFINE_FOG)) + }), + r(0, n, "url", function() { + return this._url + }), + r(0, n, "loaded", function() { + return this.__loaded + }), + r(0, n, "enableDepthFog", function() { + return this._enableDepthFog + }, function(t) { + this._enableDepthFog != t && (this._enableDepthFog = t, + t ? (this.addShaderDefine(ci.SAHDERDEFINE_DEPTHFOG), + this.removeShaderDefine(ci.SHADERDEFINE_FOG)) : this.removeShaderDefine(ci.SAHDERDEFINE_DEPTHFOG)) + }), + r(0, n, "fogStart", function() { + return this._fogStart + }, function(t) { + this._fogStart = t, + this._shaderValues.setValue(1, t) + }), + r(0, n, "fogRange", function() { + return this._fogRange + }, function(t) { + this._fogRange = t, + this._shaderValues.setValue(2, t) + }), + r(0, n, "ambientColor", function() { + return this._ambientColor + }, function(t) { + this._ambientColor = t, + this._shaderValues.setValue(21, t.elements) + }), + r(0, n, "scene", function() { + return this + }), + r(0, n, "renderableSprite3Ds", function() { + return this._renderableSprite3Ds.slice() + }), + e._sortScenes = function(t, n) { + if (t.parent === i.stage && n.parent === i.stage) { + var a = i.stage._childs; + return a.indexOf(t) - a.indexOf(n) + } + return t.parent !== i.stage && n.parent !== i.stage ? e._sortScenes(t.parent, n.parent) : t.parent === i.stage ? -1 : 1 + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e.FOGCOLOR = 0, + e.FOGSTART = 1, + e.FOGRANGE = 2, + e.LIGHTDIRECTION = 3, + e.LIGHTDIRCOLOR = 4, + e.POINTLIGHTPOS = 5, + e.POINTLIGHTRANGE = 6, + e.POINTLIGHTATTENUATION = 7, + e.POINTLIGHTCOLOR = 8, + e.SPOTLIGHTPOS = 9, + e.SPOTLIGHTDIRECTION = 10, + e.SPOTLIGHTSPOT = 11, + e.SPOTLIGHTRANGE = 12, + e.SPOTLIGHTATTENUATION = 13, + e.SPOTLIGHTCOLOR = 14, + e.SHADOWDISTANCE = 15, + e.SHADOWLIGHTVIEWPROJECT = 16, + e.SHADOWMAPPCFOFFSET = 17, + e.SHADOWMAPTEXTURE1 = 18, + e.SHADOWMAPTEXTURE2 = 19, + e.SHADOWMAPTEXTURE3 = 20, + e.AMBIENTCOLOR = 21, + e.TIME = 22, + e + }(T) + , Pi = function(t) { + function e(t) { + e.__super.call(this), + this.__loaded = !0, + this._projectionViewWorldUpdateLoopCount = -1, + this._activeInHierarchy = !1, + this._projectionViewWorldMatrix = new Me, + this._shaderValues = new Fe, + this._colliders = [], + this._id = ++e._uniqueIDCounter, + this._transform = new ii(this), + this.name = t || "Sprite3D-" + e._nameNumberCounter++, + this.layer = z.currentCreationLayer, + this.active = !0 + } + a(e, "laya.d3.core.Sprite3D", di); + var n = e.prototype; + return i.imps(n, { + "laya.d3.core.render.IUpdate": !0, + "laya.resource.ICreateResource": !0, + "laya.d3.core.IClone": !0 + }), + n._setUrl = function(t) { + this._url = t + } + , + n._getGroup = function() { + return this._group + } + , + n._setGroup = function(t) { + this._group = t + } + , + n._addChild3D = function(t) { + t.transform.parent = this.transform, + this._hierarchyAnimator && (!t._hierarchyAnimator && t._setHierarchyAnimator(this._hierarchyAnimator, null), + this._getAnimatorToLinkSprite3D(t, !0, [t.name])), + this._scene && (t._setBelongScene(this._scene), + this._activeInHierarchy && t._active && t._activeHierarchy()) + } + , + n._removeChild3D = function(t) { + t.transform.parent = null, + this._scene && (this._activeInHierarchy && t._active && t._inActiveHierarchy(), + t._setUnBelongScene()), + this._hierarchyAnimator && (t._hierarchyAnimator == this._hierarchyAnimator && t._clearHierarchyAnimator(this._hierarchyAnimator, null), + this._getAnimatorToLinkSprite3D(t, !1, [t.name])) + } + , + n._parseBaseCustomProps = function(t) { + var e = this.transform.localPosition; + e.fromArray(t.translate), + this.transform.localPosition = e; + var i = this.transform.localRotation; + i.fromArray(t.rotation), + this.transform.localRotation = i; + var n = this.transform.localScale; + n.fromArray(t.scale), + this.transform.localScale = n; + var a = t.layer; + null != a && (this.layer = z.getLayerByNumber(a)) + } + , + n._parseCustomComponent = function(t, e, i) { + for (var n in i) { + var a = i[n]; + switch (n) { + case "Animator": + var r = this.addComponent(xi); + if (a.avatarPath) + r.avatar = v.getRes(e[a.avatarPath]); + else { + var s = a.avatar; + if (s) { + r.avatar = v.getRes(e[s.path]); + var o = s.linkSprites; + o && t.once("hierarchyloaded", this, this._onRootNodeHierarchyLoaded, [r, o]) + } + } + for (var l = a.clipPaths, h = l.length, c = 0; c < h; c++) + r.addClip(v.getRes(e[l[c]])); + r.clip = v.getRes(e[l[0]]); + var _ = a.playOnWake; + void 0 !== _ && (r.playOnWake = _); + break; + case "Rigidbody": + this.addComponent(Ci); + break; + case "SphereCollider": + var u = this.addComponent(tn); + u.isTrigger = a.isTrigger; + var d = u.center; + d.fromArray(a.center), + u.center = d, + u.radius = a.radius; + break; + case "BoxCollider": + var f = this.addComponent(Qi); + f.isTrigger = a.isTrigger, + f.center.fromArray(a.center); + var p = f.size; + p.fromArray(a.size), + f.size = p; + break; + case "MeshCollider": + this.addComponent($i) + } + } + } + , + n._onRootNodeHierarchyLoaded = function(t, e) { + for (var i in e) { + for (var n = this, a = e[i], r = 0, s = a.length; r < s; r++) { + var o = a[r]; + if ("" === o) + break; + if (!(n = n.getChildByName(o))) + break + } + n && t.linkSprite3DToAvatarNode(i, n) + } + } + , + n._setHierarchyAnimator = function(t, e) { + this._changeHierarchyAnimator(t); + for (var i = 0, n = this._childs.length; i < n; i++) { + var a = this._childs[i]; + a._hierarchyAnimator == e && a._setHierarchyAnimator(t, e) + } + } + , + n._clearHierarchyAnimator = function(t, e) { + this._changeHierarchyAnimator(e); + for (var i = 0, n = this._childs.length; i < n; i++) { + var a = this._childs[i]; + a._hierarchyAnimator == t && a._clearHierarchyAnimator(t, e) + } + } + , + n._getAnimatorToLinkSprite3D = function(t, e, i) { + var n = this.getComponentByType(xi); + if (n && (n.avatar ? n.avatar._version || t._setAnimatorToLinkAvatar(n, e) : t._setAnimatorToLinkSprite3DNoAvatar(n, e, i)), + this._parent && this._parent instanceof laya.d3.core.Sprite3D) { + i.unshift(this._parent.name); + var a = this._parent; + a._hierarchyAnimator && a._getAnimatorToLinkSprite3D(t, e, i) + } + } + , + n._setAnimatorToLinkSprite3DNoAvatar = function(t, e, i) { + var n = 0 + , a = 0; + for (n = 0, + a = t.getClipCount(); n < a; n++) + t._handleSpriteOwnersBySprite(n, e, i, this); + for (n = 0, + a = this._childs.length; n < a; n++) { + var r = this._childs[n] + , s = i.length; + i.push(r.name), + r._setAnimatorToLinkSprite3DNoAvatar(t, e, i), + i.splice(s, 1) + } + } + , + n._changeHierarchyAnimator = function(t) { + this._hierarchyAnimator = t + } + , + n._isLinkSpriteToAnimationNode = function(t, e, i) { + var n = t._avatarNodes.indexOf(e) + , a = t._cacheSpriteToNodesMap; + if (i) + this._transform.dummy = e.transform, + t._cacheNodesToSpriteMap[n] = a.length, + a.push(n); + else { + this._transform.dummy = null; + var r = t._cacheNodesToSpriteMap[n]; + t._cacheNodesToSpriteMap[n] = null, + a.splice(r, 1) + } + } + , + n._setBelongScene = function(t) { + this._scene = t; + for (var e = 0, i = this._childs.length; e < i; e++) + this._childs[e]._setBelongScene(t) + } + , + n._setUnBelongScene = function() { + this._scene = null; + for (var t = 0, e = this._childs.length; t < e; t++) + this._childs[t]._setUnBelongScene() + } + , + n._activeHierarchy = function() { + var t = 0 + , e = 0; + for (this._activeInHierarchy = !0, + this._addSelfRenderObjects(), + t = 0, + e = this._colliders.length; t < e; t++) + this._layer._addCollider(this._colliders[t]); + for (this.event("activeinhierarchychanged", !0), + t = 0, + e = this._childs.length; t < e; t++) { + var i = this._childs[t]; + i._active && i._activeHierarchy() + } + } + , + n._inActiveHierarchy = function() { + var t = 0 + , e = 0; + for (this._activeInHierarchy = !1, + this._clearSelfRenderObjects(), + t = 0, + e = this._colliders.length; t < e; t++) { + var i = this._colliders[t]; + i._clearCollsionMap(), + this._layer._removeCollider(i) + } + for (this.event("activeinhierarchychanged", !1), + t = 0, + e = this._childs.length; t < e; t++) { + var n = this._childs[t]; + n._active && n._inActiveHierarchy() + } + } + , + n.addComponent = function(t) { + var e, i = this._componentsMap.indexOf(t); + if (-1 === i) + e = [], + this._componentsMap.push(t), + this._typeComponentsIndices.push(e); + else if (e = this._typeComponentsIndices[i], + this._components[e[0]].isSingleton) + throw new Error("无法单实例创建" + t + "组件," + t + "组件已存在!"); + var n = p.getInstance(t); + if (e.push(this._components.length), + this._components.push(n), + n instanceof laya.d3.component.physics.Collider) { + this.getComponentByType(Ci) && (n._isRigidbody = !0), + this._activeInHierarchy && this._layer._addCollider(n), + this._colliders.push(n) + } else if (n instanceof laya.d3.component.Animator) { + var a = n; + this._setHierarchyAnimator(a, this._parent ? this._parent._hierarchyAnimator : null), + this._setAnimatorToLinkSprite3DNoAvatar(a, !0, []) + } else if (n instanceof laya.d3.component.Rigidbody) + for (var r = 0, s = this._colliders.length; r < s; r++) + this._colliders[r]._setIsRigidbody(!0); + return n instanceof laya.d3.component.Script && this._scripts.push(n), + n._initialize(this), + n + } + , + n._removeComponent = function(t, e) { + var i = 0 + , n = 0 + , a = this._typeComponentsIndices[t] + , r = a[e] + , s = this._components[r]; + if (s instanceof laya.d3.component.physics.Collider) { + var o = s; + this._activeInHierarchy && this._layer._removeCollider(o), + this._colliders.splice(this._colliders.indexOf(o), 1) + } else if (s instanceof laya.d3.component.Animator) { + var l = s; + this._clearHierarchyAnimator(l, this._parent ? this._parent._hierarchyAnimator : null) + } else if (s instanceof laya.d3.component.Rigidbody) + for (i = 0, + n = this._colliders.length; i < n; i++) { + var h = this._colliders[i]; + h._setIsRigidbody(!1); + var c = h._runtimeCollisonMap + , _ = h._runtimeCollisonTestMap; + for (var u in c) + delete _[u] + } + for (this._components.splice(r, 1), + s instanceof laya.d3.component.Script && this._scripts.splice(this._scripts.indexOf(s), 1), + a.splice(e, 1), + 0 === a.length && (this._typeComponentsIndices.splice(t, 1), + this._componentsMap.splice(t, 1)), + i = 0, + n = this._componentsMap.length; i < n; i++) + for (var d = (a = this._typeComponentsIndices[i]).length - 1; d >= 0; d--) { + var f = a[d]; + if (!(f > r)) + break; + a[d] = --f + } + s._destroy() + } + , + n._clearSelfRenderObjects = function() {} + , + n._addSelfRenderObjects = function() {} + , + n._parseCustomProps = function(t, e, i, n) {} + , + n._updateChilds = function(t) { + var e = this._childs.length; + if (0 !== e) + for (var i = 0; i < e; ++i) + this._childs[i]._update(t) + } + , + n._getSortID = function(t, e) { + return 1e3 * e.id + t._getVertexBuffer().vertexDeclaration.id + } + , + n._update = function(t) { + t.owner = this, + this._activeInHierarchy && (this._updateComponents(t), + this._lateUpdateComponents(t), + E.spriteCount++, + this._childs.length && this._updateChilds(t)) + } + , + n.getProjectionViewWorldMatrix = function(t) { + return Me.multiply(t, this.transform.worldMatrix, this._projectionViewWorldMatrix), + this._projectionViewWorldMatrix + } + , + n.loadHierarchy = function(t) { + this.addChild(laya.d3.core.Sprite3D.load(t)) + } + , + n.addChildAt = function(t, e) { + if (!(t instanceof laya.d3.core.Sprite3D)) + throw new Error("Sprite3D:Node type must Sprite3D."); + if (!t || this.destroyed || t === this) + return t; + if (t.zOrder && this._set$P("hasZorder", !0), + e >= 0 && e <= this._childs.length) { + if (t._parent === this) { + var i = this.getChildIndex(t); + this._childs.splice(i, 1), + this._childs.splice(e, 0, t), + this.conchModel && (this.conchModel.removeChild(t.conchModel), + this.conchModel.addChildAt(t.conchModel, e)), + this._childChanged() + } else + t.parent && t.parent.removeChild(t), + this._childs === x.ARRAY_EMPTY && (this._childs = []), + this._childs.splice(e, 0, t), + this.conchModel && this.conchModel.addChildAt(t.conchModel, e), + t.parent = this, + this._addChild3D(t); + return t + } + throw new Error("appendChildAt:The index is out of bounds") + } + , + n.addChild = function(t) { + if (!(t instanceof laya.d3.core.Sprite3D)) + throw new Error("Sprite3D:Node type must Sprite3D."); + if (!t || this.destroyed || t === this) + return t; + if (t.zOrder && this._set$P("hasZorder", !0), + t._parent === this) { + var e = this.getChildIndex(t); + e !== this._childs.length - 1 && (this._childs.splice(e, 1), + this._childs.push(t), + this.conchModel && (this.conchModel.removeChild(t.conchModel), + this.conchModel.addChildAt(t.conchModel, this._childs.length - 1)), + this._childChanged()) + } else + t.parent && t.parent.removeChild(t), + this._childs === x.ARRAY_EMPTY && (this._childs = []), + this._childs.push(t), + this.conchModel && this.conchModel.addChildAt(t.conchModel, this._childs.length - 1), + t.parent = this, + this._childChanged(), + this._addChild3D(t); + return t + } + , + n.removeChildAt = function(t) { + var e = this.getChildAt(t); + return e && (this._removeChild3D(e), + this._childs.splice(t, 1), + this.conchModel && this.conchModel.removeChild(e.conchModel), + e.parent = null), + e + } + , + n.removeChildren = function(t, e) { + if (void 0 === t && (t = 0), + void 0 === e && (e = 2147483647), + this._childs && this._childs.length > 0) { + var i = this._childs; + if (0 === t && e >= r) { + var n = i; + this._childs = x.ARRAY_EMPTY + } else + n = i.splice(t, e - t); + for (var a = 0, r = n.length; a < r; a++) + this._removeChild3D(n[a]), + n[a].parent = null, + this.conchModel && this.conchModel.removeChild(n[a].conchModel) + } + return this + } + , + n.onAsynLoaded = function(t, e, i) { + var n = e[0]; + if ("Sprite3D" !== n.type) + throw new Error("Sprite3D: The .lh file root type must be Sprite3D,please use other function to load this file."); + var a = e[1]; + Ke._createNodeByJson(this, n, this, a), + this.event("hierarchyloaded", [this]), + this.__loaded = !0 + } + , + n.cloneTo = function(t) { + if (this.destroyed) + throw new Error("Sprite3D: Can't be cloned if the Sprite3D has destroyed."); + var e = t; + e.name = this.name, + e._destroyed = this._destroyed, + e.timer = this.timer, + e._$P = this._$P, + e.active = this._active; + var i = e.transform.localPosition; + this.transform.localPosition.cloneTo(i), + e.transform.localPosition = i; + var n = e.transform.localRotation; + this.transform.localRotation.cloneTo(n), + e.transform.localRotation = n; + var a = e.transform.localScale; + this.transform.localScale.cloneTo(a), + e.transform.localScale = a, + e.isStatic = this.isStatic; + var r = 0 + , s = 0; + for (r = 0, + s = this._componentsMap.length; r < s; r++) { + var o = e.addComponent(this._componentsMap[r]); + this._components[r]._cloneTo(o) + } + for (r = 0, + s = this._childs.length; r < s; r++) + e.addChild(this._childs[r].clone()); + var l = e.getComponentByType(xi); + if (l) { + var h = l._linkSpritesData; + if (h) + for (var c in h) { + for (var _ = h[c], u = e, d = 0, f = _.length; d < f && (u = u.getChildByName(_[d])); d++) + ; + if (u) { + var p = l._avatarNodeMap[c]; + u._isLinkSpriteToAnimationNode(l, p, !0) + } + } + } + } + , + n.clone = function() { + var t = new this.constructor; + return this.cloneTo(t), + t + } + , + n.destroy = function(t) { + if (void 0 === t && (t = !0), + !this.destroyed) { + laya.display.Node.prototype.destroy.call(this, t); + var e = 0 + , i = 0; + for (e = 0, + i = this._components.length; e < i; e++) + this._components[e]._destroy(); + this._components = null, + this._componentsMap = null, + this._typeComponentsIndices = null, + this._transform = null, + this._colliders = null, + v.clearRes(this.url), + this.loaded || Ze._cancelLoadByUrl(this.url) + } + } + , + n._handleSpriteToAvatar = function(t, e) { + t._avatarNodes; + var i = t._avatarNodeMap[this.name]; + i && i.name === this.name && !this._transform.dummy && this._isLinkSpriteToAnimationNode(t, i, e) + } + , + n._setAnimatorToLinkAvatar = function(t, e) { + this._handleSpriteToAvatar(t, e); + for (var i = 0, n = this._childs.length; i < n; i++) { + this._childs[i]._setAnimatorToLinkAvatar(t, e) + } + } + , + r(0, n, "activeInHierarchy", function() { + return this._activeInHierarchy + }), + r(0, n, "_loaded", null, function(t) { + this.__loaded = t + }), + r(0, n, "active", function() { + return this._active + }, function(t) { + this._active !== t && (this._active = t, + this._parent && (this._parent === this._scene && this._parent.displayedInStage || this._parent._activeInHierarchy) && (t ? this._activeHierarchy() : this._inActiveHierarchy())) + }), + r(0, n, "componentsCount", function() { + return this._components.length + }), + r(0, n, "loaded", function() { + return this.__loaded + }), + r(0, n, "id", function() { + return this._id + }), + r(0, n, "url", function() { + return this._url + }), + r(0, n, "layer", function() { + return this._layer + }, function(t) { + if (this._layer !== t) { + if (!t) + throw new Error("Layer value can be null."); + if (this._activeInHierarchy) { + var e = 0 + , i = this._colliders.length; + if (this._layer) + for (e = 0; e < i; e++) + this._layer._removeCollider(this._colliders[e]); + for (e = 0; e < i; e++) + t._addCollider(this._colliders[e]) + } + this._layer = t, + this.event("layerchanged", t) + } + }), + r(0, n, "scene", function() { + return this._scene + }), + r(0, n, "transform", function() { + return this._transform + }), + e.instantiate = function(t, e, i, n, a) { + void 0 === i && (i = !0); + var r = t.clone(); + e && e.addChild(r); + var s = r.transform; + if (i) { + var o = s.worldMatrix; + t.transform.worldMatrix.cloneTo(o), + s.worldMatrix = o + } else + n && (s.position = n), + a && (s.rotation = a); + return r + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e.WORLDMATRIX = 0, + e.MVPMATRIX = 1, + e._uniqueIDCounter = 0, + e._nameNumberCounter = 0, + e + }() + , Oi = function(t) { + function e(t, i, n, a, r, s, o, l) { + if (this._curActTexIndex = 0, + this._program = null, + this._attributeParams = null, + this._uniformParams = null, + this._attributeParamsMap = [], + this._sceneUniformParamsMap = [], + this._cameraUniformParamsMap = [], + this._spriteUniformParamsMap = [], + this._materialUniformParamsMap = [], + this._renderElementUniformParamsMap = [], + e.__super.call(this), + !t || !i) + throw "Shader Error"; + this._id = ++e._count, + this._vs = t, + this._ps = i, + this._attributeMap = n, + this._sceneUniformMap = a, + this._cameraUniformMap = r, + this._spriteUniformMap = s, + this._materialUniformMap = o, + this._renderElementUniformMap = l, + this.recreateResource() + } + a(e, "laya.d3.shader.Shader3D", _); + var i = e.prototype; + return i.recreateResource = function() { + this._compile(), + this.completeCreate(), + this.memorySize = 0 + } + , + i.disposeResource = function() { + B.mainContext.deleteShader(this._vshader), + B.mainContext.deleteShader(this._pshader), + B.mainContext.deleteProgram(this._program), + this._vshader = this._pshader = this._program = null, + this._attributeParams = null, + this._uniformParams = null, + this.memorySize = 0, + this._curActTexIndex = 0 + } + , + i._compile = function() { + if (this._vs && this._ps && !this._attributeParams && !this._uniformParams) { + this._reCompile = !0, + this._attributeParams = [], + this._uniformParams = []; + var t = [this._vs, this._ps] + , i = B.mainContext; + if (this._program = i.createProgram(), + this._vshader = e._createShader(i, t[0], 35633), + this._pshader = e._createShader(i, t[1], 35632), + i.attachShader(this._program, this._vshader), + i.attachShader(this._program, this._pshader), + i.linkProgram(this._program), + !I.isConchApp && ci.debugMode && !i.getProgramParameter(this._program, 35714)) + throw i.getProgramInfoLog(this._program); + var n, a = 0, r = 0, s = 0; + for (s = I.isConchApp ? i.getProgramParameterEx(this._vs, this._ps, "", 35721) : i.getProgramParameter(this._program, 35721), + a = 0; a < s; a++) { + var o = null; + n = { + vartype: "attribute", + ivartype: 0, + attrib: o = I.isConchApp ? i.getActiveAttribEx(this._vs, this._ps, "", a) : i.getActiveAttrib(this._program, a), + location: i.getAttribLocation(this._program, o.name), + name: o.name, + type: o.type, + isArray: !1, + isSame: !1, + preValue: null, + indexOfParams: 0 + }, + this._attributeParams.push(n) + } + var l = 0; + for (l = I.isConchApp ? i.getProgramParameterEx(this._vs, this._ps, "", 35718) : i.getProgramParameter(this._program, 35718), + a = 0; a < l; a++) { + var h = null; + h = I.isConchApp ? i.getActiveUniformEx(this._vs, this._ps, "", a) : i.getActiveUniform(this._program, a), + (n = { + vartype: "uniform", + ivartype: 1, + attrib: o, + location: i.getUniformLocation(this._program, h.name), + name: h.name, + type: h.type, + isArray: !1, + isSame: !1, + preValue: null, + indexOfParams: 0 + }).name.indexOf("[0]") > 0 && (n.name = n.name.substr(0, n.name.length - 3), + n.isArray = !0, + n.location = i.getUniformLocation(this._program, n.name)), + this._uniformParams.push(n) + } + for (a = 0, + r = this._attributeParams.length; a < r; a++) + (n = this._attributeParams[a]).indexOfParams = a, + n.index = 1, + n.value = [n.location, null], + n.codename = n.name, + n.name = null != this._attributeMap[n.codename] ? this._attributeMap[n.codename] : n.codename, + this._attributeParamsMap.push(n.name), + this._attributeParamsMap.push(n), + n._this = this, + n.uploadedValue = [], + n.fun = this._attribute; + for (a = 0, + r = this._uniformParams.length; a < r; a++) + switch (n = this._uniformParams[a], + n.indexOfParams = a, + n.index = 1, + n.value = [n.location, null], + n.codename = n.name, + null != this._sceneUniformMap[n.codename] ? (n.name = this._sceneUniformMap[n.codename], + this._sceneUniformParamsMap.push(n.name), + this._sceneUniformParamsMap.push(n)) : null != this._cameraUniformMap[n.codename] ? (n.name = this._cameraUniformMap[n.codename], + this._cameraUniformParamsMap.push(n.name), + this._cameraUniformParamsMap.push(n)) : null != this._spriteUniformMap[n.codename] ? (n.name = this._spriteUniformMap[n.codename], + this._spriteUniformParamsMap.push(n.name), + this._spriteUniformParamsMap.push(n)) : null != this._materialUniformMap[n.codename] ? (n.name = this._materialUniformMap[n.codename], + this._materialUniformParamsMap.push(n.name), + this._materialUniformParamsMap.push(n)) : null != this._renderElementUniformMap[n.codename] ? (n.name = this._renderElementUniformMap[n.codename], + this._renderElementUniformParamsMap.push(n.name), + this._renderElementUniformParamsMap.push(n)) : console.log("Shader:can't find uinform name:" + n.codename + " in shader file."), + n._this = this, + n.uploadedValue = [], + n.type) { + case 5124: + n.fun = n.isArray ? this._uniform1iv : this._uniform1i; + break; + case 5126: + n.fun = n.isArray ? this._uniform1fv : this._uniform1f; + break; + case 35664: + n.fun = n.isArray ? this._uniform_vec2v : this._uniform_vec2; + break; + case 35665: + n.fun = n.isArray ? this._uniform_vec3v : this._uniform_vec3; + break; + case 35666: + n.fun = n.isArray ? this._uniform_vec4v : this._uniform_vec4; + break; + case 35678: + n.fun = this._uniform_sampler2D; + break; + case 35680: + n.fun = this._uniform_samplerCube; + break; + case 35676: + n.fun = this._uniformMatrix4fv; + break; + case 35670: + n.fun = this._uniform1i; + break; + case 35674: + n.fun = this._uinformMatrix2fv; + break; + case 35675: + n.fun = this._uinformMatrix3fv; + break; + default: + throw new Error("compile shader err!") + } + } + } + , + i._attribute = function(t, e) { + var i = B.mainContext + , n = d._enableAtributes + , a = t.location; + return n[a] || i.enableVertexAttribArray(a), + i.vertexAttribPointer(a, e[0], e[1], e[2], e[3], e[4]), + n[a] = d._bindVertexBuffer, + 1 + } + , + i._uniform1f = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e ? (B.mainContext.uniform1f(t.location, i[0] = e), + 1) : 0 + } + , + i._uniform1fv = function(t, e) { + if (e.length < 4) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] || i[2] !== e[2] || i[3] !== e[3] ? (B.mainContext.uniform1fv(t.location, e), + i[0] = e[0], + i[1] = e[1], + i[2] = e[2], + i[3] = e[3], + 1) : 0 + } + return B.mainContext.uniform1fv(t.location, e), + 1 + } + , + i._uniform_vec2 = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] ? (B.mainContext.uniform2f(t.location, i[0] = e[0], i[1] = e[1]), + 1) : 0 + } + , + i._uniform_vec2v = function(t, e) { + if (e.length < 2) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] || i[2] !== e[2] || i[3] !== e[3] ? (B.mainContext.uniform2fv(t.location, e), + i[0] = e[0], + i[1] = e[1], + i[2] = e[2], + i[3] = e[3], + 1) : 0 + } + return B.mainContext.uniform2fv(t.location, e), + 1 + } + , + i._uniform_vec3 = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] || i[2] !== e[2] ? (B.mainContext.uniform3f(t.location, i[0] = e[0], i[1] = e[1], i[2] = e[2]), + 1) : 0 + } + , + i._uniform_vec3v = function(t, e) { + return B.mainContext.uniform3fv(t.location, e), + 1 + } + , + i._uniform_vec4 = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] || i[2] !== e[2] || i[3] !== e[3] ? (B.mainContext.uniform4f(t.location, i[0] = e[0], i[1] = e[1], i[2] = e[2], i[3] = e[3]), + 1) : 0 + } + , + i._uniform_vec4v = function(t, e) { + return B.mainContext.uniform4fv(t.location, e), + 1 + } + , + i._uniformMatrix2fv = function(t, e) { + return B.mainContext.uniformMatrix2fv(t.location, !1, e), + 1 + } + , + i._uniformMatrix3fv = function(t, e) { + return B.mainContext.uniformMatrix3fv(t.location, !1, e), + 1 + } + , + i._uniformMatrix4fv = function(t, e) { + return B.mainContext.uniformMatrix4fv(t.location, !1, e), + 1 + } + , + i._uinformMatrix2fv = function(t, e) { + return B.mainContext.uniformMatrix2fv(t.location, !1, e), + 1 + } + , + i._uinformMatrix3fv = function(t, e) { + return B.mainContext.uniformMatrix3fv(t.location, !1, e), + 1 + } + , + i._uniform1i = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e ? (B.mainContext.uniform1i(t.location, i[0] = e), + 1) : 0 + } + , + i._uniform1iv = function(t, e) { + return B.mainContext.uniform1iv(t.location, e), + 1 + } + , + i._uniform_ivec2 = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] ? (B.mainContext.uniform2i(t.location, i[0] = e[0], i[1] = e[1]), + 1) : 0 + } + , + i._uniform_ivec2v = function(t, e) { + return B.mainContext.uniform2iv(t.location, e), + 1 + } + , + i._uniform_vec3i = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] || i[2] !== e[2] ? (B.mainContext.uniform3i(t.location, i[0] = e[0], i[1] = e[1], i[2] = e[2]), + 1) : 0 + } + , + i._uniform_vec3vi = function(t, e) { + return B.mainContext.uniform3iv(t.location, e), + 1 + } + , + i._uniform_vec4i = function(t, e) { + var i = t.uploadedValue; + return i[0] !== e[0] || i[1] !== e[1] || i[2] !== e[2] || i[3] !== e[3] ? (B.mainContext.uniform4i(t.location, i[0] = e[0], i[1] = e[1], i[2] = e[2], i[3] = e[3]), + 1) : 0 + } + , + i._uniform_vec4vi = function(t, e) { + return B.mainContext.uniform4iv(t.location, e), + 1 + } + , + i._uniform_sampler2D = function(t, i) { + var n = i.source || i.defaulteTexture.source + , a = B.mainContext + , r = t.uploadedValue; + if (null == r[0]) { + if (this._curActTexIndex > 7) + throw new Error("Shader3D: shader support textures max count is 8,can't large than it."); + return r[0] = this._curActTexIndex, + a.uniform1i(t.location, this._curActTexIndex), + a.activeTexture(e._TEXTURES[this._curActTexIndex]), + n && k.bindTexture(a, 3553, n), + this._curActTexIndex++, + 1 + } + return a.activeTexture(e._TEXTURES[r[0]]), + n && k.bindTexture(a, 3553, n), + 0 + } + , + i._uniform_samplerCube = function(t, i) { + var n = i.source || i.defaulteTexture.source + , a = B.mainContext + , r = t.uploadedValue; + if (null == r[0]) { + if (this._curActTexIndex > 7) + throw new Error("Shader3D: shader support textures max count is 8,can't large than it."); + return r[0] = this._curActTexIndex, + a.uniform1i(t.location, this._curActTexIndex), + a.activeTexture(e._TEXTURES[this._curActTexIndex]), + n ? k.bindTexture(a, 34067, n) : k.bindTexture(a, 34067, on.grayTexture.source), + this._curActTexIndex++, + 1 + } + return a.activeTexture(e._TEXTURES[r[0]]), + n ? k.bindTexture(a, 34067, n) : k.bindTexture(a, 34067, on.grayTexture.source), + 0 + } + , + i._noSetValue = function(t) { + console.log("no....:" + t.name) + } + , + i.bind = function() { + return _.activeShader = this, + _.bindShader = this, + this.activeResource(), + k.UseProgram(this._program) + } + , + i.uploadAttributes = function(t, e) { + for (var i, n, a = 0, r = 0, s = this._attributeParamsMap.length; r < s; r += 2) + n = this._attributeParamsMap[r + 1], + null != (i = t[this._attributeParamsMap[r]]) && (e && e[n.name] && e[n.name].bind(), + a += n.fun.call(this, n, i)); + E.shaderCall += a + } + , + i.uploadAttributesX = function(t, e) { + for (var i, n, a = 0, r = 0, s = this._attributeParamsMap.length; r < s; r += 2) + n = this._attributeParamsMap[r + 1], + null != (i = t[this._attributeParamsMap[r]]) && (e._bind(), + a += n.fun.call(this, n, i)); + E.shaderCall += a + } + , + i.uploadSceneUniforms = function(t) { + for (var e, i, n = 0, a = 0, r = this._sceneUniformParamsMap.length; a < r; a += 2) + i = this._sceneUniformParamsMap[a + 1], + null != (e = t[this._sceneUniformParamsMap[a]]) && (n += i.fun.call(this, i, e)); + E.shaderCall += n + } + , + i.uploadCameraUniforms = function(t) { + for (var e, i, n = 0, a = 0, r = this._cameraUniformParamsMap.length; a < r; a += 2) + i = this._cameraUniformParamsMap[a + 1], + null != (e = t[this._cameraUniformParamsMap[a]]) && (n += i.fun.call(this, i, e)); + E.shaderCall += n + } + , + i.uploadSpriteUniforms = function(t) { + for (var e, i, n = 0, a = 0, r = this._spriteUniformParamsMap.length; a < r; a += 2) + i = this._spriteUniformParamsMap[a + 1], + null != (e = t[this._spriteUniformParamsMap[a]]) && (n += i.fun.call(this, i, e)); + E.shaderCall += n + } + , + i.uploadMaterialUniforms = function(t) { + for (var e, i, n = 0, a = 0, r = this._materialUniformParamsMap.length; a < r; a += 2) + i = this._materialUniformParamsMap[a + 1], + null != (e = t[this._materialUniformParamsMap[a]]) && (n += i.fun.call(this, i, e)); + E.shaderCall += n + } + , + i.uploadRenderElementUniforms = function(t) { + for (var e, i, n = 0, a = 0, r = this._renderElementUniformParamsMap.length; a < r; a += 2) + i = this._renderElementUniformParamsMap[a + 1], + null != (e = t[this._renderElementUniformParamsMap[a]]) && (n += i.fun.call(this, i, e)); + E.shaderCall += n + } + , + e.create = function(t, i, n, a, r, s, o, l) { + return new e(t,i,n,a,r,s,o,l) + } + , + e.addInclude = function(t, e) { + L.addInclude(t, e) + } + , + e._createShader = function(t, e, i) { + var n = t.createShader(i); + if (t.shaderSource(n, e), + t.compileShader(n), + ci.debugMode && !t.getShaderParameter(n, 35713)) + throw t.getShaderInfoLog(n); + return n + } + , + e.PERIOD_RENDERELEMENT = 0, + e.PERIOD_MATERIAL = 1, + e.PERIOD_SPRITE = 2, + e.PERIOD_CAMERA = 3, + e.PERIOD_SCENE = 4, + e._TEXTURES = [33984, 33985, 33986, 33987, 33988, 33989, 33990, 33991], + e._count = 0, + n(e, ["shaderParamsMap", function() { + return this.shaderParamsMap = { + float: 5126, + int: 5124, + bool: 35670, + vec2: 35664, + vec3: 35665, + vec4: 35666, + ivec2: 35667, + ivec3: 35668, + ivec4: 35669, + bvec2: 35671, + bvec3: 35672, + bvec4: 35673, + mat2: 35674, + mat3: 35675, + mat4: 35676, + sampler2D: 35678, + samplerCube: 35680 + } + } + , "nameKey", function() { + return this.nameKey = new D + } + ]), + e + }() + , Ui = function(t) { + function e() { + e.__super.call(this), + this.setShaderName("BLINNPHONG"), + this._albedoIntensity = 1, + this._albedoColor = new ke(1,1,1,1), + this._setColor(6, new ke(1,1,1,1)), + this._setColor(8, new Be(1,1,1)), + this._setNumber(9, .078125), + this._setColor(10, new Be(1,1,1)), + this._setNumber(0, .5), + this._setColor(11, new ke(1,1,0,0)), + this._enableLighting = !0, + this.renderMode = 0 + } + a(e, "laya.d3.core.material.BlinnPhongMaterial", t); + var s = e.prototype; + return s.disableLight = function() { + this._addDisablePublicShaderDefine(ci.SHADERDEFINE_POINTLIGHT | ci.SHADERDEFINE_SPOTLIGHT | ci.SHADERDEFINE_DIRECTIONLIGHT) + } + , + s.disableFog = function() { + this._addDisablePublicShaderDefine(ci.SHADERDEFINE_FOG) + } + , + s.cloneTo = function(e) { + t.prototype.cloneTo.call(this, e); + var i = e; + i._enableLighting = this._enableLighting, + i._albedoIntensity = this._albedoIntensity, + this._albedoColor.cloneTo(i._albedoColor) + } + , + r(0, s, "renderMode", null, function(t) { + switch (t) { + case 0: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 0, + this.alphaTest = !1, + this.depthTest = 513, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 1: + this.depthWrite = !0, + this.cull = 2, + this.blend = 0, + this.renderQueue = 2e3, + this.alphaTest = !0, + this.depthTest = 513, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 2: + this.renderQueue = 3e3, + this.depthWrite = !1, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.alphaTest = !1, + this.depthTest = 513, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 3: + this.renderQueue = 3e3, + this.depthWrite = !1, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1, + this.alphaTest = !1, + this.depthTest = 513, + this._addShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + default: + throw new Error("Material:renderMode value error.") + } + this._conchMaterial && this._conchMaterial.setRenderMode(t) + }), + r(0, s, "normalTexture", function() { + return this._getTexture(2) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.BlinnPhongMaterial.SHADERDEFINE_NORMALMAP) : this._removeShaderDefine(laya.d3.core.material.BlinnPhongMaterial.SHADERDEFINE_NORMALMAP), + this._setTexture(2, t) + }), + r(0, s, "reflectColor", function() { + return this._getColor(10) + }, function(t) { + this._setColor(10, t) + }), + r(0, s, "tilingOffset", function() { + return this._getColor(11) + }, function(t) { + if (t) { + var e = t.elements; + 1 != e[0] || 1 != e[1] || 0 != e[2] || 0 != e[3] ? this._addShaderDefine(laya.d3.core.material.BlinnPhongMaterial.SHADERDEFINE_TILINGOFFSET) : this._removeShaderDefine(laya.d3.core.material.BlinnPhongMaterial.SHADERDEFINE_TILINGOFFSET) + } else + this._removeShaderDefine(laya.d3.core.material.BlinnPhongMaterial.SHADERDEFINE_TILINGOFFSET); + this._setColor(11, t) + }), + r(0, s, "specularColor", function() { + return this._getColor(8) + }, function(t) { + this._setColor(8, t) + }), + r(0, s, "albedoColor", function() { + return this._albedoColor + }, function(t) { + var e = this._getColor(6); + ke.scale(t, this._albedoIntensity, e), + this._albedoColor = t + }), + r(0, s, "albedoIntensity", function() { + return this._albedoIntensity + }, function(t) { + if (this._albedoIntensity !== t) { + var e = this._getColor(6); + ke.scale(this._albedoColor, t, e), + this._albedoIntensity = t + } + }), + r(0, s, "albedoTexture", function() { + return this._getTexture(1) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.BlinnPhongMaterial.SHADERDEFINE_DIFFUSEMAP) : this._removeShaderDefine(laya.d3.core.material.BlinnPhongMaterial.SHADERDEFINE_DIFFUSEMAP), + this._setTexture(1, t) + }), + r(0, s, "shininess", function() { + return this._getNumber(9) + }, function(t) { + t = Math.max(0, Math.min(1, t)), + this._setNumber(9, t) + }), + r(0, s, "specularTexture", function() { + return this._getTexture(3) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.BlinnPhongMaterial.SHADERDEFINE_SPECULARMAP) : this._removeShaderDefine(laya.d3.core.material.BlinnPhongMaterial.SHADERDEFINE_SPECULARMAP), + this._setTexture(3, t) + }), + r(0, s, "reflectTexture", function() { + return this._getTexture(5) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.BlinnPhongMaterial.SHADERDEFINE_REFLECTMAP) : this._removeShaderDefine(laya.d3.core.material.BlinnPhongMaterial.SHADERDEFINE_REFLECTMAP), + this._setTexture(5, t) + }), + r(0, s, "enableLighting", function() { + return this._enableLighting + }, function(t) { + this._enableLighting !== t && (t ? this._removeDisablePublicShaderDefine(ci.SHADERDEFINE_POINTLIGHT | ci.SHADERDEFINE_SPOTLIGHT | ci.SHADERDEFINE_DIRECTIONLIGHT) : this._addDisablePublicShaderDefine(ci.SHADERDEFINE_POINTLIGHT | ci.SHADERDEFINE_SPOTLIGHT | ci.SHADERDEFINE_DIRECTIONLIGHT), + this._enableLighting = t) + }), + e.__init__ = function() { + e.SHADERDEFINE_DIFFUSEMAP = e.shaderDefines.registerDefine("DIFFUSEMAP"), + e.SHADERDEFINE_NORMALMAP = e.shaderDefines.registerDefine("NORMALMAP"), + e.SHADERDEFINE_SPECULARMAP = e.shaderDefines.registerDefine("SPECULARMAP"), + e.SHADERDEFINE_REFLECTMAP = e.shaderDefines.registerDefine("REFLECTMAP"), + e.SHADERDEFINE_TILINGOFFSET = e.shaderDefines.registerDefine("TILINGOFFSET"), + e.SHADERDEFINE_ADDTIVEFOG = e.shaderDefines.registerDefine("ADDTIVEFOG") + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e.SPECULARSOURCE_DIFFUSEMAPALPHA = 0, + e.SPECULARSOURCE_SPECULARMAP = 0, + e.RENDERMODE_OPAQUE = 0, + e.RENDERMODE_CUTOUT = 1, + e.RENDERMODE_TRANSPARENT = 2, + e.RENDERMODE_ADDTIVE = 3, + e.SHADERDEFINE_DIFFUSEMAP = 0, + e.SHADERDEFINE_NORMALMAP = 0, + e.SHADERDEFINE_SPECULARMAP = 0, + e.SHADERDEFINE_REFLECTMAP = 0, + e.SHADERDEFINE_TILINGOFFSET = 0, + e.SHADERDEFINE_ADDTIVEFOG = 0, + e.ALBEDOTEXTURE = 1, + e.NORMALTEXTURE = 2, + e.SPECULARTEXTURE = 3, + e.EMISSIVETEXTURE = 4, + e.REFLECTTEXTURE = 5, + e.ALBEDOCOLOR = 6, + e.MATERIALSPECULAR = 8, + e.SHININESS = 9, + e.MATERIALREFLECT = 10, + e.TILINGOFFSET = 11, + n(e, ["defaultMaterial", function() { + return this.defaultMaterial = new e + } + , "shaderDefines", function() { + return this.shaderDefines = new Ue(mi.shaderDefines) + } + ]), + e + }(mi) + , Vi = function(t) { + function e() { + e.__super.call(this), + this.setShaderName("ExtendTerrain"), + this.renderMode = 1 + } + a(e, "laya.d3.core.material.ExtendTerrainMaterial", mi); + var i = e.prototype; + return i._setDetailNum = function(t) { + switch (t) { + case 1: + this._addShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM1), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM2), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM3), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM4), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM5); + break; + case 2: + this._addShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM2), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM1), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM3), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM4), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM5); + break; + case 3: + this._addShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM3), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM1), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM2), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM4), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM5); + break; + case 4: + this._addShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM4), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM1), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM2), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM3), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM5); + break; + case 5: + this._addShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM5), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM1), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM2), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM3), + this._removeShaderDefine(laya.d3.core.material.ExtendTerrainMaterial.SHADERDEFINE_DETAIL_NUM4) + } + } + , + i.disableLight = function() { + this._addDisablePublicShaderDefine(ci.SHADERDEFINE_POINTLIGHT | ci.SHADERDEFINE_SPOTLIGHT | ci.SHADERDEFINE_DIRECTIONLIGHT) + } + , + r(0, i, "diffuseScaleOffset2", null, function(t) { + this._setColor(7, t) + }), + r(0, i, "splatAlphaTexture", function() { + return this._getTexture(0) + }, function(t) { + this._setTexture(0, t) + }), + r(0, i, "diffuseScaleOffset3", null, function(t) { + this._setColor(8, t) + }), + r(0, i, "diffuseTexture1", null, function(t) { + this._setTexture(1, t), + this._setDetailNum(1) + }), + r(0, i, "renderMode", null, function(t) { + switch (t) { + case 1: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 0, + this.depthTest = 513; + break; + case 2: + this.renderQueue = 2e3, + this.depthWrite = !1, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.depthTest = 515; + break; + default: + throw new Error("ExtendTerrainMaterial:renderMode value error.") + } + this._conchMaterial && this._conchMaterial.setRenderMode(t) + }), + r(0, i, "diffuseTexture2", function() { + return this._getTexture(2) + }, function(t) { + this._setTexture(2, t), + this._setDetailNum(2) + }), + r(0, i, "diffuseScaleOffset1", null, function(t) { + this._setColor(6, t) + }), + r(0, i, "diffuseTexture3", function() { + return this._getTexture(3) + }, function(t) { + this._setTexture(3, t), + this._setDetailNum(3) + }), + r(0, i, "diffuseTexture4", function() { + return this._getTexture(4) + }, function(t) { + this._setTexture(4, t), + this._setDetailNum(4) + }), + r(0, i, "diffuseTexture5", function() { + return this._getTexture(5) + }, function(t) { + this._setTexture(5, t), + this._setDetailNum(5) + }), + r(0, i, "diffuseScaleOffset4", null, function(t) { + this._setColor(9, t) + }), + r(0, i, "diffuseScaleOffset5", null, function(t) { + this._setColor(10, t) + }), + r(0, i, "albedo", function() { + return this._getColor(14) + }, function(t) { + this._setColor(14, t) + }), + r(0, i, "ambientColor", function() { + return this._getColor(11) + }, function(t) { + this._setColor(11, t) + }), + r(0, i, "diffuseColor", function() { + return this._getColor(12) + }, function(t) { + this._setColor(12, t) + }), + r(0, i, "specularColor", function() { + return this._getColor(13) + }, function(t) { + this._setColor(13, t) + }), + e.__init__ = function() { + e.SHADERDEFINE_DETAIL_NUM1 = e.shaderDefines.registerDefine("ExtendTerrain_DETAIL_NUM1"), + e.SHADERDEFINE_DETAIL_NUM2 = e.shaderDefines.registerDefine("ExtendTerrain_DETAIL_NUM2"), + e.SHADERDEFINE_DETAIL_NUM3 = e.shaderDefines.registerDefine("ExtendTerrain_DETAIL_NUM3"), + e.SHADERDEFINE_DETAIL_NUM4 = e.shaderDefines.registerDefine("ExtendTerrain_DETAIL_NUM4"), + e.SHADERDEFINE_DETAIL_NUM5 = e.shaderDefines.registerDefine("ExtendTerrain_DETAIL_NUM5") + } + , + e.RENDERMODE_OPAQUE = 1, + e.RENDERMODE_TRANSPARENT = 2, + e.SPLATALPHATEXTURE = 0, + e.DIFFUSETEXTURE1 = 1, + e.DIFFUSETEXTURE2 = 2, + e.DIFFUSETEXTURE3 = 3, + e.DIFFUSETEXTURE4 = 4, + e.DIFFUSETEXTURE5 = 5, + e.DIFFUSESCALEOFFSET1 = 6, + e.DIFFUSESCALEOFFSET2 = 7, + e.DIFFUSESCALEOFFSET3 = 8, + e.DIFFUSESCALEOFFSET4 = 9, + e.DIFFUSESCALEOFFSET5 = 10, + e.MATERIALAMBIENT = 11, + e.MATERIALDIFFUSE = 12, + e.MATERIALSPECULAR = 13, + e.MATERIALALBEDO = 14, + e.SHADERDEFINE_DETAIL_NUM1 = 0, + e.SHADERDEFINE_DETAIL_NUM2 = 0, + e.SHADERDEFINE_DETAIL_NUM3 = 0, + e.SHADERDEFINE_DETAIL_NUM4 = 0, + e.SHADERDEFINE_DETAIL_NUM5 = 0, + n(e, ["shaderDefines", function() { + return this.shaderDefines = new Ue(mi.shaderDefines) + } + ]), + e + }() + , Fi = function(t) { + function e() { + e.__super.call(this), + this.setShaderName("GLITTER"), + this.renderMode = 1, + this._setColor(3, new ke(1,1,1,1)), + this._setColor(2, new ke(1,1,1,1)) + } + a(e, "laya.d3.core.material.GlitterMaterial", t); + var s = e.prototype; + return s.setShaderName = function(e) { + t.prototype.setShaderName.call(this, e) + } + , + r(0, s, "renderMode", null, function(t) { + switch (t) { + case 1: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 0; + break; + case 2: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 0, + this.blend = 0; + break; + case 13: + this.renderQueue = 3e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771; + break; + case 14: + this.renderQueue = 3e3, + this.depthWrite = !0, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771; + break; + case 15: + this.renderQueue = 3e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1; + break; + case 16: + this.renderQueue = 3e3, + this.depthWrite = !0, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1; + break; + case 5: + this.renderQueue = 3e3, + this.depthWrite = !1, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771; + break; + case 6: + this.renderQueue = 3e3, + this.depthWrite = !1, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771; + break; + case 7: + this.renderQueue = 3e3, + this.depthWrite = !1, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1; + break; + case 8: + this.renderQueue = 3e3, + this.depthWrite = !1, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1; + break; + case 9: + this.renderQueue = 3e3, + this.depthTest = 513, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771; + break; + case 10: + this.renderQueue = 3e3, + this.depthTest = 513, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771; + break; + case 11: + this.renderQueue = 3e3, + this.depthTest = 513, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1; + break; + case 12: + this.renderQueue = 3e3, + this.depthTest = 513, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1; + break; + default: + throw new Error("Material:renderMode value error.") + } + this._conchMaterial && this._conchMaterial.setRenderMode(t) + }), + r(0, s, "diffuseTexture", function() { + return this._getTexture(1) + }, function(t) { + this._setTexture(1, t) + }), + r(0, s, "albedo", function() { + return this._getColor(2) + }, function(t) { + this._setColor(2, t) + }), + r(0, s, "color", function() { + return this._getColor(3) + }, function(t) { + this._setColor(3, t) + }), + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e.RENDERMODE_OPAQUE = 1, + e.RENDERMODE_OPAQUEDOUBLEFACE = 2, + e.RENDERMODE_TRANSPARENT = 13, + e.RENDERMODE_TRANSPARENTDOUBLEFACE = 14, + e.RENDERMODE_ADDTIVE = 15, + e.RENDERMODE_ADDTIVEDOUBLEFACE = 16, + e.RENDERMODE_DEPTHREAD_TRANSPARENT = 5, + e.RENDERMODE_DEPTHREAD_TRANSPARENTDOUBLEFACE = 6, + e.RENDERMODE_DEPTHREAD_ADDTIVE = 7, + e.RENDERMODE_DEPTHREAD_ADDTIVEDOUBLEFACE = 8, + e.RENDERMODE_NONDEPTH_TRANSPARENT = 9, + e.RENDERMODE_NONDEPTH_TRANSPARENTDOUBLEFACE = 10, + e.RENDERMODE_NONDEPTH_ADDTIVE = 11, + e.RENDERMODE_NONDEPTH_ADDTIVEDOUBLEFACE = 12, + e.DIFFUSETEXTURE = 1, + e.ALBEDO = 2, + e.UNICOLOR = 3, + n(e, ["defaultMaterial", function() { + return this.defaultMaterial = new e + } + ]), + e + }(mi) + , Hi = function(t) { + function e() { + if (this._transformUV = null, + e.__super.call(this), + !laya.d3.core.material.PBRMaterial.pbrlutTex) { + var t = u.window.__pbrlutdata; + if (!t) + throw alert("no pbr lutdata, need pbrlut.js"), + "no pbr lutdata, need pbrlut.js"; + var i = en.create(new Uint32Array(t).buffer, 256, 256, 9728, 9728, !1); + laya.d3.core.material.PBRMaterial.pbrlutTex = i + } + this._setTexture(4, laya.d3.core.material.PBRMaterial.pbrlutTex), + this.setShaderName("PBR"), + this._setNumber(0, .5), + this.use_groundtruth = !1 + } + a(e, "laya.d3.core.material.PBRMaterial", t); + var s = e.prototype; + return s.disableLight = function() { + this._addDisablePublicShaderDefine(ci.SHADERDEFINE_POINTLIGHT | ci.SHADERDEFINE_SPOTLIGHT | ci.SHADERDEFINE_DIRECTIONLIGHT) + } + , + s.disableFog = function() { + this._addDisablePublicShaderDefine(ci.SHADERDEFINE_FOG) + } + , + s.onAsynLoaded = function(e, i, n) { + t.prototype.onAsynLoaded.call(this, e, i, n) + } + , + s.radicalInverse_VdC = function(t) { + var e = new Uint32Array(1); + return function(t) { + return t = t << 16 | t >>> 16, + t = (1431655765 & t) << 1 | (2863311530 & t) >>> 1, + t = (858993459 & t) << 2 | (3435973836 & t) >>> 2, + t = (252645135 & t) << 4 | (4042322160 & t) >>> 4, + t = (16711935 & t) << 8 | (4278255360 & t) >>> 8, + e[0] = t, + 2.3283064365386963e-10 * e[0] + }(t) + } + , + s.createHammersleyTex = function(t, e) { + var i = new Uint8Array(t * e * 4) + , n = 0 + , a = 0; + for (a = 0; a < t * e; a++) { + var r = this.radicalInverse_VdC(a); + i[n++] = 255 * r, + i[n++] = 0, + i[n++] = 0, + i[n++] = 255 + } + return i + } + , + r(0, s, "normalTexture", function() { + return this._getTexture(2) + }, function(t) { + this._setTexture(2, t) + }), + r(0, s, "has_tangent", null, function(t) { + this._addShaderDefine(e.SHADERDEFINE_HAS_TANGENT) + }), + r(0, s, "roughness", function() { + return this._getNumber(6) + }, function(t) { + this._setNumber(6, t), + this._addShaderDefine(e.SHADERDEFINE_FIX_ROUGHNESS) + }), + r(0, s, "metaless", function() { + return this._getNumber(7) + }, function(t) { + this._setNumber(7, t), + this._addShaderDefine(e.SHADERDEFINE_FIX_METALESS) + }), + r(0, s, "pbrlutTexture", function() { + return this._getTexture(4) + }, function(t) { + this._setTexture(4, t) + }), + r(0, s, "use_groundtruth", null, function(t) { + if (t) { + if (this._addShaderDefine(e.SHADERDEFINE_USE_GROUNDTRUTH), + !laya.d3.core.material.PBRMaterial.HammersleyNoiseTex) { + var i = this.createHammersleyTex(32, 32); + laya.d3.core.material.PBRMaterial.HammersleyNoiseTex = en.create(i.buffer, 32, 32, 9728, 9728, !1) + } + this._setTexture(15, e.HammersleyNoiseTex) + } else + laya.d3.core.material.PBRMaterial.HammersleyNoiseTex = null, + this._removeShaderDefine(e.SHADERDEFINE_USE_GROUNDTRUTH) + }), + r(0, s, "transformUV", function() { + return this._transformUV + }, function(t) { + this._transformUV = t, + this._setMatrix4x4(8, t.matrix), + this._conchMaterial && this._conchMaterial.setShaderValue(8, t.matrix.elements, 0) + }), + r(0, s, "diffuseTexture", function() { + return this._getTexture(1) + }, function(t) { + this._setTexture(1, t) + }), + r(0, s, "renderMode", null, function(t) { + switch (t) { + case 1: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 0, + this.alphaTest = !1; + break; + case 2: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 0, + this.blend = 0, + this.alphaTest = !1; + break; + case 3: + this.depthWrite = !0, + this.cull = 2, + this.blend = 0, + this.renderQueue = 2e3; + break; + case 13: + this.renderQueue = 3e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771; + break; + default: + throw new Error("PBRMaterial:renderMode value error.") + } + }), + r(0, s, "pbrInfoTexture", function() { + return this._getTexture(3) + }, function(t) { + this._setTexture(3, t), + this._addShaderDefine(e.SHADERDEFINE_HAS_PBRINFO) + }), + r(0, s, "testClipZ", null, function(t) { + this._addShaderDefine(e.SHADERDEFINE_TEST_CLIPZ) + }), + e.__init__ = function() { + e.SHADERDEFINE_FIX_METALESS = e.shaderDefines.registerDefine("FIX_METALESS"), + e.SHADERDEFINE_FIX_ROUGHNESS = e.shaderDefines.registerDefine("FIX_ROUGHNESS"), + e.SHADERDEFINE_HAS_TANGENT = e.shaderDefines.registerDefine("HAS_TANGENT"), + e.SHADERDEFINE_HAS_PBRINFO = e.shaderDefines.registerDefine("HAS_PBRINFO"), + e.SHADERDEFINE_USE_GROUNDTRUTH = e.shaderDefines.registerDefine("USE_GROUNDTRUTH"), + e.SHADERDEFINE_TEST_CLIPZ = e.shaderDefines.registerDefine("CLIPZ") + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e.DIFFUSETEXTURE = 1, + e.NORMALTEXTURE = 2, + e.PBRINFOTEXTURE = 3, + e.PBRLUTTEXTURE = 4, + e.UVANIAGE = 5, + e.MATERIALROUGHNESS = 6, + e.MATERIALMETALESS = 7, + e.UVMATRIX = 8, + e.UVAGE = 9, + e.AOOBJPOS = 14, + e.HSNOISETEXTURE = 15, + e.SHADERDEFINE_FIX_ROUGHNESS = 0, + e.SHADERDEFINE_FIX_METALESS = 0, + e.SHADERDEFINE_HAS_TANGENT = 0, + e.SHADERDEFINE_TEST_CLIPZ = 0, + e.SHADERDEFINE_HAS_PBRINFO = 0, + e.SHADERDEFINE_USE_GROUNDTRUTH = 0, + e.RENDERMODE_OPAQUE = 1, + e.RENDERMODE_OPAQUEDOUBLEFACE = 2, + e.RENDERMODE_CUTOUT = 3, + e.RENDERMODE_CUTOUTDOUBLEFACE = 4, + e.RENDERMODE_TRANSPARENT = 13, + e.pbrlutTex = null, + e.HammersleyNoiseTex = null, + n(e, ["defaultMaterial", function() { + return this.defaultMaterial = new e + } + , "shaderDefines", function() { + return this.shaderDefines = new Ue(mi.shaderDefines) + } + ]), + e + }(mi) + , Gi = function(t) { + function e() { + e.__super.call(this), + this.setShaderName("PBRSpecular"), + this._setColor(7, new ke(1,1,1,1)), + this._setColor(9, new ke(0,0,0,0)), + this._setColor(8, new ke(.2,.2,.2,.2)), + this._setNumber(10, .5), + this._setNumber(11, 1), + this._setNumber(12, 0), + this._setNumber(13, 1), + this._setNumber(14, 1), + this._setNumber(15, .001), + this._setBool(16, !1), + this._setNumber(0, .5) + } + a(e, "laya.d3.core.material.PBRSpecularMaterial", mi); + var i = e.prototype; + return r(0, i, "albedoColor", function() { + return this._getColor(7) + }, function(t) { + this._setColor(7, t) + }), + r(0, i, "specularTexture", function() { + return this._getTexture(2) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_SPECULARTEXTURE) : this._removeShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_SPECULARTEXTURE), + this._setTexture(2, t) + }), + r(0, i, "albedoTexture", function() { + return this._getTexture(1) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_DIFFUSETEXTURE) : this._removeShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_DIFFUSETEXTURE), + this._setTexture(1, t) + }), + r(0, i, "occlusionTexture", function() { + return this._getTexture(5) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_OCCLUSIONTEXTURE) : this._removeShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_OCCLUSIONTEXTURE), + this._setTexture(5, t) + }), + r(0, i, "normalTexture", function() { + return this._getTexture(3) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_NORMALTEXTURE) : this._removeShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_NORMALTEXTURE), + this._setTexture(3, t) + }), + r(0, i, "parallaxTexture", function() { + return this._getTexture(4) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_PARALLAXTEXTURE) : this._removeShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_PARALLAXTEXTURE), + this._setTexture(4, t) + }), + r(0, i, "emissionColor", function() { + return this._getColor(9) + }, function(t) { + this._setColor(9, t) + }), + r(0, i, "normalTextureScale", function() { + return this._getNumber(14) + }, function(t) { + this._setNumber(14, t) + }), + r(0, i, "parallaxTextureScale", function() { + return this._getNumber(15) + }, function(t) { + t = Math.max(.005, Math.min(.08, t)), + this._setNumber(15, t) + }), + r(0, i, "occlusionTextureStrength", function() { + return this._getNumber(13) + }, function(t) { + t = Math.max(0, Math.min(1, t)), + this._setNumber(13, t) + }), + r(0, i, "specularColor", function() { + return this._getColor(8) + }, function(t) { + this._setColor(8, t) + }), + r(0, i, "smoothness", function() { + return this._getNumber(10) + }, function(t) { + t = Math.max(0, Math.min(1, t)), + this._setNumber(10, t) + }), + r(0, i, "smoothnessTextureScale", function() { + return this._getNumber(11) + }, function(t) { + t = Math.max(0, Math.min(1, t)), + this._setNumber(11, t) + }), + r(0, i, "smoothnessSource", function() { + return this._getNumber(12) + }, function(t) { + 1 == t ? this._addShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_SMOOTHNESSSOURCE_DIFFUSETEXTURE_ALPHA) : (this._removeShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_SMOOTHNESSSOURCE_DIFFUSETEXTURE_ALPHA), + t = 0), + this._setNumber(12, t) + }), + r(0, i, "enableEmission", function() { + return this._getBool(16) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_EMISSION) : this._removeShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_EMISSION), + this._setBool(16, t) + }), + r(0, i, "emissionTexture", function() { + return this._getTexture(6) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_EMISSIONTEXTURE) : this._removeShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_EMISSIONTEXTURE), + this._setTexture(6, t) + }), + r(0, i, "tilingOffset", function() { + return this._getColor(17) + }, function(t) { + if (t) { + var e = t.elements; + 1 != e[0] || 1 != e[1] || 0 != e[2] || 0 != e[3] ? this._addShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_TILINGOFFSET) : this._removeShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_TILINGOFFSET) + } else + this._removeShaderDefine(laya.d3.core.material.PBRSpecularMaterial.SHADERDEFINE_TILINGOFFSET); + this._setColor(17, t) + }), + e.__init__ = function() { + e.SHADERDEFINE_DIFFUSETEXTURE = e.shaderDefines.registerDefine("DIFFUSETEXTURE"), + e.SHADERDEFINE_SPECULARTEXTURE = e.shaderDefines.registerDefine("SPECULARTEXTURE"), + e.SHADERDEFINE_SMOOTHNESSSOURCE_DIFFUSETEXTURE_ALPHA = e.shaderDefines.registerDefine("SMOOTHNESSSOURCE_DIFFUSETEXTURE_ALPHA"), + e.SHADERDEFINE_NORMALTEXTURE = e.shaderDefines.registerDefine("NORMALTEXTURE"), + e.SHADERDEFINE_PARALLAXTEXTURE = e.shaderDefines.registerDefine("PARALLAXTEXTURE"), + e.SHADERDEFINE_OCCLUSIONTEXTURE = e.shaderDefines.registerDefine("OCCLUSIONTEXTURE"), + e.SHADERDEFINE_EMISSION = e.shaderDefines.registerDefine("EMISSION"), + e.SHADERDEFINE_EMISSIONTEXTURE = e.shaderDefines.registerDefine("EMISSIONTEXTURE"), + e.SHADERDEFINE_TILINGOFFSET = e.shaderDefines.registerDefine("TILINGOFFSET") + } + , + e.SmoothnessSource_MetallicGlossTexture_Alpha = 0, + e.SmoothnessSource_DiffuseTexture_Alpha = 1, + e.SHADERDEFINE_DIFFUSETEXTURE = 0, + e.SHADERDEFINE_NORMALTEXTURE = 0, + e.SHADERDEFINE_SMOOTHNESSSOURCE_DIFFUSETEXTURE_ALPHA = 0, + e.SHADERDEFINE_SPECULARTEXTURE = 0, + e.SHADERDEFINE_OCCLUSIONTEXTURE = 0, + e.SHADERDEFINE_PARALLAXTEXTURE = 0, + e.SHADERDEFINE_EMISSION = 0, + e.SHADERDEFINE_EMISSIONTEXTURE = 0, + e.SHADERDEFINE_TILINGOFFSET = 0, + e.DIFFUSETEXTURE = 1, + e.SPECULARTEXTURE = 2, + e.NORMALTEXTURE = 3, + e.PARALLAXTEXTURE = 4, + e.OCCLUSIONTEXTURE = 5, + e.EMISSIONTEXTURE = 6, + e.DIFFUSECOLOR = 7, + e.SPECULARCOLOR = 8, + e.EMISSIONCOLOR = 9, + e.SMOOTHNESS = 10, + e.SMOOTHNESSSCALE = 11, + e.SMOOTHNESSSOURCE = 12, + e.OCCLUSIONSTRENGTH = 13, + e.NORMALSCALE = 14, + e.PARALLAXSCALE = 15, + e.ENABLEEMISSION = 16, + e.TILINGOFFSET = 17, + n(e, ["shaderDefines", function() { + return this.shaderDefines = new Ue(mi.shaderDefines) + } + ]), + e + }() + , zi = function(t) { + function e() { + e.__super.call(this), + this.setShaderName("PBRStandard"), + this._setColor(7, new ke(1,1,1,1)), + this._setColor(8, new ke(0,0,0,0)), + this._setNumber(9, 0), + this._setNumber(10, .5), + this._setNumber(11, 1), + this._setNumber(12, 0), + this._setNumber(13, 1), + this._setNumber(14, 1), + this._setNumber(15, .001), + this._setBool(16, !1), + this._setNumber(0, .5) + } + a(e, "laya.d3.core.material.PBRStandardMaterial", mi); + var i = e.prototype; + return r(0, i, "albedoColor", function() { + return this._getColor(7) + }, function(t) { + this._setColor(7, t) + }), + r(0, i, "albedoTexture", function() { + return this._getTexture(1) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_DIFFUSETEXTURE) : this._removeShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_DIFFUSETEXTURE), + this._setTexture(1, t) + }), + r(0, i, "enableEmission", function() { + return this._getBool(16) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_EMISSION) : this._removeShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_EMISSION), + this._setBool(16, t) + }), + r(0, i, "metallicGlossTexture", function() { + return this._getTexture(2) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_METALLICGLOSSTEXTURE) : this._removeShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_METALLICGLOSSTEXTURE), + this._setTexture(2, t) + }), + r(0, i, "occlusionTexture", function() { + return this._getTexture(5) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_OCCLUSIONTEXTURE) : this._removeShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_OCCLUSIONTEXTURE), + this._setTexture(5, t) + }), + r(0, i, "normalTexture", function() { + return this._getTexture(3) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_NORMALTEXTURE) : this._removeShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_NORMALTEXTURE), + this._setTexture(3, t) + }), + r(0, i, "parallaxTexture", function() { + return this._getTexture(4) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_PARALLAXTEXTURE) : this._removeShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_PARALLAXTEXTURE), + this._setTexture(4, t) + }), + r(0, i, "emissionColor", function() { + return this._getColor(8) + }, function(t) { + this._setColor(8, t) + }), + r(0, i, "normalTextureScale", function() { + return this._getNumber(14) + }, function(t) { + this._setNumber(14, t) + }), + r(0, i, "parallaxTextureScale", function() { + return this._getNumber(15) + }, function(t) { + t = Math.max(.005, Math.min(.08, t)), + this._setNumber(15, t) + }), + r(0, i, "occlusionTextureStrength", function() { + return this._getNumber(13) + }, function(t) { + t = Math.max(0, Math.min(1, t)), + this._setNumber(13, t) + }), + r(0, i, "metallic", function() { + return this._getNumber(9) + }, function(t) { + t = Math.max(0, Math.min(1, t)), + this._setNumber(9, t) + }), + r(0, i, "smoothness", function() { + return this._getNumber(10) + }, function(t) { + t = Math.max(0, Math.min(1, t)), + this._setNumber(10, t) + }), + r(0, i, "smoothnessTextureScale", function() { + return this._getNumber(11) + }, function(t) { + t = Math.max(0, Math.min(1, t)), + this._setNumber(11, t) + }), + r(0, i, "smoothnessSource", function() { + return this._getNumber(12) + }, function(t) { + 1 == t ? this._addShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_SMOOTHNESSSOURCE_DIFFUSETEXTURE_ALPHA) : (this._removeShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_SMOOTHNESSSOURCE_DIFFUSETEXTURE_ALPHA), + t = 0), + this._setNumber(12, t) + }), + r(0, i, "emissionTexture", function() { + return this._getTexture(6) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_EMISSIONTEXTURE) : this._removeShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_EMISSIONTEXTURE), + this._setTexture(6, t) + }), + r(0, i, "tilingOffset", function() { + return this._getColor(17) + }, function(t) { + if (t) { + var e = t.elements; + 1 != e[0] || 1 != e[1] || 0 != e[2] || 0 != e[3] ? this._addShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_TILINGOFFSET) : this._removeShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_TILINGOFFSET) + } else + this._removeShaderDefine(laya.d3.core.material.PBRStandardMaterial.SHADERDEFINE_TILINGOFFSET); + this._setColor(17, t) + }), + e.__init__ = function() { + e.SHADERDEFINE_DIFFUSETEXTURE = e.shaderDefines.registerDefine("DIFFUSETEXTURE"), + e.SHADERDEFINE_METALLICGLOSSTEXTURE = e.shaderDefines.registerDefine("METALLICGLOSSTEXTURE"), + e.SHADERDEFINE_SMOOTHNESSSOURCE_DIFFUSETEXTURE_ALPHA = e.shaderDefines.registerDefine("SMOOTHNESSSOURCE_DIFFUSETEXTURE_ALPHA"), + e.SHADERDEFINE_NORMALTEXTURE = e.shaderDefines.registerDefine("NORMALTEXTURE"), + e.SHADERDEFINE_PARALLAXTEXTURE = e.shaderDefines.registerDefine("PARALLAXTEXTURE"), + e.SHADERDEFINE_OCCLUSIONTEXTURE = e.shaderDefines.registerDefine("OCCLUSIONTEXTURE"), + e.SHADERDEFINE_EMISSION = e.shaderDefines.registerDefine("EMISSION"), + e.SHADERDEFINE_EMISSIONTEXTURE = e.shaderDefines.registerDefine("EMISSIONTEXTURE"), + e.SHADERDEFINE_TILINGOFFSET = e.shaderDefines.registerDefine("TILINGOFFSET") + } + , + e.SmoothnessSource_MetallicGlossTexture_Alpha = 0, + e.SmoothnessSource_DiffuseTexture_Alpha = 1, + e.SHADERDEFINE_DIFFUSETEXTURE = 0, + e.SHADERDEFINE_NORMALTEXTURE = 0, + e.SHADERDEFINE_SMOOTHNESSSOURCE_DIFFUSETEXTURE_ALPHA = 0, + e.SHADERDEFINE_METALLICGLOSSTEXTURE = 0, + e.SHADERDEFINE_OCCLUSIONTEXTURE = 0, + e.SHADERDEFINE_PARALLAXTEXTURE = 0, + e.SHADERDEFINE_EMISSION = 0, + e.SHADERDEFINE_EMISSIONTEXTURE = 0, + e.SHADERDEFINE_TILINGOFFSET = 0, + e.DIFFUSETEXTURE = 1, + e.METALLICGLOSSTEXTURE = 2, + e.NORMALTEXTURE = 3, + e.PARALLAXTEXTURE = 4, + e.OCCLUSIONTEXTURE = 5, + e.EMISSIONTEXTURE = 6, + e.DIFFUSECOLOR = 7, + e.EMISSIONCOLOR = 8, + e.METALLIC = 9, + e.SMOOTHNESS = 10, + e.SMOOTHNESSSCALE = 11, + e.SMOOTHNESSSOURCE = 12, + e.OCCLUSIONSTRENGTH = 13, + e.NORMALSCALE = 14, + e.PARALLAXSCALE = 15, + e.ENABLEEMISSION = 16, + e.TILINGOFFSET = 17, + n(e, ["shaderDefines", function() { + return this.shaderDefines = new Ue(mi.shaderDefines) + } + ]), + e + }() + , ji = function(t) { + function e() { + this._transformUV = null, + e.__super.call(this), + this.setShaderName("SIMPLE"), + this._setColor(9, new Be(.6,.6,.6)), + this._setColor(10, new Be(1,1,1)), + this._setColor(11, new ke(1,1,1,8)), + this._setColor(12, new Be(1,1,1)), + this._setColor(7, new ke(1,1,1,1)), + this._setNumber(0, .5), + this._setColor(15, new ke(1,1,0,0)), + this.renderMode = 1 + } + a(e, "laya.d3.core.material.StandardMaterial", t); + var s = e.prototype; + return s.disableLight = function() { + this._addDisablePublicShaderDefine(ci.SHADERDEFINE_POINTLIGHT | ci.SHADERDEFINE_SPOTLIGHT | ci.SHADERDEFINE_DIRECTIONLIGHT) + } + , + s.disableFog = function() { + this._addDisablePublicShaderDefine(ci.SHADERDEFINE_FOG) + } + , + s.onAsynLoaded = function(i, n, a) { + var r = n[0]; + if (r.version) + t.prototype.onAsynLoaded.call(this, i, n, a); + else { + var s = n[1] + , o = r.props; + for (var l in o) + this[l] = o[l]; + e._parseStandardMaterial(s, this, r), + this._endLoaded() + } + } + , + s.cloneTo = function(e) { + t.prototype.cloneTo.call(this, e); + var i = e; + this._transformUV && (i._transformUV = this._transformUV.clone()) + } + , + r(0, s, "ambientColor", function() { + return this._getColor(9) + }, function(t) { + this._setColor(9, t) + }), + r(0, s, "ambientTexture", function() { + return this._getTexture(5) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_AMBIENTMAP) : this._removeShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_AMBIENTMAP), + this._setTexture(5, t) + }), + r(0, s, "renderMode", null, function(t) { + switch (t) { + case 1: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 0, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 2: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 0, + this.blend = 0, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 3: + this.depthWrite = !0, + this.cull = 2, + this.blend = 0, + this.renderQueue = 2e3, + this.alphaTest = !0, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 4: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 0, + this.blend = 0, + this.alphaTest = !0, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 13: + this.renderQueue = 3e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 14: + this.renderQueue = 3e3, + this.depthWrite = !0, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 15: + this.renderQueue = 3e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1, + this.alphaTest = !1, + this._addShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 16: + this.renderQueue = 3e3, + this.depthWrite = !0, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1, + this.alphaTest = !1, + this._addShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 5: + this.renderQueue = 3e3, + this.depthWrite = !1, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 6: + this.renderQueue = 3e3, + this.depthWrite = !1, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 7: + this.renderQueue = 3e3, + this.depthWrite = !1, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1, + this.alphaTest = !1, + this._addShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 8: + this.renderQueue = 3e3, + this.depthWrite = !1, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1, + this.alphaTest = !1, + this._addShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 9: + this.renderQueue = 3e3, + this.depthTest = 513, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 10: + this.renderQueue = 3e3, + this.depthTest = 513, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 11: + this.renderQueue = 3e3, + this.depthTest = 513, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1, + this.alphaTest = !1, + this._addShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 12: + this.renderQueue = 3e3, + this.depthTest = 513, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1, + this.alphaTest = !1, + this._addShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + default: + throw new Error("Material:renderMode value error.") + } + this._conchMaterial && this._conchMaterial.setRenderMode(t) + }), + r(0, s, "reflectColor", function() { + return this._getColor(12) + }, function(t) { + this._setColor(12, t) + }), + r(0, s, "tilingOffset", function() { + return this._getColor(15) + }, function(t) { + if (t) { + var e = t.elements; + 1 != e[0] || 1 != e[1] || 0 != e[2] || 0 != e[3] ? this._addShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_TILINGOFFSET) : this._removeShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_TILINGOFFSET) + } else + this._removeShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_TILINGOFFSET); + this._setColor(15, t) + }), + r(0, s, "albedo", function() { + return this._getColor(7) + }, function(t) { + this._setColor(7, t) + }), + r(0, s, "diffuseColor", function() { + return this._getColor(10) + }, function(t) { + this._setColor(10, t) + }), + r(0, s, "albedoColor", function() { + return this._getColor(7) + }, function(t) { + this._setColor(7, t) + }), + r(0, s, "specularColor", function() { + return this._getColor(11) + }, function(t) { + this._setColor(11, t) + }), + r(0, s, "diffuseTexture", function() { + return this._getTexture(1) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_DIFFUSEMAP) : this._removeShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_DIFFUSEMAP), + this._setTexture(1, t) + }), + r(0, s, "normalTexture", function() { + return this._getTexture(2) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_NORMALMAP) : this._removeShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_NORMALMAP), + this._setTexture(2, t) + }), + r(0, s, "specularTexture", function() { + return this._getTexture(3) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_SPECULARMAP) : this._removeShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_SPECULARMAP), + this._setTexture(3, t) + }), + r(0, s, "emissiveTexture", function() { + return this._getTexture(4) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_EMISSIVEMAP) : this._removeShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_EMISSIVEMAP), + this._setTexture(4, t) + }), + r(0, s, "reflectTexture", function() { + return this._getTexture(6) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_REFLECTMAP) : this._removeShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_REFLECTMAP), + this._setTexture(6, t) + }), + r(0, s, "transformUV", function() { + return this._transformUV + }, function(t) { + this._transformUV = t, + this._setMatrix4x4(13, t.matrix), + t ? this._addShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_UVTRANSFORM) : this._removeShaderDefine(laya.d3.core.material.StandardMaterial.SHADERDEFINE_UVTRANSFORM), + this._conchMaterial && this._conchMaterial.setShaderValue(13, t.matrix.elements, 0) + }), + e.__init__ = function() { + e.SHADERDEFINE_DIFFUSEMAP = e.shaderDefines.registerDefine("DIFFUSEMAP"), + e.SHADERDEFINE_NORMALMAP = e.shaderDefines.registerDefine("NORMALMAP"), + e.SHADERDEFINE_SPECULARMAP = e.shaderDefines.registerDefine("SPECULARMAP"), + e.SHADERDEFINE_EMISSIVEMAP = e.shaderDefines.registerDefine("EMISSIVEMAP"), + e.SHADERDEFINE_AMBIENTMAP = e.shaderDefines.registerDefine("AMBIENTMAP"), + e.SHADERDEFINE_REFLECTMAP = e.shaderDefines.registerDefine("REFLECTMAP"), + e.SHADERDEFINE_UVTRANSFORM = e.shaderDefines.registerDefine("UVTRANSFORM"), + e.SHADERDEFINE_TILINGOFFSET = e.shaderDefines.registerDefine("TILINGOFFSET"), + e.SHADERDEFINE_ADDTIVEFOG = e.shaderDefines.registerDefine("ADDTIVEFOG") + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e._parseStandardMaterial = function(t, e, i) { + var n = i.customProps + , a = n.ambientColor; + e.ambientColor = new Be(a[0],a[1],a[2]); + var r = n.diffuseColor; + e.diffuseColor = new Be(r[0],r[1],r[2]); + var s = n.specularColor; + e.specularColor = new ke(s[0],s[1],s[2],s[3]); + var o = n.reflectColor; + e.reflectColor = new Be(o[0],o[1],o[2]); + var l = n.albedoColor; + l && (e.albedo = new ke(l[0],l[1],l[2],l[3])); + var h = n.diffuseTexture.texture2D; + h && (e.diffuseTexture = v.getRes(t[h])); + var c = n.normalTexture.texture2D; + c && (e.normalTexture = v.getRes(t[c])); + var _ = n.specularTexture.texture2D; + _ && (e.specularTexture = v.getRes(t[_])); + var u = n.emissiveTexture.texture2D; + u && (e.emissiveTexture = v.getRes(t[u])); + var d = n.ambientTexture.texture2D; + d && (e.ambientTexture = v.getRes(t[d])); + var f = n.reflectTexture.texture2D; + f && (e.reflectTexture = v.getRes(t[f])) + } + , + e.RENDERMODE_OPAQUE = 1, + e.RENDERMODE_OPAQUEDOUBLEFACE = 2, + e.RENDERMODE_CUTOUT = 3, + e.RENDERMODE_CUTOUTDOUBLEFACE = 4, + e.RENDERMODE_TRANSPARENT = 13, + e.RENDERMODE_TRANSPARENTDOUBLEFACE = 14, + e.RENDERMODE_ADDTIVE = 15, + e.RENDERMODE_ADDTIVEDOUBLEFACE = 16, + e.RENDERMODE_DEPTHREAD_TRANSPARENT = 5, + e.RENDERMODE_DEPTHREAD_TRANSPARENTDOUBLEFACE = 6, + e.RENDERMODE_DEPTHREAD_ADDTIVE = 7, + e.RENDERMODE_DEPTHREAD_ADDTIVEDOUBLEFACE = 8, + e.RENDERMODE_NONDEPTH_TRANSPARENT = 9, + e.RENDERMODE_NONDEPTH_TRANSPARENTDOUBLEFACE = 10, + e.RENDERMODE_NONDEPTH_ADDTIVE = 11, + e.RENDERMODE_NONDEPTH_ADDTIVEDOUBLEFACE = 12, + e.SHADERDEFINE_DIFFUSEMAP = 0, + e.SHADERDEFINE_NORMALMAP = 0, + e.SHADERDEFINE_SPECULARMAP = 0, + e.SHADERDEFINE_EMISSIVEMAP = 0, + e.SHADERDEFINE_AMBIENTMAP = 0, + e.SHADERDEFINE_REFLECTMAP = 0, + e.SHADERDEFINE_UVTRANSFORM = 0, + e.SHADERDEFINE_TILINGOFFSET = 0, + e.SHADERDEFINE_ADDTIVEFOG = 0, + e.DIFFUSETEXTURE = 1, + e.NORMALTEXTURE = 2, + e.SPECULARTEXTURE = 3, + e.EMISSIVETEXTURE = 4, + e.AMBIENTTEXTURE = 5, + e.REFLECTTEXTURE = 6, + e.ALBEDO = 7, + e.UVANIAGE = 8, + e.MATERIALAMBIENT = 9, + e.MATERIALDIFFUSE = 10, + e.MATERIALSPECULAR = 11, + e.MATERIALREFLECT = 12, + e.UVMATRIX = 13, + e.UVAGE = 14, + e.TILINGOFFSET = 15, + n(e, ["defaultMaterial", function() { + return this.defaultMaterial = new e + } + , "shaderDefines", function() { + return this.shaderDefines = new Ue(mi.shaderDefines) + } + ]), + e + }(mi) + , Wi = function(t) { + function e() { + this._diffuseScale1 = null, + this._diffuseScale2 = null, + this._diffuseScale3 = null, + this._diffuseScale4 = null, + e.__super.call(this), + this.setShaderName("Terrain"), + this.renderMode = 1, + this._diffuseScale1 = new Ae, + this._diffuseScale2 = new Ae, + this._diffuseScale3 = new Ae, + this._diffuseScale4 = new Ae, + this.ambientColor = new Be(.6,.6,.6), + this.diffuseColor = new Be(1,1,1), + this.specularColor = new ke(.2,.2,.2,32) + } + a(e, "laya.d3.core.material.TerrainMaterial", t); + var s = e.prototype; + return s.setDiffuseScale1 = function(t, e) { + this._diffuseScale1.x = t, + this._diffuseScale1.y = e, + this._setColor(6, this._diffuseScale1) + } + , + s.setDiffuseScale2 = function(t, e) { + this._diffuseScale2.x = t, + this._diffuseScale2.y = e, + this._setColor(7, this._diffuseScale2) + } + , + s.setDiffuseScale3 = function(t, e) { + this._diffuseScale3.x = t, + this._diffuseScale3.y = e, + this._setColor(8, this._diffuseScale3) + } + , + s.setDiffuseScale4 = function(t, e) { + this._diffuseScale4.x = t, + this._diffuseScale4.y = e, + this._setColor(9, this._diffuseScale4) + } + , + s.setDetailNum = function(t) { + switch (t) { + case 1: + this._addShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM1), + this._removeShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM2), + this._removeShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM3), + this._removeShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM4); + break; + case 2: + this._addShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM2), + this._removeShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM1), + this._removeShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM3), + this._removeShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM4); + break; + case 3: + this._addShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM3), + this._removeShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM1), + this._removeShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM2), + this._removeShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM4); + break; + case 4: + this._addShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM4), + this._removeShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM1), + this._removeShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM2), + this._removeShaderDefine(laya.d3.core.material.TerrainMaterial.SHADERDEFINE_DETAIL_NUM3) + } + } + , + s.disableLight = function() { + this._addDisablePublicShaderDefine(ci.SHADERDEFINE_POINTLIGHT | ci.SHADERDEFINE_SPOTLIGHT | ci.SHADERDEFINE_DIRECTIONLIGHT) + } + , + s.setShaderName = function(e) { + t.prototype.setShaderName.call(this, e) + } + , + r(0, s, "renderMode", null, function(t) { + switch (t) { + case 1: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 0, + this.depthTest = 513; + break; + case 2: + this.renderQueue = 2e3, + this.depthWrite = !1, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.depthTest = 515; + break; + default: + throw new Error("TerrainMaterial:renderMode value error.") + } + this._conchMaterial && this._conchMaterial.setRenderMode(t) + }), + r(0, s, "diffuseTexture2", function() { + return this._getTexture(3) + }, function(t) { + this._setTexture(3, t) + }), + r(0, s, "ambientColor", function() { + return this._getColor(10) + }, function(t) { + this._setColor(10, t) + }), + r(0, s, "diffuseTexture4", function() { + return this._getTexture(5) + }, function(t) { + this._setTexture(5, t) + }), + r(0, s, "diffuseColor", function() { + return this._getColor(11) + }, function(t) { + this._setColor(11, t) + }), + r(0, s, "diffuseTexture1", function() { + return this._getTexture(2) + }, function(t) { + this._setTexture(2, t) + }), + r(0, s, "specularColor", function() { + return this._getColor(12) + }, function(t) { + this._setColor(12, t) + }), + r(0, s, "diffuseTexture3", function() { + return this._getTexture(4) + }, function(t) { + this._setTexture(4, t) + }), + r(0, s, "splatAlphaTexture", function() { + return this._getTexture(0) + }, function(t) { + this._setTexture(0, t) + }), + r(0, s, "normalTexture", function() { + return this._getTexture(1) + }, function(t) { + this._setTexture(1, t) + }), + e.__init__ = function() { + e.SHADERDEFINE_DETAIL_NUM1 = e.shaderDefines.registerDefine("DETAIL_NUM1"), + e.SHADERDEFINE_DETAIL_NUM2 = e.shaderDefines.registerDefine("DETAIL_NUM2"), + e.SHADERDEFINE_DETAIL_NUM4 = e.shaderDefines.registerDefine("DETAIL_NUM4"), + e.SHADERDEFINE_DETAIL_NUM3 = e.shaderDefines.registerDefine("DETAIL_NUM3") + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e.RENDERMODE_OPAQUE = 1, + e.RENDERMODE_TRANSPARENT = 2, + e.SPLATALPHATEXTURE = 0, + e.NORMALTEXTURE = 1, + e.DIFFUSETEXTURE1 = 2, + e.DIFFUSETEXTURE2 = 3, + e.DIFFUSETEXTURE3 = 4, + e.DIFFUSETEXTURE4 = 5, + e.DIFFUSESCALE1 = 6, + e.DIFFUSESCALE2 = 7, + e.DIFFUSESCALE3 = 8, + e.DIFFUSESCALE4 = 9, + e.MATERIALAMBIENT = 10, + e.MATERIALDIFFUSE = 11, + e.MATERIALSPECULAR = 12, + e.SHADERDEFINE_DETAIL_NUM1 = 0, + e.SHADERDEFINE_DETAIL_NUM2 = 0, + e.SHADERDEFINE_DETAIL_NUM3 = 0, + e.SHADERDEFINE_DETAIL_NUM4 = 0, + n(e, ["defaultMaterial", function() { + return this.defaultMaterial = new e + } + , "shaderDefines", function() { + return this.shaderDefines = new Ue(mi.shaderDefines) + } + ]), + e + }(mi) + , Xi = function(t) { + function e() { + this._useVertexDeep = !1, + e.__super.call(this), + this.setShaderName("Water") + } + a(e, "laya.d3.core.material.WaterMaterial", t); + var s = e.prototype; + return s.disableFog = function() { + this._addDisablePublicShaderDefine(ci.SHADERDEFINE_FOG) + } + , + s.onAsynLoaded = function(e, i, n) { + t.prototype.onAsynLoaded.call(this, e, i, n) + } + , + r(0, s, "diffuseTexture", function() { + return this._getTexture(1) + }, function(t) { + this._setTexture(1, t) + }), + r(0, s, "normalTexture", function() { + return this._getTexture(2) + }, function(t) { + this._setTexture(2, t) + }), + r(0, s, "underWaterTexture", function() { + return this._getTexture(3) + }, function(t) { + this._setTexture(3, t) + }), + r(0, s, "deepColorTexture", function() { + return this._getTexture(10) + }, function(t) { + this._setTexture(10, t) + }), + r(0, s, "useFoam", null, function(t) { + t ? this._addShaderDefine(e.SHADERDEFINE_USE_FOAM) : this._removeShaderDefine(e.SHADERDEFINE_USE_FOAM) + }), + r(0, s, "skyTexture", function() { + return this._getTexture(11) + }, function(t) { + this._setTexture(11, t) + }), + r(0, s, "deepScale", function() { + return this._getNumber(20) + }, function(t) { + this._setNumber(20, t) + }), + r(0, s, "detailTexture", function() { + return this._getTexture(9) + }, function(t) { + this._setTexture(9, t) + }), + r(0, s, "foamTexture", function() { + return this._getTexture(17) + }, function(t) { + this._setTexture(17, t) + }), + r(0, s, "waterInfoTexture", function() { + return this._getTexture(16) + }, function(t) { + this._setTexture(16, t) + }), + r(0, s, "vertexDispTexture", function() { + return this._getTexture(4) + }, function(t) { + this._setTexture(4, t) + }), + r(0, s, "currentTm", function() { + return this._getNumber(8) + }, function(t) { + this._setNumber(8, t) + }), + r(0, s, "waveInfo", function() { + return this._getBuffer(12) + }, function(t) { + this._setBuffer(12, t) + }), + r(0, s, "waveInfoD", function() { + return this._getBuffer(13) + }, function(t) { + this._setBuffer(13, t) + }), + r(0, s, "waveMainDir", function() { + return this._getNumber(14) + }, function(t) { + this._setNumber(14, t * Math.PI / 180) + }), + r(0, s, "geoWaveUVScale", function() { + return this._getNumber(18) + }, function(t) { + this._setNumber(18, t) + }), + r(0, s, "windSpeed", function() { + return 0 + }, function(t) {}), + r(0, s, "scrsize", null, function(t) { + this._setBuffer(15, t) + }), + r(0, s, "seaColor", function() { + return this._getBuffer(19) + }, function(t) { + this._setBuffer(19, t) + }), + r(0, s, "useVertexDeep", function() { + return this._useVertexDeep + }, function(t) { + this._useVertexDeep = t, + t ? this._addShaderDefine(e.SHADERDEFINE_USEVERTEXHEIGHT) : this._removeShaderDefine(e.SHADERDEFINE_USEVERTEXHEIGHT) + }), + r(0, s, "windDir", function() { + return 0 + }, function(t) {}), + r(0, s, "useRefractTexture", null, function(t) { + t ? this._addShaderDefine(e.SHADERDEFINE_USE_REFRACT_TEX) : this._removeShaderDefine(e.SHADERDEFINE_USE_REFRACT_TEX) + }), + r(0, s, "renderMode", null, function(t) { + switch (t) { + case 1: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 0, + this.alphaTest = !1; + break; + case 2: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 0, + this.blend = 0, + this.alphaTest = !1; + break; + case 3: + this.depthWrite = !0, + this.cull = 2, + this.blend = 0, + this.renderQueue = 2e3; + break; + case 13: + this.renderQueue = 3e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771; + break; + default: + throw new Error("PBRMaterial:renderMode value error.") + } + }), + e.__init__ = function() { + e.SHADERDEFINE_CUBE_ENV = e.shaderDefines.registerDefine("CUBE_ENV"), + e.SHADERDEFINE_HDR_ENV = e.shaderDefines.registerDefine("HDR_ENV"), + e.SHADERDEFINE_SHOW_NORMAL = e.shaderDefines.registerDefine("SHOW_NORMAL"), + e.SHADERDEFINE_USEVERTEXHEIGHT = e.shaderDefines.registerDefine("USE_VERTEX_DEEPINFO"), + e.SHADERDEFINE_USE_FOAM = e.shaderDefines.registerDefine("USE_FOAM"), + e.SHADERDEFINE_USE_REFRACT_TEX = e.shaderDefines.registerDefine("USE_REFR_TEX") + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e.DIFFUSETEXTURE = 1, + e.NORMALTEXTURE = 2, + e.UNDERWATERTEXTURE = 3, + e.VERTEXDISPTEXTURE = 4, + e.UVANIAGE = 5, + e.UVMATRIX = 6, + e.UVAGE = 7, + e.CURTM = 8, + e.DETAILTEXTURE = 9, + e.DEEPCOLORTEXTURE = 10, + e.SKYTEXTURE = 11, + e.WAVEINFO = 12, + e.WAVEINFOD = 13, + e.WAVEMAINDIR = 14, + e.SCRSIZE = 15, + e.WATERINFO = 16, + e.FOAMTEXTURE = 17, + e.GEOWAVE_UV_SCALE = 18, + e.SEA_COLOR = 19, + e.WAVEINFODEEPSCALE = 20, + e.SHADERDEFINE_SHOW_NORMAL = 0, + e.SHADERDEFINE_CUBE_ENV = 0, + e.SHADERDEFINE_HDR_ENV = 0, + e.SHADERDEFINE_USE_FOAM = 0, + e.SHADERDEFINE_USE_REFRACT_TEX = 0, + e.SHADERDEFINE_USEVERTEXHEIGHT = 0, + e.RENDERMODE_OPAQUE = 1, + e.RENDERMODE_OPAQUEDOUBLEFACE = 2, + e.RENDERMODE_CUTOUT = 3, + e.RENDERMODE_CUTOUTDOUBLEFACE = 4, + e.RENDERMODE_TRANSPARENT = 13, + n(e, ["defaultMaterial", function() { + return this.defaultMaterial = new e + } + , "shaderDefines", function() { + return this.shaderDefines = new Ue(mi.shaderDefines) + } + ]), + e + }(mi) + , qi = function(t) { + function e(t, i, n, a) { + this._indexType = null, + this._indexTypeByteCount = 0, + this._indexCount = 0, + this._canRead = !1, + void 0 === n && (n = 35044), + void 0 === a && (a = !1), + e.__super.call(this), + this._indexType = t, + this._indexCount = i, + this._bufferUsage = n, + this._bufferType = 34963, + this._canRead = a; + var r = 0; + if ("ushort" == t) + this._indexTypeByteCount = 2; + else { + if ("ubyte" != t) + throw new Error("unidentification index type."); + this._indexTypeByteCount = 1 + } + r = this._indexTypeByteCount * i, + this._byteLength = r, + this._bind(), + d._gl.bufferData(this._bufferType, r, this._bufferUsage), + a ? ("ushort" == t ? this._buffer = new Uint16Array(i) : "ubyte" == t && (this._buffer = new Uint8Array(i)), + this.memorySize = 2 * r) : this.memorySize = r + } + a(e, "laya.d3.graphics.IndexBuffer3D", t); + var i = e.prototype; + return i.setData = function(t, e, i, n) { + void 0 === e && (e = 0), + void 0 === i && (i = 0), + void 0 === n && (n = 4294967295); + var a = 0; + if ("ushort" == this._indexType ? (a = 2, + 0 === i && 4294967295 === n || (t = new Uint16Array(t.buffer,i * a,n))) : "ubyte" == this._indexType && (a = 1, + 0 === i && 4294967295 === n || (t = new Uint8Array(t.buffer,i * a,n))), + this._bind(), + d._gl.bufferSubData(this._bufferType, e * a, t), + this._canRead) + if (0 !== e || 0 !== i || 4294967295 !== n) { + var r = this._buffer.length - e; + n > r && (n = r); + for (var s = 0; s < n; s++) + this._buffer[e + s] = t[s] + } else + this._buffer = t + } + , + i.getData = function() { + if (this._canRead) + return this._buffer; + throw new Error("Can't read data from VertexBuffer with only write flag!") + } + , + i.disposeResource = function() { + t.prototype.disposeResource.call(this), + this._buffer = null, + this.memorySize = 0 + } + , + r(0, i, "indexType", function() { + return this._indexType + }), + r(0, i, "indexTypeByteCount", function() { + return this._indexTypeByteCount + }), + r(0, i, "indexCount", function() { + return this._indexCount + }), + r(0, i, "canRead", function() { + return this._canRead + }), + e.INDEXTYPE_UBYTE = "ubyte", + e.INDEXTYPE_USHORT = "ushort", + e.create = function(t, i, n, a) { + return void 0 === n && (n = 35044), + void 0 === a && (a = !1), + new e(t,i,n,a) + } + , + e + }(d) + , Yi = function(t) { + function e(t, i, n, a) { + this._vertexDeclaration = null, + this._vertexCount = 0, + this._canRead = !1, + void 0 === a && (a = !1), + e.__super.call(this), + this._vertexDeclaration = t, + this._vertexCount = i, + this._bufferUsage = n, + this._bufferType = 34962, + this._canRead = a, + this.memorySize = this._byteLength = this._vertexDeclaration.vertexStride * i, + this._bind(), + d._gl.bufferData(this._bufferType, this._byteLength, this._bufferUsage), + a && (this._buffer = new Float32Array(this._byteLength / 4)) + } + a(e, "laya.d3.graphics.VertexBuffer3D", t); + var i = e.prototype; + return i.bindWithIndexBuffer = function(t) { + t && t._bind(), + this._bind() + } + , + i.setData = function(t, e, i, n) { + if (void 0 === e && (e = 0), + void 0 === i && (i = 0), + void 0 === n && (n = 4294967295), + 0 === i && 4294967295 === n || (t = new Float32Array(t.buffer,4 * i,n)), + this._bind(), + d._gl.bufferSubData(this._bufferType, 4 * e, t), + this._canRead) + if (0 !== e || 0 !== i || 4294967295 !== n) { + var a = this._buffer.length - e; + n > a && (n = a); + for (var r = 0; r < n; r++) + this._buffer[e + r] = t[r] + } else + this._buffer = t + } + , + i.getData = function() { + if (this._canRead) + return this._buffer; + throw new Error("Can't read data from VertexBuffer with only write flag!") + } + , + i.disposeResource = function() { + for (var e = B.mainContext, i = this._vertexDeclaration.getVertexElements(), n = d._enableAtributes, a = 0, r = i.length; a < r; a++) + n[a] === this._glBuffer && (e.disableVertexAttribArray(a), + n[a] = null); + t.prototype.disposeResource.call(this), + this._buffer = null, + this._vertexDeclaration = null, + this.memorySize = 0 + } + , + r(0, i, "vertexDeclaration", function() { + return this._vertexDeclaration + }), + r(0, i, "vertexCount", function() { + return this._vertexCount + }), + r(0, i, "canRead", function() { + return this._canRead + }), + e.create = function(t, i, n, a) { + return void 0 === n && (n = 35044), + void 0 === a && (a = !1), + new e(t,i,n,a) + } + , + e + }(d) + , Ji = function(t) { + function e() { + e.__super.call(this), + this.setShaderName("PARTICLESHURIKEN"), + this.renderMode = 6 + } + a(e, "laya.d3.core.particleShuriKen.ShurikenParticleMaterial", t); + var s = e.prototype; + return s.onAsynLoaded = function(i, n, a) { + var r = n[0]; + if (r.version) + t.prototype.onAsynLoaded.call(this, i, n, a); + else { + var s = n[1] + , o = r.props; + for (var l in o) + this[l] = o[l]; + e._parseShurikenParticleMaterial(s, this, r), + this._endLoaded() + } + } + , + r(0, s, "renderMode", null, function(t) { + switch (t) { + case 1: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 0, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 2: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 0, + this.blend = 0, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 3: + this.depthWrite = !0, + this.cull = 2, + this.blend = 0, + this.renderQueue = 2e3, + this.alphaTest = !0, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 4: + this.renderQueue = 2e3, + this.depthWrite = !0, + this.cull = 0, + this.blend = 0, + this.alphaTest = !0, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 13: + this.renderQueue = 3e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 14: + this.renderQueue = 3e3, + this.depthWrite = !0, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 15: + this.renderQueue = 3e3, + this.depthWrite = !0, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1, + this.alphaTest = !1, + this._addShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 16: + this.renderQueue = 3e3, + this.depthWrite = !0, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1, + this.alphaTest = !1, + this._addShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 5: + this.renderQueue = 3e3, + this.depthWrite = !1, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 6: + this.renderQueue = 3e3, + this.depthWrite = !1, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 7: + this.renderQueue = 3e3, + this.depthWrite = !1, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1, + this.alphaTest = !1, + this._addShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 8: + this.renderQueue = 3e3, + this.depthWrite = !1, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1, + this.alphaTest = !1, + this._addShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 9: + this.renderQueue = 3e3, + this.depthTest = 513, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 10: + this.renderQueue = 3e3, + this.depthTest = 513, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 771, + this.alphaTest = !1, + this._removeShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 11: + this.renderQueue = 3e3, + this.depthTest = 513, + this.cull = 2, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1, + this.alphaTest = !1, + this._addShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + case 12: + this.renderQueue = 3e3, + this.depthTest = 513, + this.cull = 0, + this.blend = 1, + this.srcBlend = 770, + this.dstBlend = 1, + this.alphaTest = !1, + this._addShaderDefine(e.SHADERDEFINE_ADDTIVEFOG); + break; + default: + throw new Error("Material:renderMode value error.") + } + this._conchMaterial && this._conchMaterial.setRenderMode(t) + }), + r(0, s, "tintColor", function() { + return this._getColor(2) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.particleShuriKen.ShurikenParticleMaterial.SHADERDEFINE_TINTCOLOR) : this._removeShaderDefine(laya.d3.core.particleShuriKen.ShurikenParticleMaterial.SHADERDEFINE_TINTCOLOR), + this._setColor(2, t) + }), + r(0, s, "tilingOffset", function() { + return this._getColor(3) + }, function(t) { + if (t) { + var e = t.elements; + 1 != e[0] || 1 != e[1] || 0 != e[2] || 0 != e[3] ? this._addShaderDefine(laya.d3.core.particleShuriKen.ShurikenParticleMaterial.SHADERDEFINE_TILINGOFFSET) : this._removeShaderDefine(laya.d3.core.particleShuriKen.ShurikenParticleMaterial.SHADERDEFINE_TILINGOFFSET) + } else + this._removeShaderDefine(laya.d3.core.particleShuriKen.ShurikenParticleMaterial.SHADERDEFINE_TILINGOFFSET); + this._setColor(3, t) + }), + r(0, s, "diffuseTexture", function() { + return this._getTexture(1) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.particleShuriKen.ShurikenParticleMaterial.SHADERDEFINE_DIFFUSEMAP) : this._removeShaderDefine(laya.d3.core.particleShuriKen.ShurikenParticleMaterial.SHADERDEFINE_DIFFUSEMAP), + this._setTexture(1, t) + }), + e.__init__ = function() { + e.SHADERDEFINE_DIFFUSEMAP = e.shaderDefines.registerDefine("DIFFUSEMAP"), + e.SHADERDEFINE_TINTCOLOR = e.shaderDefines.registerDefine("TINTCOLOR"), + e.SHADERDEFINE_ADDTIVEFOG = e.shaderDefines.registerDefine("ADDTIVEFOG"), + e.SHADERDEFINE_TILINGOFFSET = e.shaderDefines.registerDefine("TILINGOFFSET") + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e._parseShurikenParticleMaterial = function(t, e, i) { + var n = i.customProps + , a = n.diffuseTexture.texture2D; + a && (e.diffuseTexture = v.getRes(t[a])); + var r = n.tintColor; + r && (e.tintColor = new ke(r[0],r[1],r[2],r[3])) + } + , + e.RENDERMODE_OPAQUE = 1, + e.RENDERMODE_OPAQUEDOUBLEFACE = 2, + e.RENDERMODE_CUTOUT = 3, + e.RENDERMODE_CUTOUTDOUBLEFACE = 4, + e.RENDERMODE_TRANSPARENT = 13, + e.RENDERMODE_TRANSPARENTDOUBLEFACE = 14, + e.RENDERMODE_ADDTIVE = 15, + e.RENDERMODE_ADDTIVEDOUBLEFACE = 16, + e.RENDERMODE_DEPTHREAD_TRANSPARENT = 5, + e.RENDERMODE_DEPTHREAD_TRANSPARENTDOUBLEFACE = 6, + e.RENDERMODE_DEPTHREAD_ADDTIVE = 7, + e.RENDERMODE_DEPTHREAD_ADDTIVEDOUBLEFACE = 8, + e.RENDERMODE_NONDEPTH_TRANSPARENT = 9, + e.RENDERMODE_NONDEPTH_TRANSPARENTDOUBLEFACE = 10, + e.RENDERMODE_NONDEPTH_ADDTIVE = 11, + e.RENDERMODE_NONDEPTH_ADDTIVEDOUBLEFACE = 12, + e.SHADERDEFINE_DIFFUSEMAP = 0, + e.SHADERDEFINE_TINTCOLOR = 0, + e.SHADERDEFINE_TILINGOFFSET = 0, + e.SHADERDEFINE_ADDTIVEFOG = 0, + e.DIFFUSETEXTURE = 1, + e.TINTCOLOR = 2, + e.TILINGOFFSET = 3, + n(e, ["defaultMaterial", function() { + return this.defaultMaterial = new e + } + , "shaderDefines", function() { + return this.shaderDefines = new Ue(mi.shaderDefines) + } + ]), + e + }(mi) + , Ki = function(t) { + function e() { + e.__super.call(this), + this.setShaderName("Trail"), + this._setColor(2, new ke(1,1,1,1)) + } + a(e, "laya.d3.core.trail.TrailMaterial", mi); + var s = e.prototype; + return r(0, s, "tintColor", function() { + return this._getColor(2) + }, function(t) { + this._setColor(2, t) + }), + r(0, s, "diffuseTexture", function() { + return this._getTexture(1) + }, function(t) { + t ? this._addShaderDefine(laya.d3.core.trail.TrailMaterial.SHADERDEFINE_DIFFUSETEXTURE) : this._removeShaderDefine(laya.d3.core.trail.TrailMaterial.SHADERDEFINE_DIFFUSETEXTURE), + this._setTexture(1, t) + }), + r(0, s, "tilingOffset", function() { + return this._getColor(3) + }, function(t) { + if (t) { + var e = t.elements; + 1 != e[0] || 1 != e[1] || 0 != e[2] || 0 != e[3] ? this._addShaderDefine(laya.d3.core.trail.TrailMaterial.SHADERDEFINE_TILINGOFFSET) : this._removeShaderDefine(laya.d3.core.trail.TrailMaterial.SHADERDEFINE_TILINGOFFSET) + } else + this._removeShaderDefine(laya.d3.core.trail.TrailMaterial.SHADERDEFINE_TILINGOFFSET); + this._setColor(3, t) + }), + e.__init__ = function() { + e.SHADERDEFINE_DIFFUSETEXTURE = e.shaderDefines.registerDefine("DIFFUSETEXTURE"), + e.SHADERDEFINE_TILINGOFFSET = e.shaderDefines.registerDefine("TILINGOFFSET") + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e.SHADERDEFINE_DIFFUSETEXTURE = 0, + e.SHADERDEFINE_TILINGOFFSET = 0, + e.DIFFUSETEXTURE = 1, + e.TINTCOLOR = 2, + e.TILINGOFFSET = 3, + n(e, ["defaultMaterial", function() { + return this.defaultMaterial = new e + } + , "shaderDefines", function() { + return this.shaderDefines = new Ue(mi.shaderDefines) + } + ]), + e + }() + , Zi = (function(t) { + function e() { + this._animationSprites = null, + this._animationSpritesInitLocalMatrix = null, + this._tempCurAnimationData = null, + this._curOriginalData = null, + this._lastFrameIndex = -1, + this._curAnimationDatas = null, + e.__super.call(this), + this._animationSprites = [], + this._animationSpritesInitLocalMatrix = [] + } + a(e, "laya.d3.component.animation.RigidAnimations", t); + var n = e.prototype; + n._init = function() { + for (var t = this._templet.getNodes(this.currentAnimationClipIndex), e = this._owner, i = t.length, n = 0, a = new Uint16Array(this._templet.getPublicExtData()), r = 0; r < i; r++) { + var s = a.slice(n + 1, n + 1 + a[n]); + n += a[n] + 1; + for (var o = 1; o < s.length; o++) { + s[o]; + e = e._childs[s[o]] + } + var l = e.getChildByName(t[r].name); + if (!l) + break; + this._animationSprites[r] = l; + var h = this._animationSpritesInitLocalMatrix[r]; + h || (h = this._animationSpritesInitLocalMatrix[r] = new Me), + l.transform.localMatrix.cloneTo(h), + e = this._owner + } + } + , + n._animtionPlay = function() { + this._templet.loaded ? this._init() : this._templet.once("loaded", this, this._init) + } + , + n._animtionStop = function() { + if (this._lastFrameIndex = -1, + this._player.returnToZeroStopped) { + this._curAnimationDatas = null; + for (var t = 0; t < this._animationSprites.length; t++) + this._animationSprites[t].transform.localMatrix = this._animationSpritesInitLocalMatrix[t] + } + } + , + n._effectAnimation = function(t) { + for (var e = 0, i = this._animationSprites.length; e < i; e++) { + for (var n = this._animationSprites[e], a = n.transform.localMatrix, r = a.elements, s = 0; s < 16; s++) + r[s] = this._curAnimationDatas[16 * e + s]; + n.transform.localMatrix = a + } + } + , + n._load = function(e) { + t.prototype._load.call(this, e), + this._player.on("stopped", this, this._animtionStop), + this._player.on("played", this, this._animtionPlay) + } + , + n._update = function(t) { + if (2 === this._player.state && this._templet && this._templet.loaded) { + var e = this._player.playbackRate * i.timer.scale + , n = this._player.cachePlayRate + , a = this._player.isCache && e >= n + , r = a ? this.currentFrameIndex : -1; + if (-1 === r || this._lastFrameIndex !== r) { + var s = this.currentAnimationClipIndex + , o = this._templet.getNodes(s) + , l = this._templet._animationDatasCache; + if (a) { + var h = this._templet.getAnimationDataWithCache(n, l, s, r); + if (h) + return this._curAnimationDatas = h, + this._lastFrameIndex = r, + void this._effectAnimation(o) + } + var c = 16 * o.length; + a ? this._curAnimationDatas = new Float32Array(c) : (this._tempCurAnimationData || (this._tempCurAnimationData = new Float32Array(c)), + this._curAnimationDatas = this._tempCurAnimationData), + this._curOriginalData || (this._curOriginalData = new Float32Array(this._templet.getTotalkeyframesLength(s))), + a ? this._templet.getOriginalData(s, this._curOriginalData, this._player._fullFrames[s], r, this._player.currentFrameTime) : this._templet.getOriginalDataUnfixedRate(s, this._curOriginalData, this._player.currentPlayTime), + Ke._computeRootAnimationData(o, this._curOriginalData, this._curAnimationDatas), + a && this._templet.setAnimationDataWithCache(n, l, s, r, this._curAnimationDatas), + this._lastFrameIndex = r, + this._effectAnimation(o) + } + } + } + , + n._unload = function(e) { + t.prototype._unload.call(this, e), + this._animationSprites = null, + this._animationSpritesInitLocalMatrix = null, + this._tempCurAnimationData = null, + this._curOriginalData = null, + this._curAnimationDatas = null + } + , + r(0, n, "url", null, function(t) { + console.log("Warning: discard property,please use templet property instead."); + var e = i.loader.create(t, null, null, l); + this._templet !== e && (0 !== this._player.state && this._player.stop(!0), + this._templet = e, + this._player.templet = e, + this._curOriginalData = null, + this._curAnimationDatas = null, + this._tempCurAnimationData = null, + this._templet._animationDatasCache || (this._templet._animationDatasCache = []), + this.event("animationchanged", this)) + }), + r(0, n, "templet", t.prototype._$get_templet, function(t) { + this._templet !== t && (0 !== this._player.state && this._player.stop(!0), + this._templet = t, + this._player.templet = t, + this._curOriginalData = null, + this._curAnimationDatas = null, + this._tempCurAnimationData = null, + this._templet._animationDatasCache || (this._templet._animationDatasCache = []), + this.event("animationchanged", this)) + }) + }(wi), + function(t) { + function e() { + this._tempCurAnimationData = null, + this._tempCurBonesData = null, + this._curOriginalData = null, + this._lastFrameIndex = -1, + this._curMeshAnimationData = null, + this._curBonesDatas = null, + this._curAnimationDatas = null, + this._ownerMesh = null, + this._boneIndexToMeshList = null, + this._oldVersion = !1, + e.__super.call(this), + this._boneIndexToMeshList = [] + } + a(e, "laya.d3.component.animation.SkinAnimations", t); + var n = e.prototype; + return n._computeBoneIndexToMeshOnTemplet = function() { + this._templet.loaded ? this._computeBoneIndexToMeshOnMesh() : this._templet.once("loaded", this, this._computeBoneIndexToMeshOnMesh) + } + , + n._computeBoneIndexToMeshOnMesh = function() { + "LAYAANIMATION:02" === this._templet._aniVersion ? this._oldVersion = !1 : this._oldVersion = !0; + var t = this._owner.meshFilter.sharedMesh; + t.loaded ? this._computeBoneIndexToMesh(t) : t.on("loaded", this, this._computeBoneIndexToMesh) + } + , + n._computeBoneIndexToMesh = function(t) { + var e = t._boneNames; + if (e) + for (var i = e.length, n = this._templet._anis, a = 0, r = n.length; a < r; a++) { + var s = this._boneIndexToMeshList[a]; + s || (s = this._boneIndexToMeshList[a] = []), + s.length = i; + for (var o = n[a], l = 0; l < i; l++) + s[l] = o.bone3DMap[e[l]] + } + } + , + n._getAnimationDatasWithCache = function(t, e, i, n, a) { + var r = i[n]; + if (r) { + var s = r[t]; + if (s) { + var o = s[e.id]; + return o ? o[a] : null + } + return null + } + return null + } + , + n._setAnimationDatasWithCache = function(t, e, i, n, a, r) { + var s = i[n] || (i[n] = {}) + , o = s[t] || (s[t] = {}); + (o[e.id] || (o[e.id] = []))[a] = r + } + , + n._onAnimationPlayMeshLoaded = function() { + for (var t = this._ownerMesh.meshRender._renderElements, e = 0, i = t.length; e < i; e++) + t[e]._canDynamicBatch = !1 + } + , + n._onAnimationPlay = function() { + this._ownerMesh._render._addShaderDefine(vn.SHADERDEFINE_BONE); + var t = this._ownerMesh.meshFilter.sharedMesh; + t.loaded ? this._onAnimationPlayMeshLoaded() : t.once("loaded", this, this._onAnimationPlayMeshLoaded) + } + , + n._onAnimationStop = function() { + this._lastFrameIndex = -1, + this._player.returnToZeroStopped && (this._curBonesDatas = null, + this._curAnimationDatas = null, + this._ownerMesh._render._removeShaderDefine(vn.SHADERDEFINE_BONE)); + for (var t = this._ownerMesh.meshRender._renderElements, e = 0, i = t.length; e < i; e++) + t[e]._canDynamicBatch = !0 + } + , + n._load = function(e) { + t.prototype._load.call(this, e), + this._ownerMesh = e, + this._player.on("played", this, this._onAnimationPlay), + this._player.on("stopped", this, this._onAnimationStop), + this._owner.meshFilter.on("meshchanged", this, this._computeBoneIndexToMeshOnTemplet) + } + , + n._update = function(t) { + var n = this._ownerMesh.meshFilter.sharedMesh; + if (2 === this._player.state && this._templet && this._templet.loaded && n.loaded) { + var a = this._player.playbackRate * i.timer.scale + , r = this._player.cachePlayRate + , s = this._player.isCache && a >= r + , o = s ? this.currentFrameIndex : -1; + if (-1 === o || this._lastFrameIndex !== o) { + var l = this.currentAnimationClipIndex + , h = this._templet._animationDatasCache[0] + , c = this._templet._animationDatasCache[1]; + if (s) { + var _ = this._getAnimationDatasWithCache(r, n, c, l, o); + if (_) + return this._curAnimationDatas = _, + this._curBonesDatas = this._templet.getAnimationDataWithCache(r, h, l, o), + void (this._lastFrameIndex = o) + } + var u = !1; + s && (this._curBonesDatas = this._templet.getAnimationDataWithCache(r, h, l, o), + u = !!this._curBonesDatas); + var d = this._templet.getNodes(l) + , f = 16 * d.length + , p = n.InverseAbsoluteBindPoses; + this._oldVersion ? this._curMeshAnimationData || (this._curMeshAnimationData = new Float32Array(f)) : this._curMeshAnimationData || (this._curMeshAnimationData = new Float32Array(16 * p.length)); + var m, g, y = 0, v = 0, b = 0, w = n.getSubMeshCount(); + if (s) { + for (this._curAnimationDatas = [], + this._curAnimationDatas.length = w, + y = 0; y < w; y++) + for (m = this._curAnimationDatas[y] = [], + b = (g = n.getSubMesh(y))._boneIndicesList.length, + m.length = b, + v = 0; v < b; v++) + m[v] = new Float32Array(16 * g._boneIndicesList[v].length); + u || (this._curBonesDatas = new Float32Array(f)) + } else { + if (!this._tempCurAnimationData) + for (this._tempCurAnimationData = [], + this._tempCurAnimationData.length = w, + y = 0; y < w; y++) + for (m = this._tempCurAnimationData[y] = [], + b = (g = n.getSubMesh(y))._boneIndicesList.length, + m.length = b, + v = 0; v < b; v++) + m[v] = new Float32Array(16 * g._boneIndicesList[v].length); + this._tempCurBonesData || (this._tempCurBonesData = new Float32Array(f)), + this._curAnimationDatas = this._tempCurAnimationData, + this._curBonesDatas = this._tempCurBonesData + } + if (this._curOriginalData || (this._curOriginalData = new Float32Array(this._templet.getTotalkeyframesLength(l))), + s ? this._templet.getOriginalData(l, this._curOriginalData, this._player._fullFrames[l], o, this._player.currentFrameTime) : this._templet.getOriginalDataUnfixedRate(l, this._curOriginalData, this._player.currentPlayTime), + this._oldVersion) + s && u ? Ke._computeAnimationDatasByArrayAndMatrixFastOld(p, this._curBonesDatas, this._curMeshAnimationData) : Ke._computeBoneAndAnimationDatasByBindPoseMatrxixOld(d, this._curOriginalData, p, this._curBonesDatas, this._curMeshAnimationData); + else { + var x = this._boneIndexToMeshList[l]; + s && u ? Ke._computeAnimationDatasByArrayAndMatrixFast(p, this._curBonesDatas, this._curMeshAnimationData, x) : Ke._computeBoneAndAnimationDatasByBindPoseMatrxix(d, this._curOriginalData, p, this._curBonesDatas, this._curMeshAnimationData, x) + } + for (y = 0; y < w; y++) { + var I = n.getSubMesh(y)._boneIndicesList; + for (b = I.length, + m = this._curAnimationDatas[y], + v = 0; v < b; v++) + e._splitAnimationDatas(I[v], this._curMeshAnimationData, m[v]) + } + s && (this._setAnimationDatasWithCache(r, n, c, l, o, this._curAnimationDatas), + u || this._templet.setAnimationDataWithCache(r, h, l, o, this._curBonesDatas)), + this._lastFrameIndex = o + } + } + } + , + n._preRenderUpdate = function(t) { + var e = t.renderElement.renderObj; + this._curAnimationDatas ? e._skinAnimationDatas = this._curAnimationDatas[e._indexInMesh] : e._skinAnimationDatas = null + } + , + n._unload = function(e) { + 2 == this.player.state && this._ownerMesh._render._removeShaderDefine(vn.SHADERDEFINE_BONE), + this._templet && !this._templet.loaded && this._templet.off("loaded", this, this._computeBoneIndexToMeshOnMesh); + var i = this._ownerMesh.meshFilter.sharedMesh; + i.loaded || i.off("loaded", this, this._onAnimationPlayMeshLoaded), + t.prototype._unload.call(this, e), + this._tempCurAnimationData = null, + this._tempCurBonesData = null, + this._curOriginalData = null, + this._curMeshAnimationData = null, + this._curBonesDatas = null, + this._curAnimationDatas = null, + this._ownerMesh = null + } + , + r(0, n, "curBonesDatas", function() { + return this._curBonesDatas + }), + r(0, n, "templet", t.prototype._$get_templet, function(t) { + this._templet !== t && (0 !== this._player.state && this._player.stop(!0), + this._templet = t, + this._player.templet = t, + this._computeBoneIndexToMeshOnTemplet(), + this._curOriginalData = null, + this._curMeshAnimationData = null, + this._tempCurBonesData = null, + this._tempCurAnimationData = null, + this._templet._animationDatasCache || (this._templet._animationDatasCache = [[], []]), + this.event("animationchanged", this)) + }), + e._splitAnimationDatas = function(t, e, i) { + for (var n = 0, a = t.length, r = 0; n < a; n++) + for (var s = 0; s < 16; s++, + r++) + i[r] = e[(t[n] << 4) + s] + } + , + e + }(wi)) + , Qi = function(t) { + function e() { + this._size = null, + this._transformOrientedBoundBox = null, + this.center = null, + e.__super.call(this), + this._needUpdate = !1 + } + a(e, "laya.d3.component.physics.BoxCollider", Ii); + var i = e.prototype; + return i._updateCollider = function() { + if (this._needUpdate) { + var t = this._transformOrientedBoundBox.transformation + , i = this._owner.transform + , n = i.rotation + , a = i.scale + , r = this.center.elements; + 0 === r[0] && 0 === r[1] && 0 === r[2] ? Me.createAffineTransformation(i.position, n, Be.ONE, t) : (Be.multiply(this.center, a, e._deviationV3), + Be.transformQuat(e._deviationV3, n, e._deviationV3), + Be.add(i.position, e._deviationV3, e._deviationV3), + Me.createAffineTransformation(e._deviationV3, n, Be.ONE, t)), + this._transformOrientedBoundBox.transformation = t; + var s = this._transformOrientedBoundBox.extents.elements + , o = this._size.elements + , l = a.elements; + s[0] = .5 * o[0] * l[0], + s[1] = .5 * o[1] * l[1], + s[2] = .5 * o[2] * l[2], + this._needUpdate = !1 + } + } + , + i._onWorldMatrixChanged = function() { + this._needUpdate = !0; + for (var t in this._runtimeCollisonMap) + this._runtimeCollisonTestMap[t] = !0, + this._runtimeCollisonMap[t]._runtimeCollisonTestMap[this.id] = !0 + } + , + i._initialize = function(t) { + laya.d3.component.Component3D.prototype._initialize.call(this, t), + this._transformOrientedBoundBox = new Le(new Be,new Me), + this._size = new Be, + this.center = new Be, + t.transform.on("worldmatrixneedchanged", this, this._onWorldMatrixChanged), + this._needUpdate = !0 + } + , + i._getType = function() { + return 1 + } + , + i._collisonTo = function(t) { + switch (t._getType()) { + case 0: + return 0 !== this.boundBox.containsSphere(t.boundSphere); + case 1: + return 0 !== this.boundBox.containsOrientedBoundBox(t.boundBox); + case 2: + var e = t; + if (0 !== this.boundBox.containsBoundBox(e._boundBox)) { + for (var i = t.mesh._positions, n = 0, a = i.length; n < a; n++) + if (1 === this.boundBox.containsPoint(i[n])) + return !0; + return !1 + } + return !1; + default: + throw new Error("BoxCollider:unknown collider type.") + } + } + , + i._cloneTo = function(t) { + var e = t + , i = e.size; + this.size.cloneTo(i), + e.size = i, + this.center.cloneTo(e.center) + } + , + i.raycast = function(t, e, i) { + void 0 === i && (i = 1.79e308), + this._updateCollider(); + var n = this._transformOrientedBoundBox.intersectsRay(t, e.position); + return -1 !== n && n <= i ? (e.distance = n, + e.sprite3D = this._owner, + !0) : (e.distance = -1, + e.sprite3D = null, + !1) + } + , + i.setFromBoundBox = function(t) { + Le.createByBoundBox(t, this._transformOrientedBoundBox); + var e = this._transformOrientedBoundBox.extents; + this._size = new Be(2 * e.x,2 * e.y,2 * e.z), + this.center = new Be, + Be.add(t.min, t.max, this.center), + Be.scale(this.center, .5, this.center), + this._needUpdate = !0 + } + , + r(0, i, "boundBox", function() { + return this._updateCollider(), + this._transformOrientedBoundBox + }), + r(0, i, "size", function() { + return this._size + }, function(t) { + this._size = t, + this._needUpdate = !0 + }), + n(e, ["_deviationV3", function() { + return this._deviationV3 = new Be + } + , "_obbCenterV3", function() { + return this._obbCenterV3 = new Be + } + ]), + e + }() + , $i = function(t) { + function e() { + this._transformBoundingBox = null, + this._mesh = null, + e.__super.call(this), + this._transformBoundingBox = new be(new Be,new Be), + this._needUpdate = !1 + } + a(e, "laya.d3.component.physics.MeshCollider", Ii); + var i = e.prototype; + return i._updateBoundBoxCollider = function() { + if (this._needUpdate) { + for (var t = this._owner.transform.worldMatrix, i = this._mesh.boundingBoxCorners, n = 0; n < 8; n++) + Be.transformCoordinate(i[n], t, e._tempBoundBoxCorners[n]); + be.createfromPoints(e._tempBoundBoxCorners, this._transformBoundingBox), + this._needUpdate = !1 + } + } + , + i._raycastMesh = function(t, i, n, a) { + void 0 === a && (a = 1.79e308); + var r = i.transform.worldMatrix + , s = e._tempMatrix4x40; + r.invert(s); + var o = t.origin + , l = t.direction + , h = e._tempRay0; + Be.transformCoordinate(o, s, h.origin), + Be.TransformNormal(l, s, h.direction); + for (var c = Number.MAX_VALUE, _ = 0, u = this._mesh.getRenderElementsCount(); _ < u; _++) { + var d = this._mesh.getRenderElement(_) + , f = d._getVertexBuffer(0) + , p = f.getData() + , m = d._getIndexBuffer().getData() + , g = e._tempRaycastHit; + if (qe.rayIntersectsPositionsAndIndices(h, p, f.vertexDeclaration, m, g)) { + Be.transformCoordinate(g.position, r, g.position); + var y = e._tempVector30; + Be.subtract(o, g.position, y); + var v = Be.scalarLength(y); + if (v < a && v < c) { + g.distance = v, + g.sprite3D = i; + var b = g.trianglePositions; + Be.transformCoordinate(b[0], r, b[0]), + Be.transformCoordinate(b[1], r, b[1]), + Be.transformCoordinate(b[2], r, b[2]); + var w = g.triangleNormals; + return Be.transformCoordinate(w[0], r, w[0]), + Be.transformCoordinate(w[1], r, w[1]), + Be.transformCoordinate(w[2], r, w[2]), + c = v, + g.cloneTo(n), + !0 + } + return !1 + } + } + return !1 + } + , + i._onWorldMatrixChanged = function() { + this._needUpdate = !0 + } + , + i._initialize = function(t) { + laya.d3.component.Component3D.prototype._initialize.call(this, t), + t.transform.on("worldmatrixneedchanged", this, this._onWorldMatrixChanged), + this._needUpdate = !0 + } + , + i._getType = function() { + return 2 + } + , + i._collisonTo = function(t) { + var e = 0 + , i = 0 + , n = this.mesh._positions; + switch (t._getType()) { + case 0: + var a = t; + if (0 !== Ie.sphereContainsBox(a.boundSphere, this._boundBox)) { + for (e = 0, + i = n.length; e < i; e++) + if (1 === Ie.sphereContainsPoint(a.boundSphere, n[e])) + return !0; + return !1 + } + return !1; + case 1: + var r = t; + if (0 !== r.boundBox.containsBoundBox(this._boundBox)) { + for (e = 0, + i = n.length; e < i; e++) + if (1 === r.boundBox.containsPoint(n[e])) + return !0; + return !1 + } + return !1; + case 2: + var s = t; + return 1 !== Ie.intersectsBoxAndBox(s._boundBox, this._boundBox); + default: + throw new Error("MeshCollider:unknown collider type.") + } + } + , + i._cloneTo = function(t) { + t.mesh = this._mesh + } + , + i.raycast = function(t, e, i) { + if (void 0 === i && (i = 1.79e308), + null == this._mesh || !this._mesh.loaded) + return !1; + var n = Ie.intersectsRayAndBoxRD(t, this._boundBox); + return !!(-1 !== n && n <= i && this._raycastMesh(t, this._owner, e, i)) || (e.distance = -1, + e.sprite3D = null, + !1) + } + , + r(0, i, "_boundBox", function() { + return this._updateBoundBoxCollider(), + this._transformBoundingBox + }), + r(0, i, "mesh", function() { + return this._mesh + }, function(t) { + this._mesh = t + }), + n(e, ["_tempRay0", function() { + return this._tempRay0 = new Ne(new Be,new Be) + } + , "_tempVector30", function() { + return this._tempVector30 = new Be + } + , "_tempMatrix4x40", function() { + return this._tempMatrix4x40 = new Me + } + , "_tempRaycastHit", function() { + return this._tempRaycastHit = new Ye + } + , "_tempBoundBoxCorners", function() { + return this._tempBoundBoxCorners = [new Be, new Be, new Be, new Be, new Be, new Be, new Be, new Be] + } + ]), + e + }() + , tn = function(t) { + function e() { + this._originalBoundSphere = null, + this._transformBoundSphere = null, + e.__super.call(this), + this._needUpdate = !1 + } + a(e, "laya.d3.component.physics.SphereCollider", Ii); + var i = e.prototype; + return i._updateCollider = function() { + if (this._needUpdate) { + var t = NaN + , e = this._owner.transform + , i = e.scale; + t = i.x >= i.y && i.x >= i.z ? i.x : i.y >= i.z ? i.y : i.z, + Be.transformCoordinate(this._originalBoundSphere.center, e.worldMatrix, this._transformBoundSphere.center), + this._transformBoundSphere.radius = this._originalBoundSphere.radius * t, + this._needUpdate = !1 + } + } + , + i._onWorldMatrixChanged = function() { + this._needUpdate = !0; + for (var t in this._runtimeCollisonMap) + this._runtimeCollisonTestMap[t] = !0, + this._runtimeCollisonMap[t]._runtimeCollisonTestMap[this.id] = !0 + } + , + i._initialize = function(t) { + laya.d3.component.Component3D.prototype._initialize.call(this, t), + this._originalBoundSphere = new xe(new Be(0,0,0),.5), + this._transformBoundSphere = new xe(new Be(0,0,0),.5), + t.transform.on("worldmatrixneedchanged", this, this._onWorldMatrixChanged), + this._needUpdate = !0 + } + , + i._getType = function() { + return 0 + } + , + i._collisonTo = function(t) { + switch (t._getType()) { + case 0: + return 0 !== Ie.sphereContainsSphere(this.boundSphere, t.boundSphere); + case 1: + return 0 !== t.boundBox.containsSphere(this.boundSphere); + case 2: + var e = t; + if (0 !== Ie.sphereContainsBox(this.boundSphere, e._boundBox)) { + for (var i = e.mesh._positions, n = 0, a = i.length; n < a; n++) + if (1 === Ie.sphereContainsPoint(this.boundSphere, i[n])) + return !0; + return !1 + } + return !1; + default: + throw new Error("SphereCollider:unknown collider type.") + } + } + , + i._cloneTo = function(t) { + var e = t; + e.radius = this.radius; + var i = e.center; + this.center.cloneTo(i), + e.center = i + } + , + i.raycast = function(t, e, i) { + void 0 === i && (i = 1.79e308), + this._updateCollider(); + var n = this._transformBoundSphere.intersectsRayPoint(t, e.position); + return -1 !== n && n <= i ? (e.distance = n, + e.sprite3D = this._owner, + !0) : (e.distance = -1, + e.sprite3D = null, + !1) + } + , + r(0, i, "center", function() { + return this._originalBoundSphere.center + }, function(t) { + this._originalBoundSphere.center = t + }), + r(0, i, "radius", function() { + return this._originalBoundSphere.radius + }, function(t) { + this._originalBoundSphere.radius = t + }), + r(0, i, "boundSphere", function() { + return this._updateCollider(), + this._transformBoundSphere + }), + e + }() + , en = function(t) { + function e() { + this.simLodInfo = null, + this._src = null, + this._buffer = null, + this._mipmaps = null, + this._recreateLock = !1, + this._needReleaseAgain = !1, + e.__super.call(this), + this._type = 3553 + } + a(e, "laya.d3.resource.DataTexture2D", gi); + var s = e.prototype; + return s.genDebugMipmaps = function() { + var t = []; + return t.push(new Uint8Array(new Uint32Array(131072).fill(4278190335).buffer)), + t.push(new Uint8Array(new Uint32Array(32768).fill(4278223103).buffer)), + t.push(new Uint8Array(new Uint32Array(8192).fill(4278255615).buffer)), + t.push(new Uint8Array(new Uint32Array(2048).fill(4278255360).buffer)), + t.push(new Uint8Array(new Uint32Array(512).fill(4286595072).buffer)), + t.push(new Uint8Array(new Uint32Array(128).fill(4294901760).buffer)), + t.push(new Uint8Array(new Uint32Array(32).fill(4294901888).buffer)), + t.push(new Uint8Array(new Uint32Array(8).fill(0).buffer)), + t.push(new Uint8Array(new Uint32Array(2).fill(4286611584).buffer)), + t.push(new Uint8Array(new Uint32Array(1).fill(4294967295).buffer)), + t + } + , + s._onTextureLoaded = function(t) {} + , + s._createWebGlTexture = function() { + if (!this._buffer && !this._mipmaps) + throw "create GLTextur err:no data"; + var t = B.mainContext; + t.getExtension("EXT_shader_texture_lod"); + var i = this._source = t.createTexture() + , n = this._width + , a = this._height + , r = k.curBindTexTarget + , s = k.curBindTexValue; + if (k.bindTexture(t, this._type, i), + this._mipmaps) { + if (laya.d3.resource.DataTexture2D.lodasatlas) { + var o = 0; + t.texImage2D(this._type, 0, 6408, this._width, this._height, 0, 6408, 5121, null); + for (var l = 0; l < this._mipmaps.length; l++) { + if (this._mipmaps[l].byteLength != c * _ * 4) + throw "mipmap size error level:" + l; + t.texSubImage2D(this._type, 0, e.simLodRect[o++], e.simLodRect[o++], e.simLodRect[o++], e.simLodRect[o++], 6408, 5121, new Uint8Array(this._mipmaps[l])) + } + this.minFifter = 9729, + this.magFifter = 9729 + } else { + var c = this._width + , _ = this._height; + for (o = 0, + t.texImage2D(this._type, 0, 6408, this._width, this._height, 0, 6408, 5121, null), + l = 0; l < this._mipmaps.length; l++) { + if (this._mipmaps[l].byteLength != c * _ * 4) + throw "mipmap size error level:" + l; + t.texImage2D(this._type, l, 6408, c, _, 0, 6408, 5121, new Uint8Array(this._mipmaps[l])), + _ /= 2, + (c /= 2) < 1 && (c = 1), + _ < 1 && (_ = 1), + this.minFifter = 9987, + this.magFifter = 9729 + } + } + this.mipmap = !1 + } else + t.texImage2D(this._type, 0, 6408, n, a, 0, 6408, 5121, new Uint8Array(this._buffer)); + var u = this._minFifter + , d = this._magFifter + , f = this._repeat ? 10497 : 33071 + , p = h.isPOT(n, a); + if (!p) + throw "data texture must be POT"; + this._mipmap || this._mipmaps ? -1 !== u || (u = 9987) : -1 !== u || (u = 9729), + -1 !== d || (d = 9729), + t.texParameteri(this._type, 10241, u), + t.texParameteri(this._type, 10240, d), + t.texParameteri(this._type, 10242, f), + this._mipmaps ? t.texParameteri(this._type, 10243, 33071) : t.texParameteri(this._type, 10243, f), + this._mipmap && t.generateMipmap(this._type), + r && s && k.bindTexture(t, r, s), + this.src && this.src.length > 0 && (this._buffer = null), + this.memorySize = p ? n * a * 4 * (1 + 1 / 3) : n * a * 4, + this._recreateLock = !1 + } + , + s.recreateResource = function() { + if (this._buffer || null != this._src && "" !== this._src) + if (this._needReleaseAgain = !1, + this._buffer || this._mipmaps) { + if (this._recreateLock) + return; + this._createWebGlTexture(), + this.completeCreate() + } else { + this._recreateLock = !0 + } + } + , + s.onAsynLoaded = function(t, e, i) { + var n; + i && (n = i[0].call(this, e)), + n && (this._width = n.width, + this._height = n.height, + this._buffer = n.data), + this._src = t, + this._size = new Je(this._width,this._height), + this._conchTexture ? alert("怎么给runtime传递datatexture数据") : this.activeResource(), + this._endLoaded() + } + , + s.getPixels = function() { + return new Uint8Array(this._buffer) + } + , + s.disposeResource = function() { + this._recreateLock && (this._needReleaseAgain = !0), + this._source && (B.mainContext.deleteTexture(this._source), + this._source = null, + this._buffer = null, + this.memorySize = 0) + } + , + r(0, s, "src", function() { + return this._src + }), + e.create = function(t, i, n, a, r, s) { + if (void 0 === a && (a = 9729), + void 0 === r && (r = 9729), + void 0 === s && (s = !0), + !t || t.byteLength < i * n * 4) + throw "DataTexture2D create error"; + var o = new e; + return o._buffer = t, + o._width = i, + o._height = n, + o._mipmap = s, + o._magFifter = a, + o._minFifter = r, + o._size = new Je(o._width,o._height), + o._conchTexture ? alert("怎么给runtime传递datatexture数据") : o.activeResource(), + o + } + , + e.load = function(t, n, a, r, s) { + void 0 === n && (n = 0), + void 0 === a && (a = 0), + void 0 === r && (r = 9729), + void 0 === s && (s = 9729); + if ("mipmaps" === A.getFileExtension(t)) { + var o = i.loader.create(t, null, null, e, [function(t) { + this._mipmaps = []; + var e = new Uint32Array(t); + this._width = e[0]; + var i = 512; + if (laya.d3.resource.DataTexture2D.lodasatlas && (this._width *= 2, + i = 1024), + this._width != i) + throw console.error("现在只支持512x256的环境贴图。当前的是" + e[0]), + "现在只支持512x256的环境贴图。当前的是" + e[0]; + this._height = e[1]; + for (var n = laya.d3.resource.DataTexture2D.lodasatlas ? this._width / 2 : this._width, a = this._height, r = 8; ; ) { + var s = n * a * 4; + if (r + s > t.byteLength) + throw "load mipmaps data size error "; + var o = new Uint8Array(t,r,s); + if (this._mipmaps.push(o), + r += s, + 1 == n && 1 == a) + break; + a /= 2, + (n /= 2) < 1 && (n = 1), + a < 1 && (a = 1) + } + return null + } + ]); + if (laya.d3.resource.DataTexture2D.lodasatlas) { + o.simLodInfo = new Float32Array(40); + for (var l = 0; l < o.simLodInfo.length; ) + o.simLodInfo[l] = (e.simLodRect[l] + .5) / 1024, + l++, + o.simLodInfo[l] = (e.simLodRect[l] + .5) / 256, + l++, + o.simLodInfo[l] = Math.max(e.simLodRect[l] - 1, .1) / 1024, + l++, + o.simLodInfo[l] = Math.max(e.simLodRect[l] - 1.5, .1) / 256, + l++ + } + return o + } + if ("number" == typeof n) + return i.loader.create(t, null, null, e, [function(t) { + return this._width = n, + this._height = a, + this._buffer = t, + null + } + ]); + if ("function" == typeof n) + return i.loader.create(t, null, null, e, [n]); + throw new Error("unknown params.") + } + , + e.lodasatlas = !1, + n(e, ["simLodRect", function() { + return this.simLodRect = new Uint32Array([0, 0, 512, 256, 512, 0, 256, 128, 768, 0, 128, 64, 896, 0, 64, 32, 960, 0, 32, 16, 992, 0, 16, 8, 1008, 0, 8, 4, 1016, 0, 4, 2, 1020, 0, 2, 1, 1022, 0, 1, 1]) + } + ]), + e + }() + , nn = function(t) { + function e() { + this._numberVertices = 0, + this._numberIndices = 0, + this._vertexBuffer = null, + this._indexBuffer = null, + e.__super.call(this) + } + a(e, "laya.d3.resource.models.PrimitiveMesh", yi); + var n = e.prototype; + return i.imps(n, { + "laya.d3.core.render.IRenderable": !0 + }), + n._getVertexBuffer = function(t) { + return void 0 === t && (t = 0), + 0 === t ? this._vertexBuffer : null + } + , + n._getVertexBuffers = function() { + return null + } + , + n._getIndexBuffer = function() { + return this._indexBuffer + } + , + n._getPositions = function() { + var t, e = [], i = this._vertexBuffer.vertexDeclaration.getVertexElements(), n = 0; + for (n = 0; n < i.length; n++) { + var a = i[n]; + if ("vector3" === a.elementFormat && 0 === a.elementUsage) { + t = a; + break + } + } + var r = this._vertexBuffer.getData(); + for (n = 0; n < r.length; n += this._vertexBuffer.vertexDeclaration.vertexStride / 4) { + var s = n + t.offset / 4 + , o = new Be(r[s + 0],r[s + 1],r[s + 2]); + e.push(o) + } + return e + } + , + n.getRenderElement = function(t) { + return this + } + , + n.getRenderElementsCount = function() { + return 1 + } + , + n.disposeResource = function() { + this._vertexBuffer && (this._vertexBuffer.destroy(), + this._vertexBuffer = null), + this._indexBuffer && (this._indexBuffer.destroy(), + this._indexBuffer = null), + this.memorySize = 0 + } + , + n._beforeRender = function(t) { + return this._vertexBuffer._bind(), + this._indexBuffer._bind(), + !0 + } + , + n._render = function(t) { + B.mainContext.drawElements(4, this._numberIndices, 5123, 0), + E.drawCall++, + E.trianglesFaces += this._numberIndices / 3 + } + , + r(0, n, "_vertexBufferCount", function() { + return 1 + }), + r(0, n, "triangleCount", function() { + return this._indexBuffer.indexCount / 3 + }), + e + }() + , an = function(t) { + function e() { + this._materials = null, + this._subMeshes = null, + this._vertexBuffers = null, + this._indexBuffer = null, + this._boneNames = null, + this._inverseBindPoses = null, + this._skinnedDatas = null, + e.__super.call(this), + this._subMeshes = [], + this._materials = [], + this._vertexBuffers = [] + } + a(e, "laya.d3.resource.models.Mesh", yi); + var n = e.prototype; + return n._getPositions = function() { + var t, e, i, n, a, r = [], s = 0, o = 0, l = 0; + if (0 !== this._vertexBuffers.length) { + var h = this._vertexBuffers.length; + for (s = 0; s < h; s++) { + for (i = (t = this._vertexBuffers[s]).vertexDeclaration.getVertexElements(), + o = 0; o < i.length; o++) + if ("vector3" === (n = i[o]).elementFormat && 0 === n.elementUsage) { + e = n; + break + } + for (a = t.getData(), + o = 0; o < a.length; o += t.vertexDeclaration.vertexStride / 4) + l = o + e.offset / 4, + r.push(new Be(a[l + 0],a[l + 1],a[l + 2])) + } + } else { + var c = this._subMeshes.length; + for (s = 0; s < c; s++) { + for (i = (t = this._subMeshes[s]._getVertexBuffer()).vertexDeclaration.getVertexElements(), + o = 0; o < i.length; o++) + if ("vector3" === (n = i[o]).elementFormat && 0 === n.elementUsage) { + e = n; + break + } + for (a = t.getData(), + o = 0; o < a.length; o += t.vertexDeclaration.vertexStride / 4) + l = o + e.offset / 4, + r.push(new Be(a[l + 0],a[l + 1],a[l + 2])) + } + } + return r + } + , + n._setSubMeshes = function(t) { + this._subMeshes = t, + this._subMeshCount = t.length; + for (var e = 0; e < this._subMeshCount; e++) + t[e]._indexInMesh = e; + this._positions = this._getPositions(), + this._generateBoundingObject() + } + , + n.onAsynLoaded = function(t, e, i) { + var n = e[0] + , a = e[1]; + ve.read(n, this, this._materials, this._subMeshes, a), + this.completeCreate(), + this._endLoaded() + } + , + n.getSubMesh = function(t) { + return this._subMeshes[t] + } + , + n.getSubMeshCount = function() { + return this._subMeshes.length + } + , + n.getRenderElementsCount = function() { + return this._subMeshes.length + } + , + n.getRenderElement = function(t) { + return this._subMeshes[t] + } + , + n.disposeResource = function() { + for (var t = 0; t < this._subMeshes.length; t++) + this._subMeshes[t].dispose(); + this._materials = null, + this._subMeshes = null, + this._vertexBuffers = null, + this._indexBuffer = null, + this._boneNames = null, + this._inverseBindPoses = null + } + , + r(0, n, "materials", function() { + return this._materials.slice() + }), + r(0, n, "InverseAbsoluteBindPoses", function() { + return this._inverseBindPoses + }), + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e + }() + , rn = function(t) { + function e(t, i, n, a, r, s, o, l, h) { + this._alreadyResolved = !1, + this._surfaceFormat = 0, + this._surfaceType = 0, + this._depthStencilFormat = 0, + this._frameBuffer = null, + this._depthStencilBuffer = null, + void 0 === n && (n = 6408), + void 0 === a && (a = 5121), + void 0 === r && (r = 33189), + void 0 === s && (s = !1), + void 0 === o && (o = !1), + void 0 === l && (l = -1), + void 0 === h && (h = -1), + e.__super.call(this), + this._type = 3553, + this._width = t, + this._height = i, + this._size = new Je(t,i), + this._surfaceFormat = n, + this._surfaceType = a, + this._depthStencilFormat = r, + this._mipmap = s, + this._repeat = o, + this._minFifter = l, + this._magFifter = h, + this.activeResource(), + this._alreadyResolved = !0 + } + a(e, "laya.d3.resource.RenderTexture", gi); + var n = e.prototype; + return n.recreateResource = function() { + var t = B.mainContext; + this._frameBuffer = t.createFramebuffer(), + this._source = t.createTexture(); + var e = k.curBindTexTarget + , i = k.curBindTexValue; + k.bindTexture(t, this._type, this._source), + t.texImage2D(this._type, 0, 6408, this._width, this._height, 0, this._surfaceFormat, this._surfaceType, null); + var n = this._minFifter + , a = this._magFifter + , r = this._repeat ? 10497 : 33071; + if (h.isPOT(this._width, this._height) ? (this._mipmap ? -1 !== n || (n = 9987) : -1 !== n || (n = 9729), + -1 !== a || (a = 9729), + t.texParameteri(this._type, 10241, n), + t.texParameteri(this._type, 10240, a), + t.texParameteri(this._type, 10242, r), + t.texParameteri(this._type, 10243, r), + this._mipmap && t.generateMipmap(this._type)) : (-1 !== n || (n = 9729), + -1 !== a || (a = 9729), + t.texParameteri(this._type, 10241, n), + t.texParameteri(this._type, 10240, a), + t.texParameteri(this._type, 10242, 33071), + t.texParameteri(this._type, 10243, 33071)), + t.bindFramebuffer(36160, this._frameBuffer), + t.framebufferTexture2D(36160, 36064, 3553, this._source, 0), + this._depthStencilFormat) + switch (this._depthStencilBuffer = t.createRenderbuffer(), + t.bindRenderbuffer(36161, this._depthStencilBuffer), + t.renderbufferStorage(36161, this._depthStencilFormat, this._width, this._height), + this._depthStencilFormat) { + case 33189: + t.framebufferRenderbuffer(36160, 36096, 36161, this._depthStencilBuffer); + break; + case 36168: + t.framebufferRenderbuffer(36160, 36128, 36161, this._depthStencilBuffer); + break; + case 34041: + t.framebufferRenderbuffer(36160, 33306, 36161, this._depthStencilBuffer) + } + t.bindFramebuffer(36160, null), + e && i && k.bindTexture(t, e, i), + t.bindRenderbuffer(36161, null), + this.memorySize = this._width * this._height * 4, + this.completeCreate() + } + , + n.start = function() { + B.mainContext.bindFramebuffer(36160, this.frameBuffer), + e._currentRenderTarget = this, + this._alreadyResolved = !1 + } + , + n.end = function() { + B.mainContext.bindFramebuffer(36160, null), + e._currentRenderTarget = null, + this._alreadyResolved = !0 + } + , + n.getData = function(t, e, i, n) { + var a = B.mainContext; + a.bindFramebuffer(36160, this._frameBuffer); + if (!(36053 === a.checkFramebufferStatus(36160))) + return a.bindFramebuffer(36160, null), + null; + var r = new Uint8Array(this._width * this._height * 4); + return a.readPixels(t, e, i, n, this._surfaceFormat, this._surfaceType, r), + a.bindFramebuffer(36160, null), + r + } + , + n.disposeResource = function() { + if (this._frameBuffer) { + var t = B.mainContext; + t.deleteTexture(this._source), + t.deleteFramebuffer(this._frameBuffer), + t.deleteRenderbuffer(this._depthStencilBuffer), + this._source = null, + this._frameBuffer = null, + this._depthStencilBuffer = null, + this.memorySize = 0 + } + } + , + r(0, n, "surfaceFormat", function() { + return this._surfaceFormat + }), + r(0, n, "surfaceType", function() { + return this._surfaceType + }), + r(0, n, "depthStencilFormat", function() { + return this._depthStencilFormat + }), + r(0, n, "source", function() { + return this._alreadyResolved ? i.superGet(gi, this, "source") : null + }), + r(0, n, "depthStencilBuffer", function() { + return this._depthStencilBuffer + }), + r(0, n, "frameBuffer", function() { + return this._frameBuffer + }), + e._currentRenderTarget = null, + e + }() + , sn = function(t) { + function e(t) { + this._color = null, + this._pixels = null, + e.__super.call(this), + this._type = 3553, + this._width = 1, + this._height = 1, + this._size = new Je(this.width,this.height), + this._color = t, + this._pixels = new Uint8Array([255 * t.x, 255 * t.y, 255 * t.z, 255 * t.w]) + } + a(e, "laya.d3.resource.SolidColorTexture2D", gi); + var i = e.prototype; + return i._createWebGlTexture = function() { + var t = B.mainContext + , e = this._source = t.createTexture() + , i = this._width + , n = this._height + , a = k.curBindTexTarget + , r = k.curBindTexValue; + k.bindTexture(t, this._type, e), + t.texImage2D(this._type, 0, 6408, i, n, 0, 6408, 5121, this._pixels); + var s = this._minFifter + , o = this._magFifter + , l = this._repeat ? 10497 : 33071 + , c = h.isPOT(i, n); + c ? (this._mipmap ? -1 !== s || (s = 9987) : -1 !== s || (s = 9729), + -1 !== o || (o = 9729), + t.texParameteri(this._type, 10241, s), + t.texParameteri(this._type, 10240, o), + t.texParameteri(this._type, 10242, l), + t.texParameteri(this._type, 10243, l), + this._mipmap && t.generateMipmap(this._type)) : (-1 !== s || (s = 9729), + -1 !== o || (o = 9729), + t.texParameteri(this._type, 10241, s), + t.texParameteri(this._type, 10240, o), + t.texParameteri(this._type, 10242, 33071), + t.texParameteri(this._type, 10243, 33071)), + a && r && k.bindTexture(t, a, r), + this.memorySize = c ? i * n * 4 * (1 + 1 / 3) : i * n * 4 + } + , + i.recreateResource = function() { + this._createWebGlTexture(), + this.completeCreate() + } + , + i.disposeResource = function() { + this._source && (B.mainContext.deleteTexture(this._source), + this._source = null, + this.memorySize = 0) + } + , + n(e, ["magentaTexture", function() { + return this.magentaTexture = new e(new ke(1,0,1,1)) + } + , "grayTexture", function() { + return this.grayTexture = new e(new ke(.5,.5,.5,1)) + } + ]), + e + }() + , on = function(t) { + function e(t) { + this._color = null, + this._pixels = null, + this._texCount = 6, + e.__super.call(this), + this._type = 34067, + this._width = 1, + this._height = 1, + this._size = new Je(this.width,this.height), + this._color = t, + this._pixels = new Uint8Array([255 * t.x, 255 * t.y, 255 * t.z, 255 * t.w]) + } + a(e, "laya.d3.resource.SolidColorTextureCube", gi); + var i = e.prototype; + return i._createWebGlTexture = function() { + var t = B.mainContext + , e = this._source = t.createTexture() + , i = this._width + , n = this._height + , a = k.curBindTexTarget + , r = k.curBindTexValue; + k.bindTexture(t, this._type, e), + t.texImage2D(34069, 0, 6408, i, n, 0, 6408, 5121, this._pixels), + t.texImage2D(34070, 0, 6408, i, n, 0, 6408, 5121, this._pixels), + t.texImage2D(34071, 0, 6408, i, n, 0, 6408, 5121, this._pixels), + t.texImage2D(34072, 0, 6408, i, n, 0, 6408, 5121, this._pixels), + t.texImage2D(34073, 0, 6408, i, n, 0, 6408, 5121, this._pixels), + t.texImage2D(34074, 0, 6408, i, n, 0, 6408, 5121, this._pixels); + var s = this.minFifter + , o = this.magFifter + , l = this._repeat ? 10497 : 33071 + , c = h.isPOT(i, n); + c ? (this.mipmap ? -1 !== s || (s = 9987) : -1 !== s || (s = 9729), + -1 !== o || (o = 9729), + t.texParameteri(this._type, 10241, s), + t.texParameteri(this._type, 10240, o), + t.texParameteri(this._type, 10242, l), + t.texParameteri(this._type, 10243, l), + this.mipmap && t.generateMipmap(this._type)) : (-1 !== s || (s = 9729), + -1 !== o || (o = 9729), + t.texParameteri(this._type, 10241, s), + t.texParameteri(this._type, 10240, o), + t.texParameteri(this._type, 10242, 33071), + t.texParameteri(this._type, 10243, 33071)), + a && r && k.bindTexture(t, a, r), + this.memorySize = c ? i * n * 4 * (1 + 1 / 3) * this._texCount : i * n * 4 * this._texCount + } + , + i.recreateResource = function() { + this._createWebGlTexture(), + this.completeCreate() + } + , + i.disposeResource = function() { + this._source && (B.mainContext.deleteTexture(this._source), + this._source = null, + this.memorySize = 0) + } + , + n(e, ["magentaTexture", function() { + return this.magentaTexture = new e(new ke(1,0,1,1)) + } + , "grayTexture", function() { + return this.grayTexture = new e(new ke(.5,.5,.5,1)) + } + ]), + e + }() + , ln = function(e) { + function n(t, e, i, a) { + this._canRead = !1, + this._image = null, + this._pixels = null, + void 0 === t && (t = !1), + void 0 === e && (e = !0), + void 0 === i && (i = 6408), + void 0 === a && (a = !0), + n.__super.call(this), + this._type = 3553, + this._repeat = e, + this._canRead = t, + this._format = i, + this._mipmap = a + } + a(n, "laya.d3.resource.Texture2D", gi); + var s = n.prototype; + return s._createWebGlTexture = function() { + if (!this._image) + throw "create GLTextur err:no data:" + this._image; + var t = B.mainContext + , e = this._source = t.createTexture() + , i = this._width + , n = this._height + , a = k.curBindTexTarget + , r = k.curBindTexValue; + switch (k.bindTexture(t, this._type, e), + this._format) { + case 6407: + case 6408: + this._canRead ? t.texImage2D(this._type, 0, this._format, i, n, 0, this._format, 5121, this._pixels) : t.texImage2D(this._type, 0, this._format, this._format, 5121, this._image); + break; + case B.compressEtc1.COMPRESSED_RGB_ETC1_WEBGL: + t.compressedTexImage2D(this._type, 0, this._format, this._width, this._height, 0, this._image) + } + var s = this._minFifter + , o = this._magFifter + , l = this._repeat ? 10497 : 33071 + , c = 0 == this._wrapModeU ? 10497 : 33071 + , _ = 0 == this._wrapModeV ? 10497 : 33071 + , u = h.isPOT(i, n); + u ? (this._mipmap ? -1 !== s || (s = 9987) : -1 !== s || (s = 9729), + -1 !== o || (o = 9729), + t.texParameteri(this._type, 10241, s), + t.texParameteri(this._type, 10240, o), + t.texParameteri(this._type, 10242, l), + t.texParameteri(this._type, 10243, l), + t.texParameteri(this._type, 10242, c), + t.texParameteri(this._type, 10243, _), + this._mipmap && t.generateMipmap(this._type)) : (-1 !== s || (s = 9729), + -1 !== o || (o = 9729), + t.texParameteri(this._type, 10241, s), + t.texParameteri(this._type, 10240, o), + t.texParameteri(this._type, 10242, 33071), + t.texParameteri(this._type, 10243, 33071)), + a && r && k.bindTexture(t, a, r), + this._image.onload = null, + this._image = null, + this.memorySize = u ? i * n * 4 * (1 + 1 / 3) : i * n * 4 + } + , + s.recreateResource = function() { + this._createWebGlTexture(), + this.completeCreate() + } + , + s.onAsynLoaded = function(e, i, n) { + if (n) { + var a = n[0]; + void 0 !== a && (this._canRead = a); + var r = n[1]; + void 0 !== r && (this._repeat = r); + var s = n[2]; + void 0 !== s && (this._format = s); + var o = n[3]; + void 0 !== o && (this._mipmap = o); + var l = n.wrapModeU; + void 0 !== l && (this._wrapModeU = l); + var h = n.wrapModeV; + void 0 !== h && (this._wrapModeV = h) + } + switch (this._format) { + case 6407: + case 6408: + this._image = i; + var c = i.width + , _ = i.height; + this._width = c, + this._height = _, + this._size = new Je(c,_), + this._canRead && (I.isConchApp ? i instanceof t.HTMLElement && (this._pixels = new Uint8Array(i.getImageData(0, 0, c, _))) : (u.canvas.size(c, _), + u.canvas.clear(), + u.context.drawImage(i, 0, 0, c, _), + this._pixels = new Uint8Array(u.context.getImageData(0, 0, c, _).data.buffer))); + break; + case B.compressEtc1.COMPRESSED_RGB_ETC1_WEBGL: + var d = new f(i); + d.readUTFBytes(4), + d.readUTFBytes(2), + d.getInt16(); + d.endian = "bigEndian", + this._width = d.getInt16(), + this._height = d.getInt16(), + this._size = new Je(this._width,this._height); + d.getInt16(), + d.getInt16(); + this._image = new Uint8Array(i,d.pos) + } + this.recreateResource(), + this._endLoaded() + } + , + s.getPixels = function() { + if (this._canRead) + return this._pixels; + throw new Error("Texture2D: must set texture canRead is true.") + } + , + s.disposeResource = function() { + this._source && (B.mainContext.deleteTexture(this._source), + this._source = null, + this._image = null, + this.memorySize = 0) + } + , + r(0, s, "_src", function() { + return this.url + }), + r(0, s, "src", function() { + return this.url + }), + n.load = function(t) { + return i.loader.create(t, null, null, n) + } + , + n + }() + , hn = (function(e) { + function n(t, e, i, a) { + n.__super.call(this, t, e, i, a) + } + a(n, "laya.d3.resource.Texture2D_caps", ln); + var s = n.prototype; + s._createWebGlTexture = function() { + if (!this._image) + throw "create GLTextur err:no data:" + this._image; + var t = B.mainContext + , e = this._source = t.createTexture() + , i = this._width + , n = this._height + , a = k.curBindTexTarget + , r = k.curBindTexValue; + switch (k.bindTexture(t, this._type, e), + this._format) { + case 6407: + case 6408: + this._canRead ? t.texImage2D(this._type, 0, this._format, i, n, 0, this._format, 5121, this._pixels) : t.texImage2D(this._type, 0, this._format, this._format, 5121, this._image); + break; + case B.compressEtc1.COMPRESSED_RGB_ETC1_WEBGL: + t.compressedTexImage2D(this._type, 0, this._format, this._width, this._height, 0, this._image) + } + var s = this._minFifter + , o = this._magFifter + , l = this._repeat ? 10497 : 33071 + , c = 0 == this._wrapModeU ? 10497 : 33071 + , _ = 0 == this._wrapModeV ? 10497 : 33071 + , u = h.isPOT(i, n); + u ? (this._mipmap ? -1 !== s || (s = 9987) : -1 !== s || (s = 9729), + -1 !== o || (o = 9729), + t.texParameteri(this._type, 10241, s), + t.texParameteri(this._type, 10240, o), + t.texParameteri(this._type, 10242, l), + t.texParameteri(this._type, 10243, l), + t.texParameteri(this._type, 10242, c), + t.texParameteri(this._type, 10243, _), + this._mipmap && t.generateMipmap(this._type)) : (-1 !== s || (s = 9729), + -1 !== o || (o = 9729), + t.texParameteri(this._type, 10241, s), + t.texParameteri(this._type, 10240, o), + t.texParameteri(this._type, 10242, 33071), + t.texParameteri(this._type, 10243, 33071)), + a && r && k.bindTexture(t, a, r), + this._image.onload = null, + this.memorySize = u ? i * n * 4 * (1 + 1 / 3) : i * n * 4 + } + , + s.recreateResource = function() { + this._source || (this._createWebGlTexture(), + this.completeCreate()) + } + , + s.clearTexture = function() { + this._source && (B.mainContext.deleteTexture(this._source), + this._source = null, + this.memorySize = 0) + } + , + s.onAsynLoaded = function(e, i, n) { + if (n) { + var a = n[0]; + void 0 !== a && (this._canRead = a); + var r = n[1]; + void 0 !== r && (this._repeat = r); + var s = n[2]; + void 0 !== s && (this._format = s); + var o = n[3]; + void 0 !== o && (this._mipmap = o); + var l = n.wrapModeU; + void 0 !== l && (this._wrapModeU = l); + var h = n.wrapModeV; + void 0 !== h && (this._wrapModeV = h) + } + switch (this._format) { + case 6407: + case 6408: + this._image = i; + var c = i.width + , _ = i.height; + this._width = c, + this._height = _, + this._size = new Je(c,_), + this._canRead && (I.isConchApp ? i instanceof t.HTMLElement && (this._pixels = new Uint8Array(i.getImageData(0, 0, c, _))) : (u.canvas.size(c, _), + u.canvas.clear(), + u.context.drawImage(i, 0, 0, c, _), + this._pixels = new Uint8Array(u.context.getImageData(0, 0, c, _).data.buffer))); + break; + case B.compressEtc1.COMPRESSED_RGB_ETC1_WEBGL: + var d = new f(i); + d.readUTFBytes(4), + d.readUTFBytes(2), + d.getInt16(); + d.endian = "bigEndian", + this._width = d.getInt16(), + this._height = d.getInt16(), + this._size = new Je(this._width,this._height); + d.getInt16(), + d.getInt16(); + this._image = new Uint8Array(i,d.pos) + } + this._endLoaded() + } + , + r(0, s, "_src", function() { + return this.url + }), + r(0, s, "src", function() { + return this.url + }), + n.load = function(t) { + return i.loader.create(t, null, null, n) + } + }(), + function(t) { + function e() { + e.__super.call(this), + this._type = 34067 + } + a(e, "laya.d3.resource.TextureCube", gi); + var n = e.prototype; + return n._onTextureLoaded = function(t) { + this._images = t; + for (var e = 2147483647, i = 2147483647, n = 0; n < 6; n++) { + var a = t[n]; + e = Math.min(e, a.width), + i = Math.min(i, a.height) + } + this._width = e, + this._height = i, + this._size = new Je(e,i) + } + , + n._createWebGlTexture = function() { + var t = 0; + for (t = 0; t < 6; t++) + if (!this._images[t]) + throw "create GLTextur err:no data:" + this._images[t]; + var e = B.mainContext + , i = this._source = e.createTexture() + , n = this._width + , a = this._height + , r = k.curBindTexTarget + , s = k.curBindTexValue; + k.bindTexture(e, this._type, i), + e.texImage2D(34069, 0, 6408, 6408, 5121, this._images[0]), + e.texImage2D(34070, 0, 6408, 6408, 5121, this._images[1]), + e.texImage2D(34071, 0, 6408, 6408, 5121, this._images[2]), + e.texImage2D(34072, 0, 6408, 6408, 5121, this._images[3]), + e.texImage2D(34073, 0, 6408, 6408, 5121, this._images[4]), + e.texImage2D(34074, 0, 6408, 6408, 5121, this._images[5]); + var o = this.minFifter + , l = this.magFifter + , c = this._repeat ? 10497 : 33071 + , _ = h.isPOT(n, a); + for (_ ? (this.mipmap ? -1 !== o || (o = 9987) : -1 !== o || (o = 9729), + -1 !== l || (l = 9729), + e.texParameteri(this._type, 10241, o), + e.texParameteri(this._type, 10240, l), + e.texParameteri(this._type, 10242, c), + e.texParameteri(this._type, 10243, c), + this.mipmap && e.generateMipmap(this._type)) : (-1 !== o || (o = 9729), + -1 !== l || (l = 9729), + e.texParameteri(this._type, 10241, o), + e.texParameteri(this._type, 10240, l), + e.texParameteri(this._type, 10242, 33071), + e.texParameteri(this._type, 10243, 33071)), + r && s && k.bindTexture(e, r, s), + t = 0; t < 6; t++) + this._images[t].onload = null, + this._images[t] = null; + this.memorySize = _ ? n * a * 4 * (1 + 1 / 3) * 6 : n * a * 4 * 6 + } + , + n.recreateResource = function() { + null != this._url && (this._createWebGlTexture(), + this.completeCreate()) + } + , + n.onAsynLoaded = function(t, e, i) { + this._onTextureLoaded(e), + this.activeResource(), + this._endLoaded() + } + , + n.disposeResource = function() { + this._source && (B.mainContext.deleteTexture(this._source), + this._source = null, + this.memorySize = 0) + } + , + r(0, n, "defaulteTexture", function() { + return on.grayTexture + }), + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e + }()) + , cn = function(t) { + function e(t) { + this._hasIndependentBound = !0, + e.__super.call(this, t), + this._owner.transform.off("worldmatrixneedchanged", this, this._onWorldMatNeedChange), + this._cacheAnimationNodeIndex = [], + this._cacheAnimationNode = [], + this._localBoundingBoxCorners = s(8, null), + this._owner.meshFilter.on("meshchanged", this, this._$3__onMeshChanged) + } + a(e, "laya.d3.core.SkinnedMeshRender", t); + var i = e.prototype; + return i._getCacheAnimationNodes = function() { + var t = this._cacheMesh._boneNames + , e = t.length; + this._cacheAnimationNode.length = e, + this._cacheAnimationNodeIndex.length = e; + for (var i = this._cacheAnimator._avatarNodes, n = this._cacheAnimator._avatarNodeMap, a = 0; a < e; a++) { + var r = n[t[a]]; + this._cacheAnimationNode[a] = r, + this._cacheAnimationNodeIndex[a] = i.indexOf(r) + } + } + , + i._offComputeBoneIndexToMeshEvent = function(t, e) { + t.loaded ? e.loaded || e.off("loaded", this, this._getCacheAnimationNodes) : t.off("loaded", this, this._computeBoneIndexToMeshWithAsyncMesh) + } + , + i._computeBoneIndexToMeshWithAsyncAvatar = function() { + this._cacheAvatar.loaded ? this._computeBoneIndexToMeshWithAsyncMesh() : this._cacheAvatar.once("loaded", this, this._computeBoneIndexToMeshWithAsyncMesh) + } + , + i._computeBoneIndexToMeshWithAsyncMesh = function() { + this._cacheMesh.loaded ? this._getCacheAnimationNodes() : this._cacheMesh.on("loaded", this, this._getCacheAnimationNodes) + } + , + i._$3__onMeshChanged = function(t, e, i) { + this._cacheMesh = i, + e && !e.loaded && i.off("loaded", this, this._onMeshLoaded), + i.loaded ? this._onMeshLoaded(i) : i.on("loaded", this, this._onMeshLoaded), + this._cacheAvatar && (e && this._offComputeBoneIndexToMeshEvent(this._cacheAvatar, e), + i && this._computeBoneIndexToMeshWithAsyncAvatar()) + } + , + i._onMeshLoaded = function(t) { + var e = t.subMeshCount; + this._subSkinnedDatas = [], + this._subSkinnedDatas.length = e; + for (var i = 0; i < e; i++) + for (var n = this._subSkinnedDatas[i] = [], a = t.getSubMesh(i)._boneIndicesList, r = 0, s = a.length; r < s; r++) + n[r] = new Float32Array(16 * a[r].length) + } + , + i._setCacheAnimator = function(t) { + this._cacheAnimator = t, + this._rootBone && (this._rootIndex = t._avatarNodes.indexOf(t._avatarNodeMap[this._rootBone])) + } + , + i._setRootBone = function(t) { + this._rootBone = t, + this._cacheAnimator && (this._rootIndex = this._cacheAnimator._avatarNodes.indexOf(this._cacheAnimator._avatarNodeMap[t])) + } + , + i._setCacheAvatar = function(t) { + this._cacheAvatar !== t && (this._cacheMesh ? (this._cacheAvatar && this._offComputeBoneIndexToMeshEvent(this._cacheAvatar, this._cacheMesh), + this._cacheAvatar = t, + t && (this._addShaderDefine(vn.SHADERDEFINE_BONE), + this._computeBoneIndexToMeshWithAsyncAvatar())) : this._cacheAvatar = t) + } + , + i._calculateBoundingBox = function() { + if (this._hasIndependentBound) { + if (this._cacheAnimator) { + var e = this._owner.transform + , i = e.worldMatrix; + if (this._cacheAnimator._canCache) { + var n = this._cacheAnimator._curAvatarNodeDatas; + Ke.matrix4x4MultiplyMFM(this._cacheAnimator.owner.transform.worldMatrix, n[this._rootIndex], i) + } else + Ke.matrix4x4MultiplyMFM(this._cacheAnimator.owner.transform.worldMatrix, this._cacheAnimator._avatarNodeMap[this._rootBone].transform.getWorldMatrix(), i); + e.worldMatrix = i; + null == this._cacheAnimator._avatarNodeMap[this._rootBone] || null == this._localBoundBox ? this._boundingBox.toDefault() : this._calculateBoundBoxByInitCorners(this._localBoundingBoxCorners) + } + } else + t.prototype._calculateBoundingBox.call(this) + } + , + i._calculateBoundingSphere = function() { + if (this._hasIndependentBound) { + if (this._cacheAnimator) { + var e = this._owner.transform + , i = e.worldMatrix; + if (this._cacheAnimator._canCache) { + var n = this._cacheAnimator._curAvatarNodeDatas; + Ke.matrix4x4MultiplyMFM(this._cacheAnimator.owner.transform.worldMatrix, n[this._rootIndex], i) + } else + Ke.matrix4x4MultiplyMFM(this._cacheAnimator.owner.transform.worldMatrix, this._cacheAnimator._avatarNodeMap[this._rootBone].transform.getWorldMatrix(), i); + e.worldMatrix = i; + null == this._cacheAnimator._avatarNodeMap[this._rootBone] || null == this.localBoundSphere ? this._boundingSphere.toDefault() : this._calculateBoundingSphereByInitSphere(this.localBoundSphere) + } + } else + t.prototype._calculateBoundingSphere.call(this) + } + , + i._updateOctreeNode = function() { + var t = this._treeNode; + t && t.updateObject(this) + } + , + i._renderUpdate = function(t) { + var i, n = this._cacheAnimator, a = this._cacheMesh.subMeshCount, r = this._owner.transform; + if (n) { + var s = n._canCache + , o = this._cacheAnimator._curAvatarNodeDatas + , l = n.owner; + if (this._setShaderValueMatrix4x4(0, l._transform.worldMatrix), + i = l.getProjectionViewWorldMatrix(t), + this._setShaderValueMatrix4x4(1, i), + this._cacheMesh && this._cacheMesh.loaded && this._cacheAvatar && this._cacheAvatar.loaded) { + var h = 0 + , c = 0 + , _ = this._cacheMesh._inverseBindPoses + , u = this._cacheMesh._skinnedDatas; + if (s) + for (h = 0, + c = _.length; h < c; h++) + Ke._mulMatrixArray(o[this._cacheAnimationNodeIndex[h]], _[h], u, 16 * h); + else + for (h = 0, + c = _.length; h < c; h++) + Ke._mulMatrixArray(this._cacheAnimationNode[h].transform.getWorldMatrix(), _[h], u, 16 * h); + for (h = 0; h < a; h++) { + for (var d = this._cacheMesh.getSubMesh(h)._boneIndicesList, f = d.length, p = this._subSkinnedDatas[h], m = 0; m < f; m++) + e._splitAnimationDatas(d[m], u, p[m]); + this._renderElements[h]._skinAnimationDatas = p + } + } + } else + this._setShaderValueMatrix4x4(0, r.worldMatrix), + i = this._owner.getProjectionViewWorldMatrix(t), + this._setShaderValueMatrix4x4(1, i); + return Ze.debugMode && this._renderRenderableBoundBox(), + !0 + } + , + r(0, i, "localBoundBox", function() { + return this._localBoundBox + }, function(t) { + this._localBoundBox = t, + t.getCorners(this._localBoundingBoxCorners) + }), + r(0, i, "boundingSphere", function() { + return this._calculateBoundingSphere(), + this._boundingSphere + }), + r(0, i, "boundingBox", function() { + return this._calculateBoundingBox(), + this._boundingBox + }), + r(0, i, "boundingBoxCenter", function() { + var t = this.boundingBox; + return Be.add(t.min, t.max, this._boundingBoxCenter), + Be.scale(this._boundingBoxCenter, .5, this._boundingBoxCenter), + this._boundingBoxCenter + }), + e._splitAnimationDatas = function(t, e, i) { + for (var n = 0, a = t.length, r = 0; n < a; n++) + for (var s = t[n] << 4, o = 0; o < 16; o++, + r++) + i[r] = e[s + o] + } + , + e + }(Li) + , _n = function(t) { + function e(t, n) { + e.__super.call(this), + void 0 === t && (t = .3), + void 0 === n && (n = 1e3), + this._tempVector3 = new Be, + this._position = new Be, + this._up = new Be, + this._forward = new Be, + this._right = new Be, + this._fieldOfView = 60, + this._useUserProjectionMatrix = !1, + this._orthographic = !1, + this._viewportExpressedInClipSpace = !0, + this._renderTargetSize = Je.fullScreen, + this._orthographicVerticalSize = 10, + this.renderingOrder = 0, + this._nearPlane = t, + this._farPlane = n, + this.cullingMask = 2147483647, + this.clearFlag = 0, + this.useOcclusionCulling = !0, + this._calculateProjectionMatrix(), + i.stage.on("resize", this, this._onScreenSizeChanged) + } + a(e, "laya.d3.core.BaseCamera", t); + var s = e.prototype; + return s._sortCamerasByRenderingOrder = function() { + if (this._displayedInStage) + for (var t = this.scene._cameraPool, e = t.length - 1, i = 0; i < e; i++) + if (t[i].renderingOrder > t[e].renderingOrder) { + var n = t[i]; + t[i] = t[e], + t[e] = n + } + } + , + s._calculateProjectionMatrix = function() {} + , + s._onScreenSizeChanged = function() { + this._calculateProjectionMatrix() + } + , + s._prepareCameraToRender = function() { + z._currentCameraCullingMask = this.cullingMask; + var t = this._shaderValues; + t.setValue(0, this.transform.position.elements), + t.setValue(5, this.forward.elements), + t.setValue(6, this.up.elements) + } + , + s._prepareCameraViewProject = function(t, e) { + var i = this._shaderValues; + i.setValue(1, t.elements), + i.setValue(2, e.elements) + } + , + s._renderCamera = function(t, e, i) {} + , + s.addLayer = function(t) { + 29 !== t.number && 30 != t.number && (this.cullingMask = this.cullingMask | t.mask) + } + , + s.removeLayer = function(t) { + 29 !== t.number && 30 != t.number && (this.cullingMask = this.cullingMask & ~t.mask) + } + , + s.addAllLayers = function() { + this.cullingMask = 2147483647 + } + , + s.removeAllLayers = function() { + this.cullingMask = 0 | z.getLayerByNumber(29).mask | z.getLayerByNumber(30).mask + } + , + s.ResetProjectionMatrix = function() { + this._useUserProjectionMatrix = !1, + this._calculateProjectionMatrix() + } + , + s.moveForward = function(t) { + this._tempVector3.elements[0] = this._tempVector3.elements[1] = 0, + this._tempVector3.elements[2] = t, + this.transform.translate(this._tempVector3) + } + , + s.moveRight = function(t) { + this._tempVector3.elements[1] = this._tempVector3.elements[2] = 0, + this._tempVector3.elements[0] = t, + this.transform.translate(this._tempVector3) + } + , + s.moveVertical = function(t) { + this._tempVector3.elements[0] = this._tempVector3.elements[2] = 0, + this._tempVector3.elements[1] = t, + this.transform.translate(this._tempVector3, !1) + } + , + s._addSelfRenderObjects = function() { + var t = this.scene._cameraPool + , e = t.length; + if (e > 0) { + for (var i = e - 1; i >= 0; i--) + if (this.renderingOrder <= t[i].renderingOrder) { + t.splice(i + 1, 0, this); + break + } + } else + t.push(this), + this.scene.conchModel && this.scene.conchModel.setCurrentCamera(this.conchModel) + } + , + s._clearSelfRenderObjects = function() { + var t = this.scene._cameraPool; + t.splice(t.indexOf(this), 1) + } + , + s.destroy = function(e) { + void 0 === e && (e = !0), + this._sky && this._sky.destroy(), + this.renderTarget = null, + i.stage.off("resize", this, this._onScreenSizeChanged), + t.prototype.destroy.call(this, e) + } + , + r(0, s, "sky", function() { + return this._sky + }, function(t) { + this._sky = t, + t._ownerCamera = this + }), + r(0, s, "forward", function() { + var t = this.transform.worldMatrix.elements + , e = this._forward.elements; + return e[0] = -t[8], + e[1] = -t[9], + e[2] = -t[10], + this._forward + }), + r(0, s, "position", function() { + var t = this.transform.worldMatrix.elements + , e = this._position.elements; + return e[0] = t[12], + e[1] = t[13], + e[2] = t[14], + this._position + }), + r(0, s, "renderTarget", function() { + return this._renderTarget + }, function(t) { + this._renderTarget = t, + null != t && (this._renderTargetSize = t.size) + }), + r(0, s, "up", function() { + var t = this.transform.worldMatrix.elements + , e = this._up.elements; + return e[0] = t[4], + e[1] = t[5], + e[2] = t[6], + this._up + }), + r(0, s, "right", function() { + var t = this.transform.worldMatrix.elements + , e = this._right.elements; + return e[0] = t[0], + e[1] = t[1], + e[2] = t[2], + this._right + }), + r(0, s, "renderTargetSize", function() { + return this._renderTargetSize + }, function(t) { + null != this.renderTarget && this._renderTargetSize, + this._renderTargetSize = t, + this._calculateProjectionMatrix() + }), + r(0, s, "fieldOfView", function() { + return this._fieldOfView + }, function(t) { + this._fieldOfView = t, + this._calculateProjectionMatrix() + }), + r(0, s, "nearPlane", function() { + return this._nearPlane + }, function(t) { + this._nearPlane = t, + this._calculateProjectionMatrix() + }), + r(0, s, "farPlane", function() { + return this._farPlane + }, function(t) { + this._farPlane = t, + this._calculateProjectionMatrix() + }), + r(0, s, "orthographic", function() { + return this._orthographic + }, function(t) { + this._orthographic = t, + this._calculateProjectionMatrix() + }), + r(0, s, "orthographicVerticalSize", function() { + return this._orthographicVerticalSize + }, function(t) { + this._orthographicVerticalSize = t, + this._calculateProjectionMatrix() + }), + r(0, s, "renderingOrder", function() { + return this._renderingOrder + }, function(t) { + this._renderingOrder = t, + this._sortCamerasByRenderingOrder() + }), + e.CAMERAPOS = 0, + e.VIEWMATRIX = 1, + e.PROJECTMATRIX = 2, + e.VPMATRIX = 3, + e.VPMATRIX_NO_TRANSLATE = 4, + e.CAMERADIRECTION = 5, + e.CAMERAUP = 6, + e.ENVIRONMENTDIFFUSE = 7, + e.ENVIRONMENTSPECULAR = 8, + e.SIMLODINFO = 9, + e.DIFFUSEIRRADMATR = 10, + e.DIFFUSEIRRADMATG = 11, + e.DIFFUSEIRRADMATB = 12, + e.HDREXPOSURE = 13, + e.RENDERINGTYPE_DEFERREDLIGHTING = "DEFERREDLIGHTING", + e.RENDERINGTYPE_FORWARDRENDERING = "FORWARDRENDERING", + e.CLEARFLAG_SOLIDCOLOR = 0, + e.CLEARFLAG_SKY = 1, + e.CLEARFLAG_DEPTHONLY = 2, + e.CLEARFLAG_NONE = 3, + n(e, ["_invertYScaleMatrix", function() { + return this._invertYScaleMatrix = new Me(1,0,0,0,0,-1,0,0,0,0,1,0,0,0,0,1) + } + , "_invertYProjectionMatrix", function() { + return this._invertYProjectionMatrix = new Me + } + , "_invertYProjectionViewMatrix", function() { + return this._invertYProjectionViewMatrix = new Me + } + ]), + e + }(Pi) + , un = function(t) { + function e(t) { + this._render = null, + this._geometryFilter = null, + e.__super.call(this, t) + } + a(e, "laya.d3.core.RenderableSprite3D", t); + var i = e.prototype; + return i._addToInitStaticBatchManager = function() {} + , + i._setBelongScene = function(e) { + t.prototype._setBelongScene.call(this, e), + e._renderableSprite3Ds.push(this), + this._render._applyLightMapParams() + } + , + i._setUnBelongScene = function() { + var e = this._scene._renderableSprite3Ds + , i = e.indexOf(this); + e.splice(i, 1), + this._render._removeShaderDefine(laya.d3.core.RenderableSprite3D.SAHDERDEFINE_LIGHTMAP), + t.prototype._setUnBelongScene.call(this) + } + , + i._update = function(t) { + t.owner = this, + this._activeInHierarchy && (this._updateComponents(t), + this._render._updateOctreeNode(), + this._lateUpdateComponents(t), + E.spriteCount++, + this._childs.length && this._updateChilds(t)) + } + , + i.destroy = function(e) { + void 0 === e && (e = !0), + t.prototype.destroy.call(this, e), + this._render._destroy(), + this._render = null + } + , + e.__init__ = function() { + e.SHADERDEFINE_SCALEOFFSETLIGHTINGMAPUV = e.shaderDefines.registerDefine("SCALEOFFSETLIGHTINGMAPUV"), + e.SAHDERDEFINE_LIGHTMAP = e.shaderDefines.registerDefine("LIGHTMAP") + } + , + e.SHADERDEFINE_SCALEOFFSETLIGHTINGMAPUV = 2, + e.SAHDERDEFINE_LIGHTMAP = 4, + e.LIGHTMAPSCALEOFFSET = 2, + e.LIGHTMAP = 3, + n(e, ["shaderDefines", function() { + return this.shaderDefines = new Ue + } + ]), + e + }(Pi) + , dn = function(t) { + function e() { + this._intensityColor = null, + this._intensity = NaN, + this._shadow = !1, + this._shadowFarPlane = 0, + this._shadowMapSize = 0, + this._shadowMapCount = 0, + this._shadowMapPCFType = 0, + this._parallelSplitShadowMap = null, + this._lightmapBakedType = 0, + this.color = null, + e.__super.call(this), + this._intensity = 1, + this._intensityColor = new Be, + this.color = new Be(1,1,1), + this._shadow = !1, + this._shadowFarPlane = 8, + this._shadowMapSize = 512, + this._shadowMapCount = 1, + this._shadowMapPCFType = 0, + this._lightmapBakedType = e.LIGHTMAPBAKEDTYPE_REALTIME + } + a(e, "laya.d3.core.light.LightSprite", Pi); + var i = e.prototype; + return i._parseCustomProps = function(t, e, i, n) { + var a = i.color + , r = this.color.elements; + r[0] = a[0], + r[1] = a[1], + r[2] = a[2] + } + , + i._addSelfRenderObjects = function() { + this.lightmapBakedType !== e.LIGHTMAPBAKEDTYPE_BAKED && this._scene._addLight(this) + } + , + i._clearSelfRenderObjects = function() { + this.lightmapBakedType !== e.LIGHTMAPBAKEDTYPE_BAKED && this._scene._removeLight(this) + } + , + i._prepareToScene = function(t) { + return !1 + } + , + r(0, i, "lightmapBakedType", function() { + return this._lightmapBakedType + }, function(t) { + this._lightmapBakedType !== t && (this._lightmapBakedType = t, + this._activeInHierarchy && (t !== e.LIGHTMAPBAKEDTYPE_BAKED ? this._scene._addLight(this) : this._scene._removeLight(this))) + }), + r(0, i, "shadowPCFType", function() { + return this._shadowMapPCFType + }, function(t) { + this._shadowMapPCFType = t, + this._parallelSplitShadowMap && this._parallelSplitShadowMap.setPCFType(t) + }), + r(0, i, "intensity", function() { + return this._intensity + }, function(t) { + this._intensity = t + }), + r(0, i, "shadow", function() { + return this._shadow + }, function(t) { + throw new Error("LightSprite: must override it.") + }), + r(0, i, "shadowDistance", function() { + return this._shadowFarPlane + }, function(t) { + this._shadowFarPlane = t, + this._parallelSplitShadowMap && this._parallelSplitShadowMap.setFarDistance(t) + }), + r(0, i, "shadowPSSMCount", function() { + return this._shadowMapCount + }, function(t) { + this._shadowMapCount = t, + this._parallelSplitShadowMap && (this._parallelSplitShadowMap.PSSMNum = t) + }), + r(0, i, "shadowResolution", function() { + return this._shadowMapSize + }, function(t) { + this._shadowMapSize = t, + this._parallelSplitShadowMap && this._parallelSplitShadowMap.setShadowMapTextureSize(t) + }), + r(0, i, "diffuseColor", function() { + return console.log("LightSprite: discard property,please use color property instead."), + this.color + }, function(t) { + console.log("LightSprite: discard property,please use color property instead."), + this.color = t + }), + e.LIGHTMAPBAKEDTYPE_REALTIME = 0, + e.LIGHTMAPBAKEDTYPE_MIXED = 1, + e.LIGHTMAPBAKEDTYPE_BAKED = 2, + e + }() + , fn = function(t) { + function e(t) { + this._terrainRes = null, + this._lightmapScaleOffset = null, + e.__super.call(this), + this._lightmapScaleOffset = new ke(1,1,0,0), + t && (this._terrainRes = t, + t.loaded ? this.buildTerrain(t) : t.once("loaded", this, this.buildTerrain)) + } + a(e, "laya.d3.terrain.Terrain", Pi); + var n = e.prototype; + return n._parseCustomProps = function(t, e, i, n) { + this.terrainRes = v.getRes(e[i.dataPath]); + var a = i.lightmapIndex; + null != a && this.setLightmapIndex(a); + var r = i.lightmapScaleOffset; + r && this.setLightmapScaleOffset(new ke(r[0],r[1],r[2],r[3])) + } + , + n.setLightmapIndex = function(t) { + for (var e = 0; e < this._childs.length; e++) { + this._childs[e].terrainRender.lightmapIndex = t + } + } + , + n.setLightmapScaleOffset = function(t) { + if (t) { + t.cloneTo(this._lightmapScaleOffset); + for (var e = 0; e < this._childs.length; e++) { + this._childs[e].terrainRender.lightmapScaleOffset = this._lightmapScaleOffset + } + } + } + , + n.disableLight = function() { + for (var t = 0, e = this._childs.length; t < e; t++) + for (var i = this._childs[t], n = 0, a = i._render.sharedMaterials.length; n < a; n++) { + i._render.sharedMaterials[n].disableLight() + } + } + , + n.buildTerrain = function(t) { + for (var e = t._chunkNumX, i = t._chunkNumZ, n = t._heightData, a = 0, r = 0; r < i; r++) + for (var s = 0; s < e; s++) { + for (var o = new wn(s,r,t._gridSize,n._terrainHeightData,n._width,n._height,t._cameraCoordinateInverse), l = t._chunkInfos[a++], h = 0; h < l.alphaMap.length; h++) { + var c = l.detailID[h].length + , _ = c > 0 ? t._detailTextureInfos[l.detailID[h][0]].diffuseTexture : null + , u = c > 1 ? t._detailTextureInfos[l.detailID[h][1]].diffuseTexture : null + , d = c > 2 ? t._detailTextureInfos[l.detailID[h][2]].diffuseTexture : null + , f = c > 3 ? t._detailTextureInfos[l.detailID[h][3]].diffuseTexture : null + , p = c > 0 ? t._detailTextureInfos[l.detailID[h][0]].scale : null + , m = c > 1 ? t._detailTextureInfos[l.detailID[h][1]].scale : null + , g = c > 2 ? t._detailTextureInfos[l.detailID[h][2]].scale : null + , y = c > 3 ? t._detailTextureInfos[l.detailID[h][3]].scale : null; + o.buildRenderElementAndMaterial(c, l.normalMap, l.alphaMap[h], _, u, d, f, t._materialInfo.ambientColor, t._materialInfo.diffuseColor, t._materialInfo.specularColor, p ? p.x : 1, p ? p.y : 1, m ? m.x : 1, m ? m.y : 1, g ? g.x : 1, g ? g.y : 1, y ? y.x : 1, y ? y.y : 1) + } + o.terrainRender.receiveShadow = !0, + o.terrainRender.lightmapScaleOffset = this._lightmapScaleOffset, + this.addChild(o) + } + } + , + n.width = function() { + return this._terrainRes._chunkNumX * Ge.CHUNK_GRID_NUM * this._terrainRes._gridSize + } + , + n.depth = function() { + return this._terrainRes._chunkNumZ * Ge.CHUNK_GRID_NUM * this._terrainRes._gridSize + } + , + n.getHeightXZ = function(t, i) { + if (!this._terrainRes || !this._terrainRes.loaded) + return NaN; + if (t -= this.transform.position.x, + i -= this.transform.position.z, + e.__VECTOR3__ || (e.__VECTOR3__ = new Be), + e.__VECTOR3__.elements[0] = t, + e.__VECTOR3__.elements[1] = 0, + e.__VECTOR3__.elements[2] = i, + Be.transformV3ToV3(e.__VECTOR3__, Ge.__ADAPT_MATRIX_INV__, e.__VECTOR3__), + t = e.__VECTOR3__.elements[0], + i = e.__VECTOR3__.elements[2], + t < 0 || t > this.width() || i < 0 || i > this.depth()) + return NaN; + var n = this._terrainRes._gridSize + , a = parseInt("" + t / n) + , r = parseInt("" + i / n) + , s = t - a * n + , o = i - r * n + , l = NaN + , h = NaN + , c = NaN + , _ = NaN + , u = NaN + , d = this._terrainRes._heightData; + return s + o > n ? (l = d._terrainHeightData[(r + 1 - 1) * d._width + a + 1], + h = d._terrainHeightData[(r + 1 - 1) * d._width + a], + c = d._terrainHeightData[(r - 1) * d._width + a + 1], + _ = (n - s) / n, + u = (n - o) / n, + l + (h - l) * _ + (c - l) * u) : (l = d._terrainHeightData[Math.max(0, r - 1) * d._width + a], + h = d._terrainHeightData[Math.min(d._width * d._height - 1, (r + 1 - 1) * d._width + a)], + c = d._terrainHeightData[Math.min(d._width * d._height - 1, Math.max(0, r - 1) * d._width + a + 1)], + _ = s / n, + u = o / n, + l + (h - l) * u + (c - l) * _) + } + , + r(0, n, "terrainRes", null, function(t) { + t && (this._terrainRes = t, + t.loaded ? this.buildTerrain(t) : t.once("loaded", this, this.buildTerrain)) + }), + e.load = function(t) { + return i.loader.create(t, null, null, e, null, 1, !1) + } + , + e.RENDER_LINE_MODEL = !1, + e.LOD_TOLERANCE_VALUE = 4, + e.LOD_DISTANCE_FACTOR = 2, + e.__VECTOR3__ = null, + e + }() + , pn = (function(t) { + function e(t, i, n) { + this._long = NaN, + this._width = NaN, + this._height = NaN, + void 0 === t && (t = 1), + void 0 === i && (i = 1), + void 0 === n && (n = 1), + e.__super.call(this), + this._long = t, + this._width = i, + this._height = n, + this.activeResource(), + this._positions = this._getPositions(), + this._generateBoundingObject() + } + a(e, "laya.d3.resource.models.BoxMesh", nn); + var i = e.prototype; + i.recreateResource = function() { + this._numberVertices = 24, + this._numberIndices = 36; + var t = Zt.vertexDeclaration + , e = (t.vertexStride, + this._long / 2) + , i = this._height / 2 + , n = this._width / 2 + , a = new Float32Array([-e, i, -n, 0, 1, 0, 0, 0, e, i, -n, 0, 1, 0, 1, 0, e, i, n, 0, 1, 0, 1, 1, -e, i, n, 0, 1, 0, 0, 1, -e, -i, -n, 0, -1, 0, 0, 1, e, -i, -n, 0, -1, 0, 1, 1, e, -i, n, 0, -1, 0, 1, 0, -e, -i, n, 0, -1, 0, 0, 0, -e, i, -n, -1, 0, 0, 0, 0, -e, i, n, -1, 0, 0, 1, 0, -e, -i, n, -1, 0, 0, 1, 1, -e, -i, -n, -1, 0, 0, 0, 1, e, i, -n, 1, 0, 0, 1, 0, e, i, n, 1, 0, 0, 0, 0, e, -i, n, 1, 0, 0, 0, 1, e, -i, -n, 1, 0, 0, 1, 1, -e, i, n, 0, 0, 1, 0, 0, e, i, n, 0, 0, 1, 1, 0, e, -i, n, 0, 0, 1, 1, 1, -e, -i, n, 0, 0, 1, 0, 1, -e, i, -n, 0, 0, -1, 1, 0, e, i, -n, 0, 0, -1, 0, 0, e, -i, -n, 0, 0, -1, 0, 1, -e, -i, -n, 0, 0, -1, 1, 1]) + , r = new Uint16Array([0, 1, 2, 2, 3, 0, 4, 7, 6, 6, 5, 4, 8, 9, 10, 10, 11, 8, 12, 15, 14, 14, 13, 12, 16, 17, 18, 18, 19, 16, 20, 23, 22, 22, 21, 20]); + this._vertexBuffer = new Yi(t,this._numberVertices,35044,!0), + this._indexBuffer = new qi("ushort",this._numberIndices,35044,!0), + this._vertexBuffer.setData(a), + this._indexBuffer.setData(r), + this.memorySize = 2 * (this._vertexBuffer._byteLength + this._indexBuffer._byteLength), + this.completeCreate() + } + , + r(0, i, "long", function() { + return this._long + }, function(t) { + this._long !== t && (this._long = t, + this.releaseResource(), + this.activeResource()) + }), + r(0, i, "width", function() { + return this._width + }, function(t) { + this._width !== t && (this._width = t, + this.releaseResource(), + this.activeResource()) + }), + r(0, i, "height", function() { + return this._height + }, function(t) { + this._height !== t && (this._height = t, + this.releaseResource(), + this.activeResource()) + }) + }(), + function(t) { + function e(t, i, n, a) { + this._radius = NaN, + this._height = NaN, + this._slices = 0, + this._stacks = 0, + void 0 === t && (t = .5), + void 0 === i && (i = 2), + void 0 === n && (n = 16), + void 0 === a && (a = 32), + e.__super.call(this), + this._radius = t, + this._height = i < 2 * t ? 2 * t : i, + this._stacks = n, + this._slices = a, + this.recreateResource(), + this._positions = this._getPositions(), + this._generateBoundingObject() + } + a(e, "laya.d3.resource.models.CapsuleMesh", nn); + var i = e.prototype; + i.recreateResource = function() { + this._numberVertices = (this._stacks + 1) * (this.slices + 1) * 2 + 2 * (this._slices + 1), + this._numberIndices = 3 * this._stacks * (this._slices + 1) * 2 * 2 + 2 * this._slices * 3; + var t = Zt.vertexDeclaration + , e = t.vertexStride / 4 + , i = new Float32Array(this._numberVertices * e) + , n = new Uint16Array(this._numberIndices) + , a = Math.PI / 2 / this._stacks + , r = 2 * Math.PI / this._slices + , s = this._height / 2 - this._radius + , o = 0 + , l = 0 + , h = 0 + , c = 0 + , _ = 0 + , u = 0 + , d = 0 + , f = 0; + for (d = 0; d <= this._stacks; d++) + for (f = 0; f <= this._slices; f++) + o = this._radius * Math.cos(d * a) * Math.cos(f * r + Math.PI), + l = this._radius * Math.sin(d * a), + h = this._radius * Math.cos(d * a) * Math.sin(f * r + Math.PI), + i[c++] = o, + i[c++] = l + s, + i[c++] = h, + i[c++] = o, + i[c++] = l, + i[c++] = h, + i[c++] = 1 - f / this._slices, + i[c++] = (1 - d / this._stacks) * (Math.PI * this._radius / 2 / (this._height + Math.PI * this._radius)), + d < this._stacks && (n[_++] = d * (this._slices + 1) + f + (this._slices + 1), + n[_++] = d * (this._slices + 1) + f, + n[_++] = d * (this._slices + 1) + f + 1, + n[_++] = d * (this._slices + 1) + f + this._slices, + n[_++] = d * (this._slices + 1) + f, + n[_++] = d * (this._slices + 1) + f + (this._slices + 1)); + for (u += (this._stacks + 1) * (this._slices + 1), + d = 0; d <= this._stacks; d++) + for (f = 0; f <= this._slices; f++) + o = this._radius * Math.cos(d * a) * Math.cos(f * r + Math.PI), + l = this._radius * Math.sin(-d * a), + h = this._radius * Math.cos(d * a) * Math.sin(f * r + Math.PI), + i[c++] = o, + i[c++] = l - s, + i[c++] = h, + i[c++] = o, + i[c++] = l, + i[c++] = h, + i[c++] = 1 - f / this._slices, + i[c++] = (d / this._stacks * (Math.PI * this._radius / 2) + (this._height + Math.PI * this._radius / 2)) / (this._height + Math.PI * this._radius), + d < this._stacks && (n[_++] = u + d * (this._slices + 1) + f, + n[_++] = u + d * (this._slices + 1) + f + (this._slices + 1), + n[_++] = u + d * (this._slices + 1) + f + 1, + n[_++] = u + d * (this._slices + 1) + f, + n[_++] = u + d * (this._slices + 1) + f + this._slices, + n[_++] = u + d * (this._slices + 1) + f + (this._slices + 1)); + for (u += (this._stacks + 1) * (this._slices + 1), + f = 0; f <= this._slices; f++) + o = this._radius * Math.cos(f * r + Math.PI), + l = s, + h = this._radius * Math.sin(f * r + Math.PI), + i[c++] = o, + i[c + 8 * (this._slices + 1) - 1] = o, + i[c++] = l, + i[c + 8 * (this._slices + 1) - 1] = -l, + i[c++] = h, + i[c + 8 * (this._slices + 1) - 1] = h, + i[c++] = o, + i[c + 8 * (this._slices + 1) - 1] = o, + i[c++] = 0, + i[c + 8 * (this._slices + 1) - 1] = 0, + i[c++] = h, + i[c + 8 * (this._slices + 1) - 1] = h, + i[c++] = 1 - 1 * f / this._slices, + i[c + 8 * (this._slices + 1) - 1] = 1 - 1 * f / this._slices, + i[c++] = Math.PI * this._radius / 2 / (this._height + Math.PI * this._radius), + i[c + 8 * (this._slices + 1) - 1] = (Math.PI * this._radius / 2 + this._height) / (this._height + Math.PI * this._radius); + for (f = 0; f < this._slices; f++) + n[_++] = f + u + (this._slices + 1), + n[_++] = f + u + 1, + n[_++] = f + u, + n[_++] = f + u + (this._slices + 1), + n[_++] = f + u + (this._slices + 1) + 1, + n[_++] = f + u + 1; + u += 2 * (this._slices + 1), + this._vertexBuffer = new Yi(t,this._numberVertices,35044,!0), + this._indexBuffer = new qi("ushort",this._numberIndices,35044,!0), + this._vertexBuffer.setData(i), + this._indexBuffer.setData(n), + this.memorySize = 2 * (this._vertexBuffer._byteLength + this._indexBuffer._byteLength), + this.completeCreate() + } + , + r(0, i, "radius", function() { + return this._radius + }, function(t) { + this._radius !== t && (this._radius = t, + this.releaseResource(), + this.activeResource()) + }), + r(0, i, "height", function() { + return this._height + }, function(t) { + this._height !== t && (this._height = t, + this.releaseResource(), + this.activeResource()) + }), + r(0, i, "stacks", function() { + return this._stacks + }, function(t) { + this._stacks !== t && (this._stacks = t, + this.releaseResource(), + this.activeResource()) + }), + r(0, i, "slices", function() { + return this._slices + }, function(t) { + this._slices !== t && (this._slices = t, + this.releaseResource(), + this.activeResource()) + }) + }(), + function(t) { + function e(t, i, n) { + this._radius = NaN, + this._height = NaN, + this._slices = 0, + void 0 === t && (t = .5), + void 0 === i && (i = 2), + void 0 === n && (n = 32), + e.__super.call(this), + this._radius = t, + this._height = i, + this._slices = n, + this.recreateResource(), + this._positions = this._getPositions(), + this._generateBoundingObject() + } + a(e, "laya.d3.resource.models.CylinderMesh", nn); + var i = e.prototype; + i.recreateResource = function() { + this._numberVertices = this._slices + 1 + 1 + 2 * (this._slices + 1) + (this._slices + 1 + 1), + this._numberIndices = 3 * this._slices + 6 * this._slices + 3 * this._slices; + for (var t = Zt.vertexDeclaration, e = t.vertexStride / 4, i = new Float32Array(this._numberVertices * e), n = new Uint16Array(this._numberIndices), a = 2 * Math.PI / this._slices, r = this._height / 2, s = 0, o = 0, l = 0, h = 0, c = 0, _ = 0, u = 0, d = 0; d <= this._slices; d++) + 0 === d && (i[_++] = 0, + i[_++] = r, + i[_++] = 0, + i[_++] = 0, + i[_++] = 1, + i[_++] = 0, + i[_++] = .5, + i[_++] = .5), + s = d * a, + l = Math.cos(s) * this._radius, + h = r, + c = Math.sin(s) * this._radius, + i[_++] = l, + i[_++] = h, + i[_++] = c, + i[_++] = 0, + i[_++] = 1, + i[_++] = 0, + i[_++] = .5 + .5 * Math.cos(s), + i[_++] = .5 + .5 * Math.sin(s); + for (var f = 0; f < this._slices; f++) + n[u++] = 0, + n[u++] = f + 1, + n[u++] = f + 2; + o += this._slices + 1 + 1; + for (var p = 0; p <= this._slices; p++) + s = p * a, + l = Math.cos(s + Math.PI) * this._radius, + h = r, + c = Math.sin(s + Math.PI) * this._radius, + i[_++] = l, + i[_ + 8 * (this._slices + 1) - 1] = l, + i[_++] = h, + i[_ + 8 * (this._slices + 1) - 1] = -h, + i[_++] = c, + i[_ + 8 * (this._slices + 1) - 1] = c, + i[_++] = l, + i[_ + 8 * (this._slices + 1) - 1] = l, + i[_++] = 0, + i[_ + 8 * (this._slices + 1) - 1] = 0, + i[_++] = c, + i[_ + 8 * (this._slices + 1) - 1] = c, + i[_++] = 1 - 1 * p / this._slices, + i[_ + 8 * (this._slices + 1) - 1] = 1 - 1 * p / this._slices, + i[_++] = 0, + i[_ + 8 * (this._slices + 1) - 1] = 1; + _ += 8 * (this._slices + 1); + for (var m = 0; m < this._slices; m++) + n[u++] = m + o + (this._slices + 1), + n[u++] = m + o + 1, + n[u++] = m + o, + n[u++] = m + o + (this._slices + 1), + n[u++] = m + o + (this._slices + 1) + 1, + n[u++] = m + o + 1; + o += 2 * (this._slices + 1); + for (var g = 0; g <= this._slices; g++) + 0 === g && (i[_++] = 0, + i[_++] = -r, + i[_++] = 0, + i[_++] = 0, + i[_++] = -1, + i[_++] = 0, + i[_++] = .5, + i[_++] = .5), + s = g * a, + l = Math.cos(s + Math.PI) * this._radius, + h = -r, + c = Math.sin(s + Math.PI) * this._radius, + i[_++] = l, + i[_++] = h, + i[_++] = c, + i[_++] = 0, + i[_++] = -1, + i[_++] = 0, + i[_++] = .5 + .5 * Math.cos(s), + i[_++] = .5 + .5 * Math.sin(s); + for (var y = 0; y < this._slices; y++) + n[u++] = 0 + o, + n[u++] = y + 2 + o, + n[u++] = y + 1 + o; + o += this._slices + 1 + 1, + this._vertexBuffer = new Yi(t,this._numberVertices,35044,!0), + this._indexBuffer = new qi("ushort",this._numberIndices,35044,!0), + this._vertexBuffer.setData(i), + this._indexBuffer.setData(n), + this.memorySize = 2 * (this._vertexBuffer._byteLength + this._indexBuffer._byteLength), + this.completeCreate() + } + , + r(0, i, "radius", function() { + return this._radius + }, function(t) { + this._radius !== t && (this._radius = t, + this.releaseResource(), + this.activeResource()) + }), + r(0, i, "height", function() { + return this._height + }, function(t) { + this._height !== t && (this._height = t, + this.releaseResource(), + this.activeResource()) + }), + r(0, i, "slices", function() { + return this._slices + }, function(t) { + this._slices !== t && (this._slices = t, + this.releaseResource(), + this.activeResource()) + }) + }(), + function(t) { + function e(t, i, n, a) { + this._long = NaN, + this._width = NaN, + this._stacks = 0, + this._slices = 0, + void 0 === t && (t = 10), + void 0 === i && (i = 10), + void 0 === n && (n = 10), + void 0 === a && (a = 10), + e.__super.call(this), + this._long = t, + this._width = i, + this._stacks = n, + this._slices = a, + this.activeResource(), + this._positions = this._getPositions(), + this._generateBoundingObject() + } + a(e, "laya.d3.resource.models.PlaneMesh", nn); + var i = e.prototype; + i.recreateResource = function() { + this._numberVertices = (this._stacks + 1) * (this._slices + 1), + this._numberIndices = this._stacks * this._slices * 2 * 3; + for (var t = new Uint16Array(this._numberIndices), e = Zt.vertexDeclaration, i = e.vertexStride / 4, n = new Float32Array(this._numberVertices * i), a = this._long / 2, r = this._width / 2, s = this._long / this._stacks, o = this._width / this._slices, l = 0, h = 0; h <= this._slices; h++) + for (var c = 0; c <= this._stacks; c++) + n[l++] = c * s - a, + n[l++] = 0, + n[l++] = h * o - r, + n[l++] = 0, + n[l++] = 1, + n[l++] = 0, + n[l++] = 1 * c / this._stacks, + n[l++] = 1 * h / this._slices; + var _ = 0; + for (h = 0; h < this._slices; h++) + for (c = 0; c < this._stacks; c++) + t[_++] = (h + 1) * (this._stacks + 1) + c, + t[_++] = h * (this._stacks + 1) + c, + t[_++] = (h + 1) * (this._stacks + 1) + c + 1, + t[_++] = h * (this._stacks + 1) + c, + t[_++] = h * (this._stacks + 1) + c + 1, + t[_++] = (h + 1) * (this._stacks + 1) + c + 1; + this._vertexBuffer = new Yi(e,this._numberVertices,35044,!0), + this._indexBuffer = new qi("ushort",this._numberIndices,35044,!0), + this._vertexBuffer.setData(n), + this._indexBuffer.setData(t), + this.memorySize = 2 * (this._vertexBuffer._byteLength + this._indexBuffer._byteLength), + this.completeCreate() + } + , + r(0, i, "long", function() { + return this._long + }, function(t) { + this._long !== t && (this._long = t, + this.releaseResource(), + this.activeResource()) + }), + r(0, i, "width", function() { + return this._width + }, function(t) { + this._width !== t && (this._width = t, + this.releaseResource(), + this.activeResource()) + }), + r(0, i, "stacks", function() { + return this._stacks + }, function(t) { + this._stacks !== t && (this._stacks = t, + this.releaseResource(), + this.activeResource()) + }), + r(0, i, "slices", function() { + return this._slices + }, function(t) { + this._slices !== t && (this._slices = t, + this.releaseResource(), + this.activeResource()) + }) + }(), + function(t) { + function e(t, i) { + this._long = NaN, + this._width = NaN, + void 0 === t && (t = 1), + void 0 === i && (i = 1), + e.__super.call(this), + this._long = t, + this._width = i, + this.activeResource(), + this._positions = this._getPositions(), + this._generateBoundingObject() + } + a(e, "laya.d3.resource.models.QuadMesh", nn); + var i = e.prototype; + i.recreateResource = function() { + this._numberVertices = 4, + this._numberIndices = 6; + var t = Zt.vertexDeclaration + , e = (t.vertexStride, + this._long / 2) + , i = this._width / 2 + , n = new Float32Array([-e, i, 0, 0, 0, 1, 0, 0, e, i, 0, 0, 0, 1, 1, 0, -e, -i, 0, 0, 0, 1, 0, 1, e, -i, 0, 0, 0, 1, 1, 1]) + , a = new Uint16Array([0, 1, 2, 3, 2, 1]); + this._vertexBuffer = new Yi(t,this._numberVertices,35044,!0), + this._indexBuffer = new qi("ushort",this._numberIndices,35044,!0), + this._vertexBuffer.setData(n), + this._indexBuffer.setData(a), + this.memorySize = 2 * (this._vertexBuffer._byteLength + this._indexBuffer._byteLength), + this.completeCreate() + } + , + r(0, i, "long", function() { + return this._long + }, function(t) { + this._long !== t && (this._long = t, + this.releaseResource(), + this.activeResource()) + }), + r(0, i, "width", function() { + return this._width + }, function(t) { + this._width !== t && (this._width = t, + this.releaseResource(), + this.activeResource()) + }) + }(), + function(t) { + function e(t, i, n) { + this._radius = NaN, + this._slices = 0, + this._stacks = 0, + void 0 === t && (t = .5), + void 0 === i && (i = 32), + void 0 === n && (n = 32), + e.__super.call(this), + this._radius = t, + this._stacks = i, + this._slices = n, + this.activeResource(), + this._positions = this._getPositions(), + this._generateBoundingObject() + } + a(e, "laya.d3.resource.models.SphereMesh", nn); + var i = e.prototype; + i.recreateResource = function() { + this._numberVertices = (this._stacks + 1) * (this._slices + 1), + this._numberIndices = 3 * this._stacks * (this._slices + 1) * 2; + for (var t = new Uint16Array(this._numberIndices), e = Zt.vertexDeclaration, i = e.vertexStride / 4, n = new Float32Array(this._numberVertices * i), a = Math.PI / this._stacks, r = 2 * Math.PI / this._slices, s = 0, o = 0, l = 0, h = 0; h < this._stacks + 1; h++) + for (var c = Math.sin(h * a), _ = Math.cos(h * a), u = 0; u < this._slices + 1; u++) { + var d = c * Math.sin(u * r + 1 * Math.PI / 2) + , f = c * Math.cos(u * r + 1 * Math.PI / 2); + n[o + 0] = d * this._radius, + n[o + 1] = _ * this._radius, + n[o + 2] = f * this._radius, + n[o + 3] = d, + n[o + 4] = _, + n[o + 5] = f, + n[o + 6] = u / this._slices, + n[o + 7] = h / this._stacks, + o += i, + h != this._stacks - 1 && (t[l++] = s + (this._slices + 1), + t[l++] = s, + t[l++] = s + 1, + t[l++] = s + this._slices, + t[l++] = s, + t[l++] = s + (this._slices + 1), + s++) + } + this._vertexBuffer = new Yi(e,this._numberVertices,35044,!0), + this._indexBuffer = new qi("ushort",this._numberIndices,35044,!0), + this._vertexBuffer.setData(n), + this._indexBuffer.setData(t), + this.memorySize = 2 * (this._vertexBuffer._byteLength + this._indexBuffer._byteLength), + this.completeCreate() + } + , + r(0, i, "radius", function() { + return this._radius + }, function(t) { + this._radius !== t && (this._radius = t, + this.releaseResource(), + this.activeResource()) + }), + r(0, i, "slices", function() { + return this._slices + }, function(t) { + this._slices !== t && (this._slices = t, + this.releaseResource(), + this.activeResource()) + }), + r(0, i, "stacks", function() { + return this._stacks + }, function(t) { + this._stacks !== t && (this._stacks = t, + this.releaseResource(), + this.activeResource()) + }) + }(), + function(t) { + function e(t, i, n) { + void 0 === t && (t = 0), + void 0 === i && (i = .3), + void 0 === n && (n = 1e3), + this._viewMatrix = new Me, + this._projectionMatrix = new Me, + this._projectionViewMatrix = new Me, + this._viewport = new Re(0,0,0,0), + this._normalizedViewport = new Re(0,0,1,1), + this._aspectRatio = t, + this._boundFrustumUpdate = !0, + this._boundFrustum = new we(Me.DEFAULT), + e.__super.call(this, i, n), + this.transform.on("worldmatrixneedchanged", this, this._onWorldMatrixChanged) + } + a(e, "laya.d3.core.Camera", _n); + var s = e.prototype; + return s._onWorldMatrixChanged = function() { + this._boundFrustumUpdate = !0 + } + , + s._parseCustomProps = function(t, e, i, n) { + var a = i.clearColor; + this.clearColor = new ke(a[0],a[1],a[2],a[3]); + var r = i.viewport; + this.normalizedViewport = new Re(r[0],r[1],r[2],r[3]) + } + , + s._calculateProjectionMatrix = function() { + if (!this._useUserProjectionMatrix) + if (this._orthographic) { + var t = this.orthographicVerticalSize * this.aspectRatio * .5 + , e = .5 * this.orthographicVerticalSize; + Me.createOrthoOffCenterRH(-t, t, -e, e, this.nearPlane, this.farPlane, this._projectionMatrix) + } else + Me.createPerspective(3.1416 * this.fieldOfView / 180, this.aspectRatio, this.nearPlane, this.farPlane, this._projectionMatrix); + this._boundFrustumUpdate = !0 + } + , + s._update = function(t) { + this.conchModel && (this.conchModel.setViewMatrix(this.viewMatrix.elements), + this.conchModel.setProjectMatrix(this.projectionMatrix.elements)), + laya.d3.core.Sprite3D.prototype._update.call(this, t) + } + , + s._renderCamera = function(t, e, i) { + i.parallelSplitShadowMaps[0] && i._renderShadowMap(t, e, this), + e.camera = this, + this._prepareCameraToRender(), + i._preRenderUpdateComponents(e); + var n, a; + n = e._viewMatrix = this.viewMatrix; + var r = this._renderTarget; + r ? (r.start(), + Me.multiply(_n._invertYScaleMatrix, this._projectionMatrix, _n._invertYProjectionMatrix), + Me.multiply(_n._invertYScaleMatrix, this.projectionViewMatrix, _n._invertYProjectionViewMatrix), + a = e._projectionMatrix = _n._invertYProjectionMatrix, + e._projectionViewMatrix = _n._invertYProjectionViewMatrix) : (a = e._projectionMatrix = this._projectionMatrix, + e._projectionViewMatrix = this.projectionViewMatrix), + this._prepareCameraViewProject(n, a), + e._viewport = this.viewport, + i._preRenderScene(t, e, this.boundFrustum), + i._clear(t, e), + i._renderScene(t, e), + i._postRenderUpdateComponents(e), + r && r.end() + } + , + s.viewportPointToRay = function(t, e) { + qe.calculateCursorRay(t, this.viewport, this._projectionMatrix, this.viewMatrix, null, e) + } + , + s.normalizedViewportPointToRay = function(t, i) { + var n = e._tempVector20 + , a = this.viewport + , r = t.elements + , s = n.elements; + s[0] = r[0] * a.width, + s[1] = r[1] * a.height, + qe.calculateCursorRay(n, this.viewport, this._projectionMatrix, this.viewMatrix, null, i) + } + , + s.worldToViewportPoint = function(t, e) { + Me.multiply(this._projectionMatrix, this._viewMatrix, this._projectionViewMatrix), + this.viewport.project(t, this._projectionViewMatrix, e); + var n = e.elements; + n[0] = n[0] / i.stage.clientScaleX, + n[1] = n[1] / i.stage.clientScaleY + } + , + s.worldToNormalizedViewportPoint = function(t, e) { + Me.multiply(this._projectionMatrix, this._viewMatrix, this._projectionViewMatrix), + this.normalizedViewport.project(t, this._projectionViewMatrix, e); + var n = e.elements; + n[0] = n[0] / i.stage.clientScaleX, + n[1] = n[1] / i.stage.clientScaleY + } + , + s.convertScreenCoordToOrthographicCoord = function(t, e) { + if (this._orthographic) { + var i = ut.clientWidth + , n = ut.clientHeight + , a = this.orthographicVerticalSize * this.aspectRatio / i + , r = this.orthographicVerticalSize / n + , s = t.elements + , o = e.elements; + return o[0] = (-i / 2 + s[0]) * a, + o[1] = (n / 2 - s[1]) * r, + o[2] = (this.nearPlane - this.farPlane) * (s[2] + 1) / 2 - this.nearPlane, + Be.transformCoordinate(e, this.transform.worldMatrix, e), + !0 + } + return !1 + } + , + r(0, s, "projectionViewMatrix", function() { + return Me.multiply(this.projectionMatrix, this.viewMatrix, this._projectionViewMatrix), + this._projectionViewMatrix + }), + r(0, s, "aspectRatio", function() { + if (0 === this._aspectRatio) { + var t = this.viewport; + return t.width / t.height + } + return this._aspectRatio + }, function(t) { + if (t < 0) + throw new Error("Camera: the aspect ratio has to be a positive real number."); + this._aspectRatio = t, + this._calculateProjectionMatrix() + }), + r(0, s, "boundFrustum", function() { + return this._boundFrustumUpdate && (this._boundFrustum.matrix = this.projectionViewMatrix), + this._boundFrustum + }), + r(0, s, "needViewport", function() { + var t = this.normalizedViewport; + return 0 === t.x && 0 === t.y && 1 === t.width && 1 === t.height + }), + r(0, s, "viewport", function() { + if (this._viewportExpressedInClipSpace) { + var t = this._normalizedViewport + , e = this.renderTargetSize + , i = e.width + , n = e.height; + this._viewport.x = t.x * i, + this._viewport.y = t.y * n, + this._viewport.width = t.width * i, + this._viewport.height = t.height * n + } + return this._viewport + }, function(t) { + if (null != this.renderTarget && (t.x < 0 || t.y < 0 || 0 == t.width || 0 == t.height)) + throw new Error("Camera: viewport size invalid.","value"); + this._viewportExpressedInClipSpace = !1, + this._viewport = t, + this._calculateProjectionMatrix() + }), + r(0, s, "normalizedViewport", function() { + if (!this._viewportExpressedInClipSpace) { + var t = this._viewport + , e = this.renderTargetSize + , i = e.width + , n = e.height; + this._normalizedViewport.x = t.x / i, + this._normalizedViewport.y = t.y / n, + this._normalizedViewport.width = t.width / i, + this._normalizedViewport.height = t.height / n + } + return this._normalizedViewport + }, function(t) { + t.x < 0 && (t.x = 0, + console.warn("Camera: viewport.x must large than 0.0.")), + t.y < 0 && (t.y = 0, + console.warn("Camera: viewport.y must large than 0.0.")), + t.x + t.width > 1 && (t.width = 1 - t.x, + console.warn("Camera: viewport.width + viewport.x must less than 1.0.")), + t.y + t.height > 1 && (t.height = 1 - t.y, + console.warn("Camera: viewport.height + viewport.y must less than 1.0.")), + this._viewportExpressedInClipSpace = !0, + this._normalizedViewport = t, + this._calculateProjectionMatrix() + }), + r(0, s, "projectionMatrix", function() { + return this._projectionMatrix + }, function(t) { + this._projectionMatrix = t, + this._useUserProjectionMatrix = !0 + }), + r(0, s, "viewMatrix", function() { + return this.transform.worldMatrix.invert(this._viewMatrix), + this._viewMatrix + }), + n(e, ["_tempVector20", function() { + return this._tempVector20 = new Ae + } + ]), + e + }()) + , mn = (function(t) { + function e() { + e.__super.call(this), + this._render = new Si(this), + this._render.on("materialchanged", this, this._onMaterialChanged); + var t = new Fi; + this._render.sharedMaterial = t, + this._geometryFilter = new Ai(this), + t.renderMode = 8, + this._changeRenderObject(0) + } + a(e, "laya.d3.core.glitter.Glitter", t); + var i = e.prototype; + i._changeRenderObject = function(t) { + var e = this._render._renderElements + , i = e[t]; + i || (i = e[t] = new ct), + i._render = this._render; + var n = this._render.sharedMaterials[t]; + n || (n = Fi.defaultMaterial); + var a = this._geometryFilter; + return i._mainSortID = 0, + i._sprite3D = this, + i.renderObj = a, + i._material = n, + i + } + , + i._onMaterialChanged = function(t, e, i) { + e < t._renderElements.length && this._changeRenderObject(e) + } + , + i._clearSelfRenderObjects = function() { + this.scene.removeFrustumCullingObject(this._render) + } + , + i._addSelfRenderObjects = function() { + this.scene.addFrustumCullingObject(this._render) + } + , + i._update = function(e) { + this._geometryFilter._update(e.elapsedTime), + t.prototype._update.call(this, e) + } + , + i.addGlitterByPositions = function(t, e) { + this._geometryFilter.addVertexPosition(t, e) + } + , + i.addGlitterByPositionsVelocitys = function(t, e, i, n) { + this._geometryFilter.addVertexPositionVelocity(t, e, i, n) + } + , + i.cloneTo = function(t) { + var e = t + , i = e.templet + , n = this._geometryFilter; + i.lifeTime = n.lifeTime, + i.minSegmentDistance = n.minSegmentDistance, + i.minInterpDistance = n.minInterpDistance, + i.maxSlerpCount = n.maxSlerpCount, + i._maxSegments = n._maxSegments; + var a = e._render + , r = this._render; + a.sharedMaterials = r.sharedMaterials, + a.enable = r.enable, + laya.d3.core.Sprite3D.prototype.cloneTo.call(this, t) + } + , + i.destroy = function(e) { + void 0 === e && (e = !0), + this.destroyed || (t.prototype.destroy.call(this, e), + this._geometryFilter._destroy(), + this._geometryFilter = null) + } + , + r(0, i, "templet", function() { + return this._geometryFilter + }), + r(0, i, "glitterRender", function() { + return this._render + }), + e.CURRENTTIME = 2, + e.DURATION = 3 + }(un), + function(t) { + function e() { + this._direction = null, + this._updateDirection = !1, + e.__super.call(this), + this._updateDirection = !1, + this._direction = new Be, + this.transform.on("worldmatrixneedchanged", this, this._onWorldMatrixChange) + } + a(e, "laya.d3.core.light.DirectionLight", t); + var i = e.prototype; + return i._initShadow = function() { + if (this._shadow) + this._parallelSplitShadowMap = new He, + this.scene.parallelSplitShadowMaps.push(this._parallelSplitShadowMap), + this.transform.worldMatrix.getForward(this._direction), + Be.normalize(this._direction, this._direction), + this._parallelSplitShadowMap.setInfo(this.scene, this._shadowFarPlane, this._direction, this._shadowMapSize, this._shadowMapCount, this._shadowMapPCFType); + else { + var t = this.scene.parallelSplitShadowMaps; + t.splice(t.indexOf(this._parallelSplitShadowMap), 1), + this._parallelSplitShadowMap.disposeAllRenderTarget(), + this._parallelSplitShadowMap = null, + this.scene.removeShaderDefine(He.SHADERDEFINE_SHADOW_PSSM1), + this.scene.removeShaderDefine(He.SHADERDEFINE_SHADOW_PSSM2), + this.scene.removeShaderDefine(He.SHADERDEFINE_SHADOW_PSSM3) + } + } + , + i._addSelfRenderObjects = function() { + t.prototype._addSelfRenderObjects.call(this), + this._shadow && this._initShadow() + } + , + i._clearSelfRenderObjects = function() { + var t = this.scene + , e = t._shaderValues; + e.setValue(4, null), + e.setValue(3, null), + t.removeShaderDefine(ci.SHADERDEFINE_DIRECTIONLIGHT) + } + , + i._prepareToScene = function(t) { + var e = t.scene; + if (e.enableLight && this._activeInHierarchy) { + var i = e._shaderValues; + return e.addShaderDefine(ci.SHADERDEFINE_DIRECTIONLIGHT), + Be.scale(this.color, this._intensity, this._intensityColor), + i.setValue(4, this._intensityColor.elements), + this.transform.worldMatrix.getForward(this._direction), + Be.normalize(this._direction, this._direction), + i.setValue(3, this._direction.elements), + !0 + } + return e.removeShaderDefine(ci.SHADERDEFINE_DIRECTIONLIGHT), + !1 + } + , + i._onWorldMatrixChange = function() { + this._updateDirection = !0 + } + , + r(0, i, "shadow", t.prototype._$get_shadow, function(t) { + this._shadow !== t && (this._shadow = t, + this.scene && this._initShadow()) + }), + r(0, i, "direction", function() { + return console.log("Warning: discard property,please use transform's property instead."), + this._updateDirection && (this.transform.worldMatrix.getForward(this._direction), + Be.normalize(this._direction, this._direction), + this._updateDirection = !1), + this._direction + }, function(t) { + console.log("Warning: discard property,please use transform's property instead."); + var e = this.transform.worldMatrix; + e.setForward(t), + this.transform.worldMatrix = e, + Be.normalize(t, t), + this._direction = t, + this.shadow && this._parallelSplitShadowMap && this._parallelSplitShadowMap._setGlobalParallelLightDir(this._direction) + }), + e + }(dn)) + , gn = (function(t) { + function e() { + this._range = NaN, + this._attenuation = null, + e.__super.call(this), + this._range = 6, + this._attenuation = new Be(.6,.6,.6) + } + a(e, "laya.d3.core.light.PointLight", dn); + var i = e.prototype; + i._clearSelfRenderObjects = function() { + var t = this.scene + , e = t._shaderValues; + e.setValue(8, null), + e.setValue(5, null), + e.setValue(6, null), + e.setValue(7, null), + t.removeShaderDefine(ci.SHADERDEFINE_POINTLIGHT) + } + , + i._prepareToScene = function(t) { + var e = t.scene; + if (e.enableLight && this._activeInHierarchy) { + var i = e._shaderValues; + return e.addShaderDefine(ci.SHADERDEFINE_POINTLIGHT), + Be.scale(this.color, this._intensity, this._intensityColor), + i.setValue(8, this._intensityColor.elements), + i.setValue(5, this.transform.position.elements), + i.setValue(6, this.range), + i.setValue(7, this.attenuation.elements), + !0 + } + return e.removeShaderDefine(ci.SHADERDEFINE_POINTLIGHT), + !1 + } + , + r(0, i, "range", function() { + return this._range + }, function(t) { + this._range = t + }), + r(0, i, "attenuation", function() { + return this._attenuation + }, function(t) { + this._attenuation = t + }) + }(), + function(t) { + function e() { + this._updateDirection = !1, + this._direction = null, + this._spot = NaN, + this._range = NaN, + this._attenuation = null, + e.__super.call(this), + this._updateDirection = !1, + this.direction = new Be(0,-1,-1), + this._attenuation = new Be(.6,.6,.6), + this._spot = 96, + this._range = 6, + this.transform.on("worldmatrixneedchanged", this, this._onWorldMatrixChange) + } + a(e, "laya.d3.core.light.SpotLight", dn); + var i = e.prototype; + i._onWorldMatrixChange = function() { + this._updateDirection = !0 + } + , + i._clearSelfRenderObjects = function() { + var t = this.scene + , e = t._shaderValues; + e.setValue(14, null), + e.setValue(9, null), + e.setValue(10, null), + e.setValue(12, null), + e.setValue(11, null), + e.setValue(13, null), + t.removeShaderDefine(ci.SHADERDEFINE_SPOTLIGHT) + } + , + i._prepareToScene = function(t) { + var e = t.scene; + if (e.enableLight && this._activeInHierarchy) { + var i = e._shaderValues; + return e.addShaderDefine(ci.SHADERDEFINE_SPOTLIGHT), + Be.scale(this.color, this._intensity, this._intensityColor), + i.setValue(14, this._intensityColor.elements), + i.setValue(9, this.transform.position.elements), + this.transform.worldMatrix.getForward(this._direction), + Be.normalize(this._direction, this._direction), + i.setValue(10, this._direction.elements), + i.setValue(12, this.range), + i.setValue(11, this.spot), + i.setValue(13, this.attenuation.elements), + !0 + } + return e.removeShaderDefine(ci.SHADERDEFINE_SPOTLIGHT), + !1 + } + , + r(0, i, "spot", function() { + return this._spot + }, function(t) { + this._spot = t + }), + r(0, i, "direction", function() { + return console.log("Warning: discard property,please use transform's property instead."), + this._updateDirection && (this.transform.worldMatrix.getForward(this._direction), + this._updateDirection = !1), + this._direction + }, function(t) { + console.log("Warning: discard property,please use transform's property instead."); + var e = this.transform.worldMatrix; + e.setForward(t), + this.transform.worldMatrix = e, + this._direction = t + }), + r(0, i, "range", function() { + return this._range + }, function(t) { + this._range = t + }), + r(0, i, "attenuation", function() { + return this._attenuation + }, function(t) { + this._attenuation = t + }) + }(), + function(t) { + function e(t, i) { + e.__super.call(this, i), + this._geometryFilter = new Mi(this), + this._render = new Li(this), + this._geometryFilter.on("meshchanged", this, this._onMeshChanged), + this._render.on("materialchanged", this, this._onMaterialChanged), + t && (this._geometryFilter.sharedMesh = t, + t instanceof laya.d3.resource.models.Mesh && (t.loaded ? this._render.sharedMaterials = t.materials : t.once("loaded", this, this._applyMeshMaterials))) + } + a(e, "laya.d3.core.MeshSprite3D", t); + var s = e.prototype; + return s._changeRenderObjectByMesh = function(t) { + var e = this._render._renderElements + , i = e[t]; + i || (i = e[t] = new hi), + i._render = this._render; + var n = this._render.sharedMaterials[t]; + n || (n = ji.defaultMaterial); + var a = this._geometryFilter.sharedMesh.getRenderElement(t); + return i._mainSortID = this._getSortID(a, n), + i._sprite3D = this, + i.renderObj = a, + i._material = n, + i + } + , + s._changeRenderObjectByMaterial = function(t, e) { + var i = this._render._renderElements[t]; + e || (e = ji.defaultMaterial); + var n = this._geometryFilter.sharedMesh.getRenderElement(t); + return i._mainSortID = this._getSortID(n, e), + i._sprite3D = this, + i.renderObj = n, + i._material = e, + i + } + , + s._changeRenderObjectsByMesh = function() { + var t = this._geometryFilter.sharedMesh.getRenderElementsCount(); + this._render._renderElements.length = t; + for (var e = 0; e < t; e++) + this._changeRenderObjectByMesh(e) + } + , + s._onMeshChanged = function(t) { + var e = t.sharedMesh; + e.loaded ? this._changeRenderObjectsByMesh() : e.once("loaded", this, this._onMeshLoaded) + } + , + s._onMeshLoaded = function(t) { + t === this.meshFilter.sharedMesh && this._changeRenderObjectsByMesh() + } + , + s._onMaterialChanged = function(t, e, i) { + e < this._render._renderElements.length && this._changeRenderObjectByMaterial(e, i) + } + , + s._clearSelfRenderObjects = function() { + this.scene.removeFrustumCullingObject(this._render) + } + , + s._addSelfRenderObjects = function() { + this.scene.addFrustumCullingObject(this._render) + } + , + s._parseCustomProps = function(t, e, i, n) { + var a = this.meshRender + , r = i.lightmapIndex; + null != r && (a.lightmapIndex = r); + var s = i.lightmapScaleOffset; + s && (a.lightmapScaleOffset = new ke(s[0],s[1],s[2],s[3])); + var o, l; + if (n.instanceParams) + (o = n.instanceParams.loadPath) && (l = v.getRes(e[o]), + this.meshFilter.sharedMesh = l, + l.loaded ? a.sharedMaterials = l.materials : l.once("loaded", this, this._applyMeshMaterials)); + else { + (o = i.meshPath) && (l = v.getRes(e[o]), + this.meshFilter.sharedMesh = l); + var h = i.materials; + if (h) { + var c = a.sharedMaterials + , _ = h.length; + c.length = _; + for (var u = 0; u < _; u++) + c[u] = v.getRes(e[h[u].path]); + a.sharedMaterials = c + } + } + } + , + s._applyMeshMaterials = function(t) { + for (var e = this._render.sharedMaterials, i = t.materials, n = 0, a = i.length; n < a; n++) + e[n] || (e[n] = i[n]); + this._render.sharedMaterials = e + } + , + s._addToInitStaticBatchManager = function() { + e._staticBatchManager._addInitBatchSprite(this) + } + , + s.cloneTo = function(t) { + var e = t; + e._geometryFilter.sharedMesh = this._geometryFilter.sharedMesh; + var i = this._render + , n = e._render; + n.enable = i.enable, + n.sharedMaterials = i.sharedMaterials, + n.castShadow = i.castShadow; + var a = i.lightmapScaleOffset; + a && (n.lightmapScaleOffset = a.clone()), + n.lightmapIndex = i.lightmapIndex, + n.receiveShadow = i.receiveShadow, + n.sortingFudge = i.sortingFudge, + laya.d3.core.Sprite3D.prototype.cloneTo.call(this, t) + } + , + s.destroy = function(e) { + if (void 0 === e && (e = !0), + !this.destroyed) { + var i = this.meshFilter.sharedMesh; + i.loaded || i.off("loaded", this, this._applyMeshMaterials), + t.prototype.destroy.call(this, e), + this._geometryFilter._destroy() + } + } + , + r(0, s, "meshFilter", function() { + return this._geometryFilter + }), + r(0, s, "meshRender", function() { + return this._render + }), + e.__init__ = function() { + Ct._staticBatchManagers.push(e._staticBatchManager) + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + n(e, ["_staticBatchManager", function() { + return this._staticBatchManager = new _i + } + ]), + e + }(un)) + , yn = function(t) { + function e(t) { + e.__super.call(this), + this._render = new Ei(this), + this._render.on("materialchanged", this, this._onMaterialChanged), + this._geometryFilter = new Ti(this), + this._createRenderElement(0), + t && (this._render.sharedMaterial = t) + } + a(e, "laya.d3.core.particleShuriKen.ShuriKenParticle3D", t); + var s = e.prototype; + return s._initParticleVelocity = function(t) { + for (var e = new Q, i = t.velocitys, n = 0, a = i.length; n < a; n++) { + var r = i[n]; + e.add(r.key, r.value) + } + return e + } + , + s._initParticleColor = function(t) { + var e = new K + , i = t.alphas + , n = 0 + , a = 0; + for (n = 0, + a = i.length; n < a; n++) { + var r = i[n]; + e.addAlpha(r.key, r.value) + } + var s = t.rgbs; + for (n = 0, + a = s.length; n < a; n++) { + var o = s[n] + , l = o.value; + e.addRGB(o.key, new Be(l[0],l[1],l[2])) + } + return e + } + , + s._initParticleSize = function(t) { + for (var e = new Q, i = t.sizes, n = 0, a = i.length; n < a; n++) { + var r = i[n]; + e.add(r.key, r.value) + } + return e + } + , + s._initParticleRotation = function(t) { + for (var e = new Q, i = t.angularVelocitys, n = 0, a = i.length; n < a; n++) { + var r = i[n]; + e.add(r.key, r.value / 180 * Math.PI) + } + return e + } + , + s._initParticleFrame = function(t) { + for (var e = new Z, i = t.frames, n = 0, a = i.length; n < a; n++) { + var r = i[n]; + e.add(r.key, r.value) + } + return e + } + , + s._createRenderElement = function(t) { + var e = this._render._renderElements[t] = new ct; + e._render = this._render; + var i = this._render.sharedMaterials[t]; + i || (i = Ji.defaultMaterial); + var n = this._geometryFilter; + e._mainSortID = 0, + e._sprite3D = this, + e.renderObj = n, + e._material = i + } + , + s._onMaterialChanged = function(t, e, i) { + var n = t._renderElements; + if (e < n.length) { + n[e]._material = i || Ji.defaultMaterial + } + } + , + s._clearSelfRenderObjects = function() { + this.scene.removeFrustumCullingObject(this._render) + } + , + s._addSelfRenderObjects = function() { + this.scene.addFrustumCullingObject(this._render) + } + , + s._parseCustomProps = function(t, i, n, a) { + var r, s = Math.PI / 180, o = 0, l = 0, h = this.particleRender, c = n.material; + if (c) + r = v.getRes(i[c.path]); + else { + var _ = n.materialPath; + _ ? r = v.getRes(i[_]) : (r = new Ji).diffuseTexture = i ? v.getRes(i[n.texturePath]) : ln.load(n.texturePath) + } + h.sharedMaterial = r; + var u = n.meshPath; + u && (h.mesh = v.getRes(i[u])), + h.renderMode = n.renderMode, + h.stretchedBillboardCameraSpeedScale = n.stretchedBillboardCameraSpeedScale, + h.stretchedBillboardSpeedScale = n.stretchedBillboardSpeedScale, + h.stretchedBillboardLengthScale = n.stretchedBillboardLengthScale, + h.sortingFudge = n.sortingFudge ? n.sortingFudge : 0; + var d = this.particleSystem; + d.isPerformanceMode = n.isPerformanceMode, + d.duration = n.duration, + d.looping = n.looping, + d.prewarm = n.prewarm, + d.startDelayType = n.startDelayType, + d.startDelay = n.startDelay, + d.startDelayMin = n.startDelayMin, + d.startDelayMax = n.startDelayMax, + d.startLifetimeType = n.startLifetimeType, + d.startLifetimeConstant = n.startLifetimeConstant, + d.startLifeTimeGradient = e._initStartLife(n.startLifetimeGradient), + d.startLifetimeConstantMin = n.startLifetimeConstantMin, + d.startLifetimeConstantMax = n.startLifetimeConstantMax, + d.startLifeTimeGradientMin = e._initStartLife(n.startLifetimeGradientMin), + d.startLifeTimeGradientMax = e._initStartLife(n.startLifetimeGradientMax), + d.startSpeedType = n.startSpeedType, + d.startSpeedConstant = n.startSpeedConstant, + d.startSpeedConstantMin = n.startSpeedConstantMin, + d.startSpeedConstantMax = n.startSpeedConstantMax, + d.threeDStartSize = n.threeDStartSize, + d.startSizeType = n.startSizeType, + d.startSizeConstant = n.startSizeConstant; + var f = n.startSizeConstantSeparate + , p = d.startSizeConstantSeparate.elements; + p[0] = f[0], + p[1] = f[1], + p[2] = f[2], + d.startSizeConstantMin = n.startSizeConstantMin, + d.startSizeConstantMax = n.startSizeConstantMax; + var m = n.startSizeConstantMinSeparate + , g = d.startSizeConstantMinSeparate.elements; + g[0] = m[0], + g[1] = m[1], + g[2] = m[2]; + var y = n.startSizeConstantMaxSeparate + , b = d.startSizeConstantMaxSeparate.elements; + b[0] = y[0], + b[1] = y[1], + b[2] = y[2], + d.threeDStartRotation = n.threeDStartRotation, + d.startRotationType = n.startRotationType, + d.startRotationConstant = n.startRotationConstant * s; + var w = n.startRotationConstantSeparate + , x = d.startRotationConstantSeparate.elements; + x[0] = w[0] * s, + x[1] = w[1] * s, + x[2] = w[2] * s, + d.startRotationConstantMin = n.startRotationConstantMin * s, + d.startRotationConstantMax = n.startRotationConstantMax * s; + var I = n.startRotationConstantMinSeparate + , C = d.startRotationConstantMinSeparate.elements; + C[0] = I[0] * s, + C[1] = I[1] * s, + C[2] = I[2] * s; + var S = n.startRotationConstantMaxSeparate + , M = d.startRotationConstantMaxSeparate.elements; + M[0] = S[0] * s, + M[1] = S[1] * s, + M[2] = S[2] * s, + d.randomizeRotationDirection = n.randomizeRotationDirection, + d.startColorType = n.startColorType; + var L = n.startColorConstant + , T = d.startColorConstant.elements; + T[0] = L[0], + T[1] = L[1], + T[2] = L[2], + T[3] = L[3]; + var E = n.startColorConstantMin + , D = d.startColorConstantMin.elements; + D[0] = E[0], + D[1] = E[1], + D[2] = E[2], + D[3] = E[3]; + var N = n.startColorConstantMax + , A = d.startColorConstantMax.elements; + A[0] = N[0], + A[1] = N[1], + A[2] = N[2], + A[3] = N[3], + d.gravityModifier = n.gravityModifier, + d.simulationSpace = n.simulationSpace, + d.scaleMode = n.scaleMode, + d.playOnAwake = n.playOnAwake, + d.maxParticles = n.maxParticles; + var B = n.autoRandomSeed; + null != B && (d.autoRandomSeed = B); + var k = n.randomSeed; + null != k && (d.randomSeed[0] = k); + var R = n.emission + , P = d.emission; + if (R) { + P.emissionRate = R.emissionRate; + var O = R.bursts; + if (O) + for (o = 0, + l = O.length; o < l; o++) { + var U = O[o]; + P.addBurst(new j(U.time,U.min,U.max)) + } + P.enbale = R.enable + } else + P.enbale = !1; + var V = n.shape; + if (V) { + var F; + switch (V.shapeType) { + case 0: + var H; + F = H = new li, + H.radius = V.sphereRadius, + H.emitFromShell = V.sphereEmitFromShell, + H.randomDirection = V.sphereRandomDirection; + break; + case 1: + var G; + F = G = new oi, + G.radius = V.hemiSphereRadius, + G.emitFromShell = V.hemiSphereEmitFromShell, + G.randomDirection = V.hemiSphereRandomDirection; + break; + case 2: + var z; + F = z = new si, + z.angle = V.coneAngle * s, + z.radius = V.coneRadius, + z.length = V.coneLength, + z.emitType = V.coneEmitType, + z.randomDirection = V.coneRandomDirection; + break; + case 3: + var X; + F = X = new ai, + X.x = V.boxX, + X.y = V.boxY, + X.z = V.boxZ, + X.randomDirection = V.boxRandomDirection; + break; + case 7: + var K; + F = K = new ri, + K.radius = V.circleRadius, + K.arc = V.circleArc * s, + K.emitFromEdge = V.circleEmitFromEdge, + K.randomDirection = V.circleRandomDirection; + break; + default: + var Z; + F = Z = new ri, + Z.radius = V.circleRadius, + Z.arc = V.circleArc * s, + Z.emitFromEdge = V.circleEmitFromEdge, + Z.randomDirection = V.circleRandomDirection + } + F.enable = V.enable, + d.shape = F + } + var Q = n.velocityOverLifetime; + if (Q) { + var it, nt = Q.velocity; + switch (nt.type) { + case 0: + var lt = nt.constant; + it = tt.createByConstant(new Be(lt[0],lt[1],lt[2])); + break; + case 1: + it = tt.createByGradient(this._initParticleVelocity(nt.gradientX), this._initParticleVelocity(nt.gradientY), this._initParticleVelocity(nt.gradientZ)); + break; + case 2: + var ht = nt.constantMin + , ct = nt.constantMax; + it = tt.createByRandomTwoConstant(new Be(ht[0],ht[1],ht[2]), new Be(ct[0],ct[1],ct[2])); + break; + case 3: + it = tt.createByRandomTwoGradient(this._initParticleVelocity(nt.gradientXMin), this._initParticleVelocity(nt.gradientXMax), this._initParticleVelocity(nt.gradientYMin), this._initParticleVelocity(nt.gradientYMax), this._initParticleVelocity(nt.gradientZMin), this._initParticleVelocity(nt.gradientZMax)) + } + var _t = new ot(it); + _t.space = Q.space, + _t.enbale = Q.enable, + d.velocityOverLifetime = _t + } + var ut = n.colorOverLifetime; + if (ut) { + var dt, ft = ut.color; + switch (ft.type) { + case 0: + var pt = ft.constant; + dt = J.createByConstant(new ke(pt[0],pt[1],pt[2],pt[3])); + break; + case 1: + dt = J.createByGradient(this._initParticleColor(ft.gradient)); + break; + case 2: + var mt = ft.constantMin + , gt = ft.constantMax; + dt = J.createByRandomTwoConstant(new ke(mt[0],mt[1],mt[2],mt[3]), new ke(gt[0],gt[1],gt[2],gt[3])); + break; + case 3: + dt = J.createByRandomTwoGradient(this._initParticleColor(ft.gradientMin), this._initParticleColor(ft.gradientMax)) + } + var yt = new W(dt); + yt.enbale = ut.enable, + d.colorOverLifetime = yt + } + var vt = n.sizeOverLifetime; + if (vt) { + var bt, wt = vt.size; + switch (wt.type) { + case 0: + bt = wt.separateAxes ? $.createByGradientSeparate(this._initParticleSize(wt.gradientX), this._initParticleSize(wt.gradientY), this._initParticleSize(wt.gradientZ)) : $.createByGradient(this._initParticleSize(wt.gradient)); + break; + case 1: + if (wt.separateAxes) { + var xt = wt.constantMinSeparate + , It = wt.constantMaxSeparate; + bt = $.createByRandomTwoConstantSeparate(new Be(xt[0],xt[1],xt[2]), new Be(It[0],It[1],It[2])) + } else + bt = $.createByRandomTwoConstant(wt.constantMin, wt.constantMax); + break; + case 2: + bt = wt.separateAxes ? $.createByRandomTwoGradientSeparate(this._initParticleSize(wt.gradientXMin), this._initParticleSize(wt.gradientYMin), this._initParticleSize(wt.gradientZMin), this._initParticleSize(wt.gradientXMax), this._initParticleSize(wt.gradientYMax), this._initParticleSize(wt.gradientZMax)) : $.createByRandomTwoGradient(this._initParticleSize(wt.gradientMin), this._initParticleSize(wt.gradientMax)) + } + var Ct = new at(bt); + Ct.enbale = vt.enable, + d.sizeOverLifetime = Ct + } + var St = n.rotationOverLifetime; + if (St) { + var Mt, Lt = St.angularVelocity; + switch (Lt.type) { + case 0: + Lt.separateAxes || (Mt = Y.createByConstant(Lt.constant * s)); + break; + case 1: + Lt.separateAxes || (Mt = Y.createByGradient(this._initParticleRotation(Lt.gradient))); + break; + case 2: + if (Lt.separateAxes) { + var Tt = Lt.constantMinSeparate + , Et = Lt.constantMaxSeparate; + Mt = Y.createByRandomTwoConstantSeparate(new Be(Tt[0] * s,Tt[1] * s,Tt[2] * s), new Be(Et[0] * s,Et[1] * s,Et[2] * s)) + } else + Mt = Y.createByRandomTwoConstant(Lt.constantMin * s, Lt.constantMax * s); + break; + case 3: + Lt.separateAxes || (Mt = Y.createByRandomTwoGradient(this._initParticleRotation(Lt.gradientMin), this._initParticleRotation(Lt.gradientMax))) + } + var Dt = new et(Mt); + Dt.enbale = St.enable, + d.rotationOverLifetime = Dt + } + var Nt = n.textureSheetAnimation; + if (Nt) { + var At, Bt = Nt.frame; + switch (Bt.type) { + case 0: + At = q.createByConstant(Bt.constant); + break; + case 1: + At = q.createByOverTime(this._initParticleFrame(Bt.overTime)); + break; + case 2: + At = q.createByRandomTwoConstant(Bt.constantMin, Bt.constantMax); + break; + case 3: + At = q.createByRandomTwoOverTime(this._initParticleFrame(Bt.overTimeMin), this._initParticleFrame(Bt.overTimeMax)) + } + var kt, Rt = Nt.startFrame; + switch (Rt.type) { + case 0: + kt = rt.createByConstant(Rt.constant); + break; + case 1: + kt = rt.createByRandomTwoConstant(Rt.constantMin, Rt.constantMax) + } + var Pt = new st(At,kt); + Pt.enable = Nt.enable; + var Ot = Nt.tiles; + Pt.tiles = new Ae(Ot[0],Ot[1]), + Pt.type = Nt.type, + Pt.randomRow = Nt.randomRow; + var Ut = Nt.rowIndex; + void 0 !== Ut && (Pt.rowIndex = Ut), + Pt.cycles = Nt.cycles, + d.textureSheetAnimation = Pt + } + } + , + s._activeHierarchy = function() { + laya.d3.core.Sprite3D.prototype._activeHierarchy.call(this), + this.particleSystem.playOnAwake && this.particleSystem.play() + } + , + s._inActiveHierarchy = function() { + laya.d3.core.Sprite3D.prototype._inActiveHierarchy.call(this), + this.particleSystem.isAlive && this.particleSystem.simulate(0, !0) + } + , + s.cloneTo = function(t) { + var e = t + , i = e._geometryFilter; + this._geometryFilter.cloneTo(i); + var n = e._render + , a = this._render; + n.sharedMaterials = a.sharedMaterials, + n.enable = a.enable, + n.renderMode = a.renderMode, + n.mesh = a.mesh, + n.stretchedBillboardCameraSpeedScale = a.stretchedBillboardCameraSpeedScale, + n.stretchedBillboardSpeedScale = a.stretchedBillboardSpeedScale, + n.stretchedBillboardLengthScale = a.stretchedBillboardLengthScale, + n.sortingFudge = a.sortingFudge, + laya.d3.core.Sprite3D.prototype.cloneTo.call(this, t) + } + , + s.destroy = function(e) { + void 0 === e && (e = !0), + this.destroyed || (t.prototype.destroy.call(this, e), + this._geometryFilter._destroy(), + this._geometryFilter = null) + } + , + r(0, s, "particleSystem", function() { + return this._geometryFilter + }), + r(0, s, "particleRender", function() { + return this._render + }), + e.__init__ = function() { + e.SHADERDEFINE_RENDERMODE_BILLBOARD = e.shaderDefines.registerDefine("SPHERHBILLBOARD"), + e.SHADERDEFINE_RENDERMODE_STRETCHEDBILLBOARD = e.shaderDefines.registerDefine("STRETCHEDBILLBOARD"), + e.SHADERDEFINE_RENDERMODE_HORIZONTALBILLBOARD = e.shaderDefines.registerDefine("HORIZONTALBILLBOARD"), + e.SHADERDEFINE_RENDERMODE_VERTICALBILLBOARD = e.shaderDefines.registerDefine("VERTICALBILLBOARD"), + e.SHADERDEFINE_COLOROVERLIFETIME = e.shaderDefines.registerDefine("COLOROVERLIFETIME"), + e.SHADERDEFINE_RANDOMCOLOROVERLIFETIME = e.shaderDefines.registerDefine("RANDOMCOLOROVERLIFETIME"), + e.SHADERDEFINE_VELOCITYOVERLIFETIMECONSTANT = e.shaderDefines.registerDefine("VELOCITYOVERLIFETIMECONSTANT"), + e.SHADERDEFINE_VELOCITYOVERLIFETIMECURVE = e.shaderDefines.registerDefine("VELOCITYOVERLIFETIMECURVE"), + e.SHADERDEFINE_VELOCITYOVERLIFETIMERANDOMCONSTANT = e.shaderDefines.registerDefine("VELOCITYOVERLIFETIMERANDOMCONSTANT"), + e.SHADERDEFINE_VELOCITYOVERLIFETIMERANDOMCURVE = e.shaderDefines.registerDefine("VELOCITYOVERLIFETIMERANDOMCURVE"), + e.SHADERDEFINE_TEXTURESHEETANIMATIONCURVE = e.shaderDefines.registerDefine("TEXTURESHEETANIMATIONCURVE"), + e.SHADERDEFINE_TEXTURESHEETANIMATIONRANDOMCURVE = e.shaderDefines.registerDefine("TEXTURESHEETANIMATIONRANDOMCURVE"), + e.SHADERDEFINE_ROTATIONOVERLIFETIME = e.shaderDefines.registerDefine("ROTATIONOVERLIFETIME"), + e.SHADERDEFINE_ROTATIONOVERLIFETIMESEPERATE = e.shaderDefines.registerDefine("ROTATIONOVERLIFETIMESEPERATE"), + e.SHADERDEFINE_ROTATIONOVERLIFETIMECONSTANT = e.shaderDefines.registerDefine("ROTATIONOVERLIFETIMECONSTANT"), + e.SHADERDEFINE_ROTATIONOVERLIFETIMECURVE = e.shaderDefines.registerDefine("ROTATIONOVERLIFETIMECURVE"), + e.SHADERDEFINE_ROTATIONOVERLIFETIMERANDOMCONSTANTS = e.shaderDefines.registerDefine("ROTATIONOVERLIFETIMERANDOMCURVES"), + e.SHADERDEFINE_ROTATIONOVERLIFETIMERANDOMCURVES = e.shaderDefines.registerDefine("ROTATIONOVERLIFETIMERANDOMCURVES"), + e.SHADERDEFINE_SIZEOVERLIFETIMECURVE = e.shaderDefines.registerDefine("SIZEOVERLIFETIMECURVE"), + e.SHADERDEFINE_SIZEOVERLIFETIMECURVESEPERATE = e.shaderDefines.registerDefine("SIZEOVERLIFETIMECURVESEPERATE"), + e.SHADERDEFINE_SIZEOVERLIFETIMERANDOMCURVES = e.shaderDefines.registerDefine("SIZEOVERLIFETIMERANDOMCURVES"), + e.SHADERDEFINE_SIZEOVERLIFETIMERANDOMCURVESSEPERATE = e.shaderDefines.registerDefine("SIZEOVERLIFETIMERANDOMCURVESSEPERATE"), + e.SHADERDEFINE_RENDERMODE_MESH = e.shaderDefines.registerDefine("RENDERMODE_MESH"), + e.SHADERDEFINE_SHAPE = e.shaderDefines.registerDefine("SHAPE") + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e._initStartLife = function(t) { + for (var e = new Q, i = t.startLifetimes, n = 0, a = i.length; n < a; n++) { + var r = i[n]; + e.add(r.key, r.value) + } + return e + } + , + e.SHADERDEFINE_RENDERMODE_BILLBOARD = 0, + e.SHADERDEFINE_RENDERMODE_STRETCHEDBILLBOARD = 0, + e.SHADERDEFINE_RENDERMODE_HORIZONTALBILLBOARD = 0, + e.SHADERDEFINE_RENDERMODE_VERTICALBILLBOARD = 0, + e.SHADERDEFINE_COLOROVERLIFETIME = 0, + e.SHADERDEFINE_RANDOMCOLOROVERLIFETIME = 0, + e.SHADERDEFINE_VELOCITYOVERLIFETIMECONSTANT = 0, + e.SHADERDEFINE_VELOCITYOVERLIFETIMECURVE = 0, + e.SHADERDEFINE_VELOCITYOVERLIFETIMERANDOMCONSTANT = 0, + e.SHADERDEFINE_VELOCITYOVERLIFETIMERANDOMCURVE = 0, + e.SHADERDEFINE_TEXTURESHEETANIMATIONCURVE = 0, + e.SHADERDEFINE_TEXTURESHEETANIMATIONRANDOMCURVE = 0, + e.SHADERDEFINE_ROTATIONOVERLIFETIME = 0, + e.SHADERDEFINE_ROTATIONOVERLIFETIMESEPERATE = 0, + e.SHADERDEFINE_ROTATIONOVERLIFETIMECONSTANT = 0, + e.SHADERDEFINE_ROTATIONOVERLIFETIMECURVE = 0, + e.SHADERDEFINE_ROTATIONOVERLIFETIMERANDOMCONSTANTS = 0, + e.SHADERDEFINE_ROTATIONOVERLIFETIMERANDOMCURVES = 0, + e.SHADERDEFINE_SIZEOVERLIFETIMECURVE = 0, + e.SHADERDEFINE_SIZEOVERLIFETIMECURVESEPERATE = 0, + e.SHADERDEFINE_SIZEOVERLIFETIMERANDOMCURVES = 0, + e.SHADERDEFINE_SIZEOVERLIFETIMERANDOMCURVESSEPERATE = 0, + e.SHADERDEFINE_RENDERMODE_MESH = 0, + e.SHADERDEFINE_SHAPE = 0, + e.WORLDPOSITION = 0, + e.WORLDROTATION = 1, + e.POSITIONSCALE = 4, + e.SIZESCALE = 5, + e.SCALINGMODE = 6, + e.GRAVITY = 7, + e.THREEDSTARTROTATION = 8, + e.STRETCHEDBILLBOARDLENGTHSCALE = 9, + e.STRETCHEDBILLBOARDSPEEDSCALE = 10, + e.SIMULATIONSPACE = 11, + e.CURRENTTIME = 12, + e.VOLVELOCITYCONST = 13, + e.VOLVELOCITYGRADIENTX = 14, + e.VOLVELOCITYGRADIENTY = 15, + e.VOLVELOCITYGRADIENTZ = 16, + e.VOLVELOCITYCONSTMAX = 17, + e.VOLVELOCITYGRADIENTXMAX = 18, + e.VOLVELOCITYGRADIENTYMAX = 19, + e.VOLVELOCITYGRADIENTZMAX = 20, + e.VOLSPACETYPE = 21, + e.COLOROVERLIFEGRADIENTALPHAS = 22, + e.COLOROVERLIFEGRADIENTCOLORS = 23, + e.MAXCOLOROVERLIFEGRADIENTALPHAS = 24, + e.MAXCOLOROVERLIFEGRADIENTCOLORS = 25, + e.SOLSIZEGRADIENT = 26, + e.SOLSIZEGRADIENTX = 27, + e.SOLSIZEGRADIENTY = 28, + e.SOLSizeGradientZ = 29, + e.SOLSizeGradientMax = 30, + e.SOLSIZEGRADIENTXMAX = 31, + e.SOLSIZEGRADIENTYMAX = 32, + e.SOLSizeGradientZMAX = 33, + e.ROLANGULARVELOCITYCONST = 34, + e.ROLANGULARVELOCITYCONSTSEPRARATE = 35, + e.ROLANGULARVELOCITYGRADIENT = 36, + e.ROLANGULARVELOCITYGRADIENTX = 37, + e.ROLANGULARVELOCITYGRADIENTY = 38, + e.ROLANGULARVELOCITYGRADIENTZ = 39, + e.ROLANGULARVELOCITYGRADIENTW = 40, + e.ROLANGULARVELOCITYCONSTMAX = 41, + e.ROLANGULARVELOCITYCONSTMAXSEPRARATE = 42, + e.ROLANGULARVELOCITYGRADIENTMAX = 43, + e.ROLANGULARVELOCITYGRADIENTXMAX = 44, + e.ROLANGULARVELOCITYGRADIENTYMAX = 45, + e.ROLANGULARVELOCITYGRADIENTZMAX = 46, + e.ROLANGULARVELOCITYGRADIENTWMAX = 47, + e.TEXTURESHEETANIMATIONCYCLES = 48, + e.TEXTURESHEETANIMATIONSUBUVLENGTH = 49, + e.TEXTURESHEETANIMATIONGRADIENTUVS = 50, + e.TEXTURESHEETANIMATIONGRADIENTMAXUVS = 51, + n(e, ["shaderDefines", function() { + return this.shaderDefines = new Ue(un.shaderDefines) + } + ]), + e + }(un) + , vn = function(t) { + function e(t, i) { + this._subMeshOffset = null, + e.__super.call(this, i), + this._subMeshOffset = [], + this._geometryFilter = new Mi(this), + this._render = new cn(this), + this._geometryFilter.on("meshchanged", this, this._onMeshChanged), + this._render.on("materialchanged", this, this._onMaterialChanged), + t && (this._geometryFilter.sharedMesh = t) + } + a(e, "laya.d3.core.SkinnedMeshSprite3D", t); + var s = e.prototype; + return s._changeRenderObjectByMesh = function(t) { + var e = this._render._renderElements + , i = e[t]; + i || (i = e[t] = new hi), + i._render = this._render; + var n = this._render.sharedMaterials[t]; + n || (n = ji.defaultMaterial); + var a = this._geometryFilter.sharedMesh.getRenderElement(t); + return i._mainSortID = this._getSortID(a, n), + i._sprite3D = this, + i.renderObj = a, + i._material = n, + i + } + , + s._changeRenderObjectByMaterial = function(t, e) { + var i = this._render._renderElements[t]; + e || (e = ji.defaultMaterial); + var n = this._geometryFilter.sharedMesh.getRenderElement(t); + return i._mainSortID = this._getSortID(n, e), + i._sprite3D = this, + i.renderObj = n, + i._material = e, + i + } + , + s._changeRenderObjectsByMesh = function() { + var t = this._geometryFilter.sharedMesh.getRenderElementsCount(); + this._render._renderElements.length = t; + for (var e = 0; e < t; e++) + this._changeRenderObjectByMesh(e) + } + , + s._onMeshChanged = function(t) { + var e = t.sharedMesh; + e.loaded ? this._changeRenderObjectsByMesh() : e.once("loaded", this, this._changeRenderObjectsByMesh) + } + , + s._onMaterialChanged = function(t, e, i) { + e < this._render._renderElements.length && this._changeRenderObjectByMaterial(e, i) + } + , + s._parseCustomProps = function(t, e, i, n) { + var a = this.skinnedMeshRender + , r = i.lightmapIndex; + null != r && (a.lightmapIndex = r); + var s = i.lightmapScaleOffset; + s && (a.lightmapScaleOffset = new ke(s[0],s[1],s[2],s[3])); + var o, l; + if (n.instanceParams) + (o = n.instanceParams.loadPath) && (l = v.getRes(e[o]), + this.meshFilter.sharedMesh = l, + l.loaded ? a.sharedMaterials = l.materials : l.once("loaded", this, this._applyMeshMaterials)); + else { + (o = i.meshPath) && (l = v.getRes(e[o]), + this.meshFilter.sharedMesh = l); + var h = i.materials; + if (h) { + var c = a.sharedMaterials + , _ = h.length; + c.length = _; + for (var u = 0; u < _; u++) + c[u] = v.getRes(e[h[u].path]); + a.sharedMaterials = c + } + var d = i.rootBone; + d && a._setRootBone(d); + var f = i.boundBox; + if (f) { + var p = f.min + , m = f.max + , g = new be(new Be(p[0],p[1],p[2]),new Be(m[0],m[1],m[2])); + a.localBoundBox = g + } else + a._hasIndependentBound = !1; + var y = i.boundSphere; + if (y) { + var b = y.center + , w = new xe(new Be(b[0],b[1],b[2]),y.radius); + a.localBoundSphere = w + } + } + } + , + s._changeHierarchyAnimator = function(t) { + if (t) { + var e = this.skinnedMeshRender; + e._setCacheAnimator(t); + var i = t.avatar; + i && e._setCacheAvatar(i) + } + laya.d3.core.Sprite3D.prototype._changeHierarchyAnimator.call(this, t) + } + , + s._clearSelfRenderObjects = function() { + this._scene.removeFrustumCullingObject(this._render) + } + , + s._addSelfRenderObjects = function() { + this._scene.addFrustumCullingObject(this._render) + } + , + s._applyMeshMaterials = function(t) { + for (var e = this._render.sharedMaterials, i = t.materials, n = 0, a = i.length; n < a; n++) + e[n] || (e[n] = i[n]); + this._render.sharedMaterials = e + } + , + s.cloneTo = function(t) { + var e = t; + e._geometryFilter.sharedMesh = this._geometryFilter.sharedMesh; + var i = this._render + , n = e._render; + n.enable = i.enable, + n.sharedMaterials = i.sharedMaterials, + n.castShadow = i.castShadow; + var a = i.lightmapScaleOffset; + a && (n.lightmapScaleOffset = a.clone()), + n.receiveShadow = i.receiveShadow, + n.sortingFudge = i.sortingFudge, + n._rootBone = i._rootBone; + var r = i.localBoundSphere; + r && (n.localBoundSphere = r.clone()); + var s = i.localBoundBox; + s && (n.localBoundBox = s.clone()), + n._hasIndependentBound = i._hasIndependentBound, + laya.d3.core.Sprite3D.prototype.cloneTo.call(this, t) + } + , + s.destroy = function(e) { + void 0 === e && (e = !0), + this.destroyed || (t.prototype.destroy.call(this, e), + this._geometryFilter._destroy()) + } + , + r(0, s, "meshFilter", function() { + return this._geometryFilter + }), + r(0, s, "skinnedMeshRender", function() { + return this._render + }), + e.__init__ = function() { + e.SHADERDEFINE_BONE = e.shaderDefines.registerDefine("BONE") + } + , + e.load = function(t) { + return i.loader.create(t, null, null, e) + } + , + e.SHADERDEFINE_BONE = 8, + e.BONES = 0, + n(e, ["shaderDefines", function() { + return this.shaderDefines = new Ue(un.shaderDefines) + } + ]), + e + }(un) + , bn = (function(t) { + function e(t, i, n, a, r) { + void 0 === t && (t = .1), + void 0 === i && (i = 0), + void 0 === n && (n = 0), + void 0 === a && (a = .3), + void 0 === r && (r = 1e3), + this._tempMatrix = new Me, + this._leftViewMatrix = new Me, + this._leftProjectionMatrix = new Me, + this._leftProjectionViewMatrix = new Me, + this._leftViewport = new Re(0,0,0,0), + this._leftNormalizedViewport = new Re(0,0,.5,1), + this._leftAspectRatio = i, + this._rightViewMatrix = new Me, + this._rightProjectionMatrix = new Me, + this._rightProjectionViewMatrix = new Me, + this._rightViewport = new Re(0,0,0,0), + this._rightNormalizedViewport = new Re(.5,0,.5,1), + this._rightAspectRatio = n, + this._pupilDistande = t, + this._leftBoundFrustumUpdate = !0, + this._leftBoundFrustum = new we(Me.DEFAULT), + this._rightBoundFrustumUpdate = !0, + this._rightBoundFrustum = new we(Me.DEFAULT), + e.__super.call(this, a, r), + this.transform.on("worldmatrixneedchanged", this, this._onWorldMatrixChanged) + } + a(e, "laya.d3.core.VRCamera", _n); + var i = e.prototype; + i._onWorldMatrixChanged = function() { + this._leftBoundFrustumUpdate = this._rightBoundFrustumUpdate = !0 + } + , + i._calculatePupilOffset = function() { + var t = this._tempVector3; + return Be.scale(this.right, this._pupilDistande / 2, t), + t.elements + } + , + i._calculateLeftProjectionMatrix = function() { + if (!this._useUserProjectionMatrix) + if (this._orthographic) { + var t = this.orthographicVerticalSize * this.leftAspectRatio * .5 + , e = .5 * this.orthographicVerticalSize; + Me.createOrthoOffCenterRH(-t, t, -e, e, this.nearPlane, this.farPlane, this._leftProjectionMatrix) + } else + Me.createPerspective(3.1416 * this.fieldOfView / 180, this.leftAspectRatio, this.nearPlane, this.farPlane, this._rightProjectionMatrix); + this._leftBoundFrustumUpdate = !0 + } + , + i._calculateRightProjectionMatrix = function() { + if (!this._useUserProjectionMatrix) + if (this._orthographic) { + var t = this.orthographicVerticalSize * this.rightAspectRatio * .5 + , e = .5 * this.orthographicVerticalSize; + Me.createOrthoOffCenterRH(-t, t, e, e, this.nearPlane, this.farPlane, this._rightProjectionMatrix) + } else + Me.createPerspective(3.1416 * this.fieldOfView / 180, this.rightAspectRatio, this.nearPlane, this.farPlane, this._rightProjectionMatrix); + this._rightBoundFrustumUpdate = !0 + } + , + i._calculateProjectionMatrix = function() { + if (!this._useUserProjectionMatrix) + if (this._orthographic) { + var t = this.orthographicVerticalSize * this.leftAspectRatio * .5 + , e = .5 * this.orthographicVerticalSize + , i = this.orthographicVerticalSize * this.rightAspectRatio * .5 + , n = .5 * this.orthographicVerticalSize; + Me.createOrthoOffCenterRH(-t, t, -e, e, this.nearPlane, this.farPlane, this._leftProjectionMatrix), + Me.createOrthoOffCenterRH(-i, i, n, n, this.nearPlane, this.farPlane, this._rightProjectionMatrix) + } else + Me.createPerspective(3.1416 * this.fieldOfView / 180, this.leftAspectRatio, this.nearPlane, this.farPlane, this._leftProjectionMatrix), + Me.createPerspective(3.1416 * this.fieldOfView / 180, this.rightAspectRatio, this.nearPlane, this.farPlane, this._rightProjectionMatrix); + this._leftBoundFrustumUpdate = this._rightBoundFrustumUpdate = !0 + } + , + i._renderCamera = function(t, e, i) { + e.camera = this, + this._prepareCameraToRender(), + i._preRenderUpdateComponents(e); + var n, a; + n = e._viewMatrix = this.leftViewMatrix; + var r = this._renderTarget; + r ? (r.start(), + Me.multiply(_n._invertYScaleMatrix, this._leftProjectionMatrix, _n._invertYProjectionMatrix), + Me.multiply(_n._invertYScaleMatrix, this.leftProjectionViewMatrix, _n._invertYProjectionViewMatrix), + a = e._projectionMatrix = _n._invertYProjectionMatrix, + e._projectionViewMatrix = _n._invertYProjectionViewMatrix) : (a = e._projectionMatrix = this._leftProjectionMatrix, + e._projectionViewMatrix = this.leftProjectionViewMatrix), + this._prepareCameraViewProject(n, a), + e._viewport = this.leftViewport, + i._preRenderScene(t, e, this.leftBoundFrustum), + i._clear(t, e), + i._renderScene(t, e); + var s, o; + s = e._viewMatrix = this.rightViewMatrix, + r ? (r.start(), + Me.multiply(_n._invertYScaleMatrix, this._rightProjectionMatrix, _n._invertYProjectionMatrix), + Me.multiply(_n._invertYScaleMatrix, this.rightProjectionViewMatrix, _n._invertYProjectionViewMatrix), + e._projectionMatrix = _n._invertYProjectionMatrix, + o = e._projectionViewMatrix = _n._invertYProjectionViewMatrix) : (o = e._projectionMatrix = this._rightProjectionMatrix, + e._projectionViewMatrix = this.rightProjectionViewMatrix), + this._prepareCameraViewProject(s, o), + e._viewport = this.rightViewport, + i._preRenderScene(t, e, this.rightBoundFrustum), + i._clear(t, e), + i._renderScene(t, e), + i._postRenderUpdateComponents(e), + r && r.end() + } + , + r(0, i, "rightBoundFrustum", function() { + return this._rightBoundFrustumUpdate && (this._rightBoundFrustum.matrix = this.rightProjectionViewMatrix), + this._rightBoundFrustum + }), + r(0, i, "leftNormalizedViewport", function() { + if (!this._viewportExpressedInClipSpace) { + var t = this._leftViewport + , e = this.renderTargetSize + , i = e.width + , n = e.height; + this._leftNormalizedViewport.x = t.x / i, + this._leftNormalizedViewport.y = t.y / n, + this._leftNormalizedViewport.width = t.width / i, + this._leftNormalizedViewport.height = t.height / n + } + return this._leftNormalizedViewport + }), + r(0, i, "rightViewport", function() { + if (this._viewportExpressedInClipSpace) { + var t = this._rightNormalizedViewport + , e = this.renderTargetSize + , i = e.width + , n = e.height; + this._rightViewport.x = t.x * i, + this._rightViewport.y = t.y * n, + this._rightViewport.width = t.width * i, + this._rightViewport.height = t.height * n + } + return this._rightViewport + }), + r(0, i, "viewport", null, function(t) { + if (null != this.renderTarget && (t.x < 0 || t.y < 0 || 0 == t.width || 0 == t.height)) + throw new Error("VRCamera: viewport size invalid.","value"); + this._viewportExpressedInClipSpace = !1, + this._leftViewport = new Re(0,0,t.width / 2,t.height), + this._rightViewport = new Re(t.width / 2,0,t.width / 2,t.height), + this._calculateProjectionMatrix() + }), + r(0, i, "leftAspectRatio", function() { + if (0 === this._leftAspectRatio) { + var t = this.leftViewport; + return t.width / t.height + } + return this._leftAspectRatio + }), + r(0, i, "rightAspectRatio", function() { + if (0 === this._rightAspectRatio) { + var t = this.rightViewport; + return t.width / t.height + } + return this._rightAspectRatio + }), + r(0, i, "aspectRatio", null, function(t) { + if (t < 0) + throw new Error("VRCamera: the aspect ratio has to be a positive real number."); + this._leftAspectRatio = t, + this._rightAspectRatio = t, + this._calculateRightProjectionMatrix() + }), + r(0, i, "rightNormalizedViewport", function() { + if (!this._viewportExpressedInClipSpace) { + var t = this._rightViewport + , e = this.renderTargetSize + , i = e.width + , n = e.height; + this._rightNormalizedViewport.x = t.x / i, + this._rightNormalizedViewport.y = t.y / n, + this._rightNormalizedViewport.width = t.width / i, + this._rightNormalizedViewport.height = t.height / n + } + return this._rightNormalizedViewport + }), + r(0, i, "normalizedViewport", null, function(t) { + if (t.x < 0 || t.y < 0 || t.x + t.width > 1 || t.x + t.height > 1) + throw new Error("VRCamera: viewport size invalid.","value"); + this._viewportExpressedInClipSpace = !0, + this._leftNormalizedViewport = new Re(0,0,t.width / 2,t.height), + this._rightNormalizedViewport = new Re(t.width / 2,0,t.width / 2,t.height), + this._calculateProjectionMatrix() + }), + r(0, i, "leftViewport", function() { + if (this._viewportExpressedInClipSpace) { + var t = this._leftNormalizedViewport + , e = this.renderTargetSize + , i = e.width + , n = e.height; + this._leftViewport.x = t.x * i, + this._leftViewport.y = t.y * n, + this._leftViewport.width = t.width * i, + this._leftViewport.height = t.height * n + } + return this._leftViewport + }), + r(0, i, "needLeftViewport", function() { + var t = this.leftNormalizedViewport; + return 0 === t.x && 0 === t.y && 1 === t.width && 1 === t.height + }), + r(0, i, "needRightViewport", function() { + var t = this.rightNormalizedViewport; + return 0 === t.x && 0 === t.y && 1 === t.width && 1 === t.height + }), + r(0, i, "leftViewMatrix", function() { + var t = this._calculatePupilOffset() + , e = this._tempMatrix; + this.transform.worldMatrix.cloneTo(e); + var i = e.elements; + return i[12] -= t[0], + i[13] -= t[1], + i[14] -= t[2], + e.invert(this._leftViewMatrix), + this._leftViewMatrix + }), + r(0, i, "rightViewMatrix", function() { + var t = this._calculatePupilOffset() + , e = this._tempMatrix; + this.transform.worldMatrix.cloneTo(e); + var i = e.elements; + return i[12] += t[0], + i[13] += t[1], + i[14] += t[2], + e.invert(this._rightViewMatrix), + this._rightViewMatrix + }), + r(0, i, "leftProjectionMatrix", function() { + return this._leftProjectionMatrix + }), + r(0, i, "leftProjectionViewMatrix", function() { + return Me.multiply(this.leftProjectionMatrix, this.leftViewMatrix, this._leftProjectionViewMatrix), + this._leftProjectionViewMatrix + }), + r(0, i, "rightProjectionMatrix", function() { + return this._rightProjectionMatrix + }), + r(0, i, "rightProjectionViewMatrix", function() { + return Me.multiply(this.rightProjectionMatrix, this.rightViewMatrix, this._rightProjectionViewMatrix), + this._rightProjectionViewMatrix + }), + r(0, i, "leftBoundFrustum", function() { + return this._leftBoundFrustumUpdate && (this._leftBoundFrustum.matrix = this.leftProjectionViewMatrix), + this._leftBoundFrustum + }) + }(), + function(t) { + function e() { + e.__super.call(this), + this._geometryFilter = new Di(this), + this._render = new Ni(this), + this._changeRenderObjectsByMaterial(this._render, 0, Ki.defaultMaterial), + this._render.on("materialchanged", this, this._changeRenderObjectsByMaterial), + this._geometryFilter.on("trailfilterchange", this, this._changeRenderObjectsByRenderElement) + } + a(e, "laya.d3.core.trail.TrailSprite3D", t); + var i = e.prototype; + return i._changeRenderObjectsByMaterial = function(t, e, i) { + var n = this._geometryFilter.getRenderElementsCount(); + this._render._renderElements.length = n; + for (var a = 0; a < n; a++) + this._changeRenderObjectByMaterial(a, i) + } + , + i._changeRenderObjectByMaterial = function(t, e) { + var i = this._render._renderElements; + e || (e = Ki.defaultMaterial); + var n = i[t]; + n || (n = i[t] = new ct), + n._sprite3D = this, + n.renderObj = this._geometryFilter.getRenderElement(t), + n._render = this._render, + n._material = e + } + , + i._changeRenderObjectsByRenderElement = function(t, e) { + var i = this._render._renderElements + , n = i[t]; + n || (n = i[t] = new ct), + n._sprite3D = this, + n.renderObj = e, + n._render = this._render, + n._material = this._render.sharedMaterial + } + , + i._clearSelfRenderObjects = function() { + this.scene.removeFrustumCullingObject(this._render) + } + , + i._addSelfRenderObjects = function() { + this.scene.addFrustumCullingObject(this._render) + } + , + i._update = function(e) { + t.prototype._update.call(this, e), + this._geometryFilter._update(e) + } + , + i._parseCustomProps = function(t, e, i, n) { + var a = this._render + , r = this._geometryFilter + , s = 0 + , o = 0 + , l = i.materials; + if (l) { + var h = a.sharedMaterials + , c = l.length; + for (h.length = c, + s = 0; s < c; s++) + h[s] = v.getRes(e[l[s].path]); + a.sharedMaterials = h + } + var _ = n.props; + r.time = _.time, + r.minVertexDistance = _.minVertexDistance, + r.widthMultiplier = _.widthMultiplier, + r.textureMode = _.textureMode; + var u = [] + , d = i.widthCurve; + for (s = 0, + o = d.length; s < o; s++) { + var f = new yt; + f.time = d[s].time, + f.inTangent = d[s].inTangent, + f.outTangent = d[s].outTangent, + f.value = d[s].value, + u.push(f) + } + r.widthCurve = u; + var p = i.colorGradient + , m = new pt; + m.mode = p.mode; + var g, y, b = [], w = p.colorKeys; + for (s = 0, + o = w.length; s < o; s++) + y = w[s], + g = new gt(new ft(y.value[0],y.value[1],y.value[2],1),y.time), + b.push(g); + var x, I, C = [], S = p.alphaKeys; + for (s = 0, + o = S.length; s < o; s++) + I = S[s], + x = new mt(I.value,I.time), + C.push(x); + m.setKeys(b, C), + r.colorGradient = m + } + , + i.reset = function() { + this.trailFilter.reset() + } + , + i.cloneTo = function(t) { + laya.d3.core.Sprite3D.prototype.cloneTo.call(this, t); + var e = 0 + , i = 0 + , n = t + , a = n.trailFilter; + a.time = this.trailFilter.time, + a.minVertexDistance = this.trailFilter.minVertexDistance, + a.widthMultiplier = this.trailFilter.widthMultiplier; + var r = this.trailFilter.widthCurve + , s = []; + for (e = 0, + i = r.length; e < i; e++) { + var o = new yt; + r[e].cloneTo(o), + s.push(o) + } + a.widthCurve = s; + var l = new pt; + this.trailFilter.colorGradient.cloneTo(l), + a.colorGradient = l, + a.textureMode = this.trailFilter.textureMode; + n.trailRender.sharedMaterial = this.trailRender.sharedMaterial + } + , + i.destroy = function(e) { + void 0 === e && (e = !0), + this.destroyed || (t.prototype.destroy.call(this, e), + this._geometryFilter._destroy(), + this._geometryFilter = null) + } + , + r(0, i, "trailFilter", function() { + return this._geometryFilter + }), + r(0, i, "trailRender", function() { + return this._render + }), + e.__init__ = function() { + e.SHADERDEFINE_GRADIENTMODE_BLEND = e.shaderDefines.registerDefine("GRADIENTMODE_BLEND") + } + , + e.CURTIME = 3, + e.LIFETIME = 4, + e.WIDTHCURVE = 5, + e.WIDTHCURVEKEYLENGTH = 6, + e.GRADIENTCOLORKEY = 7, + e.GRADIENTALPHAKEY = 8, + e.SHADERDEFINE_GRADIENTMODE_BLEND = 0, + n(e, ["shaderDefines", function() { + return this.shaderDefines = new Ue(un.shaderDefines) + } + ]), + e + }(un)) + , wn = function(t) { + function e(t, i, n, a, r, s, o, l) { + e.__super.call(this, l), + this._geometryFilter = new Bi(this,t,i,n,a,r,s,o), + this._render = new ki(this) + } + a(e, "laya.d3.terrain.TerrainChunk", t); + var n = e.prototype; + return n.buildRenderElementAndMaterial = function(t, e, i, n, a, r, s, o, l, h, c, _, u, d, f, p, m, g) { + void 0 === c && (c = 1), + void 0 === _ && (_ = 1), + void 0 === u && (u = 1), + void 0 === d && (d = 1), + void 0 === f && (f = 1), + void 0 === p && (p = 1), + void 0 === m && (m = 1), + void 0 === g && (g = 1); + var y = new Wi; + l && (y.diffuseColor = l), + o && (y.ambientColor = o), + h && (y.specularColor = h), + y.splatAlphaTexture = v.getRes(i), + y.normalTexture = e ? v.getRes(e) : null, + y.diffuseTexture1 = n ? v.getRes(n) : null, + y.diffuseTexture2 = a ? v.getRes(a) : null, + y.diffuseTexture3 = r ? v.getRes(r) : null, + y.diffuseTexture4 = s ? v.getRes(s) : null, + y.setDiffuseScale1(c, _), + y.setDiffuseScale2(u, d), + y.setDiffuseScale3(f, p), + y.setDiffuseScale4(m, g), + y.setDetailNum(t), + 0 != this._render._renderElements.length && (y.renderMode = 2); + var b = new ct; + b._mainSortID = 0, + b._sprite3D = this, + b.renderObj = this._geometryFilter, + b._material = y, + this._render._materials.push(y), + this._render._renderElements.push(b) + } + , + n._clearSelfRenderObjects = function() { + this.scene.removeFrustumCullingObject(this._render) + } + , + n._addSelfRenderObjects = function() { + this.scene.addFrustumCullingObject(this._render) + } + , + n._applyMeshMaterials = function(t) { + for (var e = this._render.sharedMaterials, i = t.materials, n = 0, a = i.length; n < a; n++) + e[n] || (e[n] = i[n]); + this._render.sharedMaterials = e + } + , + n.cloneTo = function(t) { + console.log("Terrain Chunk can't clone") + } + , + n.destroy = function(e) { + void 0 === e && (e = !0), + this.destroyed || (t.prototype.destroy.call(this, e), + this._geometryFilter._destroy()) + } + , + r(0, n, "terrainFilter", function() { + return this._geometryFilter + }), + r(0, n, "terrainRender", function() { + return this._render + }), + e.load = function(t) { + return i.loader.create(t, null, null, e, null, 1, !1) + } + , + e + }(un); + !function(t) { + function e(t, i, n) { + this._minX = NaN, + this._minZ = NaN, + this._cellSize = null, + this._heightMap = null, + e.__super.call(this, t, n), + this._heightMap = i, + this._cellSize = new Ae + } + a(e, "laya.d3.core.MeshTerrainSprite3D", gn); + var i = e.prototype; + i._disableRotation = function() { + var t = this.transform.rotation; + t.elements[0] = 0, + t.elements[1] = 0, + t.elements[2] = 0, + t.elements[3] = 1, + this.transform.rotation = t + } + , + i._getScaleX = function() { + var t = this.transform.worldMatrix.elements + , e = t[0] + , i = t[1] + , n = t[2]; + return Math.sqrt(e * e + i * i + n * n) + } + , + i._getScaleZ = function() { + var t = this.transform.worldMatrix.elements + , e = t[8] + , i = t[9] + , n = t[10]; + return Math.sqrt(e * e + i * i + n * n) + } + , + i._initCreateFromMesh = function(t, e) { + this._heightMap = G.creatFromMesh(this.meshFilter.sharedMesh, t, e, this._cellSize); + var i = this.meshFilter.sharedMesh.boundingBox + , n = i.min; + i.max; + this._minX = n.x, + this._minZ = n.z + } + , + i._initCreateFromMeshHeightMap = function(t, e, i) { + var n = this + , a = this.meshFilter.sharedMesh.boundingBox; + t.loaded ? (this._heightMap = G.createFromImage(t, e, i), + this._computeCellSize(a)) : t.once("loaded", null, function() { + n._heightMap = G.createFromImage(t, e, i), + n._computeCellSize(a) + }); + var r = a.min; + a.max; + this._minX = r.x, + this._minZ = r.z + } + , + i._computeCellSize = function(t) { + var e = t.min + , i = t.max + , n = e.x + , a = e.z + , r = i.x - n + , s = i.z - a; + this._cellSize.elements[0] = r / (this._heightMap.width - 1), + this._cellSize.elements[1] = s / (this._heightMap.height - 1) + } + , + i._update = function(t) { + this._disableRotation(), + laya.d3.core.RenderableSprite3D.prototype._update.call(this, t) + } + , + i.getHeight = function(t, i) { + e._tempVector3.elements[0] = t, + e._tempVector3.elements[1] = 0, + e._tempVector3.elements[2] = i, + this._disableRotation(); + var n = this.transform.worldMatrix; + n.invert(e._tempMatrix4x4), + Be.transformCoordinate(e._tempVector3, e._tempMatrix4x4, e._tempVector3), + t = e._tempVector3.elements[0], + i = e._tempVector3.elements[2]; + var a = (t - this._minX) / this._cellSize.x + , r = (i - this._minZ) / this._cellSize.y + , s = Math.floor(r) + , o = Math.floor(a) + , l = a - o + , h = r - s + , c = NaN + , _ = NaN + , u = n.elements + , d = u[4] + , f = u[5] + , p = u[6] + , m = Math.sqrt(d * d + f * f + p * p) + , g = u[13] + , y = this._heightMap.getHeight(s, o + 1) + , v = this._heightMap.getHeight(s + 1, o); + if (isNaN(y) || isNaN(v)) + return NaN; + if (l + h <= 1) { + var b = this._heightMap.getHeight(s, o); + return isNaN(b) ? NaN : (c = y - b, + _ = v - b, + (b + l * c + h * _) * m + g) + } + var w = this._heightMap.getHeight(s + 1, o + 1); + return isNaN(w) ? NaN : (c = v - w, + _ = y - w, + (w + (1 - l) * c + (1 - h) * _) * m + g) + } + , + r(0, i, "minX", function() { + var t = this.transform.worldMatrix.elements; + return this._minX * this._getScaleX() + t[12] + }), + r(0, i, "width", function() { + return (this._heightMap.width - 1) * this._cellSize.x * this._getScaleX() + }), + r(0, i, "minZ", function() { + var t = this.transform.worldMatrix.elements; + return this._minZ * this._getScaleZ() + t[14] + }), + r(0, i, "depth", function() { + return (this._heightMap.height - 1) * this._cellSize.y * this._getScaleZ() + }), + e.createFromMesh = function(t, i, n, a) { + var r = new e(t,null,a); + return t.loaded ? r._initCreateFromMesh(i, n) : t.once("loaded", r, r._initCreateFromMesh, [i, n]), + r + } + , + e.createFromMeshAndHeightMap = function(t, i, n, a, r) { + var s = new e(t,null,r); + return t.loaded ? s._initCreateFromMeshHeightMap(i, n, a) : t.once("loaded", s, s._initCreateFromMeshHeightMap, [i, n, a]), + s + } + , + n(e, ["_tempVector3", function() { + return this._tempVector3 = new Be + } + , "_tempMatrix4x4", function() { + return this._tempMatrix4x4 = new Me + } + ]) + }() +}(window, document, Laya), +"function" == typeof define && define.amd && define("laya.core", ["require", "exports"], function(t, e) { + "use strict"; + Object.defineProperty(e, "__esModule", { + value: !0 + }); + for (var i in Laya) { + var n = Laya[i]; + n && n.__isclass && (e[i] = n) + } +}), +function(t, e) { + "object" == typeof exports ? module.exports = exports = e() : "function" == typeof define && define.amd ? define([], e) : t.CryptoJS = e() +}(this, function() { + var t = t || function(t, e) { + var i = Object.create || function() { + function t() {} + return function(e) { + var i; + return t.prototype = e, + i = new t, + t.prototype = null, + i + } + }() + , n = {} + , a = n.lib = {} + , r = a.Base = { + extend: function(t) { + var e = i(this); + return t && e.mixIn(t), + e.hasOwnProperty("init") && this.init !== e.init || (e.init = function() { + e.$super.init.apply(this, arguments) + } + ), + e.init.prototype = e, + e.$super = this, + e + }, + create: function() { + var t = this.extend(); + return t.init.apply(t, arguments), + t + }, + init: function() {}, + mixIn: function(t) { + for (var e in t) + t.hasOwnProperty(e) && (this[e] = t[e]); + t.hasOwnProperty("toString") && (this.toString = t.toString) + }, + clone: function() { + return this.init.prototype.extend(this) + } + } + , s = a.WordArray = r.extend({ + init: function(t, e) { + t = this.words = t || [], + this.sigBytes = void 0 != e ? e : 4 * t.length + }, + toString: function(t) { + return (t || l).stringify(this) + }, + concat: function(t) { + var e = this.words + , i = t.words + , n = this.sigBytes + , a = t.sigBytes; + if (this.clamp(), + n % 4) + for (s = 0; s < a; s++) { + var r = i[s >>> 2] >>> 24 - s % 4 * 8 & 255; + e[n + s >>> 2] |= r << 24 - (n + s) % 4 * 8 + } + else + for (var s = 0; s < a; s += 4) + e[n + s >>> 2] = i[s >>> 2]; + return this.sigBytes += a, + this + }, + clamp: function() { + var e = this.words + , i = this.sigBytes; + e[i >>> 2] &= 4294967295 << 32 - i % 4 * 8, + e.length = t.ceil(i / 4) + }, + clone: function() { + var t = r.clone.call(this); + return t.words = this.words.slice(0), + t + }, + random: function(e) { + for (var i, n = [], a = function(e) { + var e = e + , i = 987654321; + return function() { + var n = ((i = 36969 * (65535 & i) + (i >> 16) & 4294967295) << 16) + (e = 18e3 * (65535 & e) + (e >> 16) & 4294967295) & 4294967295; + return n /= 4294967296, + (n += .5) * (t.random() > .5 ? 1 : -1) + } + }, r = 0; r < e; r += 4) { + var o = a(4294967296 * (i || t.random())); + i = 987654071 * o(), + n.push(4294967296 * o() | 0) + } + return new s.init(n,e) + } + }) + , o = n.enc = {} + , l = o.Hex = { + stringify: function(t) { + for (var e = t.words, i = t.sigBytes, n = [], a = 0; a < i; a++) { + var r = e[a >>> 2] >>> 24 - a % 4 * 8 & 255; + n.push((r >>> 4).toString(16)), + n.push((15 & r).toString(16)) + } + return n.join("") + }, + parse: function(t) { + for (var e = t.length, i = [], n = 0; n < e; n += 2) + i[n >>> 3] |= parseInt(t.substr(n, 2), 16) << 24 - n % 8 * 4; + return new s.init(i,e / 2) + } + } + , h = o.Latin1 = { + stringify: function(t) { + for (var e = t.words, i = t.sigBytes, n = [], a = 0; a < i; a++) { + var r = e[a >>> 2] >>> 24 - a % 4 * 8 & 255; + n.push(String.fromCharCode(r)) + } + return n.join("") + }, + parse: function(t) { + for (var e = t.length, i = [], n = 0; n < e; n++) + i[n >>> 2] |= (255 & t.charCodeAt(n)) << 24 - n % 4 * 8; + return new s.init(i,e) + } + } + , c = o.Utf8 = { + stringify: function(t) { + try { + return decodeURIComponent(escape(h.stringify(t))) + } catch (t) { + throw new Error("Malformed UTF-8 data") + } + }, + parse: function(t) { + return h.parse(unescape(encodeURIComponent(t))) + } + } + , _ = a.BufferedBlockAlgorithm = r.extend({ + reset: function() { + this._data = new s.init, + this._nDataBytes = 0 + }, + _append: function(t) { + "string" == typeof t && (t = c.parse(t)), + this._data.concat(t), + this._nDataBytes += t.sigBytes + }, + _process: function(e) { + var i = this._data + , n = i.words + , a = i.sigBytes + , r = this.blockSize + , o = a / (4 * r) + , l = (o = e ? t.ceil(o) : t.max((0 | o) - this._minBufferSize, 0)) * r + , h = t.min(4 * l, a); + if (l) { + for (var c = 0; c < l; c += r) + this._doProcessBlock(n, c); + var _ = n.splice(0, l); + i.sigBytes -= h + } + return new s.init(_,h) + }, + clone: function() { + var t = r.clone.call(this); + return t._data = this._data.clone(), + t + }, + _minBufferSize: 0 + }) + , u = (a.Hasher = _.extend({ + cfg: r.extend(), + init: function(t) { + this.cfg = this.cfg.extend(t), + this.reset() + }, + reset: function() { + _.reset.call(this), + this._doReset() + }, + update: function(t) { + return this._append(t), + this._process(), + this + }, + finalize: function(t) { + t && this._append(t); + return this._doFinalize() + }, + blockSize: 16, + _createHelper: function(t) { + return function(e, i) { + return new t.init(i).finalize(e) + } + }, + _createHmacHelper: function(t) { + return function(e, i) { + return new u.HMAC.init(t,i).finalize(e) + } + } + }), + n.algo = {}); + return n + }(Math); + return function() { + var e = t + , i = e.lib.WordArray; + e.enc.Base64 = { + stringify: function(t) { + var e = t.words + , i = t.sigBytes + , n = this._map; + t.clamp(); + for (var a = [], r = 0; r < i; r += 3) + for (var s = (e[r >>> 2] >>> 24 - r % 4 * 8 & 255) << 16 | (e[r + 1 >>> 2] >>> 24 - (r + 1) % 4 * 8 & 255) << 8 | e[r + 2 >>> 2] >>> 24 - (r + 2) % 4 * 8 & 255, o = 0; o < 4 && r + .75 * o < i; o++) + a.push(n.charAt(s >>> 6 * (3 - o) & 63)); + var l = n.charAt(64); + if (l) + for (; a.length % 4; ) + a.push(l); + return a.join("") + }, + parse: function(t) { + var e = t.length + , n = this._map + , a = this._reverseMap; + if (!a) { + a = this._reverseMap = []; + for (var r = 0; r < n.length; r++) + a[n.charCodeAt(r)] = r + } + var s = n.charAt(64); + if (s) { + var o = t.indexOf(s); + -1 !== o && (e = o) + } + return function(t, e, n) { + for (var a = [], r = 0, s = 0; s < e; s++) + if (s % 4) { + var o = n[t.charCodeAt(s - 1)] << s % 4 * 2 + , l = n[t.charCodeAt(s)] >>> 6 - s % 4 * 2; + a[r >>> 2] |= (o | l) << 24 - r % 4 * 8, + r++ + } + return i.create(a, r) + }(t, e, a) + }, + _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" + } + }(), + function(e) { + function i(t, e, i, n, a, r, s) { + var o = t + (e & i | ~e & n) + a + s; + return (o << r | o >>> 32 - r) + e + } + function n(t, e, i, n, a, r, s) { + var o = t + (e & n | i & ~n) + a + s; + return (o << r | o >>> 32 - r) + e + } + function a(t, e, i, n, a, r, s) { + var o = t + (e ^ i ^ n) + a + s; + return (o << r | o >>> 32 - r) + e + } + function r(t, e, i, n, a, r, s) { + var o = t + (i ^ (e | ~n)) + a + s; + return (o << r | o >>> 32 - r) + e + } + var s = t + , o = s.lib + , l = o.WordArray + , h = o.Hasher + , c = s.algo + , _ = []; + !function() { + for (var t = 0; t < 64; t++) + _[t] = 4294967296 * e.abs(e.sin(t + 1)) | 0 + }(); + var u = c.MD5 = h.extend({ + _doReset: function() { + this._hash = new l.init([1732584193, 4023233417, 2562383102, 271733878]) + }, + _doProcessBlock: function(t, e) { + for (var s = 0; s < 16; s++) { + var o = e + s + , l = t[o]; + t[o] = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) + } + var h = this._hash.words + , c = t[e + 0] + , u = t[e + 1] + , d = t[e + 2] + , f = t[e + 3] + , p = t[e + 4] + , m = t[e + 5] + , g = t[e + 6] + , y = t[e + 7] + , v = t[e + 8] + , b = t[e + 9] + , w = t[e + 10] + , x = t[e + 11] + , I = t[e + 12] + , C = t[e + 13] + , S = t[e + 14] + , M = t[e + 15] + , L = h[0] + , T = h[1] + , E = h[2] + , D = h[3]; + T = r(T = r(T = r(T = r(T = a(T = a(T = a(T = a(T = n(T = n(T = n(T = n(T = i(T = i(T = i(T = i(T, E = i(E, D = i(D, L = i(L, T, E, D, c, 7, _[0]), T, E, u, 12, _[1]), L, T, d, 17, _[2]), D, L, f, 22, _[3]), E = i(E, D = i(D, L = i(L, T, E, D, p, 7, _[4]), T, E, m, 12, _[5]), L, T, g, 17, _[6]), D, L, y, 22, _[7]), E = i(E, D = i(D, L = i(L, T, E, D, v, 7, _[8]), T, E, b, 12, _[9]), L, T, w, 17, _[10]), D, L, x, 22, _[11]), E = i(E, D = i(D, L = i(L, T, E, D, I, 7, _[12]), T, E, C, 12, _[13]), L, T, S, 17, _[14]), D, L, M, 22, _[15]), E = n(E, D = n(D, L = n(L, T, E, D, u, 5, _[16]), T, E, g, 9, _[17]), L, T, x, 14, _[18]), D, L, c, 20, _[19]), E = n(E, D = n(D, L = n(L, T, E, D, m, 5, _[20]), T, E, w, 9, _[21]), L, T, M, 14, _[22]), D, L, p, 20, _[23]), E = n(E, D = n(D, L = n(L, T, E, D, b, 5, _[24]), T, E, S, 9, _[25]), L, T, f, 14, _[26]), D, L, v, 20, _[27]), E = n(E, D = n(D, L = n(L, T, E, D, C, 5, _[28]), T, E, d, 9, _[29]), L, T, y, 14, _[30]), D, L, I, 20, _[31]), E = a(E, D = a(D, L = a(L, T, E, D, m, 4, _[32]), T, E, v, 11, _[33]), L, T, x, 16, _[34]), D, L, S, 23, _[35]), E = a(E, D = a(D, L = a(L, T, E, D, u, 4, _[36]), T, E, p, 11, _[37]), L, T, y, 16, _[38]), D, L, w, 23, _[39]), E = a(E, D = a(D, L = a(L, T, E, D, C, 4, _[40]), T, E, c, 11, _[41]), L, T, f, 16, _[42]), D, L, g, 23, _[43]), E = a(E, D = a(D, L = a(L, T, E, D, b, 4, _[44]), T, E, I, 11, _[45]), L, T, M, 16, _[46]), D, L, d, 23, _[47]), E = r(E, D = r(D, L = r(L, T, E, D, c, 6, _[48]), T, E, y, 10, _[49]), L, T, S, 15, _[50]), D, L, m, 21, _[51]), E = r(E, D = r(D, L = r(L, T, E, D, I, 6, _[52]), T, E, f, 10, _[53]), L, T, w, 15, _[54]), D, L, u, 21, _[55]), E = r(E, D = r(D, L = r(L, T, E, D, v, 6, _[56]), T, E, M, 10, _[57]), L, T, g, 15, _[58]), D, L, C, 21, _[59]), E = r(E, D = r(D, L = r(L, T, E, D, p, 6, _[60]), T, E, x, 10, _[61]), L, T, d, 15, _[62]), D, L, b, 21, _[63]), + h[0] = h[0] + L | 0, + h[1] = h[1] + T | 0, + h[2] = h[2] + E | 0, + h[3] = h[3] + D | 0 + }, + _doFinalize: function() { + var t = this._data + , i = t.words + , n = 8 * this._nDataBytes + , a = 8 * t.sigBytes; + i[a >>> 5] |= 128 << 24 - a % 32; + var r = e.floor(n / 4294967296) + , s = n; + i[15 + (a + 64 >>> 9 << 4)] = 16711935 & (r << 8 | r >>> 24) | 4278255360 & (r << 24 | r >>> 8), + i[14 + (a + 64 >>> 9 << 4)] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8), + t.sigBytes = 4 * (i.length + 1), + this._process(); + for (var o = this._hash, l = o.words, h = 0; h < 4; h++) { + var c = l[h]; + l[h] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8) + } + return o + }, + clone: function() { + var t = h.clone.call(this); + return t._hash = this._hash.clone(), + t + } + }); + s.MD5 = h._createHelper(u), + s.HmacMD5 = h._createHmacHelper(u) + }(Math), + function() { + var e = t + , i = e.lib + , n = i.WordArray + , a = i.Hasher + , r = [] + , s = e.algo.SHA1 = a.extend({ + _doReset: function() { + this._hash = new n.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) + }, + _doProcessBlock: function(t, e) { + for (var i = this._hash.words, n = i[0], a = i[1], s = i[2], o = i[3], l = i[4], h = 0; h < 80; h++) { + if (h < 16) + r[h] = 0 | t[e + h]; + else { + var c = r[h - 3] ^ r[h - 8] ^ r[h - 14] ^ r[h - 16]; + r[h] = c << 1 | c >>> 31 + } + var _ = (n << 5 | n >>> 27) + l + r[h]; + _ += h < 20 ? 1518500249 + (a & s | ~a & o) : h < 40 ? 1859775393 + (a ^ s ^ o) : h < 60 ? (a & s | a & o | s & o) - 1894007588 : (a ^ s ^ o) - 899497514, + l = o, + o = s, + s = a << 30 | a >>> 2, + a = n, + n = _ + } + i[0] = i[0] + n | 0, + i[1] = i[1] + a | 0, + i[2] = i[2] + s | 0, + i[3] = i[3] + o | 0, + i[4] = i[4] + l | 0 + }, + _doFinalize: function() { + var t = this._data + , e = t.words + , i = 8 * this._nDataBytes + , n = 8 * t.sigBytes; + return e[n >>> 5] |= 128 << 24 - n % 32, + e[14 + (n + 64 >>> 9 << 4)] = Math.floor(i / 4294967296), + e[15 + (n + 64 >>> 9 << 4)] = i, + t.sigBytes = 4 * e.length, + this._process(), + this._hash + }, + clone: function() { + var t = a.clone.call(this); + return t._hash = this._hash.clone(), + t + } + }); + e.SHA1 = a._createHelper(s), + e.HmacSHA1 = a._createHmacHelper(s) + }(), + function(e) { + var i = t + , n = i.lib + , a = n.WordArray + , r = n.Hasher + , s = i.algo + , o = [] + , l = []; + !function() { + function t(t) { + for (var i = e.sqrt(t), n = 2; n <= i; n++) + if (!(t % n)) + return !1; + return !0 + } + function i(t) { + return 4294967296 * (t - (0 | t)) | 0 + } + for (var n = 2, a = 0; a < 64; ) + t(n) && (a < 8 && (o[a] = i(e.pow(n, .5))), + l[a] = i(e.pow(n, 1 / 3)), + a++), + n++ + }(); + var h = [] + , c = s.SHA256 = r.extend({ + _doReset: function() { + this._hash = new a.init(o.slice(0)) + }, + _doProcessBlock: function(t, e) { + for (var i = this._hash.words, n = i[0], a = i[1], r = i[2], s = i[3], o = i[4], c = i[5], _ = i[6], u = i[7], d = 0; d < 64; d++) { + if (d < 16) + h[d] = 0 | t[e + d]; + else { + var f = h[d - 15] + , p = (f << 25 | f >>> 7) ^ (f << 14 | f >>> 18) ^ f >>> 3 + , m = h[d - 2] + , g = (m << 15 | m >>> 17) ^ (m << 13 | m >>> 19) ^ m >>> 10; + h[d] = p + h[d - 7] + g + h[d - 16] + } + var y = n & a ^ n & r ^ a & r + , v = (n << 30 | n >>> 2) ^ (n << 19 | n >>> 13) ^ (n << 10 | n >>> 22) + , b = u + ((o << 26 | o >>> 6) ^ (o << 21 | o >>> 11) ^ (o << 7 | o >>> 25)) + (o & c ^ ~o & _) + l[d] + h[d]; + u = _, + _ = c, + c = o, + o = s + b | 0, + s = r, + r = a, + a = n, + n = b + (v + y) | 0 + } + i[0] = i[0] + n | 0, + i[1] = i[1] + a | 0, + i[2] = i[2] + r | 0, + i[3] = i[3] + s | 0, + i[4] = i[4] + o | 0, + i[5] = i[5] + c | 0, + i[6] = i[6] + _ | 0, + i[7] = i[7] + u | 0 + }, + _doFinalize: function() { + var t = this._data + , i = t.words + , n = 8 * this._nDataBytes + , a = 8 * t.sigBytes; + return i[a >>> 5] |= 128 << 24 - a % 32, + i[14 + (a + 64 >>> 9 << 4)] = e.floor(n / 4294967296), + i[15 + (a + 64 >>> 9 << 4)] = n, + t.sigBytes = 4 * i.length, + this._process(), + this._hash + }, + clone: function() { + var t = r.clone.call(this); + return t._hash = this._hash.clone(), + t + } + }); + i.SHA256 = r._createHelper(c), + i.HmacSHA256 = r._createHmacHelper(c) + }(Math), + function() { + function e(t) { + return t << 8 & 4278255360 | t >>> 8 & 16711935 + } + var i = t + , n = i.lib.WordArray + , a = i.enc; + a.Utf16 = a.Utf16BE = { + stringify: function(t) { + for (var e = t.words, i = t.sigBytes, n = [], a = 0; a < i; a += 2) { + var r = e[a >>> 2] >>> 16 - a % 4 * 8 & 65535; + n.push(String.fromCharCode(r)) + } + return n.join("") + }, + parse: function(t) { + for (var e = t.length, i = [], a = 0; a < e; a++) + i[a >>> 1] |= t.charCodeAt(a) << 16 - a % 2 * 16; + return n.create(i, 2 * e) + } + }; + a.Utf16LE = { + stringify: function(t) { + for (var i = t.words, n = t.sigBytes, a = [], r = 0; r < n; r += 2) { + var s = e(i[r >>> 2] >>> 16 - r % 4 * 8 & 65535); + a.push(String.fromCharCode(s)) + } + return a.join("") + }, + parse: function(t) { + for (var i = t.length, a = [], r = 0; r < i; r++) + a[r >>> 1] |= e(t.charCodeAt(r) << 16 - r % 2 * 16); + return n.create(a, 2 * i) + } + } + }(), + function() { + if ("function" == typeof ArrayBuffer) { + var e = t.lib.WordArray + , i = e.init; + (e.init = function(t) { + if (t instanceof ArrayBuffer && (t = new Uint8Array(t)), + (t instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer,t.byteOffset,t.byteLength)), + t instanceof Uint8Array) { + for (var e = t.byteLength, n = [], a = 0; a < e; a++) + n[a >>> 2] |= t[a] << 24 - a % 4 * 8; + i.call(this, n, e) + } else + i.apply(this, arguments) + } + ).prototype = e + } + }(), + function(e) { + function i(t, e, i) { + return t ^ e ^ i + } + function n(t, e, i) { + return t & e | ~t & i + } + function a(t, e, i) { + return (t | ~e) ^ i + } + function r(t, e, i) { + return t & i | e & ~i + } + function s(t, e, i) { + return t ^ (e | ~i) + } + function o(t, e) { + return t << e | t >>> 32 - e + } + var l = t + , h = l.lib + , c = h.WordArray + , _ = h.Hasher + , u = l.algo + , d = c.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]) + , f = c.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]) + , p = c.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]) + , m = c.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]) + , g = c.create([0, 1518500249, 1859775393, 2400959708, 2840853838]) + , y = c.create([1352829926, 1548603684, 1836072691, 2053994217, 0]) + , v = u.RIPEMD160 = _.extend({ + _doReset: function() { + this._hash = c.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]) + }, + _doProcessBlock: function(t, e) { + for (k = 0; k < 16; k++) { + var l = e + k + , h = t[l]; + t[l] = 16711935 & (h << 8 | h >>> 24) | 4278255360 & (h << 24 | h >>> 8) + } + var c, _, u, v, b, w, x, I, C, S, M = this._hash.words, L = g.words, T = y.words, E = d.words, D = f.words, N = p.words, A = m.words; + w = c = M[0], + x = _ = M[1], + I = u = M[2], + C = v = M[3], + S = b = M[4]; + for (var B, k = 0; k < 80; k += 1) + B = c + t[e + E[k]] | 0, + B += k < 16 ? i(_, u, v) + L[0] : k < 32 ? n(_, u, v) + L[1] : k < 48 ? a(_, u, v) + L[2] : k < 64 ? r(_, u, v) + L[3] : s(_, u, v) + L[4], + B = (B = o(B |= 0, N[k])) + b | 0, + c = b, + b = v, + v = o(u, 10), + u = _, + _ = B, + B = w + t[e + D[k]] | 0, + B += k < 16 ? s(x, I, C) + T[0] : k < 32 ? r(x, I, C) + T[1] : k < 48 ? a(x, I, C) + T[2] : k < 64 ? n(x, I, C) + T[3] : i(x, I, C) + T[4], + B = (B = o(B |= 0, A[k])) + S | 0, + w = S, + S = C, + C = o(I, 10), + I = x, + x = B; + B = M[1] + u + C | 0, + M[1] = M[2] + v + S | 0, + M[2] = M[3] + b + w | 0, + M[3] = M[4] + c + x | 0, + M[4] = M[0] + _ + I | 0, + M[0] = B + }, + _doFinalize: function() { + var t = this._data + , e = t.words + , i = 8 * this._nDataBytes + , n = 8 * t.sigBytes; + e[n >>> 5] |= 128 << 24 - n % 32, + e[14 + (n + 64 >>> 9 << 4)] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8), + t.sigBytes = 4 * (e.length + 1), + this._process(); + for (var a = this._hash, r = a.words, s = 0; s < 5; s++) { + var o = r[s]; + r[s] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8) + } + return a + }, + clone: function() { + var t = _.clone.call(this); + return t._hash = this._hash.clone(), + t + } + }); + l.RIPEMD160 = _._createHelper(v), + l.HmacRIPEMD160 = _._createHmacHelper(v) + }(Math), + function() { + var e = t + , i = e.lib.Base + , n = e.enc.Utf8; + e.algo.HMAC = i.extend({ + init: function(t, e) { + t = this._hasher = new t.init, + "string" == typeof e && (e = n.parse(e)); + var i = t.blockSize + , a = 4 * i; + e.sigBytes > a && (e = t.finalize(e)), + e.clamp(); + for (var r = this._oKey = e.clone(), s = this._iKey = e.clone(), o = r.words, l = s.words, h = 0; h < i; h++) + o[h] ^= 1549556828, + l[h] ^= 909522486; + r.sigBytes = s.sigBytes = a, + this.reset() + }, + reset: function() { + var t = this._hasher; + t.reset(), + t.update(this._iKey) + }, + update: function(t) { + return this._hasher.update(t), + this + }, + finalize: function(t) { + var e = this._hasher + , i = e.finalize(t); + e.reset(); + return e.finalize(this._oKey.clone().concat(i)) + } + }) + }(), + function() { + var e = t + , i = e.lib + , n = i.Base + , a = i.WordArray + , r = e.algo + , s = r.SHA1 + , o = r.HMAC + , l = r.PBKDF2 = n.extend({ + cfg: n.extend({ + keySize: 4, + hasher: s, + iterations: 1 + }), + init: function(t) { + this.cfg = this.cfg.extend(t) + }, + compute: function(t, e) { + for (var i = this.cfg, n = o.create(i.hasher, t), r = a.create(), s = a.create([1]), l = r.words, h = s.words, c = i.keySize, _ = i.iterations; l.length < c; ) { + var u = n.update(e).finalize(s); + n.reset(); + for (var d = u.words, f = d.length, p = u, m = 1; m < _; m++) { + p = n.finalize(p), + n.reset(); + for (var g = p.words, y = 0; y < f; y++) + d[y] ^= g[y] + } + r.concat(u), + h[0]++ + } + return r.sigBytes = 4 * c, + r + } + }); + e.PBKDF2 = function(t, e, i) { + return l.create(i).compute(t, e) + } + }(), + function() { + var e = t + , i = e.lib + , n = i.Base + , a = i.WordArray + , r = e.algo + , s = r.MD5 + , o = r.EvpKDF = n.extend({ + cfg: n.extend({ + keySize: 4, + hasher: s, + iterations: 1 + }), + init: function(t) { + this.cfg = this.cfg.extend(t) + }, + compute: function(t, e) { + for (var i = this.cfg, n = i.hasher.create(), r = a.create(), s = r.words, o = i.keySize, l = i.iterations; s.length < o; ) { + h && n.update(h); + var h = n.update(t).finalize(e); + n.reset(); + for (var c = 1; c < l; c++) + h = n.finalize(h), + n.reset(); + r.concat(h) + } + return r.sigBytes = 4 * o, + r + } + }); + e.EvpKDF = function(t, e, i) { + return o.create(i).compute(t, e) + } + }(), + function() { + var e = t + , i = e.lib.WordArray + , n = e.algo + , a = n.SHA256 + , r = n.SHA224 = a.extend({ + _doReset: function() { + this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]) + }, + _doFinalize: function() { + var t = a._doFinalize.call(this); + return t.sigBytes -= 4, + t + } + }); + e.SHA224 = a._createHelper(r), + e.HmacSHA224 = a._createHmacHelper(r) + }(), + function(e) { + var i = t + , n = i.lib + , a = n.Base + , r = n.WordArray + , s = i.x64 = {}; + s.Word = a.extend({ + init: function(t, e) { + this.high = t, + this.low = e + } + }), + s.WordArray = a.extend({ + init: function(t, e) { + t = this.words = t || [], + this.sigBytes = void 0 != e ? e : 8 * t.length + }, + toX32: function() { + for (var t = this.words, e = t.length, i = [], n = 0; n < e; n++) { + var a = t[n]; + i.push(a.high), + i.push(a.low) + } + return r.create(i, this.sigBytes) + }, + clone: function() { + for (var t = a.clone.call(this), e = t.words = this.words.slice(0), i = e.length, n = 0; n < i; n++) + e[n] = e[n].clone(); + return t + } + }) + }(), + function(e) { + var i = t + , n = i.lib + , a = n.WordArray + , r = n.Hasher + , s = i.x64.Word + , o = i.algo + , l = [] + , h = [] + , c = []; + !function() { + for (var t = 1, e = 0, i = 0; i < 24; i++) { + l[t + 5 * e] = (i + 1) * (i + 2) / 2 % 64; + var n = (2 * t + 3 * e) % 5; + t = e % 5, + e = n + } + for (t = 0; t < 5; t++) + for (e = 0; e < 5; e++) + h[t + 5 * e] = e + (2 * t + 3 * e) % 5 * 5; + for (var a = 1, r = 0; r < 24; r++) { + for (var o = 0, _ = 0, u = 0; u < 7; u++) { + if (1 & a) { + var d = (1 << u) - 1; + d < 32 ? _ ^= 1 << d : o ^= 1 << d - 32 + } + 128 & a ? a = a << 1 ^ 113 : a <<= 1 + } + c[r] = s.create(o, _) + } + }(); + var _ = []; + !function() { + for (var t = 0; t < 25; t++) + _[t] = s.create() + }(); + var u = o.SHA3 = r.extend({ + cfg: r.cfg.extend({ + outputLength: 512 + }), + _doReset: function() { + for (var t = this._state = [], e = 0; e < 25; e++) + t[e] = new s.init; + this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32 + }, + _doProcessBlock: function(t, e) { + for (var i = this._state, n = this.blockSize / 2, a = 0; a < n; a++) { + var r = t[e + 2 * a] + , s = t[e + 2 * a + 1]; + r = 16711935 & (r << 8 | r >>> 24) | 4278255360 & (r << 24 | r >>> 8), + s = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8); + (T = i[a]).high ^= s, + T.low ^= r + } + for (var o = 0; o < 24; o++) { + for (M = 0; M < 5; M++) { + for (var u = 0, d = 0, f = 0; f < 5; f++) { + u ^= (T = i[M + 5 * f]).high, + d ^= T.low + } + var p = _[M]; + p.high = u, + p.low = d + } + for (M = 0; M < 5; M++) + for (var m = _[(M + 4) % 5], g = _[(M + 1) % 5], y = g.high, v = g.low, u = m.high ^ (y << 1 | v >>> 31), d = m.low ^ (v << 1 | y >>> 31), f = 0; f < 5; f++) { + (T = i[M + 5 * f]).high ^= u, + T.low ^= d + } + for (L = 1; L < 25; L++) { + var b = (T = i[L]).high + , w = T.low + , x = l[L]; + if (x < 32) + var u = b << x | w >>> 32 - x + , d = w << x | b >>> 32 - x; + else + var u = w << x - 32 | b >>> 64 - x + , d = b << x - 32 | w >>> 64 - x; + var I = _[h[L]]; + I.high = u, + I.low = d + } + var C = _[0] + , S = i[0]; + C.high = S.high, + C.low = S.low; + for (var M = 0; M < 5; M++) + for (f = 0; f < 5; f++) { + var L, T = i[L = M + 5 * f], E = _[L], D = _[(M + 1) % 5 + 5 * f], N = _[(M + 2) % 5 + 5 * f]; + T.high = E.high ^ ~D.high & N.high, + T.low = E.low ^ ~D.low & N.low + } + var T = i[0] + , A = c[o]; + T.high ^= A.high, + T.low ^= A.low + } + }, + _doFinalize: function() { + var t = this._data + , i = t.words + , n = (this._nDataBytes, + 8 * t.sigBytes) + , r = 32 * this.blockSize; + i[n >>> 5] |= 1 << 24 - n % 32, + i[(e.ceil((n + 1) / r) * r >>> 5) - 1] |= 128, + t.sigBytes = 4 * i.length, + this._process(); + for (var s = this._state, o = this.cfg.outputLength / 8, l = o / 8, h = [], c = 0; c < l; c++) { + var _ = s[c] + , u = _.high + , d = _.low; + u = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), + d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), + h.push(d), + h.push(u) + } + return new a.init(h,o) + }, + clone: function() { + for (var t = r.clone.call(this), e = t._state = this._state.slice(0), i = 0; i < 25; i++) + e[i] = e[i].clone(); + return t + } + }); + i.SHA3 = r._createHelper(u), + i.HmacSHA3 = r._createHmacHelper(u) + }(Math), + function() { + function e() { + return r.create.apply(r, arguments) + } + var i = t + , n = i.lib.Hasher + , a = i.x64 + , r = a.Word + , s = a.WordArray + , o = i.algo + , l = [e(1116352408, 3609767458), e(1899447441, 602891725), e(3049323471, 3964484399), e(3921009573, 2173295548), e(961987163, 4081628472), e(1508970993, 3053834265), e(2453635748, 2937671579), e(2870763221, 3664609560), e(3624381080, 2734883394), e(310598401, 1164996542), e(607225278, 1323610764), e(1426881987, 3590304994), e(1925078388, 4068182383), e(2162078206, 991336113), e(2614888103, 633803317), e(3248222580, 3479774868), e(3835390401, 2666613458), e(4022224774, 944711139), e(264347078, 2341262773), e(604807628, 2007800933), e(770255983, 1495990901), e(1249150122, 1856431235), e(1555081692, 3175218132), e(1996064986, 2198950837), e(2554220882, 3999719339), e(2821834349, 766784016), e(2952996808, 2566594879), e(3210313671, 3203337956), e(3336571891, 1034457026), e(3584528711, 2466948901), e(113926993, 3758326383), e(338241895, 168717936), e(666307205, 1188179964), e(773529912, 1546045734), e(1294757372, 1522805485), e(1396182291, 2643833823), e(1695183700, 2343527390), e(1986661051, 1014477480), e(2177026350, 1206759142), e(2456956037, 344077627), e(2730485921, 1290863460), e(2820302411, 3158454273), e(3259730800, 3505952657), e(3345764771, 106217008), e(3516065817, 3606008344), e(3600352804, 1432725776), e(4094571909, 1467031594), e(275423344, 851169720), e(430227734, 3100823752), e(506948616, 1363258195), e(659060556, 3750685593), e(883997877, 3785050280), e(958139571, 3318307427), e(1322822218, 3812723403), e(1537002063, 2003034995), e(1747873779, 3602036899), e(1955562222, 1575990012), e(2024104815, 1125592928), e(2227730452, 2716904306), e(2361852424, 442776044), e(2428436474, 593698344), e(2756734187, 3733110249), e(3204031479, 2999351573), e(3329325298, 3815920427), e(3391569614, 3928383900), e(3515267271, 566280711), e(3940187606, 3454069534), e(4118630271, 4000239992), e(116418474, 1914138554), e(174292421, 2731055270), e(289380356, 3203993006), e(460393269, 320620315), e(685471733, 587496836), e(852142971, 1086792851), e(1017036298, 365543100), e(1126000580, 2618297676), e(1288033470, 3409855158), e(1501505948, 4234509866), e(1607167915, 987167468), e(1816402316, 1246189591)] + , h = []; + !function() { + for (var t = 0; t < 80; t++) + h[t] = e() + }(); + var c = o.SHA512 = n.extend({ + _doReset: function() { + this._hash = new s.init([new r.init(1779033703,4089235720), new r.init(3144134277,2227873595), new r.init(1013904242,4271175723), new r.init(2773480762,1595750129), new r.init(1359893119,2917565137), new r.init(2600822924,725511199), new r.init(528734635,4215389547), new r.init(1541459225,327033209)]) + }, + _doProcessBlock: function(t, e) { + for (var i = this._hash.words, n = i[0], a = i[1], r = i[2], s = i[3], o = i[4], c = i[5], _ = i[6], u = i[7], d = n.high, f = n.low, p = a.high, m = a.low, g = r.high, y = r.low, v = s.high, b = s.low, w = o.high, x = o.low, I = c.high, C = c.low, S = _.high, M = _.low, L = u.high, T = u.low, E = d, D = f, N = p, A = m, B = g, k = y, R = v, P = b, O = w, U = x, V = I, F = C, H = S, G = M, z = L, j = T, W = 0; W < 80; W++) { + var X = h[W]; + if (W < 16) + var q = X.high = 0 | t[e + 2 * W] + , Y = X.low = 0 | t[e + 2 * W + 1]; + else { + var J = h[W - 15] + , K = J.high + , Z = J.low + , Q = (K >>> 1 | Z << 31) ^ (K >>> 8 | Z << 24) ^ K >>> 7 + , $ = (Z >>> 1 | K << 31) ^ (Z >>> 8 | K << 24) ^ (Z >>> 7 | K << 25) + , tt = h[W - 2] + , et = tt.high + , it = tt.low + , nt = (et >>> 19 | it << 13) ^ (et << 3 | it >>> 29) ^ et >>> 6 + , at = (it >>> 19 | et << 13) ^ (it << 3 | et >>> 29) ^ (it >>> 6 | et << 26) + , rt = h[W - 7] + , st = rt.high + , ot = rt.low + , lt = h[W - 16] + , ht = lt.high + , ct = lt.low + , q = (q = (q = Q + st + ((Y = $ + ot) >>> 0 < $ >>> 0 ? 1 : 0)) + nt + ((Y = Y + at) >>> 0 < at >>> 0 ? 1 : 0)) + ht + ((Y = Y + ct) >>> 0 < ct >>> 0 ? 1 : 0); + X.high = q, + X.low = Y + } + var _t = O & V ^ ~O & H + , ut = U & F ^ ~U & G + , dt = E & N ^ E & B ^ N & B + , ft = D & A ^ D & k ^ A & k + , pt = (E >>> 28 | D << 4) ^ (E << 30 | D >>> 2) ^ (E << 25 | D >>> 7) + , mt = (D >>> 28 | E << 4) ^ (D << 30 | E >>> 2) ^ (D << 25 | E >>> 7) + , gt = (O >>> 14 | U << 18) ^ (O >>> 18 | U << 14) ^ (O << 23 | U >>> 9) + , yt = (U >>> 14 | O << 18) ^ (U >>> 18 | O << 14) ^ (U << 23 | O >>> 9) + , vt = l[W] + , bt = vt.high + , wt = vt.low + , xt = j + yt + , It = z + gt + (xt >>> 0 < j >>> 0 ? 1 : 0) + , Ct = mt + ft; + z = H, + j = G, + H = V, + G = F, + V = O, + F = U, + O = R + (It = (It = (It = It + _t + ((xt = xt + ut) >>> 0 < ut >>> 0 ? 1 : 0)) + bt + ((xt = xt + wt) >>> 0 < wt >>> 0 ? 1 : 0)) + q + ((xt = xt + Y) >>> 0 < Y >>> 0 ? 1 : 0)) + ((U = P + xt | 0) >>> 0 < P >>> 0 ? 1 : 0) | 0, + R = B, + P = k, + B = N, + k = A, + N = E, + A = D, + E = It + (pt + dt + (Ct >>> 0 < mt >>> 0 ? 1 : 0)) + ((D = xt + Ct | 0) >>> 0 < xt >>> 0 ? 1 : 0) | 0 + } + f = n.low = f + D, + n.high = d + E + (f >>> 0 < D >>> 0 ? 1 : 0), + m = a.low = m + A, + a.high = p + N + (m >>> 0 < A >>> 0 ? 1 : 0), + y = r.low = y + k, + r.high = g + B + (y >>> 0 < k >>> 0 ? 1 : 0), + b = s.low = b + P, + s.high = v + R + (b >>> 0 < P >>> 0 ? 1 : 0), + x = o.low = x + U, + o.high = w + O + (x >>> 0 < U >>> 0 ? 1 : 0), + C = c.low = C + F, + c.high = I + V + (C >>> 0 < F >>> 0 ? 1 : 0), + M = _.low = M + G, + _.high = S + H + (M >>> 0 < G >>> 0 ? 1 : 0), + T = u.low = T + j, + u.high = L + z + (T >>> 0 < j >>> 0 ? 1 : 0) + }, + _doFinalize: function() { + var t = this._data + , e = t.words + , i = 8 * this._nDataBytes + , n = 8 * t.sigBytes; + e[n >>> 5] |= 128 << 24 - n % 32, + e[30 + (n + 128 >>> 10 << 5)] = Math.floor(i / 4294967296), + e[31 + (n + 128 >>> 10 << 5)] = i, + t.sigBytes = 4 * e.length, + this._process(); + return this._hash.toX32() + }, + clone: function() { + var t = n.clone.call(this); + return t._hash = this._hash.clone(), + t + }, + blockSize: 32 + }); + i.SHA512 = n._createHelper(c), + i.HmacSHA512 = n._createHmacHelper(c) + }(), + function() { + var e = t + , i = e.x64 + , n = i.Word + , a = i.WordArray + , r = e.algo + , s = r.SHA512 + , o = r.SHA384 = s.extend({ + _doReset: function() { + this._hash = new a.init([new n.init(3418070365,3238371032), new n.init(1654270250,914150663), new n.init(2438529370,812702999), new n.init(355462360,4144912697), new n.init(1731405415,4290775857), new n.init(2394180231,1750603025), new n.init(3675008525,1694076839), new n.init(1203062813,3204075428)]) + }, + _doFinalize: function() { + var t = s._doFinalize.call(this); + return t.sigBytes -= 16, + t + } + }); + e.SHA384 = s._createHelper(o), + e.HmacSHA384 = s._createHmacHelper(o) + }(), + t.lib.Cipher || function(e) { + var i = t + , n = i.lib + , a = n.Base + , r = n.WordArray + , s = n.BufferedBlockAlgorithm + , o = i.enc + , l = (o.Utf8, + o.Base64) + , h = i.algo.EvpKDF + , c = n.Cipher = s.extend({ + cfg: a.extend(), + createEncryptor: function(t, e) { + return this.create(this._ENC_XFORM_MODE, t, e) + }, + createDecryptor: function(t, e) { + return this.create(this._DEC_XFORM_MODE, t, e) + }, + init: function(t, e, i) { + this.cfg = this.cfg.extend(i), + this._xformMode = t, + this._key = e, + this.reset() + }, + reset: function() { + s.reset.call(this), + this._doReset() + }, + process: function(t) { + return this._append(t), + this._process() + }, + finalize: function(t) { + t && this._append(t); + return this._doFinalize() + }, + keySize: 4, + ivSize: 4, + _ENC_XFORM_MODE: 1, + _DEC_XFORM_MODE: 2, + _createHelper: function() { + function t(t) { + return "string" == typeof t ? v : g + } + return function(e) { + return { + encrypt: function(i, n, a) { + return t(n).encrypt(e, i, n, a) + }, + decrypt: function(i, n, a) { + return t(n).decrypt(e, i, n, a) + } + } + } + }() + }) + , _ = (n.StreamCipher = c.extend({ + _doFinalize: function() { + return this._process(!0) + }, + blockSize: 1 + }), + i.mode = {}) + , u = n.BlockCipherMode = a.extend({ + createEncryptor: function(t, e) { + return this.Encryptor.create(t, e) + }, + createDecryptor: function(t, e) { + return this.Decryptor.create(t, e) + }, + init: function(t, e) { + this._cipher = t, + this._iv = e + } + }) + , d = _.CBC = function() { + function t(t, i, n) { + var a = this._iv; + if (a) { + r = a; + this._iv = e + } else + var r = this._prevBlock; + for (var s = 0; s < n; s++) + t[i + s] ^= r[s] + } + var i = u.extend(); + return i.Encryptor = i.extend({ + processBlock: function(e, i) { + var n = this._cipher + , a = n.blockSize; + t.call(this, e, i, a), + n.encryptBlock(e, i), + this._prevBlock = e.slice(i, i + a) + } + }), + i.Decryptor = i.extend({ + processBlock: function(e, i) { + var n = this._cipher + , a = n.blockSize + , r = e.slice(i, i + a); + n.decryptBlock(e, i), + t.call(this, e, i, a), + this._prevBlock = r + } + }), + i + }() + , f = (i.pad = {}).Pkcs7 = { + pad: function(t, e) { + for (var i = 4 * e, n = i - t.sigBytes % i, a = n << 24 | n << 16 | n << 8 | n, s = [], o = 0; o < n; o += 4) + s.push(a); + var l = r.create(s, n); + t.concat(l) + }, + unpad: function(t) { + var e = 255 & t.words[t.sigBytes - 1 >>> 2]; + t.sigBytes -= e + } + } + , p = (n.BlockCipher = c.extend({ + cfg: c.cfg.extend({ + mode: d, + padding: f + }), + reset: function() { + c.reset.call(this); + var t = this.cfg + , e = t.iv + , i = t.mode; + if (this._xformMode == this._ENC_XFORM_MODE) + n = i.createEncryptor; + else { + var n = i.createDecryptor; + this._minBufferSize = 1 + } + this._mode && this._mode.__creator == n ? this._mode.init(this, e && e.words) : (this._mode = n.call(i, this, e && e.words), + this._mode.__creator = n) + }, + _doProcessBlock: function(t, e) { + this._mode.processBlock(t, e) + }, + _doFinalize: function() { + var t = this.cfg.padding; + if (this._xformMode == this._ENC_XFORM_MODE) { + t.pad(this._data, this.blockSize); + e = this._process(!0) + } else { + var e = this._process(!0); + t.unpad(e) + } + return e + }, + blockSize: 4 + }), + n.CipherParams = a.extend({ + init: function(t) { + this.mixIn(t) + }, + toString: function(t) { + return (t || this.formatter).stringify(this) + } + })) + , m = (i.format = {}).OpenSSL = { + stringify: function(t) { + var e = t.ciphertext + , i = t.salt; + if (i) + n = r.create([1398893684, 1701076831]).concat(i).concat(e); + else + var n = e; + return n.toString(l) + }, + parse: function(t) { + var e = l.parse(t) + , i = e.words; + if (1398893684 == i[0] && 1701076831 == i[1]) { + var n = r.create(i.slice(2, 4)); + i.splice(0, 4), + e.sigBytes -= 16 + } + return p.create({ + ciphertext: e, + salt: n + }) + } + } + , g = n.SerializableCipher = a.extend({ + cfg: a.extend({ + format: m + }), + encrypt: function(t, e, i, n) { + n = this.cfg.extend(n); + var a = t.createEncryptor(i, n) + , r = a.finalize(e) + , s = a.cfg; + return p.create({ + ciphertext: r, + key: i, + iv: s.iv, + algorithm: t, + mode: s.mode, + padding: s.padding, + blockSize: t.blockSize, + formatter: n.format + }) + }, + decrypt: function(t, e, i, n) { + n = this.cfg.extend(n), + e = this._parse(e, n.format); + return t.createDecryptor(i, n).finalize(e.ciphertext) + }, + _parse: function(t, e) { + return "string" == typeof t ? e.parse(t, this) : t + } + }) + , y = (i.kdf = {}).OpenSSL = { + execute: function(t, e, i, n) { + n || (n = r.random(8)); + var a = h.create({ + keySize: e + i + }).compute(t, n) + , s = r.create(a.words.slice(e), 4 * i); + return a.sigBytes = 4 * e, + p.create({ + key: a, + iv: s, + salt: n + }) + } + } + , v = n.PasswordBasedCipher = g.extend({ + cfg: g.cfg.extend({ + kdf: y + }), + encrypt: function(t, e, i, n) { + var a = (n = this.cfg.extend(n)).kdf.execute(i, t.keySize, t.ivSize); + n.iv = a.iv; + var r = g.encrypt.call(this, t, e, a.key, n); + return r.mixIn(a), + r + }, + decrypt: function(t, e, i, n) { + n = this.cfg.extend(n), + e = this._parse(e, n.format); + var a = n.kdf.execute(i, t.keySize, t.ivSize, e.salt); + n.iv = a.iv; + return g.decrypt.call(this, t, e, a.key, n) + } + }) + }(), + t.mode.CFB = function() { + function e(t, e, i, n) { + var a = this._iv; + if (a) { + r = a.slice(0); + this._iv = void 0 + } else + var r = this._prevBlock; + n.encryptBlock(r, 0); + for (var s = 0; s < i; s++) + t[e + s] ^= r[s] + } + var i = t.lib.BlockCipherMode.extend(); + return i.Encryptor = i.extend({ + processBlock: function(t, i) { + var n = this._cipher + , a = n.blockSize; + e.call(this, t, i, a, n), + this._prevBlock = t.slice(i, i + a) + } + }), + i.Decryptor = i.extend({ + processBlock: function(t, i) { + var n = this._cipher + , a = n.blockSize + , r = t.slice(i, i + a); + e.call(this, t, i, a, n), + this._prevBlock = r + } + }), + i + }(), + t.mode.ECB = function() { + var e = t.lib.BlockCipherMode.extend(); + return e.Encryptor = e.extend({ + processBlock: function(t, e) { + this._cipher.encryptBlock(t, e) + } + }), + e.Decryptor = e.extend({ + processBlock: function(t, e) { + this._cipher.decryptBlock(t, e) + } + }), + e + }(), + t.pad.AnsiX923 = { + pad: function(t, e) { + var i = t.sigBytes + , n = 4 * e + , a = n - i % n + , r = i + a - 1; + t.clamp(), + t.words[r >>> 2] |= a << 24 - r % 4 * 8, + t.sigBytes += a + }, + unpad: function(t) { + var e = 255 & t.words[t.sigBytes - 1 >>> 2]; + t.sigBytes -= e + } + }, + t.pad.Iso10126 = { + pad: function(e, i) { + var n = 4 * i + , a = n - e.sigBytes % n; + e.concat(t.lib.WordArray.random(a - 1)).concat(t.lib.WordArray.create([a << 24], 1)) + }, + unpad: function(t) { + var e = 255 & t.words[t.sigBytes - 1 >>> 2]; + t.sigBytes -= e + } + }, + t.pad.Iso97971 = { + pad: function(e, i) { + e.concat(t.lib.WordArray.create([2147483648], 1)), + t.pad.ZeroPadding.pad(e, i) + }, + unpad: function(e) { + t.pad.ZeroPadding.unpad(e), + e.sigBytes-- + } + }, + t.mode.OFB = function() { + var e = t.lib.BlockCipherMode.extend() + , i = e.Encryptor = e.extend({ + processBlock: function(t, e) { + var i = this._cipher + , n = i.blockSize + , a = this._iv + , r = this._keystream; + a && (r = this._keystream = a.slice(0), + this._iv = void 0), + i.encryptBlock(r, 0); + for (var s = 0; s < n; s++) + t[e + s] ^= r[s] + } + }); + return e.Decryptor = i, + e + }(), + t.pad.NoPadding = { + pad: function() {}, + unpad: function() {} + }, + function(e) { + var i = t + , n = i.lib.CipherParams + , a = i.enc.Hex; + i.format.Hex = { + stringify: function(t) { + return t.ciphertext.toString(a) + }, + parse: function(t) { + var e = a.parse(t); + return n.create({ + ciphertext: e + }) + } + } + }(), + function() { + var e = t + , i = e.lib.BlockCipher + , n = e.algo + , a = [] + , r = [] + , s = [] + , o = [] + , l = [] + , h = [] + , c = [] + , _ = [] + , u = [] + , d = []; + !function() { + for (var t = [], e = 0; e < 256; e++) + t[e] = e < 128 ? e << 1 : e << 1 ^ 283; + for (var i = 0, n = 0, e = 0; e < 256; e++) { + var f = n ^ n << 1 ^ n << 2 ^ n << 3 ^ n << 4; + f = f >>> 8 ^ 255 & f ^ 99, + a[i] = f, + r[f] = i; + var p = t[i] + , m = t[p] + , g = t[m] + , y = 257 * t[f] ^ 16843008 * f; + s[i] = y << 24 | y >>> 8, + o[i] = y << 16 | y >>> 16, + l[i] = y << 8 | y >>> 24, + h[i] = y; + y = 16843009 * g ^ 65537 * m ^ 257 * p ^ 16843008 * i; + c[f] = y << 24 | y >>> 8, + _[f] = y << 16 | y >>> 16, + u[f] = y << 8 | y >>> 24, + d[f] = y, + i ? (i = p ^ t[t[t[g ^ p]]], + n ^= t[t[n]]) : i = n = 1 + } + }(); + var f = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54] + , p = n.AES = i.extend({ + _doReset: function() { + if (!this._nRounds || this._keyPriorReset !== this._key) { + for (var t = this._keyPriorReset = this._key, e = t.words, i = t.sigBytes / 4, n = 4 * ((this._nRounds = i + 6) + 1), r = this._keySchedule = [], s = 0; s < n; s++) + if (s < i) + r[s] = e[s]; + else { + h = r[s - 1]; + s % i ? i > 6 && s % i == 4 && (h = a[h >>> 24] << 24 | a[h >>> 16 & 255] << 16 | a[h >>> 8 & 255] << 8 | a[255 & h]) : (h = a[(h = h << 8 | h >>> 24) >>> 24] << 24 | a[h >>> 16 & 255] << 16 | a[h >>> 8 & 255] << 8 | a[255 & h], + h ^= f[s / i | 0] << 24), + r[s] = r[s - i] ^ h + } + for (var o = this._invKeySchedule = [], l = 0; l < n; l++) { + s = n - l; + if (l % 4) + h = r[s]; + else + var h = r[s - 4]; + o[l] = l < 4 || s <= 4 ? h : c[a[h >>> 24]] ^ _[a[h >>> 16 & 255]] ^ u[a[h >>> 8 & 255]] ^ d[a[255 & h]] + } + } + }, + encryptBlock: function(t, e) { + this._doCryptBlock(t, e, this._keySchedule, s, o, l, h, a) + }, + decryptBlock: function(t, e) { + i = t[e + 1]; + t[e + 1] = t[e + 3], + t[e + 3] = i, + this._doCryptBlock(t, e, this._invKeySchedule, c, _, u, d, r); + var i = t[e + 1]; + t[e + 1] = t[e + 3], + t[e + 3] = i + }, + _doCryptBlock: function(t, e, i, n, a, r, s, o) { + for (var l = this._nRounds, h = t[e] ^ i[0], c = t[e + 1] ^ i[1], _ = t[e + 2] ^ i[2], u = t[e + 3] ^ i[3], d = 4, f = 1; f < l; f++) { + var p = n[h >>> 24] ^ a[c >>> 16 & 255] ^ r[_ >>> 8 & 255] ^ s[255 & u] ^ i[d++] + , m = n[c >>> 24] ^ a[_ >>> 16 & 255] ^ r[u >>> 8 & 255] ^ s[255 & h] ^ i[d++] + , g = n[_ >>> 24] ^ a[u >>> 16 & 255] ^ r[h >>> 8 & 255] ^ s[255 & c] ^ i[d++] + , y = n[u >>> 24] ^ a[h >>> 16 & 255] ^ r[c >>> 8 & 255] ^ s[255 & _] ^ i[d++]; + h = p, + c = m, + _ = g, + u = y + } + var p = (o[h >>> 24] << 24 | o[c >>> 16 & 255] << 16 | o[_ >>> 8 & 255] << 8 | o[255 & u]) ^ i[d++] + , m = (o[c >>> 24] << 24 | o[_ >>> 16 & 255] << 16 | o[u >>> 8 & 255] << 8 | o[255 & h]) ^ i[d++] + , g = (o[_ >>> 24] << 24 | o[u >>> 16 & 255] << 16 | o[h >>> 8 & 255] << 8 | o[255 & c]) ^ i[d++] + , y = (o[u >>> 24] << 24 | o[h >>> 16 & 255] << 16 | o[c >>> 8 & 255] << 8 | o[255 & _]) ^ i[d++]; + t[e] = p, + t[e + 1] = m, + t[e + 2] = g, + t[e + 3] = y + }, + keySize: 8 + }); + e.AES = i._createHelper(p) + }(), + function() { + function e(t, e) { + var i = (this._lBlock >>> t ^ this._rBlock) & e; + this._rBlock ^= i, + this._lBlock ^= i << t + } + function i(t, e) { + var i = (this._rBlock >>> t ^ this._lBlock) & e; + this._lBlock ^= i, + this._rBlock ^= i << t + } + var n = t + , a = n.lib + , r = a.WordArray + , s = a.BlockCipher + , o = n.algo + , l = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4] + , h = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32] + , c = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28] + , _ = [{ + 0: 8421888, + 268435456: 32768, + 536870912: 8421378, + 805306368: 2, + 1073741824: 512, + 1342177280: 8421890, + 1610612736: 8389122, + 1879048192: 8388608, + 2147483648: 514, + 2415919104: 8389120, + 2684354560: 33280, + 2952790016: 8421376, + 3221225472: 32770, + 3489660928: 8388610, + 3758096384: 0, + 4026531840: 33282, + 134217728: 0, + 402653184: 8421890, + 671088640: 33282, + 939524096: 32768, + 1207959552: 8421888, + 1476395008: 512, + 1744830464: 8421378, + 2013265920: 2, + 2281701376: 8389120, + 2550136832: 33280, + 2818572288: 8421376, + 3087007744: 8389122, + 3355443200: 8388610, + 3623878656: 32770, + 3892314112: 514, + 4160749568: 8388608, + 1: 32768, + 268435457: 2, + 536870913: 8421888, + 805306369: 8388608, + 1073741825: 8421378, + 1342177281: 33280, + 1610612737: 512, + 1879048193: 8389122, + 2147483649: 8421890, + 2415919105: 8421376, + 2684354561: 8388610, + 2952790017: 33282, + 3221225473: 514, + 3489660929: 8389120, + 3758096385: 32770, + 4026531841: 0, + 134217729: 8421890, + 402653185: 8421376, + 671088641: 8388608, + 939524097: 512, + 1207959553: 32768, + 1476395009: 8388610, + 1744830465: 2, + 2013265921: 33282, + 2281701377: 32770, + 2550136833: 8389122, + 2818572289: 514, + 3087007745: 8421888, + 3355443201: 8389120, + 3623878657: 0, + 3892314113: 33280, + 4160749569: 8421378 + }, { + 0: 1074282512, + 16777216: 16384, + 33554432: 524288, + 50331648: 1074266128, + 67108864: 1073741840, + 83886080: 1074282496, + 100663296: 1073758208, + 117440512: 16, + 134217728: 540672, + 150994944: 1073758224, + 167772160: 1073741824, + 184549376: 540688, + 201326592: 524304, + 218103808: 0, + 234881024: 16400, + 251658240: 1074266112, + 8388608: 1073758208, + 25165824: 540688, + 41943040: 16, + 58720256: 1073758224, + 75497472: 1074282512, + 92274688: 1073741824, + 109051904: 524288, + 125829120: 1074266128, + 142606336: 524304, + 159383552: 0, + 176160768: 16384, + 192937984: 1074266112, + 209715200: 1073741840, + 226492416: 540672, + 243269632: 1074282496, + 260046848: 16400, + 268435456: 0, + 285212672: 1074266128, + 301989888: 1073758224, + 318767104: 1074282496, + 335544320: 1074266112, + 352321536: 16, + 369098752: 540688, + 385875968: 16384, + 402653184: 16400, + 419430400: 524288, + 436207616: 524304, + 452984832: 1073741840, + 469762048: 540672, + 486539264: 1073758208, + 503316480: 1073741824, + 520093696: 1074282512, + 276824064: 540688, + 293601280: 524288, + 310378496: 1074266112, + 327155712: 16384, + 343932928: 1073758208, + 360710144: 1074282512, + 377487360: 16, + 394264576: 1073741824, + 411041792: 1074282496, + 427819008: 1073741840, + 444596224: 1073758224, + 461373440: 524304, + 478150656: 0, + 494927872: 16400, + 511705088: 1074266128, + 528482304: 540672 + }, { + 0: 260, + 1048576: 0, + 2097152: 67109120, + 3145728: 65796, + 4194304: 65540, + 5242880: 67108868, + 6291456: 67174660, + 7340032: 67174400, + 8388608: 67108864, + 9437184: 67174656, + 10485760: 65792, + 11534336: 67174404, + 12582912: 67109124, + 13631488: 65536, + 14680064: 4, + 15728640: 256, + 524288: 67174656, + 1572864: 67174404, + 2621440: 0, + 3670016: 67109120, + 4718592: 67108868, + 5767168: 65536, + 6815744: 65540, + 7864320: 260, + 8912896: 4, + 9961472: 256, + 11010048: 67174400, + 12058624: 65796, + 13107200: 65792, + 14155776: 67109124, + 15204352: 67174660, + 16252928: 67108864, + 16777216: 67174656, + 17825792: 65540, + 18874368: 65536, + 19922944: 67109120, + 20971520: 256, + 22020096: 67174660, + 23068672: 67108868, + 24117248: 0, + 25165824: 67109124, + 26214400: 67108864, + 27262976: 4, + 28311552: 65792, + 29360128: 67174400, + 30408704: 260, + 31457280: 65796, + 32505856: 67174404, + 17301504: 67108864, + 18350080: 260, + 19398656: 67174656, + 20447232: 0, + 21495808: 65540, + 22544384: 67109120, + 23592960: 256, + 24641536: 67174404, + 25690112: 65536, + 26738688: 67174660, + 27787264: 65796, + 28835840: 67108868, + 29884416: 67109124, + 30932992: 67174400, + 31981568: 4, + 33030144: 65792 + }, { + 0: 2151682048, + 65536: 2147487808, + 131072: 4198464, + 196608: 2151677952, + 262144: 0, + 327680: 4198400, + 393216: 2147483712, + 458752: 4194368, + 524288: 2147483648, + 589824: 4194304, + 655360: 64, + 720896: 2147487744, + 786432: 2151678016, + 851968: 4160, + 917504: 4096, + 983040: 2151682112, + 32768: 2147487808, + 98304: 64, + 163840: 2151678016, + 229376: 2147487744, + 294912: 4198400, + 360448: 2151682112, + 425984: 0, + 491520: 2151677952, + 557056: 4096, + 622592: 2151682048, + 688128: 4194304, + 753664: 4160, + 819200: 2147483648, + 884736: 4194368, + 950272: 4198464, + 1015808: 2147483712, + 1048576: 4194368, + 1114112: 4198400, + 1179648: 2147483712, + 1245184: 0, + 1310720: 4160, + 1376256: 2151678016, + 1441792: 2151682048, + 1507328: 2147487808, + 1572864: 2151682112, + 1638400: 2147483648, + 1703936: 2151677952, + 1769472: 4198464, + 1835008: 2147487744, + 1900544: 4194304, + 1966080: 64, + 2031616: 4096, + 1081344: 2151677952, + 1146880: 2151682112, + 1212416: 0, + 1277952: 4198400, + 1343488: 4194368, + 1409024: 2147483648, + 1474560: 2147487808, + 1540096: 64, + 1605632: 2147483712, + 1671168: 4096, + 1736704: 2147487744, + 1802240: 2151678016, + 1867776: 4160, + 1933312: 2151682048, + 1998848: 4194304, + 2064384: 4198464 + }, { + 0: 128, + 4096: 17039360, + 8192: 262144, + 12288: 536870912, + 16384: 537133184, + 20480: 16777344, + 24576: 553648256, + 28672: 262272, + 32768: 16777216, + 36864: 537133056, + 40960: 536871040, + 45056: 553910400, + 49152: 553910272, + 53248: 0, + 57344: 17039488, + 61440: 553648128, + 2048: 17039488, + 6144: 553648256, + 10240: 128, + 14336: 17039360, + 18432: 262144, + 22528: 537133184, + 26624: 553910272, + 30720: 536870912, + 34816: 537133056, + 38912: 0, + 43008: 553910400, + 47104: 16777344, + 51200: 536871040, + 55296: 553648128, + 59392: 16777216, + 63488: 262272, + 65536: 262144, + 69632: 128, + 73728: 536870912, + 77824: 553648256, + 81920: 16777344, + 86016: 553910272, + 90112: 537133184, + 94208: 16777216, + 98304: 553910400, + 102400: 553648128, + 106496: 17039360, + 110592: 537133056, + 114688: 262272, + 118784: 536871040, + 122880: 0, + 126976: 17039488, + 67584: 553648256, + 71680: 16777216, + 75776: 17039360, + 79872: 537133184, + 83968: 536870912, + 88064: 17039488, + 92160: 128, + 96256: 553910272, + 100352: 262272, + 104448: 553910400, + 108544: 0, + 112640: 553648128, + 116736: 16777344, + 120832: 262144, + 124928: 537133056, + 129024: 536871040 + }, { + 0: 268435464, + 256: 8192, + 512: 270532608, + 768: 270540808, + 1024: 268443648, + 1280: 2097152, + 1536: 2097160, + 1792: 268435456, + 2048: 0, + 2304: 268443656, + 2560: 2105344, + 2816: 8, + 3072: 270532616, + 3328: 2105352, + 3584: 8200, + 3840: 270540800, + 128: 270532608, + 384: 270540808, + 640: 8, + 896: 2097152, + 1152: 2105352, + 1408: 268435464, + 1664: 268443648, + 1920: 8200, + 2176: 2097160, + 2432: 8192, + 2688: 268443656, + 2944: 270532616, + 3200: 0, + 3456: 270540800, + 3712: 2105344, + 3968: 268435456, + 4096: 268443648, + 4352: 270532616, + 4608: 270540808, + 4864: 8200, + 5120: 2097152, + 5376: 268435456, + 5632: 268435464, + 5888: 2105344, + 6144: 2105352, + 6400: 0, + 6656: 8, + 6912: 270532608, + 7168: 8192, + 7424: 268443656, + 7680: 270540800, + 7936: 2097160, + 4224: 8, + 4480: 2105344, + 4736: 2097152, + 4992: 268435464, + 5248: 268443648, + 5504: 8200, + 5760: 270540808, + 6016: 270532608, + 6272: 270540800, + 6528: 270532616, + 6784: 8192, + 7040: 2105352, + 7296: 2097160, + 7552: 0, + 7808: 268435456, + 8064: 268443656 + }, { + 0: 1048576, + 16: 33555457, + 32: 1024, + 48: 1049601, + 64: 34604033, + 80: 0, + 96: 1, + 112: 34603009, + 128: 33555456, + 144: 1048577, + 160: 33554433, + 176: 34604032, + 192: 34603008, + 208: 1025, + 224: 1049600, + 240: 33554432, + 8: 34603009, + 24: 0, + 40: 33555457, + 56: 34604032, + 72: 1048576, + 88: 33554433, + 104: 33554432, + 120: 1025, + 136: 1049601, + 152: 33555456, + 168: 34603008, + 184: 1048577, + 200: 1024, + 216: 34604033, + 232: 1, + 248: 1049600, + 256: 33554432, + 272: 1048576, + 288: 33555457, + 304: 34603009, + 320: 1048577, + 336: 33555456, + 352: 34604032, + 368: 1049601, + 384: 1025, + 400: 34604033, + 416: 1049600, + 432: 1, + 448: 0, + 464: 34603008, + 480: 33554433, + 496: 1024, + 264: 1049600, + 280: 33555457, + 296: 34603009, + 312: 1, + 328: 33554432, + 344: 1048576, + 360: 1025, + 376: 34604032, + 392: 33554433, + 408: 34603008, + 424: 0, + 440: 34604033, + 456: 1049601, + 472: 1024, + 488: 33555456, + 504: 1048577 + }, { + 0: 134219808, + 1: 131072, + 2: 134217728, + 3: 32, + 4: 131104, + 5: 134350880, + 6: 134350848, + 7: 2048, + 8: 134348800, + 9: 134219776, + 10: 133120, + 11: 134348832, + 12: 2080, + 13: 0, + 14: 134217760, + 15: 133152, + 2147483648: 2048, + 2147483649: 134350880, + 2147483650: 134219808, + 2147483651: 134217728, + 2147483652: 134348800, + 2147483653: 133120, + 2147483654: 133152, + 2147483655: 32, + 2147483656: 134217760, + 2147483657: 2080, + 2147483658: 131104, + 2147483659: 134350848, + 2147483660: 0, + 2147483661: 134348832, + 2147483662: 134219776, + 2147483663: 131072, + 16: 133152, + 17: 134350848, + 18: 32, + 19: 2048, + 20: 134219776, + 21: 134217760, + 22: 134348832, + 23: 131072, + 24: 0, + 25: 131104, + 26: 134348800, + 27: 134219808, + 28: 134350880, + 29: 133120, + 30: 2080, + 31: 134217728, + 2147483664: 131072, + 2147483665: 2048, + 2147483666: 134348832, + 2147483667: 133152, + 2147483668: 32, + 2147483669: 134348800, + 2147483670: 134217728, + 2147483671: 134219808, + 2147483672: 134350880, + 2147483673: 134217760, + 2147483674: 134219776, + 2147483675: 0, + 2147483676: 133120, + 2147483677: 2080, + 2147483678: 131104, + 2147483679: 134350848 + }] + , u = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679] + , d = o.DES = s.extend({ + _doReset: function() { + for (var t = this._key.words, e = [], i = 0; i < 56; i++) { + var n = l[i] - 1; + e[i] = t[n >>> 5] >>> 31 - n % 32 & 1 + } + for (var a = this._subKeys = [], r = 0; r < 16; r++) { + for (var s = a[r] = [], o = c[r], i = 0; i < 24; i++) + s[i / 6 | 0] |= e[(h[i] - 1 + o) % 28] << 31 - i % 6, + s[4 + (i / 6 | 0)] |= e[28 + (h[i + 24] - 1 + o) % 28] << 31 - i % 6; + s[0] = s[0] << 1 | s[0] >>> 31; + for (i = 1; i < 7; i++) + s[i] = s[i] >>> 4 * (i - 1) + 3; + s[7] = s[7] << 5 | s[7] >>> 27 + } + for (var _ = this._invSubKeys = [], i = 0; i < 16; i++) + _[i] = a[15 - i] + }, + encryptBlock: function(t, e) { + this._doCryptBlock(t, e, this._subKeys) + }, + decryptBlock: function(t, e) { + this._doCryptBlock(t, e, this._invSubKeys) + }, + _doCryptBlock: function(t, n, a) { + this._lBlock = t[n], + this._rBlock = t[n + 1], + e.call(this, 4, 252645135), + e.call(this, 16, 65535), + i.call(this, 2, 858993459), + i.call(this, 8, 16711935), + e.call(this, 1, 1431655765); + for (var r = 0; r < 16; r++) { + for (var s = a[r], o = this._lBlock, l = this._rBlock, h = 0, c = 0; c < 8; c++) + h |= _[c][((l ^ s[c]) & u[c]) >>> 0]; + this._lBlock = l, + this._rBlock = o ^ h + } + var d = this._lBlock; + this._lBlock = this._rBlock, + this._rBlock = d, + e.call(this, 1, 1431655765), + i.call(this, 8, 16711935), + i.call(this, 2, 858993459), + e.call(this, 16, 65535), + e.call(this, 4, 252645135), + t[n] = this._lBlock, + t[n + 1] = this._rBlock + }, + keySize: 2, + ivSize: 2, + blockSize: 2 + }); + n.DES = s._createHelper(d); + var f = o.TripleDES = s.extend({ + _doReset: function() { + var t = this._key.words; + this._des1 = d.createEncryptor(r.create(t.slice(0, 2))), + this._des2 = d.createEncryptor(r.create(t.slice(2, 4))), + this._des3 = d.createEncryptor(r.create(t.slice(4, 6))) + }, + encryptBlock: function(t, e) { + this._des1.encryptBlock(t, e), + this._des2.decryptBlock(t, e), + this._des3.encryptBlock(t, e) + }, + decryptBlock: function(t, e) { + this._des3.decryptBlock(t, e), + this._des2.encryptBlock(t, e), + this._des1.decryptBlock(t, e) + }, + keySize: 6, + ivSize: 2, + blockSize: 2 + }); + n.TripleDES = s._createHelper(f) + }(), + function() { + function e() { + for (var t = this._S, e = this._i, i = this._j, n = 0, a = 0; a < 4; a++) { + i = (i + t[e = (e + 1) % 256]) % 256; + var r = t[e]; + t[e] = t[i], + t[i] = r, + n |= t[(t[e] + t[i]) % 256] << 24 - 8 * a + } + return this._i = e, + this._j = i, + n + } + var i = t + , n = i.lib.StreamCipher + , a = i.algo + , r = a.RC4 = n.extend({ + _doReset: function() { + for (var t = this._key, e = t.words, i = t.sigBytes, n = this._S = [], a = 0; a < 256; a++) + n[a] = a; + for (var a = 0, r = 0; a < 256; a++) { + var s = a % i + , o = e[s >>> 2] >>> 24 - s % 4 * 8 & 255; + r = (r + n[a] + o) % 256; + var l = n[a]; + n[a] = n[r], + n[r] = l + } + this._i = this._j = 0 + }, + _doProcessBlock: function(t, i) { + t[i] ^= e.call(this) + }, + keySize: 8, + ivSize: 0 + }); + i.RC4 = n._createHelper(r); + var s = a.RC4Drop = r.extend({ + cfg: r.cfg.extend({ + drop: 192 + }), + _doReset: function() { + r._doReset.call(this); + for (var t = this.cfg.drop; t > 0; t--) + e.call(this) + } + }); + i.RC4Drop = n._createHelper(s) + }(), + t.mode.CTRGladman = function() { + function e(t) { + if (255 == (t >> 24 & 255)) { + var e = t >> 16 & 255 + , i = t >> 8 & 255 + , n = 255 & t; + 255 === e ? (e = 0, + 255 === i ? (i = 0, + 255 === n ? n = 0 : ++n) : ++i) : ++e, + t = 0, + t += e << 16, + t += i << 8, + t += n + } else + t += 1 << 24; + return t + } + var i = t.lib.BlockCipherMode.extend() + , n = i.Encryptor = i.extend({ + processBlock: function(t, i) { + var n = this._cipher + , a = n.blockSize + , r = this._iv + , s = this._counter; + r && (s = this._counter = r.slice(0), + this._iv = void 0), + function(t) { + 0 === (t[0] = e(t[0])) && (t[1] = e(t[1])) + }(s); + var o = s.slice(0); + n.encryptBlock(o, 0); + for (var l = 0; l < a; l++) + t[i + l] ^= o[l] + } + }); + return i.Decryptor = n, + i + }(), + function() { + function e() { + for (var t = this._X, e = this._C, i = 0; i < 8; i++) + r[i] = e[i]; + e[0] = e[0] + 1295307597 + this._b | 0, + e[1] = e[1] + 3545052371 + (e[0] >>> 0 < r[0] >>> 0 ? 1 : 0) | 0, + e[2] = e[2] + 886263092 + (e[1] >>> 0 < r[1] >>> 0 ? 1 : 0) | 0, + e[3] = e[3] + 1295307597 + (e[2] >>> 0 < r[2] >>> 0 ? 1 : 0) | 0, + e[4] = e[4] + 3545052371 + (e[3] >>> 0 < r[3] >>> 0 ? 1 : 0) | 0, + e[5] = e[5] + 886263092 + (e[4] >>> 0 < r[4] >>> 0 ? 1 : 0) | 0, + e[6] = e[6] + 1295307597 + (e[5] >>> 0 < r[5] >>> 0 ? 1 : 0) | 0, + e[7] = e[7] + 3545052371 + (e[6] >>> 0 < r[6] >>> 0 ? 1 : 0) | 0, + this._b = e[7] >>> 0 < r[7] >>> 0 ? 1 : 0; + for (i = 0; i < 8; i++) { + var n = t[i] + e[i] + , a = 65535 & n + , o = n >>> 16 + , l = ((a * a >>> 17) + a * o >>> 15) + o * o + , h = ((4294901760 & n) * n | 0) + ((65535 & n) * n | 0); + s[i] = l ^ h + } + t[0] = s[0] + (s[7] << 16 | s[7] >>> 16) + (s[6] << 16 | s[6] >>> 16) | 0, + t[1] = s[1] + (s[0] << 8 | s[0] >>> 24) + s[7] | 0, + t[2] = s[2] + (s[1] << 16 | s[1] >>> 16) + (s[0] << 16 | s[0] >>> 16) | 0, + t[3] = s[3] + (s[2] << 8 | s[2] >>> 24) + s[1] | 0, + t[4] = s[4] + (s[3] << 16 | s[3] >>> 16) + (s[2] << 16 | s[2] >>> 16) | 0, + t[5] = s[5] + (s[4] << 8 | s[4] >>> 24) + s[3] | 0, + t[6] = s[6] + (s[5] << 16 | s[5] >>> 16) + (s[4] << 16 | s[4] >>> 16) | 0, + t[7] = s[7] + (s[6] << 8 | s[6] >>> 24) + s[5] | 0 + } + var i = t + , n = i.lib.StreamCipher + , a = [] + , r = [] + , s = [] + , o = i.algo.Rabbit = n.extend({ + _doReset: function() { + for (var t = this._key.words, i = this.cfg.iv, n = 0; n < 4; n++) + t[n] = 16711935 & (t[n] << 8 | t[n] >>> 24) | 4278255360 & (t[n] << 24 | t[n] >>> 8); + var a = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16] + , r = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; + this._b = 0; + for (n = 0; n < 4; n++) + e.call(this); + for (n = 0; n < 8; n++) + r[n] ^= a[n + 4 & 7]; + if (i) { + var s = i.words + , o = s[0] + , l = s[1] + , h = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8) + , c = 16711935 & (l << 8 | l >>> 24) | 4278255360 & (l << 24 | l >>> 8) + , _ = h >>> 16 | 4294901760 & c + , u = c << 16 | 65535 & h; + r[0] ^= h, + r[1] ^= _, + r[2] ^= c, + r[3] ^= u, + r[4] ^= h, + r[5] ^= _, + r[6] ^= c, + r[7] ^= u; + for (n = 0; n < 4; n++) + e.call(this) + } + }, + _doProcessBlock: function(t, i) { + var n = this._X; + e.call(this), + a[0] = n[0] ^ n[5] >>> 16 ^ n[3] << 16, + a[1] = n[2] ^ n[7] >>> 16 ^ n[5] << 16, + a[2] = n[4] ^ n[1] >>> 16 ^ n[7] << 16, + a[3] = n[6] ^ n[3] >>> 16 ^ n[1] << 16; + for (var r = 0; r < 4; r++) + a[r] = 16711935 & (a[r] << 8 | a[r] >>> 24) | 4278255360 & (a[r] << 24 | a[r] >>> 8), + t[i + r] ^= a[r] + }, + blockSize: 4, + ivSize: 2 + }); + i.Rabbit = n._createHelper(o) + }(), + t.mode.CTR = function() { + var e = t.lib.BlockCipherMode.extend() + , i = e.Encryptor = e.extend({ + processBlock: function(t, e) { + var i = this._cipher + , n = i.blockSize + , a = this._iv + , r = this._counter; + a && (r = this._counter = a.slice(0), + this._iv = void 0); + var s = r.slice(0); + i.encryptBlock(s, 0), + r[n - 1] = r[n - 1] + 1 | 0; + for (var o = 0; o < n; o++) + t[e + o] ^= s[o] + } + }); + return e.Decryptor = i, + e + }(), + function() { + function e() { + for (var t = this._X, e = this._C, i = 0; i < 8; i++) + r[i] = e[i]; + e[0] = e[0] + 1295307597 + this._b | 0, + e[1] = e[1] + 3545052371 + (e[0] >>> 0 < r[0] >>> 0 ? 1 : 0) | 0, + e[2] = e[2] + 886263092 + (e[1] >>> 0 < r[1] >>> 0 ? 1 : 0) | 0, + e[3] = e[3] + 1295307597 + (e[2] >>> 0 < r[2] >>> 0 ? 1 : 0) | 0, + e[4] = e[4] + 3545052371 + (e[3] >>> 0 < r[3] >>> 0 ? 1 : 0) | 0, + e[5] = e[5] + 886263092 + (e[4] >>> 0 < r[4] >>> 0 ? 1 : 0) | 0, + e[6] = e[6] + 1295307597 + (e[5] >>> 0 < r[5] >>> 0 ? 1 : 0) | 0, + e[7] = e[7] + 3545052371 + (e[6] >>> 0 < r[6] >>> 0 ? 1 : 0) | 0, + this._b = e[7] >>> 0 < r[7] >>> 0 ? 1 : 0; + for (i = 0; i < 8; i++) { + var n = t[i] + e[i] + , a = 65535 & n + , o = n >>> 16 + , l = ((a * a >>> 17) + a * o >>> 15) + o * o + , h = ((4294901760 & n) * n | 0) + ((65535 & n) * n | 0); + s[i] = l ^ h + } + t[0] = s[0] + (s[7] << 16 | s[7] >>> 16) + (s[6] << 16 | s[6] >>> 16) | 0, + t[1] = s[1] + (s[0] << 8 | s[0] >>> 24) + s[7] | 0, + t[2] = s[2] + (s[1] << 16 | s[1] >>> 16) + (s[0] << 16 | s[0] >>> 16) | 0, + t[3] = s[3] + (s[2] << 8 | s[2] >>> 24) + s[1] | 0, + t[4] = s[4] + (s[3] << 16 | s[3] >>> 16) + (s[2] << 16 | s[2] >>> 16) | 0, + t[5] = s[5] + (s[4] << 8 | s[4] >>> 24) + s[3] | 0, + t[6] = s[6] + (s[5] << 16 | s[5] >>> 16) + (s[4] << 16 | s[4] >>> 16) | 0, + t[7] = s[7] + (s[6] << 8 | s[6] >>> 24) + s[5] | 0 + } + var i = t + , n = i.lib.StreamCipher + , a = [] + , r = [] + , s = [] + , o = i.algo.RabbitLegacy = n.extend({ + _doReset: function() { + var t = this._key.words + , i = this.cfg.iv + , n = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16] + , a = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]]; + this._b = 0; + for (u = 0; u < 4; u++) + e.call(this); + for (u = 0; u < 8; u++) + a[u] ^= n[u + 4 & 7]; + if (i) { + var r = i.words + , s = r[0] + , o = r[1] + , l = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8) + , h = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8) + , c = l >>> 16 | 4294901760 & h + , _ = h << 16 | 65535 & l; + a[0] ^= l, + a[1] ^= c, + a[2] ^= h, + a[3] ^= _, + a[4] ^= l, + a[5] ^= c, + a[6] ^= h, + a[7] ^= _; + for (var u = 0; u < 4; u++) + e.call(this) + } + }, + _doProcessBlock: function(t, i) { + var n = this._X; + e.call(this), + a[0] = n[0] ^ n[5] >>> 16 ^ n[3] << 16, + a[1] = n[2] ^ n[7] >>> 16 ^ n[5] << 16, + a[2] = n[4] ^ n[1] >>> 16 ^ n[7] << 16, + a[3] = n[6] ^ n[3] >>> 16 ^ n[1] << 16; + for (var r = 0; r < 4; r++) + a[r] = 16711935 & (a[r] << 8 | a[r] >>> 24) | 4278255360 & (a[r] << 24 | a[r] >>> 8), + t[i + r] ^= a[r] + }, + blockSize: 4, + ivSize: 2 + }); + i.RabbitLegacy = n._createHelper(o) + }(), + t.pad.ZeroPadding = { + pad: function(t, e) { + var i = 4 * e; + t.clamp(), + t.sigBytes += i - (t.sigBytes % i || i) + }, + unpad: function(t) { + for (var e = t.words, i = t.sigBytes - 1; !(e[i >>> 2] >>> 24 - i % 4 * 8 & 255); ) + i--; + t.sigBytes = i + 1 + } + }, + t +}), +Object.getPrototypeOf || (Object.getPrototypeOf = function(t) { + if (t !== Object(t)) + throw TypeError("Object.getPrototypeOf called on non-object"); + return t.__proto__ || t.constructor.prototype || Object.prototype +} +), +"function" != typeof Object.getOwnPropertyNames && (Object.getOwnPropertyNames = function(t) { + if (t !== Object(t)) + throw TypeError("Object.getOwnPropertyNames called on non-object"); + var e, i = []; + for (e in t) + Object.prototype.hasOwnProperty.call(t, e) && i.push(e); + return i +} +), +"function" != typeof Object.create && (Object.create = function(t, e) { + function i() {} + if ("object" != typeof t) + throw TypeError(); + i.prototype = t; + var n = new i; + if (t && (n.constructor = i), + void 0 !== e) { + if (e !== Object(e)) + throw TypeError(); + Object.defineProperties(n, e) + } + return n +} +), +function() { + if (!Object.defineProperty || !function() { + try { + return Object.defineProperty({}, "x", {}), + !0 + } catch (t) { + return !1 + } + }()) { + var t = Object.defineProperty; + Object.defineProperty = function(e, i, n) { + if (t) + try { + return t(e, i, n) + } catch (t) {} + if (e !== Object(e)) + throw TypeError("Object.defineProperty called on non-object"); + return Object.prototype.__defineGetter__ && "get"in n && Object.prototype.__defineGetter__.call(e, i, n.get), + Object.prototype.__defineSetter__ && "set"in n && Object.prototype.__defineSetter__.call(e, i, n.set), + "value"in n && (e[i] = n.value), + e + } + } +}(), +"function" != typeof Object.defineProperties && (Object.defineProperties = function(t, e) { + if (t !== Object(t)) + throw TypeError("Object.defineProperties called on non-object"); + var i; + for (i in e) + Object.prototype.hasOwnProperty.call(e, i) && Object.defineProperty(t, i, e[i]); + return t +} +), +Object.keys || (Object.keys = function(t) { + if (t !== Object(t)) + throw TypeError("Object.keys called on non-object"); + var e, i = []; + for (e in t) + Object.prototype.hasOwnProperty.call(t, e) && i.push(e); + return i +} +), +Function.prototype.bind || (Function.prototype.bind = function(t) { + if ("function" != typeof this) + throw TypeError("Bind must be called on a function"); + var e = Array.prototype.slice.call(arguments, 1) + , i = this + , n = function() {} + , a = function() { + return i.apply(this instanceof n ? this : t, e.concat(Array.prototype.slice.call(arguments))) + }; + return this.prototype && (n.prototype = this.prototype), + a.prototype = new n, + a +} +), +Array.isArray = Array.isArray || function(t) { + return Boolean(t && "[object Array]" === Object.prototype.toString.call(Object(t))) +} +, +Array.prototype.indexOf || (Array.prototype.indexOf = function(t) { + if (void 0 === this || null === this) + throw TypeError(); + var e = Object(this) + , i = e.length >>> 0; + if (0 === i) + return -1; + var n = 0; + if (arguments.length > 0 && (n = Number(arguments[1]), + isNaN(n) ? n = 0 : 0 !== n && n !== 1 / 0 && n !== -1 / 0 && (n = (n > 0 || -1) * Math.floor(Math.abs(n)))), + n >= i) + return -1; + for (var a = n >= 0 ? n : Math.max(i - Math.abs(n), 0); a < i; a++) + if (a in e && e[a] === t) + return a; + return -1 +} +), +Array.prototype.lastIndexOf || (Array.prototype.lastIndexOf = function(t) { + if (void 0 === this || null === this) + throw TypeError(); + var e = Object(this) + , i = e.length >>> 0; + if (0 === i) + return -1; + var n = i; + arguments.length > 1 && ((n = Number(arguments[1])) !== n ? n = 0 : 0 !== n && n !== 1 / 0 && n !== -1 / 0 && (n = (n > 0 || -1) * Math.floor(Math.abs(n)))); + for (var a = n >= 0 ? Math.min(n, i - 1) : i - Math.abs(n); a >= 0; a--) + if (a in e && e[a] === t) + return a; + return -1 +} +), +Array.prototype.every || (Array.prototype.every = function(t) { + if (void 0 === this || null === this) + throw TypeError(); + var e = Object(this) + , i = e.length >>> 0; + if ("function" != typeof t) + throw TypeError(); + var n, a = arguments[1]; + for (n = 0; n < i; n++) + if (n in e && !t.call(a, e[n], n, e)) + return !1; + return !0 +} +), +Array.prototype.some || (Array.prototype.some = function(t) { + if (void 0 === this || null === this) + throw TypeError(); + var e = Object(this) + , i = e.length >>> 0; + if ("function" != typeof t) + throw TypeError(); + var n, a = arguments[1]; + for (n = 0; n < i; n++) + if (n in e && t.call(a, e[n], n, e)) + return !0; + return !1 +} +), +Array.prototype.forEach || (Array.prototype.forEach = function(t) { + if (void 0 === this || null === this) + throw TypeError(); + var e = Object(this) + , i = e.length >>> 0; + if ("function" != typeof t) + throw TypeError(); + var n, a = arguments[1]; + for (n = 0; n < i; n++) + n in e && t.call(a, e[n], n, e) +} +), +Array.prototype.map || (Array.prototype.map = function(t) { + if (void 0 === this || null === this) + throw TypeError(); + var e = Object(this) + , i = e.length >>> 0; + if ("function" != typeof t) + throw TypeError(); + var n = []; + n.length = i; + var a, r = arguments[1]; + for (a = 0; a < i; a++) + a in e && (n[a] = t.call(r, e[a], a, e)); + return n +} +), +Array.prototype.filter || (Array.prototype.filter = function(t) { + if (void 0 === this || null === this) + throw TypeError(); + var e = Object(this) + , i = e.length >>> 0; + if ("function" != typeof t) + throw TypeError(); + var n, a = [], r = arguments[1]; + for (n = 0; n < i; n++) + if (n in e) { + var s = e[n]; + t.call(r, s, n, e) && a.push(s) + } + return a +} +), +Array.prototype.reduce || (Array.prototype.reduce = function(t) { + if (void 0 === this || null === this) + throw TypeError(); + var e = Object(this) + , i = e.length >>> 0; + if ("function" != typeof t) + throw TypeError(); + if (0 === i && 1 === arguments.length) + throw TypeError(); + var n, a = 0; + if (arguments.length >= 2) + n = arguments[1]; + else + for (; ; ) { + if (a in e) { + n = e[a++]; + break + } + if (++a >= i) + throw TypeError() + } + for (; a < i; ) + a in e && (n = t.call(void 0, n, e[a], a, e)), + a++; + return n +} +), +Array.prototype.reduceRight || (Array.prototype.reduceRight = function(t) { + if (void 0 === this || null === this) + throw TypeError(); + var e = Object(this) + , i = e.length >>> 0; + if ("function" != typeof t) + throw TypeError(); + if (0 === i && 1 === arguments.length) + throw TypeError(); + var n, a = i - 1; + if (arguments.length >= 2) + n = arguments[1]; + else + for (; ; ) { + if (a in this) { + n = this[a--]; + break + } + if (--a < 0) + throw TypeError() + } + for (; a >= 0; ) + a in e && (n = t.call(void 0, n, e[a], a, e)), + a--; + return n +} +), +String.prototype.trim || (String.prototype.trim = function() { + return String(this).replace(/^\s+/, "").replace(/\s+$/, "") +} +), +Date.now || (Date.now = function() { + return Number(new Date) +} +), +Date.prototype.toISOString || (Date.prototype.toISOString = function() { + function t(t) { + return ("00" + t).slice(-2) + } + return this.getUTCFullYear() + "-" + t(this.getUTCMonth() + 1) + "-" + t(this.getUTCDate()) + "T" + t(this.getUTCHours()) + ":" + t(this.getUTCMinutes()) + ":" + t(this.getUTCSeconds()) + "." + function(t) { + return ("000" + t).slice(-3) + }(this.getUTCMilliseconds()) + "Z" +} +), +function(t) { + "use strict"; + function e(e) { + return e === t ? N : e + } + function i(t, e) { + for (var i = Object.getOwnPropertyDescriptor(t, e), n = Object.getPrototypeOf(t); !i && n; ) + i = Object.getOwnPropertyDescriptor(n, e), + n = Object.getPrototypeOf(n); + return i + } + function n(t, e, i, n) { + e in t && !n && !D || ("function" == typeof i ? Object.defineProperty(t, e, { + value: i, + configurable: !0, + enumerable: !1, + writable: !0 + }) : Object.defineProperty(t, e, { + value: i, + configurable: !1, + enumerable: !1, + writable: !1 + })) + } + function a(t, e, i) { + Object.defineProperty(t, e, { + value: i, + configurable: !1, + enumerable: !1, + writable: !0 + }) + } + function r() { + function t(t) { + var i = "function" == typeof t.valueOf && t.valueOf(e); + return i === t ? null : i + } + var e = S(null); + return { + clear: function() { + e = S(null) + }, + remove: function(e) { + var i = t(e); + return !(!i || !g(i, "value") || (delete i.value, + 0)) + }, + get: function(e, i) { + var n = t(e); + return n && g(n, "value") ? n.value : i + }, + has: function(e) { + var i = t(e); + return Boolean(i && g(i, "value")) + }, + set: function(i, n) { + (t(i) || function(t) { + var i = t.valueOf + , n = S(null); + return Object.defineProperty(t, "valueOf", { + value: function(e) { + return function(a) { + return a === e ? n : i.apply(t, arguments) + } + }(e), + configurable: !0, + writeable: !0, + enumerable: !1 + }), + n + }(i)).value = n + } + } + } + function s(e) { + switch (typeof e) { + case "undefined": + return "undefined"; + case "boolean": + return "boolean"; + case "number": + return "number"; + case "string": + return "string"; + case "symbol": + return "symbol"; + default: + return null === e ? "null" : e instanceof t.Symbol ? "symbol" : "object" + } + } + function o(t) { + return t = Number(t), + B(t) ? 0 : 0 === t || t === 1 / 0 || t === -1 / 0 ? t : (t < 0 ? -1 : 1) * G(V(t)) + } + function l(t) { + return t >>> 0 + } + function h(t) { + if (null === t || t === N) + throw TypeError(); + return Object(t) + } + function c(t) { + var e = o(t); + return e <= 0 ? 0 : e === 1 / 0 ? 9007199254740991 : W(e, 9007199254740991) + } + function _(t) { + return "function" == typeof t + } + function u(t) { + return !!/Constructor/.test(Object.prototype.toString.call(t)) || !!/Function/.test(Object.prototype.toString.call(t)) || "function" == typeof t + } + function d(t, e) { + if (typeof t != typeof e) + return !1; + switch (typeof t) { + case "undefined": + return !0; + case "number": + return t != t && e != e || (0 === t && 0 === e ? 1 / t == 1 / e : t === e); + case "boolean": + case "string": + case "object": + default: + return t === e + } + } + function f(t, e) { + if (typeof t != typeof e) + return !1; + switch (typeof t) { + case "undefined": + return !0; + case "number": + return t != t && e != e || t === e; + case "boolean": + case "string": + case "object": + default: + return t === e + } + } + function p(t, e) { + var i = function(t, e) { + return h(t)[e] + }(t, e); + if (i === N || null === i) + return N; + if (!_(i)) + throw TypeError(); + return i + } + function m(t, e) { + for (; t; ) { + if (Object.prototype.hasOwnProperty.call(t, e)) + return !0; + if ("object" !== s(t)) + return !1; + var i = Object.getPrototypeOf(t); + if (i === t) + return !1; + t = i + } + return !1 + } + function g(t, e) { + return Object.prototype.hasOwnProperty.call(t, e) + } + function y(t, e) { + arguments.length < 2 && (e = p(t, et)); + var i = e.call(t); + if ("object" !== s(i)) + throw TypeError(); + return i + } + function v(t) { + return t.value + } + function b(t, e) { + var i = function(t, e) { + if (arguments.length < 2) + var i = t.next(); + else + i = t.next(e); + if ("object" !== s(i)) + throw TypeError(); + return i + }(t, e) + , n = i.done; + return !0 !== Boolean(n) && i + } + function w(t, e) { + var i = {}; + return i.value = t, + i.done = e, + i + } + function x(t, e, i) { + A(function() { + e.apply(N, i) + }) + } + function I(t) {} + function C(t) { + return Object.getOwnPropertyNames(t) + } + function S(t, e) { + return Object.create(t, e) + } + function M() {} + function L() {} + function T(t, e) { + var i = h(t) + , n = new L; + return a(n, "[[IteratedObject]]", i), + a(n, "[[ArrayIteratorNextIndex]]", 0), + a(n, "[[ArrayIterationKind]]", e), + n + } + var E, D = !1, N = void 0, A = function(t, e) { + return t ? function(e) { + t.resolve().then(function() { + e() + }) + } + : e ? function(t) { + e(t) + } + : function(t) { + setTimeout(t, 0) + } + }(t.Promise, t.setImmediate), B = t.isNaN, k = t.parseInt, R = t.parseFloat, P = Math.E, O = Math.LOG10E, U = Math.LOG2E, V = Math.abs, F = Math.ceil, H = Math.exp, G = Math.floor, z = Math.log, j = Math.max, W = Math.min, X = Math.pow, q = Math.random, Y = Math.sqrt, J = String.prototype.match, K = String.prototype.replace, Z = String.prototype.search, Q = String.prototype.split, $ = Object.create(null); + !function() { + function i(t) { + if (!(this instanceof i)) + return new i(t,r); + if (this instanceof i && arguments[1] !== r) + throw TypeError(); + var e = t === N ? N : String(t); + return a(this, "[[SymbolData]]", function(t) { + return Array(t + 1).join("x").replace(/x/g, function() { + return q() < .5 ? "‌" : "‍" + }) + }(128)), + a(this, "[[Description]]", e), + s[this] = this, + this + } + var r = Object.create(null) + , s = {}; + E = function(t) { + return s[t] + } + ; + var o = []; + "Symbol"in t && !D || (t.Symbol = i), + n(i, "for", function(t) { + for (var e = String(t), n = 0; n < o.length; ++n) { + var a = o[n]; + if (d(a["[[key]]"], e)) + return a["[[symbol]]"] + } + var r = i(t); + return o.push({ + "[[key]]": e, + "[[symbol]]": r + }), + r + }), + n(t.Symbol, "iterator", t.Symbol("Symbol.iterator")), + n(i, "keyFor", function(t) { + if (!(t instanceof i)) + throw TypeError(); + for (var e = 0; e < o.length; ++e) { + var n = o[e]; + if (d(n["[[symbol]]"], t)) + return n["[[key]]"] + } + return N + }), + n(t.Symbol, "match", t.Symbol("Symbol.match")), + n(t.Symbol, "replace", t.Symbol("Symbol.replace")), + n(t.Symbol, "search", t.Symbol("Symbol.search")), + n(t.Symbol, "split", t.Symbol("Symbol.split")), + n(t.Symbol, "toStringTag", t.Symbol("Symbol.toStringTag")), + Object.defineProperty(i.prototype, "toString", { + value: function() { + var t = e(this) + , i = t["[[Description]]"]; + return "Symbol(" + (i === N ? "" : i) + t["[[SymbolData]]"] + ")" + }, + configurable: !0, + writeable: !0, + enumerable: !1 + }), + Object.defineProperty(i.prototype, "valueOf", { + value: function() { + throw TypeError() + }, + configurable: !0, + writeable: !0, + enumerable: !1 + }) + }(); + var tt = {} + , et = t.Symbol.iterator + , it = t.Symbol.match + , nt = t.Symbol.replace + , at = t.Symbol.search + , rt = t.Symbol.split + , st = t.Symbol.toStringTag; + n(Object, "assign", function(t, e) { + var i = h(t); + if (arguments.length < 2) + return i; + for (var n = 1; n < arguments.length; ) { + var a = arguments[n++]; + if (a === N || null === a) + var r = []; + else { + var s = h(a); + r = C(s) + } + for (var o = 0; o < r.length; ++o) { + var l = r[o] + , c = Object.getOwnPropertyDescriptor(s, l); + if (c !== N && c.enumerable) { + var _ = s[l]; + i[l] = _ + } + } + } + return i + }), + function() { + function e(t) { + return !E(t) + } + var i = "symbol" == typeof t.Symbol() + , a = Object.getOwnPropertyNames + , r = Object.keys + , s = "object" == typeof window ? a(window) : []; + n(Object, "getOwnPropertyNames", function(t) { + if ("[object Window]" === Object.prototype.toString.call(t)) + try { + return a(t).filter(e) + } catch (t) { + return s.slice() + } + return a(t).filter(e) + }, !i), + n(Object, "getOwnPropertySymbols", function(t) { + return a(t).filter(E).map(E) + }, !i), + n(Object, "keys", function(t) { + return r(t).filter(e) + }, !i) + }(), + n(Object, "is", function(t, e) { + return d(t, e) + }), + n(Object, "setPrototypeOf", function(t, e) { + if ("object" !== s(t)) + throw TypeError(); + if ("object" !== s(e) && "null" !== s(e)) + throw TypeError(); + return t.__proto__ = e, + t + }); + var ot = Object.prototype.toString; + n(Object.prototype, "toString", function() { + var t = e(this); + return t === Object(t) && st in t ? "[object " + t[st] + "]" : ot.apply(t, arguments) + }), + n(t.Symbol.prototype, t.Symbol.toStringTag, "Symbol"), + n(Number, "EPSILON", function() { + var t, e; + for (t = 1; 1 + t !== 1; t /= 2) + e = t; + return e + }()), + n(Number, "isFinite", function(t) { + return "number" === s(t) && t == t && t !== 1 / 0 && t !== -1 / 0 + }), + n(Number, "isInteger", function(t) { + return "number" === s(t) && t == t && t !== 1 / 0 && t !== -1 / 0 && o(t) === t + }), + n(Number, "isNaN", function(t) { + return "number" === s(t) && t != t + }), + n(Number, "isSafeInteger", function(t) { + if ("number" !== s(t)) + return !1; + if (t != t || t === 1 / 0 || t === -1 / 0) + return !1; + var e = o(t); + return e === t && V(e) <= 9007199254740991 + }), + n(Number, "MAX_SAFE_INTEGER", 9007199254740991), + n(Number, "MIN_SAFE_INTEGER", -9007199254740991), + n(Number, "parseFloat", R), + n(Number, "parseInt", k), + n(Math, st, "Math"), + n(Math, "acosh", function(t) { + return t = Number(t), + z(t + Y(t * t - 1)) + }), + n(Math, "asinh", function(t) { + if (t = Number(t), + d(t, -0)) + return t; + var e = Y(t * t + 1); + return z(e === -t ? 0 : t + e) + }), + n(Math, "atanh", function(t) { + return 0 === (t = Number(t)) ? t : z((1 + t) / (1 - t)) / 2 + }), + n(Math, "cbrt", function(t) { + if (t = Number(t), + B(t / t)) + return t; + var e = X(V(t), 1 / 3) + , i = t / e / e; + return e + e * (i - e) / (2 * e + i) + }), + n(Math, "clz32", function(t) { + function e(t) { + return 240 & t ? 128 & t ? 0 : 64 & t ? 1 : 32 & t ? 2 : 3 : 8 & t ? 4 : 4 & t ? 5 : 2 & t ? 6 : 1 & t ? 7 : 8 + } + return 4278190080 & (t = l(t)) ? e(t >> 24) : 16711680 & t ? e(t >> 16) + 8 : 65280 & t ? e(t >> 8) + 16 : e(t) + 24 + }), + n(Math, "cosh", function(t) { + return t = Number(t), + (X(P, t) + X(P, -t)) / 2 + }), + n(Math, "expm1", function(t) { + return t = Number(t), + d(t, -0) ? -0 : V(t) < 1e-5 ? t + .5 * t * t : H(t) - 1 + }), + n(Math, "fround", function(t) { + return B(t) ? NaN : 1 / t == 1 / 0 || 1 / t == -1 / 0 || t === 1 / 0 || t === -1 / 0 ? t : new Float32Array([t])[0] + }), + n(Math, "hypot", function() { + for (var t = [], e = 0, i = !1, n = 0; n < arguments.length; ++n) { + var a = V(Number(arguments[n])); + if (a === 1 / 0) + return a; + a != a && (i = !0), + a > e && (e = a), + t[n] = a + } + if (i) + return NaN; + if (0 === e) + return 0; + var r = 0; + for (n = 0; n < t.length; ++n) { + var s = t[n] / e; + r += s * s + } + return e * Y(r) + }), + n(Math, "imul", function(t, e) { + var i = l(t) + , n = l(e) + , a = 65535 & i + , r = 65535 & n; + return a * r + ((i >>> 16 & 65535) * r + a * (n >>> 16 & 65535) << 16 >>> 0) | 0 + }, "imul"in Math && 0 === Math.imul(1, 2147483648)), + n(Math, "log1p", function(t) { + return (t = Number(t)) < -1 ? NaN : d(t, -0) ? -0 : V(t) > 1e-4 ? z(1 + t) : (-.5 * t + 1) * t + }), + n(Math, "log10", function(t) { + return t = Number(t), + z(t) * O + }), + n(Math, "log2", function(t) { + return t = Number(t), + z(t) * U + }), + n(Math, "sign", function(t) { + return (t = Number(t)) < 0 ? -1 : t > 0 ? 1 : t + }), + n(Math, "sinh", function(t) { + return t = Number(t), + d(t, -0) ? t : (X(P, t) - X(P, -t)) / 2 + }), + n(Math, "tanh", function(t) { + t = Number(t); + var e = X(P, 2 * t) - 1 + , i = X(P, 2 * t) + 1; + return d(t, -0) ? t : e === i ? 1 : e / i + }), + n(Math, "trunc", function(t) { + return t = Number(t), + B(t) ? NaN : t < 0 ? F(t) : G(t) + }); + var lt = function() { + var t = {} + , e = Symbol(); + return t[Symbol.match] = function() { + return e + } + , + "".match(t) === e + }(); + n(String, "fromCodePoint", function() { + for (var t = arguments, e = t.length, i = [], n = 0; n < e; ) { + var a = t[n] + , r = Number(a); + if (!d(r, o(r)) || r < 0 || r > 1114111) + throw RangeError("Invalid code point " + r); + r < 65536 ? i.push(String.fromCharCode(r)) : (r -= 65536, + i.push(String.fromCharCode(55296 + (r >> 10))), + i.push(String.fromCharCode(r % 1024 + 56320))), + n += 1 + } + return i.join("") + }), + n(String, "raw", function(t) { + var e = [].slice.call(arguments, 1) + , i = Object(t).raw + , n = Object(i) + , a = c(n.length); + if (a <= 0) + return ""; + for (var r = [], s = 0; ; ) { + var o = n[s] + , l = String(o); + if (r.push(l), + s + 1 === a) + return r.join(""); + o = e[s]; + var h = String(o); + r.push(h), + s += 1 + } + }), + n(String.prototype, "codePointAt", function(t) { + var i = e(this) + , n = String(i) + , a = o(t) + , r = n.length; + if (a < 0 || a >= r) + return N; + var s = n.charCodeAt(a); + if (s < 55296 || s > 56319 || a + 1 === r) + return s; + var l = n.charCodeAt(a + 1); + return l < 56320 || l > 57343 ? s : 1024 * (s - 55296) + (l - 56320) + 65536 + }), + n(String.prototype, "endsWith", function(t) { + var i = arguments[1] + , n = e(this) + , a = String(n) + , r = String(t) + , s = a.length + , l = i === N ? s : o(i) + , h = W(j(l, 0), s) + , c = r.length + , _ = h - c; + return !(_ < 0) && a.substring(_, _ + c) === r + }), + n(String.prototype, "includes", function(t) { + var i = arguments[1] + , n = e(this) + , a = String(n) + , r = String(t) + , s = o(i) + , l = a.length + , h = W(j(s, 0), l); + return -1 !== a.indexOf(r, h) + }), + n(String.prototype, "match", function(t) { + var i = e(this) + , n = String(i); + if (m(t, it)) + var a = t; + else + a = new RegExp(t); + return a[it](n) + }, !lt), + n(String.prototype, "repeat", function(t) { + var i = e(this) + , n = String(i) + , a = o(t); + if (a < 0) + throw RangeError(); + if (a === 1 / 0) + throw RangeError(); + return new Array(a + 1).join(n) + }), + n(String.prototype, "replace", function(t, i) { + var n = e(this); + return m(t, nt) ? t[nt](n, i) : K.call(n, t, i) + }, !lt), + n(String.prototype, "search", function(t) { + var i = e(this) + , n = String(i); + if (m(t, at)) + var a = t; + else + a = new RegExp(t); + return a[at](n) + }, !lt), + n(String.prototype, "split", function(t, i) { + var n = e(this); + return m(t, rt) ? t[rt](n, i) : Q.call(n, t, i) + }, !lt), + n(String.prototype, "startsWith", function(t) { + var i = arguments[1] + , n = e(this) + , a = String(n) + , r = String(t) + , s = o(i) + , l = a.length + , h = W(j(s, 0), l) + , c = r.length; + return !(c + h > l) && a.substring(h, h + c) === r + }), + n(String.prototype, et, function() { + return function(t, e) { + var i = String(t) + , n = new M; + return a(n, "[[IteratedString]]", i), + a(n, "[[StringIteratorNextIndex]]", 0), + a(n, "[[StringIterationKind]]", e), + n + }(this, "value") + }); + var ht = Object.create(tt); + M.prototype = ht, + n(ht, "next", function() { + var t = h(this) + , e = String(t["[[IteratedString]]"]) + , i = t["[[StringIteratorNextIndex]]"]; + if (i >= e.length) + return a(t, "[[StringIteratorNextIndex]]", 1 / 0), + w(N, !0); + var n = e.codePointAt(i); + return a(t, "[[StringIteratorNextIndex]]", i + (n > 65535 ? 2 : 1)), + w(String.fromCodePoint(n), !1) + }), + n(ht, st, "String Iterator"), + "flags"in RegExp.prototype || Object.defineProperty(RegExp.prototype, "flags", { + get: function() { + var t = String(this); + return t.substring(t.lastIndexOf("/") + 1) + } + }), + n(RegExp.prototype, it, function(t) { + var i = e(this); + return J.call(t, i) + }), + n(RegExp.prototype, nt, function(t, i) { + var n = e(this); + return K.call(t, n, i) + }), + n(RegExp.prototype, at, function(t) { + var i = e(this); + return Z.call(t, i) + }), + n(RegExp.prototype, rt, function(t, i) { + var n = e(this); + return Q.call(t, n, i) + }), + n(Array, "from", function(t) { + var i = arguments[1] + , n = arguments[2] + , a = e(this); + if (i === N) + var r = !1; + else { + if (!_(i)) + throw TypeError(); + var s = n; + r = !0 + } + var o = p(t, et); + if (o !== N) { + if (u(a)) + var l = new a; + else + l = new Array(0); + for (var d = y(t, o), f = 0; ; ) { + var m = b(d); + if (!1 === m) + return l.length = f, + l; + var g = v(m); + if (r) + var w = i.call(s, g); + else + w = g; + l[f] = w, + f += 1 + } + } + var x = h(t) + , I = c(x.length); + for (l = u(a) ? new a(I) : new Array(I), + f = 0; f < I; ) { + var C = x[f]; + w = r ? i.call(s, C, f) : C, + l[f] = w, + f += 1 + } + return l.length = I, + l + }), + n(Array, "of", function() { + var t, i = arguments, n = l(i.length), a = e(this); + t = u(a) ? h(t = new a(n)) : new Array(n); + for (var r = 0; r < n; ) + t[r] = i[r], + r += 1; + return t.length = n, + t + }), + n(Array.prototype, "copyWithin", function(t, e) { + var i = arguments[2] + , n = h(this) + , a = c(n.length); + a = j(a, 0); + var r, s = o(t); + r = s < 0 ? j(a + s, 0) : W(s, a); + var l, _ = o(e); + l = _ < 0 ? j(a + _, 0) : W(_, a); + var u, d; + d = (u = i === N ? a : o(i)) < 0 ? j(a + u, 0) : W(u, a); + var f, p = W(d - l, a - r); + for (l < r && r < l + p ? (f = -1, + l = l + p - 1, + r = r + p - 1) : f = 1; p > 0; ) { + var g = String(l) + , y = String(r); + if (m(n, g)) { + var v = n[g]; + n[y] = v + } else + delete n[y]; + l += f, + r += f, + p -= 1 + } + return n + }); + var ct = "entries"in Array.prototype && "next"in [].entries(); + n(Array.prototype, "entries", function() { + return T(this, "key+value") + }, !ct), + n(Array.prototype, "fill", function(t) { + var e = arguments[1] + , i = arguments[2] + , n = h(this) + , a = c(n.length); + a = j(a, 0); + var r, s = o(e); + r = s < 0 ? j(a + s, 0) : W(s, a); + var l, _; + for (_ = (l = i === N ? a : o(i)) < 0 ? j(a + l, 0) : W(l, a); r < _; ) + n[String(r)] = t, + r += 1; + return n + }), + n(Array.prototype, "find", function(t) { + var e = h(this) + , i = o(e.length); + if (!_(t)) + throw TypeError(); + for (var n = arguments.length > 1 ? arguments[1] : N, a = 0; a < i; ) { + var r = String(a); + if (m(e, r)) { + var s = e[r] + , l = t.call(n, s, a, e); + if (Boolean(l)) + return s + } + ++a + } + return N + }), + n(Array.prototype, "findIndex", function(t) { + var e = h(this) + , i = c(e.length); + if (!_(t)) + throw TypeError(); + for (var n = arguments.length > 1 ? arguments[1] : N, a = 0; a < i; ) { + var r = String(a); + if (m(e, r)) { + var s = e[r] + , o = t.call(n, s, a, e); + if (Boolean(o)) + return a + } + ++a + } + return -1 + }), + n(Array.prototype, "keys", function() { + return T(this, "key") + }, !ct), + n(Array.prototype, "values", function() { + return T(this, "value") + }, !ct), + n(Array.prototype, et, Array.prototype.values); + var _t = Object.create(tt); + L.prototype = _t, + n(_t, "next", function() { + var t = e(this); + if ("object" !== s(t)) + throw TypeError(); + var i, n, r = t["[[IteratedObject]]"], o = t["[[ArrayIteratorNextIndex]]"], h = t["[[ArrayIterationKind]]"], c = l(r.length); + if (-1 !== h.indexOf("sparse")) + for (var _ = !1; !_ && o < c; ) + (_ = m(r, i = String(o))) || (o += 1); + if (o >= c) + return a(t, "[[ArrayIteratorNextIndex]]", 1 / 0), + w(N, !0); + if (i = o, + a(t, "[[ArrayIteratorNextIndex]]", o + 1), + -1 !== h.indexOf("value") && (n = r[i]), + -1 !== h.indexOf("key+value")) + return w([i, n], !1); + if (-1 !== h.indexOf("key")) + return w(i, !1); + if ("value" === h) + return w(n, !1); + throw Error("Internal error") + }), + n(_t, st, "Array Iterator"), + ["Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "Float32Array", "Float64Array"].forEach(function(i) { + if (i in t) { + var a = t[i]; + n(a, "from", function(t) { + var i = arguments[1] + , n = arguments[2] + , a = e(this); + if (!u(a)) + throw TypeError(); + if (i === N) + var r = !1; + else { + if (_(i)) + throw TypeError(); + var s = n; + r = !0 + } + var o = p(t, et); + if (o !== N) { + for (var l = y(t, o), d = [], f = !0; !1 !== f; ) + if (!1 !== (f = b(l))) { + var m = v(f); + d.push(m) + } + for (var g = d.length, w = new a(g), x = 0; x < g; ) { + var I = d.shift(); + if (r) + var C = i.call(s, I); + else + C = I; + w[x] = C, + ++x + } + return w + } + var S = h(t); + for (w = new a(g = c(S.length)), + x = 0; x < g; ) + I = S[x], + C = r ? i.call(s, I, x) : I, + w[x] = C, + ++x; + return w + }), + n(a, "of", function() { + for (var t = arguments, i = t.length, n = new (e(this))(i), a = 0; a < i; ) + n[a] = t[a], + ++a; + return n + }), + n(a.prototype, "copyWithin", Array.prototype.copyWithin), + n(a.prototype, "entries", Array.prototype.entries), + n(a.prototype, "every", Array.prototype.every), + n(a.prototype, "fill", function(t) { + var e = arguments[1] + , i = arguments[2] + , n = h(this) + , a = c(n.length); + a = j(a, 0); + var r, s = o(e); + r = s < 0 ? j(a + s, 0) : W(s, a); + var l, _; + for (_ = (l = i === N ? a : o(i)) < 0 ? j(a + l, 0) : W(l, a); r < _; ) + n[String(r)] = t, + r += 1; + return n + }), + n(a.prototype, "filter", function(t) { + var e = arguments[1] + , i = h(this) + , n = c(i.length); + if (!_(t)) + throw TypeError(); + for (var a = e, r = i.constructor, s = [], o = 0, l = 0; o < n; ) { + var u = i[o]; + t.call(a, u, o, i) && (s.push(u), + ++l), + ++o + } + for (var d = new r(l), f = 0, p = 0; p < s.length; ++p) { + var m = s[p]; + d[f] = m, + ++f + } + return d + }), + n(a.prototype, "find", Array.prototype.find), + n(a.prototype, "findIndex", Array.prototype.findIndex), + n(a.prototype, "forEach", Array.prototype.forEach), + n(a.prototype, "indexOf", Array.prototype.indexOf), + n(a.prototype, "join", Array.prototype.join), + n(a.prototype, "keys", Array.prototype.keys), + n(a.prototype, "lastIndexOf", Array.prototype.lastIndexOf), + n(a.prototype, "map", function(t) { + var e = arguments[1] + , i = h(this) + , n = c(i.length); + if (!_(t)) + throw TypeError(); + var a = e + , r = N + , s = i.constructor; + u(s) && (r = new s(n)), + r === N && (r = new Array(n)); + for (var o = 0; o < n; ) { + if (m(i, o)) { + var l = i[o] + , d = t.call(a, l, o, i); + r[o] = d + } + ++o + } + return r + }), + n(a.prototype, "reduce", Array.prototype.reduce), + n(a.prototype, "reduceRight", Array.prototype.reduceRight), + n(a.prototype, "reverse", Array.prototype.reverse), + n(a.prototype, "slice", function(t, e) { + var i = h(this) + , n = c(i.length) + , a = o(t) + , r = a < 0 ? j(n + a, 0) : W(a, n) + , s = e === N ? n : o(e) + , l = s < 0 ? j(n + s, 0) : W(s, n) + , _ = l - r + , d = i.constructor; + if (!u(d)) + throw TypeError(); + for (var f = new d(_), p = 0; r < l; ) { + var m = i[r]; + f[p] = m, + ++r, + ++p + } + return f + }), + n(a.prototype, "some", Array.prototype.some), + n(a.prototype, "sort", function() { + var t = arguments[0]; + return Array.prototype.sort.call(this, function(e, i) { + return e != e && i != i ? 0 : e != e ? 1 : i != i ? -1 : t !== N ? t(e, i) : e < i ? -1 : e > i ? 1 : 0 + }) + }), + n(a.prototype, "values", Array.prototype.values), + n(a.prototype, et, a.prototype.values), + n(a.prototype, st, i) + } + }), + function() { + function i() { + var t = e(this) + , i = arguments[0]; + if ("object" !== s(t)) + throw TypeError(); + if ("[[MapData]]"in t) + throw TypeError(); + if (i !== N) { + var n = t.set; + if (!_(n)) + throw TypeError(); + var r = y(h(i)) + } + if (a(t, "[[MapData]]", { + keys: [], + values: [] + }), + r === N) + return t; + for (; ; ) { + var o = b(r); + if (!1 === o) + return t; + var l = v(o); + if ("object" !== s(l)) + throw TypeError(); + var c = l[0] + , u = l[1]; + n.call(t, c, u) + } + return t + } + function r(t, e) { + var i; + if (e == e) + return t.keys.indexOf(e); + for (i = 0; i < t.keys.length; i += 1) + if (f(t.keys[i], e)) + return i; + return -1 + } + function o() {} + function l(t, e) { + if ("object" !== s(t)) + throw TypeError(); + if (!("[[MapData]]"in t)) + throw TypeError(); + if (t["[[MapData]]"] === N) + throw TypeError(); + var i = new o; + return a(i, "[[Map]]", t), + a(i, "[[MapNextIndex]]", 0), + a(i, "[[MapIterationKind]]", e), + i + } + "Map"in t && !D && !function() { + try { + return new t.Map([]), + !1 + } catch (t) { + return !0 + } + }() && !function() { + try { + return !(new t.Map).entries().next + } catch (t) { + return !0 + } + }() && 1 === new t.Map([["a", 1]]).size || (t.Map = i); + n(i.prototype = {}, "clear", function() { + var t = e(this); + if ("object" !== s(t)) + throw TypeError(); + if (!("[[MapData]]"in t)) + throw TypeError(); + if (t["[[MapData]]"] === N) + throw TypeError(); + var i = t["[[MapData]]"]; + return i.keys.length = 0, + i.values.length = 0, + N + }), + n(i.prototype, "delete", function(t) { + var i = e(this); + if ("object" !== s(i)) + throw TypeError(); + if (!("[[MapData]]"in i)) + throw TypeError(); + if (i["[[MapData]]"] === N) + throw TypeError(); + var n = i["[[MapData]]"] + , a = r(n, t); + return !(a < 0 || (n.keys[a] = $, + n.values[a] = $, + 0)) + }), + n(i.prototype, "entries", function() { + var t = e(this); + if ("object" !== s(t)) + throw TypeError(); + return l(t, "key+value") + }), + n(i.prototype, "forEach", function(t) { + var i = arguments[1] + , n = e(this); + if ("object" !== s(n)) + throw TypeError(); + if (!("[[MapData]]"in n)) + throw TypeError(); + if (n["[[MapData]]"] === N) + throw TypeError(); + var a = n["[[MapData]]"]; + if (!_(t)) + throw TypeError("First argument to forEach is not callable."); + for (var r = 0; r < a.keys.length; ++r) + a.keys[r] !== $ && t.call(i, a.values[r], a.keys[r], n); + return N + }), + n(i.prototype, "get", function(t) { + var i = e(this); + if ("object" !== s(i)) + throw TypeError(); + if (!("[[MapData]]"in i)) + throw TypeError(); + if (i["[[MapData]]"] === N) + throw TypeError(); + var n = i["[[MapData]]"] + , a = r(n, t); + return a >= 0 ? n.values[a] : N + }), + n(i.prototype, "has", function(t) { + var i = e(this); + if ("object" !== s(i)) + throw TypeError(); + if (!("[[MapData]]"in i)) + throw TypeError(); + if (i["[[MapData]]"] === N) + throw TypeError(); + return r(i["[[MapData]]"], t) >= 0 + }), + n(i.prototype, "keys", function() { + var t = e(this); + if ("object" !== s(t)) + throw TypeError(); + return l(t, "key") + }), + n(i.prototype, "set", function(t, i) { + var n = e(this); + if ("object" !== s(n)) + throw TypeError(); + if (!("[[MapData]]"in n)) + throw TypeError(); + if (n["[[MapData]]"] === N) + throw TypeError(); + var a = n["[[MapData]]"] + , o = r(a, t); + return o < 0 && (o = a.keys.length), + d(t, -0) && (t = 0), + a.keys[o] = t, + a.values[o] = i, + n + }), + Object.defineProperty(i.prototype, "size", { + get: function() { + var t = e(this); + if ("object" !== s(t)) + throw TypeError(); + if (!("[[MapData]]"in t)) + throw TypeError(); + if (t["[[MapData]]"] === N) + throw TypeError(); + for (var i = t["[[MapData]]"], n = 0, a = 0; a < i.keys.length; ++a) + i.keys[a] !== $ && (n += 1); + return n + } + }), + n(i.prototype, "values", function() { + var t = e(this); + if ("object" !== s(t)) + throw TypeError(); + return l(t, "value") + }), + n(i.prototype, et, function() { + var t = e(this); + if ("object" !== s(t)) + throw TypeError(); + return l(t, "key+value") + }), + n(t.Map.prototype, st, "Map"); + var c = Object.create(tt); + o.prototype = c, + n(c, "next", function() { + var t = e(this); + if ("object" !== s(t)) + throw TypeError(); + for (var i = t["[[Map]]"], n = t["[[MapNextIndex]]"], r = t["[[MapIterationKind]]"], o = i["[[MapData]]"]; n < o.keys.length; ) { + var l = { + key: o.keys[n], + value: o.values[n] + }; + if (n = n += 1, + a(t, "[[MapNextIndex]]", n), + l.key !== $) + return "key" === r ? w(l.key, !1) : "value" === r ? w(l.value, !1) : w([l.key, l.value], !1) + } + return w(N, !0) + }), + n(c, st, "Map Iterator") + }(), + function() { + function i() { + var t = e(this) + , i = arguments[0]; + if ("object" !== s(t)) + throw TypeError(); + if ("[[SetData]]"in t) + throw TypeError(); + if (i !== N) { + var n = t.add; + if (!_(n)) + throw TypeError(); + var r = y(h(i)) + } + if (a(t, "[[SetData]]", []), + r === N) + return t; + for (; ; ) { + var o = b(r); + if (!1 === o) + return t; + var l = v(o); + n.call(t, l) + } + return t + } + function r(t, e) { + var i; + if (e == e) + return t.indexOf(e); + for (i = 0; i < t.length; i += 1) + if (f(t[i], e)) + return i; + return -1 + } + function o() {} + function l(t, e) { + if ("object" !== s(t)) + throw TypeError(); + if (!("[[SetData]]"in t)) + throw TypeError(); + if (t["[[SetData]]"] === N) + throw TypeError(); + var i = new o; + return a(i, "[[IteratedSet]]", t), + a(i, "[[SetNextIndex]]", 0), + a(i, "[[SetIterationKind]]", e), + i + } + "Set"in t && !D && !function() { + try { + return !(new t.Set).entries().next + } catch (t) { + return !0 + } + }() && 1 === new t.Set([1]).size || (t.Set = i); + n(i.prototype = {}, "add", function(t) { + var i = e(this); + if ("object" !== s(i)) + throw TypeError(); + if (!("[[SetData]]"in i)) + throw TypeError(); + if (i["[[SetData]]"] === N) + throw TypeError(); + d(t, -0) && (t = 0); + var n = r(i["[[SetData]]"], t); + return n < 0 && (n = i["[[SetData]]"].length), + i["[[SetData]]"][n] = t, + i + }), + n(i.prototype, "clear", function() { + var t = e(this); + if ("object" !== s(t)) + throw TypeError(); + if (!("[[SetData]]"in t)) + throw TypeError(); + if (t["[[SetData]]"] === N) + throw TypeError(); + return t["[[SetData]]"].length = 0, + N + }), + n(i.prototype, "delete", function(t) { + var i = e(this); + if ("object" !== s(i)) + throw TypeError(); + if (!("[[SetData]]"in i)) + throw TypeError(); + if (i["[[SetData]]"] === N) + throw TypeError(); + var n = i["[[SetData]]"] + , a = r(n, t); + return !(a < 0 || (n[a] = $, + 0)) + }), + n(i.prototype, "entries", function() { + var t = e(this); + if ("object" !== s(t)) + throw TypeError(); + return l(t, "key+value") + }), + n(i.prototype, "forEach", function(t) { + var i = arguments[1] + , n = e(this); + if ("object" !== s(n)) + throw TypeError(); + if (!("[[SetData]]"in n)) + throw TypeError(); + if (n["[[SetData]]"] === N) + throw TypeError(); + var a = n["[[SetData]]"]; + if (!_(t)) + throw TypeError("First argument to forEach is not callable."); + for (var r = 0; r < a.length; ++r) + a[r] !== $ && t.call(i, a[r], a[r], n) + }), + n(i.prototype, "has", function(t) { + var i = e(this); + if ("object" !== s(i)) + throw TypeError(); + if (!("[[SetData]]"in i)) + throw TypeError(); + if (i["[[SetData]]"] === N) + throw TypeError(); + return -1 !== r(i["[[SetData]]"], t) + }), + Object.defineProperty(i.prototype, "size", { + get: function() { + var t = e(this); + if ("object" !== s(t)) + throw TypeError(); + if (!("[[SetData]]"in t)) + throw TypeError(); + if (t["[[SetData]]"] === N) + throw TypeError(); + for (var i = t["[[SetData]]"], n = 0, a = 0; a < i.length; ++a) + i[a] !== $ && (n += 1); + return n + } + }), + n(i.prototype, "values", function() { + var t = e(this); + if ("object" !== s(t)) + throw TypeError(); + return l(t, "value") + }), + i.prototype.keys = i.prototype.values, + n(i.prototype, et, function() { + var t = e(this); + if ("object" !== s(t)) + throw TypeError(); + return l(t) + }), + n(t.Set.prototype, st, "Set"); + var c = Object.create(tt); + o.prototype = c, + n(c, "next", function() { + var t = e(this); + if ("object" !== s(t)) + throw TypeError(); + for (var i = t["[[IteratedSet]]"], n = t["[[SetNextIndex]]"], r = t["[[SetIterationKind]]"], o = i["[[SetData]]"]; n < o.length; ) { + var l = o[n]; + if (n = n += 1, + a(t, "[[SetNextIndex]]", n), + l !== $) + return "key+value" === r ? w([l, l], !1) : w(l, !1) + } + return w(N, !0) + }), + n(c, st, "Set Iterator") + }(), + function() { + function i() { + var t = e(this) + , i = arguments[0]; + if ("object" !== s(t)) + throw TypeError(); + if ("[[WeakMapData]]"in t) + throw TypeError(); + if (i !== N) { + var n = t.set; + if (!_(n)) + throw TypeError(); + var o = y(h(i)) + } + if (a(t, "[[WeakMapData]]", new r), + o === N) + return t; + for (; ; ) { + var l = b(o); + if (!1 === l) + return t; + var c = v(l); + if ("object" !== s(c)) + throw TypeError(); + var u = c[0] + , d = c[1]; + n.call(t, u, d) + } + return t + } + "WeakMap"in t && !D || (t.WeakMap = i); + n(i.prototype = {}, "delete", function(t) { + var i = e(this); + if ("object" !== s(i)) + throw TypeError(); + if (i["[[WeakMapData]]"] === N) + throw TypeError(); + if ("object" !== s(t)) + throw TypeError("Expected object"); + return i["[[WeakMapData]]"].remove(t) + }), + n(i.prototype, "get", function(t, i) { + var n = e(this); + if ("object" !== s(n)) + throw TypeError(); + if (n["[[WeakMapData]]"] === N) + throw TypeError(); + if ("object" !== s(t)) + throw TypeError("Expected object"); + return n["[[WeakMapData]]"].get(t, i) + }), + n(i.prototype, "has", function(t) { + var i = e(this); + if ("object" !== s(i)) + throw TypeError(); + if (i["[[WeakMapData]]"] === N) + throw TypeError(); + if ("object" !== s(t)) + throw TypeError("Expected object"); + return i["[[WeakMapData]]"].has(t) + }), + n(i.prototype, "set", function(t, i) { + var n = e(this); + if ("object" !== s(n)) + throw TypeError(); + if (n["[[WeakMapData]]"] === N) + throw TypeError(); + if ("object" !== s(t)) + throw TypeError("Expected object"); + return n["[[WeakMapData]]"].set(t, i), + n + }), + n(t.WeakMap.prototype, st, "WeakMap"), + function() { + var e = new t.WeakMap + , i = t.WeakMap.prototype.set; + n(t.WeakMap.prototype, "set", function() { + return i.apply(this, arguments), + this + }, e.set({}, 0) !== e) + }() + }(), + function() { + function i() { + var t = e(this) + , i = arguments[0]; + if ("object" !== s(t)) + throw TypeError(); + if ("[[WeakSetData]]"in t) + throw TypeError(); + if (i !== N) { + var n = t.add; + if (!_(n)) + throw TypeError(); + var o = y(h(i)) + } + if (a(t, "[[WeakSetData]]", new r), + o === N) + return t; + for (; ; ) { + var l = b(o); + if (!1 === l) + return t; + var c = v(l); + n.call(t, c) + } + return t + } + "WeakSet"in t && !D || (t.WeakSet = i); + n(i.prototype = {}, "add", function(t) { + var i = e(this); + if ("object" !== s(i)) + throw TypeError(); + if (i["[[WeakSetData]]"] === N) + throw TypeError(); + if ("object" !== s(t)) + throw TypeError("Expected object"); + return i["[[WeakSetData]]"].set(t, !0), + i + }), + n(i.prototype, "delete", function(t) { + var i = e(this); + if ("object" !== s(i)) + throw TypeError(); + if (i["[[WeakSetData]]"] === N) + throw TypeError(); + if ("object" !== s(t)) + throw TypeError("Expected object"); + return i["[[WeakSetData]]"].remove(t) + }), + n(i.prototype, "has", function(t) { + var i = e(this); + if ("object" !== s(i)) + throw TypeError(); + if (i["[[WeakSetData]]"] === N) + throw TypeError(); + if ("object" !== s(t)) + throw TypeError("Expected object"); + return i["[[WeakSetData]]"].has(t) + }), + n(t.WeakSet.prototype, st, "WeakSet"), + function() { + var e = new t.WeakSet + , i = t.WeakSet.prototype.add; + n(t.WeakSet.prototype, "add", function() { + return i.apply(this, arguments), + this + }, e.add({}) !== e) + }() + }(), + "ArrayBuffer"in t && (n(ArrayBuffer, "isView", function(t) { + return "object" === s(t) && "buffer"in t && t.buffer instanceof ArrayBuffer + }), + n(ArrayBuffer.prototype, st, "ArrayBuffer")), + "DataView"in t && n(DataView.prototype, st, "DataView"), + n(JSON, st, "JSON"), + n(tt, et, function() { + return this + }), + function() { + function i(t) { + var e = { + "[[value]]": !1 + } + , i = function() { + var t = function(e) { + var i = t["[[Promise]]"] + , n = t["[[AlreadyResolved]]"]; + if (n["[[value]]"]) + return N; + if (a(n, "[[value]]", !0), + d(e, i)) { + var o = TypeError(); + return h(i, o) + } + if ("object" !== s(e)) + return r(i, e); + try { + var l = e.then + } catch (l) { + return h(i, l) + } + return _(l) ? (x(0, f, [i, e, l]), + N) : r(i, e) + }; + return t + }(); + a(i, "[[Promise]]", t), + a(i, "[[AlreadyResolved]]", e); + var n = function() { + var t = function(e) { + var i = t["[[Promise]]"] + , n = t["[[AlreadyResolved]]"]; + return n["[[value]]"] ? N : (a(n, "[[value]]", !0), + h(i, e)) + }; + return t + }(); + return a(n, "[[Promise]]", t), + a(n, "[[AlreadyResolved]]", e), + { + "[[Resolve]]": i, + "[[Reject]]": n + } + } + function r(t, e) { + var i = t["[[PromiseFulfillReactions]]"]; + return a(t, "[[PromiseResult]]", e), + a(t, "[[PromiseFulfillReactions]]", N), + a(t, "[[PromiseRejectReactions]]", N), + a(t, "[[PromiseState]]", "fulfilled"), + c(i, e) + } + function o(t) { + return function(t, e) { + var i = {}; + a(i, "[[Promise]]", t), + a(i, "[[Resolve]]", N), + a(i, "[[Reject]]", N); + var n = function() { + var t = function(e, i) { + var n = t["[[Capability]]"]; + if (n["[[Resolve]]"] !== N) + throw TypeError(); + if (n["[[Reject]]"] !== N) + throw TypeError(); + return a(n, "[[Resolve]]", e), + a(n, "[[Reject]]", i), + N + }; + return t + }(); + a(n, "[[Capability]]", i); + var r = t = new e(n); + if (a(i, "[[Promise]]", t), + !_(i["[[Resolve]]"])) + throw TypeError(); + if (!_(i["[[Reject]]"])) + throw TypeError(); + if ("object" === s(r) && !d(t, r)) + throw TypeError(); + return i + }(N, t) + } + function l(t) { + return "object" === s(t) && "[[PromiseState]]"in t && t["[[PromiseState]]"] !== N + } + function h(t, e) { + var i = t["[[PromiseRejectReactions]]"]; + return a(t, "[[PromiseResult]]", e), + a(t, "[[PromiseFulfillReactions]]", N), + a(t, "[[PromiseRejectReactions]]", N), + a(t, "[[PromiseState]]", "rejected"), + c(i, e) + } + function c(t, e) { + for (var i = 0, n = t.length; i < n; ++i) + x(0, u, [t[i], e]); + return N + } + function u(t, e) { + var i, n = t["[[Capabilities]]"], a = t["[[Handler]]"]; + try { + if ("Identity" === a) + i = e; + else { + if ("Thrower" === a) + throw e; + i = a.call(N, e) + } + } catch (i) { + return n["[[Reject]]"].call(N, i), + void I() + } + I(n["[[Resolve]]"].call(N, i)) + } + function f(t, e, n) { + var a = i(t); + try { + n.call(e, a["[[Resolve]]"], a["[[Reject]]"]) + } catch (t) { + return void I(a["[[Reject]]"].call(N, t)) + } + I() + } + function p(t) { + var e = { + configurable: !1, + enumerable: !1, + writable: !0, + value: N + }; + Object.defineProperty(this, "[[PromiseState]]", e), + Object.defineProperty(this, "[[PromiseConstructor]]", e), + Object.defineProperty(this, "[[PromiseResult]]", e), + Object.defineProperty(this, "[[PromiseFulfillReactions]]", e), + Object.defineProperty(this, "[[PromiseRejectReactions]]", e); + if ("object" !== s(this)) + throw new TypeError; + if (!("[[PromiseState]]"in this)) + throw TypeError(); + if (this["[[PromiseState]]"] !== N) + throw TypeError(); + if (!_(t)) + throw TypeError(); + return a(this, "[[PromiseConstructor]]", p), + function(t, e) { + a(t, "[[PromiseState]]", "pending"), + a(t, "[[PromiseFulfillReactions]]", []), + a(t, "[[PromiseRejectReactions]]", []); + var n = i(t); + try { + e.call(N, n["[[Resolve]]"], n["[[Reject]]"]) + } catch (t) { + n["[[Reject]]"].call(N, t) + } + return t + }(this, t) + } + function m() { + var t = function(e) { + var i = t["[[AlreadyCalled]]"]; + if (i.value) + return N; + i.value = !0; + var n = t["[[Index]]"] + , a = t["[[Values]]"] + , r = t["[[Capabilities]]"] + , s = t["[[RemainingElements]]"]; + try { + a[n] = e + } catch (t) { + return r["[[Reject]]"].call(N, t), + r["[[Promise]]"] + } + return s.value -= 1, + 0 === s.value ? r["[[Resolve]]"].call(N, a) : N + }; + return t + } + n(p, "all", function(t) { + var i = e(this) + , n = o(i); + try { + var r = y(t) + } catch (t) { + return n["[[Reject]]"].call(N, t), + n["[[Promise]]"] + } + for (var s = [], l = { + value: 1 + }, h = 0; ; ) { + try { + var c = b(r) + } catch (t) { + return n["[[Reject]]"].call(N, t), + n["[[Promise]]"] + } + if (!c) + return l.value -= 1, + 0 === l.value && n["[[Resolve]]"].apply(N, s), + n["[[Promise]]"]; + try { + var _ = v(c) + } catch (t) { + return n["[[Reject]]"].call(N, t), + n["[[Promise]]"] + } + try { + var u = i.resolve(_) + } catch (t) { + return n["[[Reject]]"].call(N, t), + n["[[Promise]]"] + } + var d = m(); + a(d, "[[AlreadyCalled]]", { + value: !1 + }), + a(d, "[[Index]]", h), + a(d, "[[Values]]", s), + a(d, "[[Capabilities]]", n), + a(d, "[[RemainingElements]]", l), + l.value += 1; + try { + u.then(d, n["[[Reject]]"]) + } catch (t) { + return n["[[Reject]]"].call(N, t), + n["[[Promise]]"] + } + h += 1 + } + }), + p.prototype = {}, + n(p, "race", function(t) { + var i = e(this) + , n = o(i); + try { + var a = y(t) + } catch (t) { + return n["[[Reject]]"].call(N, t), + n["[[Promise]]"] + } + for (; ; ) { + try { + var r = b(a) + } catch (t) { + return n["[[Reject]]"].call(N, t), + n["[[Promise]]"] + } + if (!r) + return n["[[Promise]]"]; + try { + var s = v(r) + } catch (t) { + return n["[[Reject]]"].call(N, t), + n["[[Promise]]"] + } + try { + var l = i.resolve(s) + } catch (t) { + return n["[[Reject]]"].call(N, t), + n["[[Promise]]"] + } + try { + l.then(n["[[Resolve]]"], n["[[Reject]]"]) + } catch (t) { + return n["[[Reject]]"].call(N, t), + n["[[Promise]]"] + } + } + }), + n(p, "reject", function(t) { + var i = o(e(this)); + return i["[[Reject]]"].call(N, t), + i["[[Promise]]"] + }), + n(p, "resolve", function(t) { + var i = e(this); + if (l(t) && d(t["[[PromiseConstructor]]"], i)) + return t; + var n = o(i); + return n["[[Resolve]]"].call(N, t), + n["[[Promise]]"] + }), + n(p.prototype, "catch", function(t) { + return this.then(N, t) + }), + p.prototype.constructor = p, + n(p.prototype, "then", function(t, e) { + if (!l(this)) + throw TypeError(); + _(t) || (t = "Identity"), + _(e) || (e = "Thrower"); + var i = o(this.constructor) + , n = { + "[[Capabilities]]": i, + "[[Handler]]": t + } + , a = { + "[[Capabilities]]": i, + "[[Handler]]": e + }; + return "pending" === this["[[PromiseState]]"] ? (this["[[PromiseFulfillReactions]]"].push(n), + this["[[PromiseRejectReactions]]"].push(a)) : "fulfilled" === this["[[PromiseState]]"] ? x(0, u, [n, this["[[PromiseResult]]"]]) : "rejected" === this["[[PromiseState]]"] && x(0, u, [a, this["[[PromiseResult]]"]]), + i["[[Promise]]"] + }), + "Promise"in t && !D || (t.Promise = p), + "cast"in t.Promise && (t.Promise.resolve = t.Promise.cast) + }(), + n(Promise.prototype, st, "Promise"), + "Reflect"in t && !D || (t.Reflect = {}), + n(Reflect, "apply", function(t, e, i) { + if (!_(t)) + throw TypeError(); + return Function.prototype.apply.call(t, e, i) + }), + n(Reflect, "construct", function(t, e) { + return __cons(t, e) + }), + n(Reflect, "defineProperty", function(t, e, i) { + try { + return Object.defineProperty(t, e, i), + !0 + } catch (t) { + return !1 + } + }), + n(Reflect, "deleteProperty", function(t, e) { + try { + return delete t[e], + !g(t, e) + } catch (t) { + return !1 + } + }), + n(Reflect, "enumerate", function(t) { + return function(t) { + var e = []; + if (Object(t) !== t) + return e; + for (var i = new Set; null !== t; ) + Object.getOwnPropertyNames(t).forEach(function(n) { + if (!i.has(n)) { + var a = Object.getOwnPropertyDescriptor(t, n); + a && (i.add(n), + a.enumerable && e.push(n)) + } + }), + t = Object.getPrototypeOf(t); + return e[et]() + }(t = h(t)) + }), + n(Reflect, "get", function(t, e, n) { + t = h(t), + e = String(e), + n = n === N ? t : h(n); + var a = i(t, e); + return a && "get"in a ? Function.prototype.call.call(a.get, n) : t[e] + }), + n(Reflect, "getOwnPropertyDescriptor", Object.getOwnPropertyDescriptor), + n(Reflect, "getPrototypeOf", Object.getPrototypeOf), + n(Reflect, "has", function(t, e) { + return String(e)in h(t) + }), + n(Reflect, "isExtensible", Object.isExtensible), + n(Reflect, "ownKeys", function(t) { + var e = h(t); + return Object.getOwnPropertyNames(e) + }), + n(Reflect, "preventExtensions", function(t) { + try { + return Object.preventExtensions(t), + !0 + } catch (t) { + return !1 + } + }), + n(Reflect, "set", function(t, e, n, a) { + t = h(t), + e = String(e), + a = a === N ? t : h(a); + var r = i(t, e); + try { + return r && "set"in r ? Function.prototype.call.call(r.set, a, n) : t[e] = n, + !0 + } catch (t) { + return !1 + } + }), + n(Reflect, "setPrototypeOf", function(t, e) { + try { + return t.__proto__ = e, + Reflect.getPrototypeOf(t) === e + } catch (t) { + return !1 + } + }) +}(self), +function(t) { + "use strict"; + function e(t) { + return t = Number(t), + a(t) ? 0 : 0 === t || t === 1 / 0 || t === -1 / 0 ? t : (t < 0 ? -1 : 1) * s(r(t)) + } + function i(t, e) { + if (typeof t != typeof e) + return !1; + switch (typeof t) { + case "undefined": + return !0; + case "number": + return t != t && e != e || t === e; + case "boolean": + case "string": + case "object": + default: + return t === e + } + } + var n = void 0 + , a = t.isNaN + , r = Math.abs + , s = Math.floor + , o = (Math.max, + Math.min); + !function(t, e, i, n) { + "includes"in t && !0 || ("function" == typeof i ? Object.defineProperty(t, "includes", { + value: i, + configurable: !0, + enumerable: !1, + writable: !0 + }) : Object.defineProperty(t, "includes", { + value: i, + configurable: !1, + enumerable: !1, + writable: !1 + })) + }(Array.prototype, 0, function(t) { + var a = arguments[1] + , r = function(t) { + if (null === t || t === n) + throw TypeError(); + return Object(t) + }(this) + , s = function(t) { + var i = e(t); + return i <= 0 ? 0 : o(i, 9007199254740991) + }(r.length); + if (0 === s) + return !1; + var l = e(a); + if (l >= 0) + var h = l; + else + (h = s + l) < 0 && (h = 0); + for (; h < s; ) { + if (r[h], + i(r[h], t)) + return !0; + h += 1 + } + return !1 + }) +}(this), +function(t) { + "use strict"; + function e(t, e, i, n) { + e in t && !n || ("function" == typeof i ? Object.defineProperty(t, e, { + value: i, + configurable: !0, + enumerable: !1, + writable: !0 + }) : Object.defineProperty(t, e, { + value: i, + configurable: !1, + enumerable: !1, + writable: !1 + })) + } + function i(t) { + if (null === t || t === s) + throw TypeError(); + return Object(t) + } + function n(t) { + var e = function(t) { + return t = Number(t), + o(t) ? 0 : 0 === t || t === 1 / 0 || t === -1 / 0 ? t : (t < 0 ? -1 : 1) * h(l(t)) + }(t); + return e <= 0 ? 0 : c(e, 9007199254740991) + } + function a(t, e, i) { + Object.defineProperty(t, e, { + value: i, + writable: !0, + enumerable: !0, + configurable: !0 + }) + } + function r(t, e) { + var i = []; + return Object.keys(t).forEach(function(n) { + var a = Object.getOwnPropertyDescriptor(t, n); + if (a && a.enumerable) + if ("key" === e) + i.push(n); + else { + var r = t[n]; + "value" === e ? i.push(r) : i.push([n, r]) + } + }), + i + } + var s = void 0 + , o = t.isNaN + , l = Math.abs + , h = Math.floor + , c = Math.min; + e(Object, "entries", function(t) { + return r(i(t), "key+value") + }), + e(Object, "getOwnPropertyDescriptors", function(t) { + for (var e = i(t), n = Object.getOwnPropertyNames(e), r = {}, s = 0; s < n.length; ++s) { + var o = n[s]; + a(r, o, Object.getOwnPropertyDescriptor(e, o)) + } + return r + }), + e(Object, "values", function(t) { + return r(i(t), "value") + }), + e(String.prototype, "padEnd", function(t) { + var e = arguments[1] + , i = String(this) + , a = i.length; + if (e === s) + var r = ""; + else + r = String(e); + "" === r && (r = " "); + var o = n(t); + if (o <= a) + return i; + for (var l = o - a, h = ""; h.length < l; ) + h += r; + return i + h.substring(0, l) + }), + e(String.prototype, "padStart", function(t) { + var e = arguments[1] + , i = String(this) + , a = i.length; + if (e === s) + var r = ""; + else + r = String(e); + "" === r && (r = " "); + var o = n(t); + if (o <= a) + return i; + for (var l = o - a, h = ""; h.length < l; ) + h += r; + return h.substring(0, l) + i + }) +}(this), +function(t) { + "use strict"; + "window"in t && "document"in t && ("head"in document || (document.head = document.getElementsByTagName("head")[0]), + ["abbr", "article", "aside", "audio", "bdi", "canvas", "data", "datalist", "details", "dialog", "figcaption", "figure", "footer", "header", "hgroup", "main", "mark", "meter", "nav", "output", "picture", "progress", "section", "summary", "template", "time", "video"].forEach(function(t) { + document.createElement(t) + }), + !("dataset"in document.createElement("span")) && "Element"in t && Element.prototype && Object.defineProperty && Object.defineProperty(Element.prototype, "dataset", { + get: function() { + for (var t = Object.create(null), e = 0; e < this.attributes.length; ++e) { + var i = this.attributes[e]; + i.specified && "data-" === i.name.substring(0, 5) && function(e, i) { + var n = i.replace(/-([a-z])/g, function(t, e) { + return e.toUpperCase() + }); + t[n] = e.getAttribute("data-" + i), + Object.defineProperty(t, n, { + get: function() { + return e.getAttribute("data-" + i) + }, + set: function(t) { + e.setAttribute("data-" + i, t) + } + }) + }(this, i.name.substring(5)) + } + return t + } + }), + function() { + if (!("atob"in t && "btoa"in t)) { + var e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + t.atob = function(t) { + var i = 0 + , n = [] + , a = 0 + , r = 0; + if ((t = (t = String(t)).replace(/\s/g, "")).length % 4 == 0 && (t = t.replace(/=+$/, "")), + t.length % 4 == 1) + throw Error("InvalidCharacterError"); + if (/[^+/0-9A-Za-z]/.test(t)) + throw Error("InvalidCharacterError"); + for (; i < t.length; ) + a = a << 6 | e.indexOf(t.charAt(i)), + 24 === (r += 6) && (n.push(String.fromCharCode(a >> 16 & 255)), + n.push(String.fromCharCode(a >> 8 & 255)), + n.push(String.fromCharCode(255 & a)), + r = 0, + a = 0), + i += 1; + return 12 === r ? (a >>= 4, + n.push(String.fromCharCode(255 & a))) : 18 === r && (a >>= 2, + n.push(String.fromCharCode(a >> 8 & 255)), + n.push(String.fromCharCode(255 & a))), + n.join("") + } + , + t.btoa = function(t) { + t = String(t); + var i, n, a, r, s, o, l, h = 0, c = []; + if (/[^\x00-\xFF]/.test(t)) + throw Error("InvalidCharacterError"); + for (; h < t.length; ) + r = (i = t.charCodeAt(h++)) >> 2, + s = (3 & i) << 4 | (n = t.charCodeAt(h++)) >> 4, + o = (15 & n) << 2 | (a = t.charCodeAt(h++)) >> 6, + l = 63 & a, + h === t.length + 2 ? (o = 64, + l = 64) : h === t.length + 1 && (l = 64), + c.push(e.charAt(r), e.charAt(s), e.charAt(o), e.charAt(l)); + return c.join("") + } + } + }(), + function() { + function e() { + var t = i; + i = Object.create(null), + a = -1, + Object.keys(t).forEach(function(e) { + var i = t[e]; + i.element && !function(t) { + return t.offsetWidth > 0 && t.offsetHeight > 0 + }(i.element) || i.callback(Date.now()) + }) + } + if (!("requestAnimationFrame"in t)) { + var i = Object.create(null) + , n = 0 + , a = -1; + t.requestAnimationFrame = function(r, s) { + var o = ++n; + return i[o] = { + callback: r, + element: s + }, + -1 === a && (a = t.setTimeout(e, 1e3 / 60)), + o + } + , + t.cancelAnimationFrame = function(e) { + delete i[e], + 0 === Object.keys(i).length && (t.clearTimeout(a), + a = -1) + } + } + }()) +}(self), +function(t) { + "use strict"; + function e(t, e) { + t && Object.keys(e).forEach(function(i) { + if (!(i in t || i in t.prototype)) + try { + Object.defineProperty(t.prototype, i, Object.getOwnPropertyDescriptor(e, i)) + } catch (n) { + t[i] = e[i] + } + }) + } + function i(t) { + var e = null; + return 1 === (t = t.map(function(t) { + return t instanceof Node ? t : document.createTextNode(t) + })).length ? e = t[0] : (e = document.createDocumentFragment(), + t.forEach(function(t) { + e.appendChild(t) + })), + e + } + if ("window"in t && "document"in t) { + document.querySelectorAll || (document.querySelectorAll = function(t) { + var e, i = document.createElement("style"), n = []; + for (document.documentElement.firstChild.appendChild(i), + document._qsa = [], + i.styleSheet.cssText = t + "{x-qsa:expression(document._qsa && document._qsa.push(this))}", + window.scrollBy(0, 0), + i.parentNode.removeChild(i); document._qsa.length; ) + (e = document._qsa.shift()).style.removeAttribute("x-qsa"), + n.push(e); + return document._qsa = null, + n + } + ), + document.querySelector || (document.querySelector = function(t) { + var e = document.querySelectorAll(t); + return e.length ? e[0] : null + } + ), + document.getElementsByClassName || (document.getElementsByClassName = function(t) { + return t = String(t).replace(/^|\s+/g, "."), + document.querySelectorAll(t) + } + ), + t.Node = t.Node || function() { + throw TypeError("Illegal constructor") + } + , + [["ELEMENT_NODE", 1], ["ATTRIBUTE_NODE", 2], ["TEXT_NODE", 3], ["CDATA_SECTION_NODE", 4], ["ENTITY_REFERENCE_NODE", 5], ["ENTITY_NODE", 6], ["PROCESSING_INSTRUCTION_NODE", 7], ["COMMENT_NODE", 8], ["DOCUMENT_NODE", 9], ["DOCUMENT_TYPE_NODE", 10], ["DOCUMENT_FRAGMENT_NODE", 11], ["NOTATION_NODE", 12]].forEach(function(e) { + e[0]in t.Node || (t.Node[e[0]] = e[1]) + }), + t.DOMException = t.DOMException || function() { + throw TypeError("Illegal constructor") + } + , + [["INDEX_SIZE_ERR", 1], ["DOMSTRING_SIZE_ERR", 2], ["HIERARCHY_REQUEST_ERR", 3], ["WRONG_DOCUMENT_ERR", 4], ["INVALID_CHARACTER_ERR", 5], ["NO_DATA_ALLOWED_ERR", 6], ["NO_MODIFICATION_ALLOWED_ERR", 7], ["NOT_FOUND_ERR", 8], ["NOT_SUPPORTED_ERR", 9], ["INUSE_ATTRIBUTE_ERR", 10], ["INVALID_STATE_ERR", 11], ["SYNTAX_ERR", 12], ["INVALID_MODIFICATION_ERR", 13], ["NAMESPACE_ERR", 14], ["INVALID_ACCESS_ERR", 15]].forEach(function(e) { + e[0]in t.DOMException || (t.DOMException[e[0]] = e[1]) + }), + function() { + function e(t, e, i) { + if ("function" == typeof e) { + "DOMContentLoaded" === t && (t = "load"); + var n = this + , a = function(t) { + t._timeStamp = Date.now(), + t._currentTarget = n, + e.call(this, t), + t._currentTarget = null + }; + this["_" + t + e] = a, + this.attachEvent("on" + t, a) + } + } + function i(t, e, i) { + if ("function" == typeof e) { + "DOMContentLoaded" === t && (t = "load"); + var n = this["_" + t + e]; + n && (this.detachEvent("on" + t, n), + this["_" + t + e] = null) + } + } + "Element"in t && !Element.prototype.addEventListener && Object.defineProperty && (Event.CAPTURING_PHASE = 1, + Event.AT_TARGET = 2, + Event.BUBBLING_PHASE = 3, + Object.defineProperties(Event.prototype, { + CAPTURING_PHASE: { + get: function() { + return 1 + } + }, + AT_TARGET: { + get: function() { + return 2 + } + }, + BUBBLING_PHASE: { + get: function() { + return 3 + } + }, + target: { + get: function() { + return this.srcElement + } + }, + currentTarget: { + get: function() { + return this._currentTarget + } + }, + eventPhase: { + get: function() { + return this.srcElement === this.currentTarget ? Event.AT_TARGET : Event.BUBBLING_PHASE + } + }, + bubbles: { + get: function() { + switch (this.type) { + case "click": + case "dblclick": + case "mousedown": + case "mouseup": + case "mouseover": + case "mousemove": + case "mouseout": + case "mousewheel": + case "keydown": + case "keypress": + case "keyup": + case "resize": + case "scroll": + case "select": + case "change": + case "submit": + case "reset": + return !0 + } + return !1 + } + }, + cancelable: { + get: function() { + switch (this.type) { + case "click": + case "dblclick": + case "mousedown": + case "mouseup": + case "mouseover": + case "mouseout": + case "mousewheel": + case "keydown": + case "keypress": + case "keyup": + case "submit": + return !0 + } + return !1 + } + }, + timeStamp: { + get: function() { + return this._timeStamp + } + }, + stopPropagation: { + value: function() { + this.cancelBubble = !0 + } + }, + preventDefault: { + value: function() { + this.returnValue = !1 + } + }, + defaultPrevented: { + get: function() { + return !1 === this.returnValue + } + } + }), + [Window, HTMLDocument, Element].forEach(function(t) { + t.prototype.addEventListener = e, + t.prototype.removeEventListener = i + })) + }(), + function() { + function e(t, e) { + e = e || { + bubbles: !1, + cancelable: !1, + detail: void 0 + }; + var i = document.createEvent("CustomEvent"); + return i.initCustomEvent(t, e.bubbles, e.cancelable, e.detail), + i + } + "CustomEvent"in t && "function" == typeof t.CustomEvent || (e.prototype = t.Event.prototype, + t.CustomEvent = e) + }(), + window.addEvent = function(t, e, i) { + t.addEventListener ? t.addEventListener(e, i, !1) : t.attachEvent && (t["e" + e + i] = i, + t[e + i] = function() { + var n = window.event; + n.currentTarget = t, + n.preventDefault = function() { + n.returnValue = !1 + } + , + n.stopPropagation = function() { + n.cancelBubble = !0 + } + , + n.target = n.srcElement, + n.timeStamp = Date.now(), + t["e" + e + i].call(this, n) + } + , + t.attachEvent("on" + e, t[e + i])) + } + , + window.removeEvent = function(t, e, i) { + t.removeEventListener ? t.removeEventListener(e, i, !1) : t.detachEvent && (t.detachEvent("on" + e, t[e + i]), + t[e + i] = null, + t["e" + e + i] = null) + } + , + function() { + function e(t, e) { + function i(t) { + return t.length ? t.split(/\s+/g) : [] + } + function n(t, e) { + var n = i(e) + , a = n.indexOf(t); + return -1 !== a && n.splice(a, 1), + n.join(" ") + } + if (Object.defineProperties(this, { + length: { + get: function() { + return i(t[e]).length + } + }, + item: { + value: function(n) { + var a = i(t[e]); + return 0 <= n && n < a.length ? a[n] : null + } + }, + contains: { + value: function(n) { + if (0 === (n = String(n)).length) + throw SyntaxError(); + if (/\s/.test(n)) + throw Error("InvalidCharacterError"); + return -1 !== i(t[e]).indexOf(n) + } + }, + add: { + value: function() { + var n = Array.prototype.slice.call(arguments).map(String); + if (n.some(function(t) { + return 0 === t.length + })) + throw SyntaxError(); + if (n.some(function(t) { + return /\s/.test(t) + })) + throw Error("InvalidCharacterError"); + try { + var a = t[e] + , r = i(a); + if (0 === (n = n.filter(function(t) { + return -1 === r.indexOf(t) + })).length) + return; + 0 === a.length || /\s$/.test(a) || (a += " "), + a += n.join(" "), + t[e] = a + } finally { + var s = i(t[e]).length; + this.length !== s && (this.length = s) + } + } + }, + remove: { + value: function() { + var a = Array.prototype.slice.call(arguments).map(String); + if (a.some(function(t) { + return 0 === t.length + })) + throw SyntaxError(); + if (a.some(function(t) { + return /\s/.test(t) + })) + throw Error("InvalidCharacterError"); + try { + var r = t[e]; + a.forEach(function(t) { + r = n(t, r) + }), + t[e] = r + } finally { + var s = i(t[e]).length; + this.length !== s && (this.length = s) + } + } + }, + toggle: { + value: function(a) { + var r = arguments[1]; + try { + if (0 === (a = String(a)).length) + throw SyntaxError(); + if (/\s/.test(a)) + throw Error("InvalidCharacterError"); + var s = i(t[e]).indexOf(a); + if (-1 !== s && (!r || void 0 === r)) + return t[e] = n(a, t[e]), + !1; + if (-1 !== s && r) + return !0; + var o = t[e]; + return 0 === o.length || /\s$/.test(o) || (o += " "), + o += a, + t[e] = o, + !0 + } finally { + var l = i(t[e]).length; + this.length !== l && (this.length = l) + } + } + }, + toString: { + value: function() { + return t[e] + } + } + }), + "length"in this) + for (var a = 0; a < 100; ++a) + Object.defineProperty(this, String(a), { + get: function(t) { + return function() { + return this.item(t) + } + }(a) + }); + else + this.length = i(t[e]).length + } + function i(e, i) { + "Element"in t && Element.prototype && Object.defineProperty && Object.defineProperty(Element.prototype, e, { + get: i + }) + } + "classList"in document.createElement("span") ? window.getClassList = function(t) { + return t.classList + } + : (window.getClassList = function(t) { + return new e(t,"className") + } + , + i("classList", function() { + return new e(this,"className") + })), + "relList"in document.createElement("link") ? window.getRelList = function(t) { + return t.relList + } + : (window.getRelList = function(t) { + return new e(t,"rel") + } + , + i("relList", function() { + return new e(this,"rel") + })), + function() { + if ("DOMTokenList"in t) { + var e = document.createElement("span"); + "classList"in e && (e.classList.toggle("x", !1), + e.classList.contains("x") && (t.DOMTokenList.prototype.toggle = function(t) { + var e = arguments[1]; + if (void 0 === e) { + var i = !this.contains(t); + return this[i ? "add" : "remove"](t), + i + } + return e = !!e, + this[e ? "add" : "remove"](t), + e + } + )) + } + }(), + "previousElementSibling"in document.documentElement || i("previousElementSibling", function() { + for (var t = this.previousSibling; t && t.nodeType !== Node.ELEMENT_NODE; ) + t = t.previousSibling; + return t + }), + "nextElementSibling"in document.documentElement || i("nextElementSibling", function() { + for (var t = this.nextSibling; t && t.nodeType !== Node.ELEMENT_NODE; ) + t = t.nextSibling; + return t + }) + }(), + "Element"in t && !Element.prototype.matches && (Element.prototype.msMatchesSelector ? Element.prototype.matches = Element.prototype.msMatchesSelector : Element.prototype.oMatchesSelector ? Element.prototype.matches = Element.prototype.oMatchesSelector : Element.prototype.mozMatchesSelector ? Element.prototype.matches = Element.prototype.mozMatchesSelector : Element.prototype.webkitMatchesSelector ? Element.prototype.matches = Element.prototype.webkitMatchesSelector : document.querySelectorAll && (Element.prototype.matches = function(t) { + for (var e = (this.document || this.ownerDocument).querySelectorAll(t), i = e.length; --i >= 0 && e.item(i) !== this; ) + ; + return i > -1 + } + )), + window.Element && !Element.prototype.closest && (Element.prototype.closest = function(t) { + var e, i = (this.document || this.ownerDocument).querySelectorAll(t), n = this; + do { + for (e = i.length; --e >= 0 && i.item(e) !== n; ) + ; + } while (e < 0 && (n = n.parentElement));return n + } + ); + var n = { + prepend: function() { + var t = [].slice.call(arguments); + t = i(t), + this.insertBefore(t, this.firstChild) + }, + append: function() { + var t = [].slice.call(arguments); + t = i(t), + this.appendChild(t) + } + }; + e(t.Document || t.HTMLDocument, n), + e(t.DocumentFragment, n), + e(t.Element, n); + var a = { + before: function() { + var t = [].slice.call(arguments) + , e = this.parentNode; + if (e) { + for (var n = this.previousSibling; -1 !== t.indexOf(n); ) + n = n.previousSibling; + var a = i(t); + e.insertBefore(a, n ? n.nextSibling : e.firstChild) + } + }, + after: function() { + var t = [].slice.call(arguments) + , e = this.parentNode; + if (e) { + for (var n = this.nextSibling; -1 !== t.indexOf(n); ) + n = n.nextSibling; + var a = i(t); + e.insertBefore(a, n) + } + }, + replaceWith: function() { + var t = [].slice.call(arguments) + , e = this.parentNode; + if (e) { + for (var n = this.nextSibling; -1 !== t.indexOf(n); ) + n = n.nextSibling; + var a = i(t); + this.parentNode === e ? e.replaceChild(a, this) : e.insertBefore(a, n) + } + }, + remove: function() { + this.parentNode && this.parentNode.removeChild(this) + } + }; + e(t.DocumentType, a), + e(t.Element, a), + e(t.CharacterData, a) + } +}(self), +function(t) { + "use strict"; + "window"in t && "document"in t && (t.XMLHttpRequest = t.XMLHttpRequest || function() { + try { + return new ActiveXObject("Msxml2.XMLHTTP.6.0") + } catch (t) {} + try { + return new ActiveXObject("Msxml2.XMLHTTP.3.0") + } catch (t) {} + try { + return new ActiveXObject("Msxml2.XMLHTTP") + } catch (t) {} + throw Error("This browser does not support XMLHttpRequest.") + } + , + [["UNSENT", 0], ["OPENED", 1], ["HEADERS_RECEIVED", 2], ["LOADING", 3], ["DONE", 4]].forEach(function(e) { + e[0]in t.XMLHttpRequest || (t.XMLHttpRequest[e[0]] = e[1]) + }), + function() { + function e(t) { + if (this._data = [], + t) + for (var e = 0; e < t.elements.length; ++e) { + var i = t.elements[e]; + "" !== i.name && this.append(i.name, i.value) + } + } + if (!("FormData"in t)) { + e.prototype = { + append: function(e, i) { + if ("Blob"in t && i instanceof t.Blob) + throw TypeError("Blob not supported"); + e = String(e), + this._data.push([e, i]) + }, + toString: function() { + return this._data.map(function(t) { + return encodeURIComponent(t[0]) + "=" + encodeURIComponent(t[1]) + }).join("&") + } + }, + t.FormData = e; + var i = t.XMLHttpRequest.prototype.send; + t.XMLHttpRequest.prototype.send = function(t) { + return t instanceof e && (this.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"), + arguments[0] = t.toString()), + i.apply(this, arguments) + } + } + }()) +}(self), +function(t) { + "use strict"; + "window"in t && "document"in t && "TextRectangle"in t && !("width"in t.TextRectangle.prototype) && Object.defineProperties(t.TextRectangle.prototype, { + width: { + get: function() { + return this.right - this.left + } + }, + height: { + get: function() { + return this.bottom - this.top + } + } + }) +}(self), +function(t) { + "use strict"; + function e(e) { + return !!e && ("Symbol"in t && "iterator"in t.Symbol && "function" == typeof e[Symbol.iterator] || !!Array.isArray(e)) + } + function i(t) { + return "from"in Array ? Array.from(t) : Array.prototype.slice.call(t) + } + !function() { + function n(t) { + var e = "" + , i = !0; + return t.forEach(function(t) { + var n = encodeURIComponent(t.name) + , a = encodeURIComponent(t.value); + i || (e += "&"), + e += n + "=" + a, + i = !1 + }), + e.replace(/%20/g, "+") + } + function a(t, e) { + var i = t.split("&"); + e && -1 === i[0].indexOf("=") && (i[0] = "=" + i[0]); + var n = []; + i.forEach(function(t) { + if (0 !== t.length) { + var e = t.indexOf("="); + if (-1 !== e) + var i = t.substring(0, e) + , a = t.substring(e + 1); + else + i = t, + a = ""; + i = i.replace(/\+/g, " "), + a = a.replace(/\+/g, " "), + n.push({ + name: i, + value: a + }) + } + }); + var a = []; + return n.forEach(function(t) { + a.push({ + name: decodeURIComponent(t.name), + value: decodeURIComponent(t.value) + }) + }), + a + } + function r(t) { + var s = this; + this._list = [], + void 0 === t || null === t || (t instanceof r ? this._list = a(String(t)) : "object" == typeof t && e(t) ? i(t).forEach(function(t) { + if (!e(t)) + throw TypeError(); + var n = i(t); + if (2 !== n.length) + throw TypeError(); + s._list.push({ + name: String(n[0]), + value: String(n[1]) + }) + }) : "object" == typeof t && t ? Object.keys(t).forEach(function(e) { + s._list.push({ + name: String(e), + value: String(t[e]) + }) + }) : ("?" === (t = String(t)).substring(0, 1) && (t = t.substring(1)), + this._list = a(t))), + this._url_object = null, + this._setList = function(t) { + o || (s._list = t) + } + ; + var o = !1; + this._update_steps = function() { + o || (o = !0, + s._url_object && ("about:" === s._url_object.protocol && -1 !== s._url_object.pathname.indexOf("?") && (s._url_object.pathname = s._url_object.pathname.split("?")[0]), + s._url_object.search = n(s._list), + o = !1)) + } + } + function s(t, e) { + var i = 0; + this.next = function() { + if (i >= t.length) + return { + done: !0, + value: void 0 + }; + var n = t[i++]; + return { + done: !1, + value: "key" === e ? n.name : "value" === e ? n.value : [n.name, n.value] + } + } + } + function o(e, i) { + function n() { + var t = o.href.replace(/#$|\?$|\?(?=#)/g, ""); + o.href !== t && (o.href = t) + } + function s() { + _._setList(o.search ? a(o.search.substring(1)) : []), + _._update_steps() + } + if (!(this instanceof t.URL)) + throw new TypeError("Failed to construct 'URL': Please use the 'new' operator."); + i && (e = function() { + if (l) + return new h(e,i).href; + var t; + try { + var n; + if ("[object OperaMini]" === Object.prototype.toString.call(window.operamini) ? ((t = document.createElement("iframe")).style.display = "none", + document.documentElement.appendChild(t), + n = t.contentWindow.document) : document.implementation && document.implementation.createHTMLDocument ? n = document.implementation.createHTMLDocument("") : document.implementation && document.implementation.createDocument ? ((n = document.implementation.createDocument("http://www.w3.org/1999/xhtml", "html", null)).documentElement.appendChild(n.createElement("head")), + n.documentElement.appendChild(n.createElement("body"))) : window.ActiveXObject && ((n = new window.ActiveXObject("htmlfile")).write(""), + n.close()), + !n) + throw Error("base not supported"); + var a = n.createElement("base"); + a.href = i, + n.getElementsByTagName("head")[0].appendChild(a); + var r = n.createElement("a"); + return r.href = e, + r.href + } finally { + t && t.parentNode.removeChild(t) + } + }()); + var o = function(t) { + if (l) + return new h(t); + var e = document.createElement("a"); + return e.href = t, + e + }(e || "") + , c = function() { + if (!("defineProperties"in Object)) + return !1; + try { + var t = {}; + return Object.defineProperties(t, { + prop: { + get: function() { + return !0 + } + } + }), + t.prop + } catch (t) { + return !1 + } + }() ? this : document.createElement("a") + , _ = new r(o.search ? o.search.substring(1) : null); + return _._url_object = c, + Object.defineProperties(c, { + href: { + get: function() { + return o.href + }, + set: function(t) { + o.href = t, + n(), + s() + }, + enumerable: !0, + configurable: !0 + }, + origin: { + get: function() { + return "origin"in o ? o.origin : this.protocol + "//" + this.host + }, + enumerable: !0, + configurable: !0 + }, + protocol: { + get: function() { + return o.protocol + }, + set: function(t) { + o.protocol = t + }, + enumerable: !0, + configurable: !0 + }, + username: { + get: function() { + return o.username + }, + set: function(t) { + o.username = t + }, + enumerable: !0, + configurable: !0 + }, + password: { + get: function() { + return o.password + }, + set: function(t) { + o.password = t + }, + enumerable: !0, + configurable: !0 + }, + host: { + get: function() { + var t = { + "http:": /:80$/, + "https:": /:443$/, + "ftp:": /:21$/ + }[o.protocol]; + return t ? o.host.replace(t, "") : o.host + }, + set: function(t) { + o.host = t + }, + enumerable: !0, + configurable: !0 + }, + hostname: { + get: function() { + return o.hostname + }, + set: function(t) { + o.hostname = t + }, + enumerable: !0, + configurable: !0 + }, + port: { + get: function() { + return o.port + }, + set: function(t) { + o.port = t + }, + enumerable: !0, + configurable: !0 + }, + pathname: { + get: function() { + return "/" !== o.pathname.charAt(0) ? "/" + o.pathname : o.pathname + }, + set: function(t) { + o.pathname = t + }, + enumerable: !0, + configurable: !0 + }, + search: { + get: function() { + return o.search + }, + set: function(t) { + o.search !== t && (o.search = t, + n(), + s()) + }, + enumerable: !0, + configurable: !0 + }, + searchParams: { + get: function() { + return _ + }, + enumerable: !0, + configurable: !0 + }, + hash: { + get: function() { + return o.hash + }, + set: function(t) { + o.hash = t, + n() + }, + enumerable: !0, + configurable: !0 + }, + toString: { + value: function() { + return o.toString() + }, + enumerable: !1, + configurable: !0 + }, + valueOf: { + value: function() { + return o.valueOf() + }, + enumerable: !1, + configurable: !0 + } + }), + c + } + var l, h = t.URL; + try { + if (h) { + if ("searchParams"in (l = new t.URL("http://example.com"))) + return; + "href"in l || (l = void 0) + } + } catch (t) {} + if (Object.defineProperties(r.prototype, { + append: { + value: function(t, e) { + this._list.push({ + name: t, + value: e + }), + this._update_steps() + }, + writable: !0, + enumerable: !0, + configurable: !0 + }, + delete: { + value: function(t) { + for (var e = 0; e < this._list.length; ) + this._list[e].name === t ? this._list.splice(e, 1) : ++e; + this._update_steps() + }, + writable: !0, + enumerable: !0, + configurable: !0 + }, + get: { + value: function(t) { + for (var e = 0; e < this._list.length; ++e) + if (this._list[e].name === t) + return this._list[e].value; + return null + }, + writable: !0, + enumerable: !0, + configurable: !0 + }, + getAll: { + value: function(t) { + for (var e = [], i = 0; i < this._list.length; ++i) + this._list[i].name === t && e.push(this._list[i].value); + return e + }, + writable: !0, + enumerable: !0, + configurable: !0 + }, + has: { + value: function(t) { + for (var e = 0; e < this._list.length; ++e) + if (this._list[e].name === t) + return !0; + return !1 + }, + writable: !0, + enumerable: !0, + configurable: !0 + }, + set: { + value: function(t, e) { + for (var i = !1, n = 0; n < this._list.length; ) + this._list[n].name === t ? i ? this._list.splice(n, 1) : (this._list[n].value = e, + i = !0, + ++n) : ++n; + i || this._list.push({ + name: t, + value: e + }), + this._update_steps() + }, + writable: !0, + enumerable: !0, + configurable: !0 + }, + entries: { + value: function() { + return new s(this._list,"key+value") + }, + writable: !0, + enumerable: !0, + configurable: !0 + }, + keys: { + value: function() { + return new s(this._list,"key") + }, + writable: !0, + enumerable: !0, + configurable: !0 + }, + values: { + value: function() { + return new s(this._list,"value") + }, + writable: !0, + enumerable: !0, + configurable: !0 + }, + forEach: { + value: function(t) { + var e = arguments.length > 1 ? arguments[1] : void 0; + this._list.forEach(function(i, n) { + t.call(e, i.value, i.name) + }) + }, + writable: !0, + enumerable: !0, + configurable: !0 + }, + toString: { + value: function() { + return n(this._list) + }, + writable: !0, + enumerable: !1, + configurable: !0 + } + }), + "Symbol"in t && "iterator"in t.Symbol && (Object.defineProperty(r.prototype, t.Symbol.iterator, { + value: r.prototype.entries, + writable: !0, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(s.prototype, t.Symbol.iterator, { + value: function() { + return this + }, + writable: !0, + enumerable: !0, + configurable: !0 + })), + h) + for (var c in h) + h.hasOwnProperty(c) && "function" == typeof h[c] && (o[c] = h[c]); + t.URL = o, + t.URLSearchParams = r + }(), + function() { + if ("1" !== new t.URLSearchParams([["a", 1]]).get("a") || "1" !== new t.URLSearchParams({ + a: 1 + }).get("a")) { + var n = t.URLSearchParams; + t.URLSearchParams = function(t) { + if (t && "object" == typeof t && e(t)) { + var a = new n; + return i(t).forEach(function(t) { + if (!e(t)) + throw TypeError(); + var n = i(t); + if (2 !== n.length) + throw TypeError(); + a.append(n[0], n[1]) + }), + a + } + return t && "object" == typeof t ? (a = new n, + Object.keys(t).forEach(function(e) { + a.set(e, t[e]) + }), + a) : new n(t) + } + } + }() +}(self), +function(t) { + "use strict"; + function e(t) { + if ((t = String(t)).match(/[^\x00-\xFF]/)) + throw TypeError("Not a valid ByteString"); + return t + } + function i(t) { + return (t = String(t)).replace(/([\u0000-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDFFF])/g, function(t) { + return /^[\uD800-\uDFFF]$/.test(t) ? "�" : t + }) + } + function n(t) { + return String(t).replace(/[a-z]/g, function(t) { + return t.toUpperCase() + }) + } + function a(t) { + return /^[!#$%&'*+\-.09A-Z^_`a-z|~]+$/.test(t) + } + function r(t) { + return { + "accept-charset": !0, + "accept-encoding": !0, + "access-control-request-headers": !0, + "access-control-request-method": !0, + connection: !0, + "content-length": !0, + cookie: !0, + cookie2: !0, + date: !0, + dnt: !0, + expect: !0, + host: !0, + "keep-alive": !0, + origin: !0, + referer: !0, + te: !0, + trailer: !0, + "transfer-encoding": !0, + upgrade: !0, + "user-agent": !0, + via: !0 + }[t = String(t).toLowerCase()] || "proxy-" === t.substring(0, 6) || "sec-" === t.substring(0, 4) + } + function s(t) { + return { + "set-cookie": !0, + "set-cookie2": !0 + }[t = String(t).toLowerCase()] + } + function o(t, e) { + return "accept" === (t = String(t).toLowerCase()) || "accept-language" === t || "content-language" === t || "content-type" === t && -1 !== ["application/x-www-form-encoded", "multipart/form-data", "text/plain"].indexOf(e) + } + function l(t) { + this._guard = "none", + this._headerList = [], + t && h(this, t) + } + function h(t, e) { + e instanceof l ? e._headerList.forEach(function(e) { + t.append(e[0], e[1]) + }) : Array.isArray(e) ? e.forEach(function(e) { + if (!Array.isArray(e) || 2 !== e.length) + throw TypeError(); + t.append(e[0], e[1]) + }) : (e = Object(e), + Object.keys(e).forEach(function(i) { + t.append(i, e[i]) + })) + } + function c(t) { + this._headers = t, + this._index = 0 + } + function _(t) { + this._stream = t, + this.bodyUsed = !1 + } + function u(t, a) { + if (arguments.length < 1) + throw TypeError("Not enough arguments"); + if (_.call(this, null), + this.method = "GET", + this.url = "", + this.headers = new l, + this.headers._guard = "request", + this.referrer = null, + this.mode = null, + this.credentials = "omit", + t instanceof u) { + if (t.bodyUsed) + throw TypeError(); + t.bodyUsed = !0, + this.method = t.method, + this.url = t.url, + this.headers = new l(t.headers), + this.headers._guard = t.headers._guard, + this.credentials = t.credentials, + this._stream = t._stream + } else + t = i(t), + this.url = String(new URL(t,self.location)); + if ("method"in (a = Object(a))) { + var r = e(a.method); + if (function(t) { + return "CONNECT" === (t = n(t)) || "TRACE" === t || "TRACK" === t + }(r)) + throw TypeError(); + this.method = function(t) { + var e = n(t); + return "DELETE" === e || "GET" === e || "HEAD" === e || "OPTIONS" === e || "POST" === e || "PUT" === e ? e : t + }(r) + } + "headers"in a && (this.headers = new l, + h(this.headers, a.headers)), + "body"in a && (this._stream = a.body), + "credentials"in a && -1 !== ["omit", "same-origin", "include"].indexOf(a.credentials) && (this.credentials = a.credentials) + } + function d(t, e) { + if (arguments.length < 1 && (t = ""), + this.headers = new l, + this.headers._guard = "response", + t instanceof XMLHttpRequest && "_url"in t) { + var n = t; + return this.type = "basic", + this.url = i(n._url), + this.status = n.status, + this.ok = 200 <= this.status && this.status <= 299, + this.statusText = n.statusText, + n.getAllResponseHeaders().split(/\r?\n/).filter(function(t) { + return t.length + }).forEach(function(t) { + var e = t.indexOf(":"); + this.headers.append(t.substring(0, e), t.substring(e + 2)) + }, this), + void _.call(this, n.responseText) + } + _.call(this, t), + e = Object(e) || {}, + this.url = ""; + var a = "status"in e ? function(t) { + return 65535 & t + }(e.status) : 200; + if (a < 200 || a > 599) + throw RangeError(); + this.status = a, + this.ok = 200 <= this.status && this.status <= 299; + var r = "statusText"in e ? String(e.statusText) : "OK"; + if (/[^\x00-\xFF]/.test(r)) + throw TypeError(); + this.statusText = r, + "headers"in e && h(this.headers, e), + this.type = "basic" + } + (l.prototype = { + append: function(t, i) { + if (t = e(t), + !a(t)) + throw TypeError(); + if ("immutable" === this._guard) + throw TypeError(); + "request" === this._guard && r(t) || ("request-no-CORS" !== this._guard || o(t, i)) && ("response" === this._guard && s(t) || (t = t.toLowerCase(), + this._headerList.push([t, i]))) + }, + delete: function(t) { + if (t = e(t), + !a(t)) + throw TypeError(); + if ("immutable" === this._guard) + throw TypeError(); + if (("request" !== this._guard || !r(t)) && ("request-no-CORS" !== this._guard || o(t, "invalid")) && ("response" !== this._guard || !s(t))) { + t = t.toLowerCase(); + for (var i = 0; i < this._headerList.length; ) + this._headerList[i][0] === t ? this._headerList.splice(i, 1) : ++i + } + }, + get: function(t) { + if (t = e(t), + !a(t)) + throw TypeError(); + t = t.toLowerCase(); + for (var i = 0; i < this._headerList.length; ++i) + if (this._headerList[i][0] === t) + return this._headerList[i][1]; + return null + }, + getAll: function(t) { + if (t = e(t), + !a(t)) + throw TypeError(); + t = t.toLowerCase(); + for (var i = [], n = 0; n < this._headerList.length; ++n) + this._headerList[n][0] === t && i.push(this._headerList[n][1]); + return i + }, + has: function(t) { + if (t = e(t), + !a(t)) + throw TypeError(); + t = t.toLowerCase(); + for (var i = 0; i < this._headerList.length; ++i) + if (this._headerList[i][0] === t) + return !0; + return !1 + }, + set: function(t, i) { + if (t = e(t), + !a(t)) + throw TypeError(); + if ("immutable" === this._guard) + throw TypeError(); + if (("request" !== this._guard || !r(t)) && ("request-no-CORS" !== this._guard || o(t, i)) && ("response" !== this._guard || !s(t))) { + t = t.toLowerCase(); + for (var n = 0; n < this._headerList.length; ++n) + if (this._headerList[n][0] === t) { + for (this._headerList[n++][1] = i; n < this._headerList.length; ) + this._headerList[n][0] === t ? this._headerList.splice(n, 1) : ++n; + return + } + this._headerList.push([t, i]) + } + } + })[Symbol.iterator] = function() { + return new c(this) + } + , + (c.prototype = {}).next = function() { + return this._index >= this._headers._headerList.length ? { + value: void 0, + done: !0 + } : { + value: this._headers._headerList[this._index++], + done: !1 + } + } + , + c.prototype[Symbol.iterator] = function() { + return this + } + , + u.prototype = _.prototype = { + arrayBuffer: function() { + if (this.bodyUsed) + return Promise.reject(TypeError()); + if (this.bodyUsed = !0, + this._stream instanceof ArrayBuffer) + return Promise.resolve(this._stream); + var t = this._stream; + return new Promise(function(e, i) { + var n = unescape(encodeURIComponent(t)).split("").map(function(t) { + return t.charCodeAt(0) + }); + e(new Uint8Array(n).buffer) + } + ) + }, + blob: function() { + return this.bodyUsed ? Promise.reject(TypeError()) : (this.bodyUsed = !0, + this._stream instanceof Blob ? Promise.resolve(this._stream) : Promise.resolve(new Blob([this._stream]))) + }, + formData: function() { + return this.bodyUsed ? Promise.reject(TypeError()) : (this.bodyUsed = !0, + this._stream instanceof FormData ? Promise.resolve(this._stream) : Promise.reject(Error("Not yet implemented"))) + }, + json: function() { + if (this.bodyUsed) + return Promise.reject(TypeError()); + this.bodyUsed = !0; + var t = this; + return new Promise(function(e, i) { + e(JSON.parse(t._stream)) + } + ) + }, + text: function() { + return this.bodyUsed ? Promise.reject(TypeError()) : (this.bodyUsed = !0, + Promise.resolve(String(this._stream))) + } + }, + d.prototype = _.prototype, + d.redirect = function() { + throw Error("Not supported") + } + , + "fetch"in t || (t.Headers = l, + t.Request = u, + t.Response = d, + t.fetch = function(t, e) { + return new Promise(function(i, n) { + var a = new u(t,e) + , r = new XMLHttpRequest; + r._url = a.url; + try { + r.open(a.method, a.url, !0) + } catch (t) { + throw TypeError(t.message) + } + for (var s = a.headers[Symbol.iterator](), o = s.next(); !o.done; o = s.next()) + r.setRequestHeader(o.value[0], o.value[1]); + "include" === a.credentials && (r.withCredentials = !0), + r.onreadystatechange = function() { + r.readyState === XMLHttpRequest.DONE && (0 === r.status ? n(new TypeError("Network error")) : i(new d(r))) + } + , + r.send(a._stream) + } + ) + } + ) +}(self); +var uiscript; +!function(t) { + !function(e) { + var i = function() { + function i(t) { + this.scrollview = null, + this.page_skin = null, + this.chara_infos = [], + this.choosed_chara_index = 0, + this.choosed_skin_id = 0, + this.me = t, + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? (this.me.getChildByName("left").visible = !0, + this.me.getChildByName("left_en").visible = !1, + this.scrollview = this.me.getChildByName("left").scriptMap["capsui.CScrollView"]) : (this.me.getChildByName("left").visible = !1, + this.me.getChildByName("left_en").visible = !0, + this.scrollview = this.me.getChildByName("left_en").scriptMap["capsui.CScrollView"]), + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_character_cell), -1, 3), + this.page_skin = new e.Page_Skin(this.me.getChildByName("right")) + } + return i.prototype.show = function(e) { + var i = this; + this.me.visible = !0, + e ? this.me.alpha = 1 : t.UIBase.anim_alpha_in(this.me, { + x: 0 + }, 200, 0), + this.choosed_chara_index = 0, + this.chara_infos = []; + for (var n = 0; n < t.UI_Sushe.characters.length; n++) + this.chara_infos.push({ + chara_id: t.UI_Sushe.characters[n].charid, + skin_id: t.UI_Sushe.characters[n].skin + }), + t.UI_Sushe.main_character_id == this.chara_infos[n].chara_id && (this.choosed_chara_index = n); + this.choosed_skin_id = this.chara_infos[this.choosed_chara_index].skin_id, + this.scrollview.reset(), + this.scrollview.addItem(t.UI_Sushe.characters.length); + var a = this.chara_infos[this.choosed_chara_index]; + this.page_skin.show(a.chara_id, a.skin_id, Laya.Handler.create(this, function(t) { + i.choosed_skin_id = t, + a.skin_id = t, + i.scrollview.wantToRefreshItem(i.choosed_chara_index) + }, null, !1)) + } + , + i.prototype.render_character_cell = function(e) { + var i = this + , n = e.index + , a = e.container + , r = e.cache_data; + r.index = n; + var s = this.chara_infos[n]; + r.inited || (r.inited = !0, + r.skin = new t.UI_Character_Skin(a.getChildByName("btn").getChildByName("head"))); + var o = a.getChildByName("btn"); + o.getChildByName("choose").visible = n == this.choosed_chara_index, + r.skin.setSkin(s.skin_id, "bighead"), + o.getChildByName("using").visible = n == this.choosed_chara_index, + o.getChildByName("label_name").text = cfg.item_definition.character.find(s.chara_id)["name_" + GameMgr.client_language], + a.getChildByName("btn").clickHandler = new Laya.Handler(this,function() { + if (n != i.choosed_chara_index) { + var t = i.choosed_chara_index; + i.choosed_chara_index = n, + i.choosed_skin_id = s.skin_id, + i.page_skin.show(s.chara_id, s.skin_id, Laya.Handler.create(i, function(t) { + i.choosed_skin_id = t, + s.skin_id = t, + r.skin.setSkin(t, "bighead") + }, null, !1)), + i.scrollview.wantToRefreshItem(t), + i.scrollview.wantToRefreshItem(n) + } + } + ) + } + , + i.prototype.close = function(e) { + var i = this; + if (this.me.visible) + if (e) + this.me.visible = !1; + else { + var n = this.chara_infos[this.choosed_chara_index]; + n.chara_id != t.UI_Sushe.main_character_id && (app.NetAgent.sendReq2Lobby("Lobby", "changeMainCharacter", { + character_id: n.chara_id + }, function(t, e) {}), + t.UI_Sushe.main_character_id = n.chara_id), + this.choosed_skin_id != GameMgr.Inst.account_data.avatar_id && app.NetAgent.sendReq2Lobby("Lobby", "changeCharacterSkin", { + character_id: n.chara_id, + skin: this.choosed_skin_id + }, function(t, e) {}); + for (var a = 0; a < t.UI_Sushe.characters.length; a++) + if (t.UI_Sushe.characters[a].charid == n.chara_id) { + t.UI_Sushe.characters[a].skin = this.choosed_skin_id; + break + } + GameMgr.Inst.account_data.avatar_id = this.choosed_skin_id, + t.UIBase.anim_alpha_out(this.me, { + x: 0 + }, 200, 0, Laya.Handler.create(this, function() { + i.me.visible = !1 + })) + } + } + , + i + }(); + e.Page_Waiting_Head = i + }(t.zhuangban || (t.zhuangban = {})) +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + !function(e) { + var i = function() { + function e(t) { + this.skins = [], + this.using_id = -1, + this.me = t, + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.render_item, null, !1), -1, 3) + } + return e.prototype.show = function(t, e, i) { + var n = this; + this.me.visible = !0, + this.chara_id = t, + this.when_change = i, + this.using_id = e, + this.skins = []; + var a = cfg.item_definition.character.get(this.chara_id); + if (this.skins.push(a.init_skin), + a.can_marry && this.skins.push(a.full_fetter_skin), + a.skin_lib) + for (var r = 0; r < a.skin_lib.length; r++) + a.skin_lib[r] && this.skins.push(a.skin_lib[r]); + cfg.item_definition.skin.forEach(function(t) { + 0 != t.type && 1 != t.type && t.character_id == n.chara_id && n.skins.push(t.id) + }), + this.scrollview.reset(), + this.scrollview.addItem(this.skins.length) + } + , + e.prototype.close = function() { + this.me.visible && (this.me.visible = !1) + } + , + e.prototype.render_item = function(e) { + var i = this + , n = e.index + , a = e.container + , r = e.cache_data + , s = this.skins[n] + , o = a.getChildByName("btn") + , l = t.UI_Sushe.skin_owned(this.skins[n]); + o.clickHandler = Laya.Handler.create(this, function() { + l && s != i.using_id && (i.using_id = s, + i.scrollview.wantToRefreshAll(), + i.when_change && i.when_change.runWith(i.using_id)) + }, null, !1), + o.mouseEnabled = l, + r.icon || (r.icon = new t.UI_Character_Skin(o.getChildByName("icon"))), + r.icon.setSkin(s, "bighead"), + o.getChildByName("chosen").visible = this.using_id == s; + var h = o.getChildByName("locked"); + if (l) + h.visible = !1; + else { + h.visible = !0; + var c = cfg.item_definition.skin.get(s); + h.getChildByName("info").text = c["lock_tips_" + GameMgr.client_language] + } + } + , + e + }(); + e.Page_Skin = i + }(t.zhuangban || (t.zhuangban = {})) +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + !function(e) { + var i = function() { + function e(t) { + this.items = [], + this.using_id = -1, + this.me = t, + this.title = this.me.getChildByName("title"), + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.render_item, null, !1), -1, 3), + this.no_info = this.me.getChildByName("no_info") + } + return e.prototype.show = function(e, i, n, a) { + this.me.visible = !0, + this.slot_id = i, + this.when_change = a, + this.items = []; + for (var r = t.UI_Bag.find_items_by_category(t.EItemCategory.view), s = 0; s < r.length; s++) { + cfg.item_definition.item.get(r[s].item_id).type == i && this.items.push(r[s].item_id) + } + this.using_id = n, + this.title.text = e, + this.no_info.visible = 0 == this.items.length, + this.scrollview.reset(), + this.scrollview.addItem(this.items.length) + } + , + e.prototype.close = function() { + this.me.visible && (this.me.visible = !1) + } + , + e.prototype.render_item = function(e) { + var i = this + , n = e.index + , a = e.container + , r = e.cache_data + , s = this.items[n] + , o = a.getChildByName("btn"); + o.clickHandler = Laya.Handler.create(this, function() { + if (s == i.using_id) + return o.getChildByName("chosen").visible = !1, + i.using_id = 0, + void (i.when_change && i.when_change.runWith(0)); + i.using_id = s, + i.scrollview.wantToRefreshAll(), + i.when_change && i.when_change.runWith(i.items[n]) + }, null, !1), + r.icon || (r.icon = new t.UI_Item_Skin(o.getChildByName("icon"))), + r.icon.setSkin(cfg.item_definition.item.get(this.items[n]).icon), + o.getChildByName("chosen").visible = this.using_id == s + } + , + e + }(); + e.Page_Items = i + }(t.zhuangban || (t.zhuangban = {})) +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + !function(e) { + var i = function() { + function e(e) { + this.items = [], + this.using_id = -1, + this.me = e, + this.head = new t.UI_Head(this.me.getChildByName("head")), + this.scrollview = this.me.scriptMap["capsui.CScrollView_Heng"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.render_item, null, !1)), + this.name = this.me.getChildByName("name"), + this.time = this.me.getChildByName("time") + } + return e.prototype.show = function(e, i, n) { + this.me.visible = !0, + this.when_change = n, + this.items = [], + this.items.push(305501); + for (var a = t.UI_Bag.find_items_by_category(t.EItemCategory.view), r = 0; r < a.length; r++) { + cfg.item_definition.item.get(a[r].item_id).type == game.EView.head_frame && this.items.push(a[r].item_id) + } + this.using_id = i, + this.me.getChildByName("title").text = e, + this.head.id = GameMgr.Inst.account_data.avatar_id, + this.refresh_info(), + this.scrollview.reset(), + this.scrollview.addItem(this.items.length) + } + , + e.prototype.close = function() { + this.me.visible && (this.me.visible = !1) + } + , + e.prototype.render_item = function(e) { + var i = this + , n = e.index + , a = e.container + , r = e.cache_data + , s = this.items[n] + , o = a.getChildByName("btn"); + o.clickHandler = Laya.Handler.create(this, function() { + i.using_id != s && (i.using_id = s, + i.refresh_info(), + i.scrollview.wantToRefreshAll(), + i.when_change.runWith(s)) + }, null, !1), + r.icon || (r.icon = new t.UI_Item_Skin(o.getChildByName("icon"))), + r.icon.setSkin(cfg.item_definition.item.get(this.items[n]).icon), + o.getChildByName("chosen").visible = this.using_id == s + } + , + e.prototype.refresh_info = function() { + var t = cfg.item_definition.item.get(this.using_id); + this.name.text = t["name_" + GameMgr.client_language], + this.head.head_frame = this.using_id, + t.item_expire ? (this.time.visible = !0, + this.time.text = game.Tools.strOfLocalization(3119) + t.item_expire) : this.time.visible = !1 + } + , + e + }(); + e.Page_Headframe = i + }(t.zhuangban || (t.zhuangban = {})) +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + !function(e) { + var i = function() { + function e(t) { + this.desktop_default = 305044, + this.mjp_defalut = 305045, + this.lobby_bg_default = 307001, + this.type = game.EView.desktop, + this.items = [], + this.img_desktop = null, + this.img_mjp = null, + this.seen_lobby_bg_map = null, + this.when_change = null, + this.desktop_id = -1, + this.mjp_id = -1, + this.using_id = -1, + this.me = t, + this.scrollview = t.scriptMap["capsui.CScrollView_Heng"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_item)), + this.scrollview.reset(), + this.img_desktop = this.me.getChildByName("desktop"), + this.img_mjp = this.me.getChildByName("mjp") + } + return e.prototype.have_red_point = function() { + if (!this.seen_lobby_bg_map) { + this.seen_lobby_bg_map = {}; + var e = Laya.LocalStorage.getItem(game.Tools.eeesss("lobby_bg_list_" + GameMgr.Inst.account_id)); + if (e) + for (var i = (e = game.Tools.dddsss(e)).split(","), n = 0; n < i.length; n++) + this.seen_lobby_bg_map[i[n]] = 1 + } + for (var a = t.UI_Bag.find_items_by_category(t.EItemCategory.view), n = 0; n < a.length; n++) { + if (3 == cfg.item_definition.item.get(a[n].item_id).type && !this.seen_lobby_bg_map[a[n].item_id]) + return !0 + } + return !1 + } + , + e.prototype.show_desktop = function(t, e, i, n) { + this.type = game.EView.desktop, + this.when_change = n, + this.using_id = e, + this.mjp_id = i, + this.me.getChildByName("title").text = t, + this._show() + } + , + e.prototype.show_mjp = function(t, e, i, n) { + this.type = game.EView.mjp, + this.when_change = n, + this.using_id = i, + this.desktop_id = e, + this.me.getChildByName("title").text = t, + this._show() + } + , + e.prototype.show_lobby_bg = function(t, e, i) { + this.type = game.EView.lobby_bg, + this.when_change = i, + this.using_id = e, + this.me.getChildByName("title").text = t, + this._show() + } + , + e.prototype._show = function() { + var e = this; + if (this.me.visible = !0, + this.items = [], + this.type == game.EView.desktop ? this.items.push({ + item_id: this.desktop_default, + owned: !0 + }) : this.type == game.EView.mjp ? this.items.push({ + item_id: this.mjp_defalut, + owned: !0 + }) : this.type == game.EView.lobby_bg && this.items.push({ + item_id: this.lobby_bg_default, + owned: !0 + }), + this.scrollview.reset(), + this.type == game.EView.desktop || this.type == game.EView.mjp) { + var i = t.UI_Bag.find_items_by_category(t.EItemCategory.view); + i = i.sort(function(t, e) { + return t.item_id - e.item_id + }); + for (var n = 0; n < i.length; n++) + if (i[n].item_id != this.desktop_default && i[n].item_id != this.mjp_defalut) { + cfg.item_definition.item.get(i[n].item_id).type == this.type && this.items.push({ + item_id: i[n].item_id, + owned: !0 + }) + } + } else + this.type == game.EView.lobby_bg && cfg.item_definition.item.forEach(function(i) { + i.id != e.lobby_bg_default && 5 == i.category && i.type == e.type && e.items.push({ + item_id: i.id, + owned: t.UI_Bag.get_item_count(i.id) > 0 + }) + }); + this.scrollview.addItem(this.items.length), + this.type == game.EView.desktop ? (this.img_mjp.visible = !0, + this._update_desktop_preview(this.using_id), + this._update_mjp_preview(this.mjp_id)) : this.type == game.EView.mjp ? (this.img_mjp.visible = !0, + this._update_desktop_preview(this.desktop_id), + this._update_mjp_preview(this.using_id)) : this.type == game.EView.lobby_bg && (this.img_mjp.visible = !1, + this._update_lobby_bg_preview(this.using_id)) + } + , + e.prototype.close = function() { + this.me.visible && (this.me.visible = !1, + this.items = [], + this.scrollview.reset(), + Laya.loader.clearTextureRes(this.img_desktop.skin), + Laya.loader.clearTextureRes(this.img_mjp.skin), + this.img_desktop.skin = "", + this.img_mjp.skin = "", + game.LoadMgr.clearImgSkin(this.img_desktop), + game.LoadMgr.clearImgSkin(this.img_mjp)) + } + , + e.prototype.render_item = function(e) { + var i = this + , n = e.index + , a = e.container + , r = e.cache_data + , s = this.items[n] + , o = cfg.item_definition.item.get(s.item_id) + , l = a.getChildByName("btn"); + l.clickHandler = Laya.Handler.create(this, function() { + if (i.items[n].owned) + if (i.using_id != s.item_id) { + switch (i.using_id = s.item_id, + i.scrollview.wantToRefreshAll(), + i.type) { + case game.EView.desktop: + i._update_desktop_preview(i.using_id); + break; + case game.EView.mjp: + i._update_mjp_preview(i.using_id); + break; + case game.EView.lobby_bg: + i._update_lobby_bg_preview(i.using_id) + } + i.when_change && i.when_change.runWith(i.using_id) + } else + t.UI_ItemDetail.Inst.show(s.item_id) + }, null, !1), + l.mouseEnabled = s.owned, + l.getChildByName("chosen").visible = this.using_id == s.item_id, + l.getChildByName("lock").visible = !s.owned, + r.skin || (r.skin = new t.UI_Item_Skin(l.getChildByName("icon"))), + r.skin.setSkin(o.icon) + } + , + e.prototype._update_desktop_preview = function(t) { + var e = cfg.item_definition.view.get(t) + , i = ""; + e || (e = cfg.item_definition.view.get(this.desktop_default)); + e.res_name; + i = "myres2/tablecloth/" + e.res_name + "/preview.jpg", + game.LoadMgr.clearImgSkin(this.img_desktop), + "" != this.img_desktop.skin && (Laya.loader.clearTextureRes(this.img_desktop.skin), + this.img_desktop.skin = ""), + game.LoadMgr.setImgSkin(this.img_desktop, i) + } + , + e.prototype._update_mjp_preview = function(t) { + var e = cfg.item_definition.view.get(t) + , i = ""; + e || (e = cfg.item_definition.view.get(this.mjp_defalut)), + i = "myres2/mjp/" + e.res_name + "/preview.png", + game.LoadMgr.clearImgSkin(this.img_mjp), + "" != this.img_mjp.skin && (Laya.loader.clearTextureRes(this.img_mjp.skin), + this.img_mjp.skin = ""), + game.LoadMgr.setImgSkin(this.img_mjp, i) + } + , + e.prototype._update_lobby_bg_preview = function(t) { + var e = cfg.item_definition.view.get(t) + , i = ""; + e || (e = cfg.item_definition.view.get(this.lobby_bg_default)), + i = "myres2/lobby_bg/" + e.res_name + ".jpg", + game.LoadMgr.clearImgSkin(this.img_desktop), + "" != this.img_desktop.skin && (Laya.loader.clearTextureRes(this.img_desktop.skin), + this.img_desktop.skin = ""), + game.LoadMgr.setImgSkin(this.img_desktop, i) + } + , + e + }(); + e.Page_Desktop = i + }(t.zhuangban || (t.zhuangban = {})) +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + !function(e) { + var i = function() { + function e(t) { + this.items = [], + this.using_id = -1, + this.current_listening = -1, + this.me = t, + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.render_item, null, !1)) + } + return e.prototype.show = function(e, i, n) { + this.me.visible = !0, + this.when_change = n, + this.items = []; + for (var a = t.UI_Bag.find_items_by_category(t.EItemCategory.view), r = 0; r < a.length; r++) { + cfg.item_definition.item.get(a[r].item_id).type == game.EView.lizhi_bgm && this.items.push(a[r].item_id) + } + this.using_id = i, + this.current_listening = -1, + this.me.getChildByName("no_info").visible = 0 == this.items.length, + this.me.getChildByName("title").text = e, + this.scrollview.reset(), + this.scrollview.addItem(this.items.length) + } + , + e.prototype.close = function() { + this.me.visible && (this.when_change = null, + this.current_listening >= 0 && (view.BgmListMgr.stopBgm(0), + view.BgmListMgr.PlayLobbyBgm()), + this.me.visible = !1) + } + , + e.prototype.render_item = function(t) { + var e = this + , i = t.index + , n = t.container + , a = this.items[i] + , r = n.getChildByName("chosen"); + n.getChildByName("btn_choose").clickHandler = Laya.Handler.create(this, function() { + if (e.using_id == a) + return e.using_id = 0, + e.scrollview.wantToRefreshItem(i), + void (e.when_change && e.when_change.runWith(0)); + e.using_id = a, + e.scrollview.wantToRefreshAll(), + e.when_change && e.when_change.runWith(e.items[i]) + }, null, !1); + var s = n.getChildByName("icon") + , o = cfg.item_definition.item.get(this.items[i]); + game.LoadMgr.setImgSkin(s, o.icon), + r.visible = this.using_id == a; + var l = n.getChildByName("btn_play") + , h = l.getChildAt(0); + i == this.current_listening ? h.skin = game.Tools.localUISrc("myres/bothui/bf_pause.png") : h.skin = game.Tools.localUISrc("myres/bothui/bf_play.png"), + l.clickHandler = Laya.Handler.create(this, function() { + i == e.current_listening ? (e.current_listening = -1, + view.BgmListMgr.stopBgm(0), + view.BgmListMgr.PlayLobbyBgm()) : (e.current_listening = i, + view.AudioMgr.PlayLiqiBgm(o.sargs[0])), + e.scrollview.wantToRefreshAll() + }, null, !1), + n.getChildByName("desc").text = o["name_" + GameMgr.client_language] + } + , + e + }(); + e.Page_Bgm = i + }(t.zhuangban || (t.zhuangban = {})) +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + !function(e) { + var i = function() { + function i(i, n, a) { + var r = this; + this.page_items = null, + this.page_headframe = null, + this.page_desktop = null, + this.page_bgm = null, + this.tabs = [], + this.tab_index = -1, + this.select_index = -1, + this.cell_titles = [2193, 2194, 2195, 1901, 2214, 2624, 2856, 2412, 2413, 2826], + this.cell_names = [411, 412, 413, 417, 414, 415, 416, 0, 0, 0], + this.cell_default_img = ["myres/sushe/slot_liqibang.jpg", "myres/sushe/slot_hule.jpg", "myres/sushe/slot_liqi.jpg", "myres/sushe/slot_mpzs.jpg", "myres/sushe/slot_hand.jpg", "myres/sushe/slot_liqibgm.jpg", "myres/sushe/slot_head_frame.jpg", "", "", ""], + this.cell_default_item = [0, 0, 0, 0, 0, 0, 305501, 305044, 305045, 307001], + this.slot_ids = [0, 1, 2, 10, 3, 4, 5, 6, 7, 8], + this.slot_map = {}, + this._changed = !1, + this._locking = null, + this._locking = a, + this.container_zhuangban0 = i, + this.container_zhuangban1 = n; + for (var s = this.container_zhuangban0.getChildByName("tabs"), o = function(e) { + var i = s.getChildAt(e); + l.tabs.push(i), + i.clickHandler = new Laya.Handler(l,function() { + r.locking || r.tab_index != e && (r._changed ? t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(3022), Laya.Handler.create(r, function() { + r.change_tab(e) + }), null) : r.change_tab(e)) + } + ) + }, l = this, h = 0; h < s.numChildren; h++) + o(h); + this.page_items = new e.Page_Items(this.container_zhuangban1.getChildByName("page_items")), + this.page_headframe = new e.Page_Headframe(this.container_zhuangban1.getChildByName("page_headframe")), + this.page_bgm = new e.Page_Bgm(this.container_zhuangban1.getChildByName("page_bgm")), + this.page_desktop = new e.Page_Desktop(this.container_zhuangban1.getChildByName("page_zhuobu")), + this.scrollview = this.container_zhuangban1.getChildByName("page_slots").scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_view)), + this.btn_using = this.container_zhuangban1.getChildByName("page_slots").getChildByName("btn_using"), + this.btn_save = this.container_zhuangban1.getChildByName("page_slots").getChildByName("btn_save"), + this.btn_save.clickHandler = new Laya.Handler(this,function() { + for (var e = [], i = 0; i < r.cell_titles.length; i++) { + var n = r.slot_ids[i]; + if (r.slot_map[n]) { + var a = r.slot_map[n]; + if (!a || a == r.cell_default_item[i]) + continue; + e.push({ + slot: n, + item_id: a + }) + } + } + r.btn_save.mouseEnabled = !1; + var s = r.tab_index; + app.NetAgent.sendReq2Lobby("Lobby", "saveCommonViews", { + views: e, + save_index: s, + is_use: s == t.UI_Sushe.using_commonview_index ? 1 : 0 + }, function(i, n) { + if (r.btn_save.mouseEnabled = !0, + i || n.error) + t.UIMgr.Inst.showNetReqError("saveCommonViews", i, n); + else { + if (t.UI_Sushe.commonViewList.length < s) + for (var a = t.UI_Sushe.commonViewList.length; a <= s; a++) + t.UI_Sushe.commonViewList.push([]); + if (t.UI_Sushe.commonViewList[s] = e, + t.UI_Sushe.using_commonview_index == s && r.onChangeGameView(), + r.tab_index != s) + return; + r.btn_save.mouseEnabled = !0, + r._changed = !1, + r.refresh_btn() + } + }) + } + ), + this.btn_use = this.container_zhuangban1.getChildByName("page_slots").getChildByName("btn_use"), + this.btn_use.clickHandler = new Laya.Handler(this,function() { + r.btn_use.mouseEnabled = !1; + var e = r.tab_index; + app.NetAgent.sendReq2Lobby("Lobby", "useCommonView", { + index: e + }, function(i, n) { + r.btn_use.mouseEnabled = !0, + i || n.error ? t.UIMgr.Inst.showNetReqError("useCommonView", i, n) : (t.UI_Sushe.using_commonview_index = e, + r.refresh_btn(), + r.refresh_tab(), + r.onChangeGameView()) + }) + } + ) + } + return Object.defineProperty(i.prototype, "locking", { + get: function() { + return !!this._locking && this._locking.run() + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i.prototype, "changed", { + get: function() { + return this._changed + }, + enumerable: !0, + configurable: !0 + }), + i.prototype.show = function(e) { + this.container_zhuangban0.visible = !0, + this.container_zhuangban1.visible = !0, + e ? (this.container_zhuangban0.alpha = 1, + this.container_zhuangban1.alpha = 1) : (t.UIBase.anim_alpha_in(this.container_zhuangban0, { + x: 0 + }, 200), + t.UIBase.anim_alpha_in(this.container_zhuangban1, { + x: 0 + }, 200)), + this.change_tab(t.UI_Sushe.using_commonview_index) + } + , + i.prototype.change_tab = function(e) { + if (this.tab_index = e, + this.refresh_tab(), + this.slot_map = {}, + this.scrollview.reset(), + this.page_items.close(), + this.page_desktop.close(), + this.page_headframe.close(), + this.page_bgm.close(), + this.select_index = 0, + this._changed = !1, + !(this.tab_index < 0 || this.tab_index > 4)) { + if (this.tab_index < t.UI_Sushe.commonViewList.length) + for (var i = t.UI_Sushe.commonViewList[this.tab_index], n = 0; n < i.length; n++) + this.slot_map[i[n].slot] = i[n].item_id; + this.scrollview.addItem(this.cell_titles.length), + this.onChangeSlotSelect(0), + this.refresh_btn() + } + } + , + i.prototype.refresh_tab = function() { + for (var e = 0; e < this.tabs.length; e++) { + var i = this.tabs[e]; + i.mouseEnabled = this.tab_index != e, + i.getChildByName("bg").skin = game.Tools.localUISrc(this.tab_index == e ? "myres/sushe/tab_choosed.png" : "myres/sushe/tab_unchoose.png"), + i.getChildByName("num").color = this.tab_index == e ? "#2f1e19" : "#f2c797"; + var n = i.getChildByName("choosed"); + t.UI_Sushe.using_commonview_index == e ? (n.visible = !0, + n.x = this.tab_index == e ? -18 : -4) : n.visible = !1 + } + } + , + i.prototype.refresh_btn = function() { + this.btn_save.visible = !1, + this.btn_save.mouseEnabled = !0, + this.btn_use.visible = !1, + this.btn_use.mouseEnabled = !0, + this.btn_using.visible = !1, + this._changed ? this.btn_save.visible = !0 : (this.btn_use.visible = t.UI_Sushe.using_commonview_index != this.tab_index, + this.btn_using.visible = t.UI_Sushe.using_commonview_index == this.tab_index) + } + , + i.prototype.onChangeSlotSelect = function(t) { + var e = this; + this.select_index = t; + var i = 0; + t >= 0 && t < this.cell_default_item.length && (i = this.cell_default_item[t]); + var n = i + , a = this.slot_ids[t]; + this.slot_map[a] && (n = this.slot_map[a]); + var r = Laya.Handler.create(this, function(n) { + n == i && (n = 0), + e.slot_map[a] = n, + e.scrollview.wantToRefreshItem(t), + e._changed = !0, + e.refresh_btn() + }, null, !1); + this.page_items.close(), + this.page_desktop.close(), + this.page_headframe.close(), + this.page_bgm.close(); + var s = game.Tools.strOfLocalization(this.cell_titles[t]); + if (t >= 0 && t <= 2) + this.page_items.show(s, t, n, r); + else if (3 == t) + this.page_items.show(s, 10, n, r); + else if (4 == t) + this.page_items.show(s, 3, n, r); + else if (5 == t) + this.page_bgm.show(s, n, r); + else if (6 == t) + this.page_headframe.show(s, n, r); + else if (7 == t || 8 == t) { + var o = this.cell_default_item[7] + , l = this.cell_default_item[8]; + this.slot_map[game.EView.desktop] && (o = this.slot_map[game.EView.desktop]), + this.slot_map[game.EView.mjp] && (l = this.slot_map[game.EView.mjp]), + 7 == t ? this.page_desktop.show_desktop(s, o, l, r) : this.page_desktop.show_mjp(s, o, l, r) + } else + 9 == t && this.page_desktop.show_lobby_bg(s, n, r) + } + , + i.prototype.render_view = function(t) { + var e = this + , i = t.container + , n = t.index + , a = i.getChildByName("cell"); + this.select_index == n ? (a.scaleX = a.scaleY = 1.05, + a.getChildByName("choosed").visible = !0) : (a.scaleX = a.scaleY = 1, + a.getChildByName("choosed").visible = !1), + a.getChildByName("title").text = game.Tools.strOfLocalization(this.cell_titles[n]); + var r = a.getChildByName("name") + , s = a.getChildByName("icon") + , o = this.cell_default_item[n] + , l = this.slot_ids[n]; + this.slot_map[l] && (o = this.slot_map[l]); + var h = cfg.item_definition.item.get(o); + h ? (r.text = h["name_" + GameMgr.client_language], + game.LoadMgr.setImgSkin(s, h.icon)) : (r.text = game.Tools.strOfLocalization(this.cell_names[n]), + game.LoadMgr.setImgSkin(s, this.cell_default_img[n])); + var c = a.getChildByName("btn"); + c.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.select_index != n && (e.onChangeSlotSelect(n), + e.scrollview.wantToRefreshAll()) + }, null, !1), + c.mouseEnabled = this.select_index != n + } + , + i.prototype.close = function(e) { + var i = this; + this.container_zhuangban0.visible && (e ? (this.page_items.close(), + this.page_desktop.close(), + this.page_headframe.close(), + this.page_bgm.close(), + this.container_zhuangban0.visible = !1, + this.container_zhuangban1.visible = !1) : (t.UIBase.anim_alpha_out(this.container_zhuangban0, { + x: 0 + }, 200), + t.UIBase.anim_alpha_out(this.container_zhuangban1, { + x: 0 + }, 200, 0, Laya.Handler.create(this, function() { + i.page_items.close(), + i.page_desktop.close(), + i.page_headframe.close(), + i.page_bgm.close(), + i.container_zhuangban0.visible = !1, + i.container_zhuangban1.visible = !1 + })))) + } + , + i.prototype.onChangeGameView = function() { + GameMgr.Inst.load_mjp_view(); + var e = game.GameUtility.get_view_id(game.EView.lobby_bg); + t.UI_Lite_Loading.Inst.show(), + game.Scene_Lobby.Inst.set_lobby_bg(e, Laya.Handler.create(this, function() { + t.UI_Lite_Loading.Inst.enable && t.UI_Lite_Loading.Inst.close() + })), + GameMgr.Inst.account_data.avatar_frame = game.GameUtility.get_view_id(game.EView.head_frame) + } + , + i + }(); + e.Container_Zhuangban = i + }(t.zhuangban || (t.zhuangban = {})) +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function e(t) { + this.good_ids = [], + this.used_skin = {}, + this.seen_skin_map = null, + this.me = t, + this.me.visible = !1, + this.scrollview = this.me.scriptMap["capsui.CScrollView_Heng"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_item)), + this.no_info = this.me.getChildByName("no_info") + } + return e.prototype.have_red_point = function() { + var e = this; + if (!this.seen_skin_map) { + var i = Laya.LocalStorage.getItem(game.Tools.eeesss("shop_skin_list_" + GameMgr.Inst.account_id)); + if (this.seen_skin_map = {}, + i) + for (var n = (i = game.Tools.dddsss(i)).split(","), a = 0; a < n.length; a++) + this.seen_skin_map[n[a]] = 1 + } + var r = !1; + return cfg.shops.goods.forEach(function(i) { + r || 5 == i.category && t.UI_Shop.goods_on_sell(i.id) && (e.seen_skin_map[i.id] || (r = !0)) + }), + r + } + , + e.prototype.refresh_price = function(t, e, i, n, a) { + var r = t.getChildByName("container_origin_price") + , s = t.getChildByName("container_discount"); + if (r.visible = !1, + s.visible = !1, + i >= 1) + r.visible = !0, + r.getChildByName("now_price").text = e.toString(), + r.getChildByName("currency").skin = a; + else { + s.visible = !0, + s.getChildByName("discount").text = "-" + (100 - Math.ceil(100 * i)) + "%", + s.getChildByName("currency").skin = a; + var o = s.getChildByName("now_price") + , l = s.getChildByName("origin_price") + , h = s.getChildByName("del"); + l.text = e.toString(), + o.text = n.toString(), + h.width = l.textField.textWidth + 6 + } + } + , + e.prototype.render_item = function(e) { + var i = this + , n = e.index + , a = e.container + , r = this.good_ids[n].id + , s = cfg.shops.goods.get(r) + , o = a.getChildByName("icon"); + game.LoadMgr.setImgSkin(o, s.icon), + this.used_skin[s.icon] = 1, + a.getChildByName("name").text = s["name_" + GameMgr.client_language], + a.getChildByName("desc").text = s["desc_" + GameMgr.client_language]; + var l = a.getChildByName("sell_day") + , h = !1; + if (s.sell_end_time && "" != s.sell_end_time) { + l.visible = !0; + var c = game.Tools.ParseTime(s.sell_end_time) - Date.now(); + c <= 0 ? (l.text = game.Tools.strOfLocalization(2818), + h = !1) : ((c /= 1e3) <= 60 ? l.text = game.Tools.strOfLocalization(2819, ["1"]) : (c /= 60) < 60 ? l.text = game.Tools.strOfLocalization(2819, [Math.ceil(c).toString()]) : (c /= 60, + l.text = c < 24 ? game.Tools.strOfLocalization(2820, [Math.ceil(c).toString()]) : game.Tools.strOfLocalization(2821, [Math.ceil(c / 24).toString()])), + h = !0) + } else + l.visible = !1, + h = !0; + var _ = a.getChildByName("container_buy") + , u = a.getChildByName("owned"); + _.visible = !1, + u.visible = !1; + var d = !1 + , f = game.LoadMgr.getResImageSkin(game.GameUtility.get_item_view(s.currency).icon) + , p = 0 + , m = 0 + , g = t.UI_Shop.goods_discount_value(r) + , y = []; + if (100 == s.category_goods) + if (t.UI_Shop.buyed_count(r, !1) > 0) + d = !0; + else { + d = !1; + for (var v = s.item_id, b = cfg.shops.goods_package.getGroup(v), w = !0, x = 0; x < b.length; x++) { + var I = b[x].good_id + , C = b[x].good_count + , S = cfg.shops.goods.get(I); + if (1 == S.category_goods) { + if (!t.UI_Sushe.skin_owned(S.item_id)) { + w = !1; + M = t.UI_Shop.goods_discount_value(I); + p += Math.floor(S.price * C * M), + m += Math.floor(S.price * C), + y.push({ + id: I, + count: C, + dealPrice: Math.floor(S.price * C * M) + }) + } + } else { + t.UI_Bag.get_item_count(S.item_id) > 0 && (w = !1); + var M = t.UI_Shop.goods_discount_value(I); + p += Math.floor(S.price * C * M), + m += Math.floor(S.price * C), + y.push({ + id: I, + count: C, + dealPrice: Math.floor(S.price * C * M) + }) + } + } + w && (d = !0) + } + else { + var L = cfg.item_definition.item.get(s.item_id); + L && L.type == game.EView.lobby_bg ? (d = t.UI_Bag.get_item_count(s.item_id) > 0, + p = s.price) : (d = t.UI_Sushe.skin_owned(s.item_id), + p = s.price) + } + if (d) + u.visible = !0; + else { + _.visible = !0; + var T = Math.floor(p * g); + 100 == s.category_goods ? this.refresh_price(_, m, Math.ceil(T / m * 100) / 100, T, f) : this.refresh_price(_, p, g, T, f); + var E = _.getChildByName("btn_buy"); + E.clickHandler = Laya.Handler.create(this, function() { + t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(2822, [s["desc_" + GameMgr.client_language]]), Laya.Handler.create(i, function() { + var e = {}; + e.goods_id = r, + e.count = 1, + e.deal_price = Math.floor(p * g), + 100 == s.category_goods && (e.bill_short_cut = y), + app.NetAgent.sendReq2Lobby("Lobby", "buyFromShop", e, function(e, n) { + if (game.Tools.setGrayDisable(E, !1), + e || n.error) { + if (n && n.error && 501 == n.error.code && 100004 == s.currency) + return void t.UI_Pifuquanless.Inst.show(Laya.Handler.create(i, function(e) { + return t.UI_Shop.Inst.close(e) + }), Laya.Handler.create(i, function() { + t.UI_Shop.Inst.show(4) + })); + t.UIMgr.Inst.showNetReqError("buyFromShop", e, n) + } else { + if (view.AudioMgr.PlayAudio(106), + t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2191)), + 100 == s.category_goods) { + t.UI_Shop.update_buyed_count(r, !1, 1); + for (var a = s.item_id, o = cfg.shops.goods_package.getGroup(a), l = 0; l < o.length; l++) { + var h = cfg.shops.goods.get(o[l].good_id); + 1 == h.category_goods && t.UI_Sushe.add_skin(h.item_id) + } + } else + t.UI_Sushe.add_skin(s.item_id); + i.scrollview.wantToRefreshAll() + } + }) + })) + }, null, !1), + E.visible = h + } + a.getChildByName("btn_detail").clickHandler = Laya.Handler.create(this, function() { + if (!t.UI_Shop.Inst.locking) + if (100 == s.category_goods) + d || t.UI_Shop_Pack_Detail.Inst.show(r, Laya.Handler.create(i, i.onPackBuyed, null, !1)); + else { + var e = cfg.item_definition.item.get(s.item_id); + e && e.type == game.EView.lobby_bg ? (t.UI_Lite_Loading.Inst.show(), + game.Scene_Lobby.Inst.set_lobby_bg(s.item_id, Laya.Handler.create(i, function() { + t.UI_Lite_Loading.Inst.close(), + t.UI_Shop.Inst.close(Laya.Handler.create(i, function() { + t.UI_Shop_Lobby_Yulan.Inst.show(r) + })) + }))) : t.UI_Shop.Inst.close(Laya.Handler.create(i, function() { + t.UI_Shop_Skin_Yulan.Inst.show(r) + })) + } + }, null, !1) + } + , + e.prototype.show = function() { + var e = this; + this.me.visible = !0, + this.used_skin = {}, + this.good_ids = [], + cfg.shops.goods.forEach(function(i) { + 5 == i.category && t.UI_Shop.goods_on_sell(i.id) && e.good_ids.push({ + id: i.id, + sort: i.sort + }) + }), + this.good_ids = this.good_ids.sort(function(t, e) { + return t.sort - e.sort + }), + this.scrollview.reset(), + this.scrollview.addItem(this.good_ids.length), + this.no_info.visible = 0 == this.good_ids.length, + this.seen_skin_map = {}; + for (var i = 0; i < this.good_ids.length; i++) + this.seen_skin_map[this.good_ids[i].id.toString()] = 1; + var n = ""; + for (var a in this.seen_skin_map) + "" != n && (n += ","), + n += a; + Laya.LocalStorage.setItem(game.Tools.eeesss("shop_skin_list_" + GameMgr.Inst.account_id), game.Tools.eeesss(n)) + } + , + e.prototype.close = function() { + this.me.visible = !1; + for (var t in this.used_skin) + Laya.loader.clearTextureRes(game.LoadMgr.getResImageSkin(t)); + this.used_skin = {} + } + , + e.prototype.onPackBuyed = function(e) { + if (this.me.visible && "success" == e.event) { + t.UI_Shop.update_buyed_count(e.goods_id, !1, 1); + for (var i = cfg.shops.goods.get(e.goods_id).item_id, n = cfg.shops.goods_package.getGroup(i), a = 0; a < n.length; a++) { + var r = cfg.shops.goods.get(n[a].good_id); + 1 == r.category_goods && t.UI_Sushe.add_skin(r.item_id) + } + this.scrollview.wantToRefreshAll() + } + } + , + e + }(); + t.UI_Shop_Skin = e +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function t(t) { + this.change_id = 0, + this.skin_path = "", + this.loaded = !1, + this.me = t, + this.img = t + } + return Object.defineProperty(t.prototype, "id", { + set: function(t) { + var e = this + , i = cfg.item_definition.title.get(t) + , n = ""; + if ((n = i ? i.icon : "extendRes/title/notitle.png") != this.skin_path) { + this.skin_path = n, + this.change_id++; + var a = this.change_id + , r = game.LoadMgr.getResImageSkin(n); + "" == r ? (this.img.skin = "", + this.loaded = !1, + game.LoadMgr.loadResImage([this.skin_path], Laya.Handler.create(this, function() { + a == e.change_id && (e.loaded = !0, + e.img.skin = game.LoadMgr.getResImageSkin(e.skin_path)) + }))) : (this.loaded = !0, + this.img.skin = r) + } + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.clear = function() { + this.change_id++, + this.loaded && "" != this.skin_path && (Laya.loader.clearTextureRes(this.skin_path), + this.loaded = !1, + this.skin_path = "") + } + , + t + }(); + t.UI_PlayerTitle = e +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function e(t, e) { + this._cell = null, + this.id = e, + this.loaded = !1, + this.note = t + } + return e.prototype.bind = function(e, i) { + var n = this; + i.cell || (i.cell = { + head: new t.UI_Head(e.getChildByName("head")), + btn_check_info: e.getChildByName("btn_checkinfo"), + date: e.getChildByName("date"), + time: e.getChildByName("time"), + btn_del: e.getChildByName("btn_del"), + emo: new t.UI_Character_Emo(e.getChildByName("emo")), + words: e.getChildByName("word"), + name: e.getChildByName("name"), + level: e.getChildByName("level"), + noteitem: null + }), + i.cell.btn_check_info && (i.cell.btn_check_info.clickHandler = Laya.Handler.create(this, function() { + t.UI_OtherPlayerInfo.Inst.show(n.commenter.account_id) + }, null, !1)), + i.cell.btn_del && (i.cell.btn_del.clickHandler = Laya.Handler.create(this, function() { + game.Tools.setGrayDisable(i.cell.btn_del, !0), + t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(19), Laya.Handler.create(n, function() { + n.note.delItem(i.cell.noteitem.id) + }), Laya.Handler.create(n, function() { + game.Tools.setGrayDisable(i.cell.btn_del, !1) + })) + }, null, !1)), + this._cell !== i.cell && (i.cell.noteitem && i.cell.noteitem.disbind(), + this._cell && (this._cell.noteitem = null), + this._cell = i.cell, + this._cell.noteitem = this), + this.render() + } + , + e.prototype.disbind = function() { + this._cell = null + } + , + e.prototype.setInfo = function(t) { + this.timestamp = t.timestamp, + this.commenter = t.commenter, + this.content = t.content, + this.loaded = !0, + this.render() + } + , + e.prototype.render = function() { + if (this._cell) { + if (this.loaded) { + this._cell.head.id = this.commenter.avatar_id, + this._cell.head.head_frame = this.commenter.avatar_frame, + this._cell.date.text = game.Tools.time2YearMounthDate(this.timestamp), + this._cell.time.text = game.Tools.time2HourMinute(this.timestamp); + var t = JSON.parse(this.content); + this._cell.emo.me.visible = !1, + this._cell.words.visible = !1, + "emo" == t.type ? (this._cell.emo.me.visible = !0, + this._cell.emo.setSkin(t.chara, t.index)) : (this._cell.words.visible = !0, + this._cell.words.text = game.Tools.strWithoutForbidden(t.text)), + game.Tools.SetNickname(this._cell.name, this.commenter), + this._cell.level.text = ""; + var e = cfg.level_definition.level_definition.get(this.commenter.level.id); + e && (this._cell.level.text = e["full_name_" + GameMgr.client_language]), + this.note.target_id == GameMgr.Inst.account_id || this.commenter.account_id == GameMgr.Inst.account_id ? this._cell.btn_del.visible = !0 : this._cell.btn_del.visible = !1 + } else + this._cell.head.id = game.GameUtility.get_default_ai_skin(), + this._cell.head.head_frame = 305501, + this._cell.date.text = "", + this._cell.time.text = "", + this._cell.emo.me.visible = !1, + this._cell.words.visible = !1, + this._cell.btn_del.visible = !1, + game.Tools.SetNickname(this._cell.name, { + account_id: 0, + nickname: "", + verified: 0 + }), + this._cell.level.text = ""; + this._cell.btn_del && game.Tools.setGrayDisable(this._cell.btn_del, !1) + } + } + , + e + }() + , i = function() { + function e(e, i, n, r) { + var s = this; + this.target_id = -1, + this.comment_allow = -1, + this.container_input = i, + this.noinfo = n, + this.blockemj = new a(r,Laya.Handler.create(this, function(i) { + app.NetAgent.sendReq2Lobby("Lobby", "leaveComment", { + target_id: s.target_id, + content: JSON.stringify({ + type: "emo", + chara: i.chara, + index: i.index + }) + }, function(i, n) { + i || n.error ? (t.UIMgr.Inst.showNetReqError("leaveComment", i, n), + n && n.error && (2004 == n.error.code ? s.show(s.target_id, 1) : 2005 == n.error.code && s.show(s.target_id, 2))) : e.refresh() + }) + }, null, !1)), + this.img_input = this.container_input.getChildByName("input"), + this.txt_input = this.img_input.getChildByName("txtinput"), + this.container_input.getChildByName("emj").clickHandler = Laya.Handler.create(this, function() { + s.blockemj.show() + }, null, !1); + var o = 0; + this.btn_send = this.container_input.getChildByName("btn_send"), + this.btn_send.clickHandler = Laya.Handler.create(this, function() { + var i = s.txt_input.text; + i && "" != i && (o > Laya.timer.currTimer || (o = Laya.timer.currTimer + 3e3, + game.Tools.setGrayDisable(s.btn_send, !0), + i = game.Tools.strWithoutForbidden(i), + app.NetAgent.sendReq2Lobby("Lobby", "leaveComment", { + target_id: s.target_id, + content: JSON.stringify({ + type: "word", + text: i + }) + }, function(i, n) { + o = 0, + game.Tools.setGrayDisable(s.btn_send, !1), + i || n.error ? (t.UIMgr.Inst.showNetReqError("leaveComment", i, n), + n && n.error && (2004 == n.error.code ? s.show(s.target_id, 1) : 2005 == n.error.code && s.show(s.target_id, 2))) : (s.txt_input.text = "", + e.refresh()) + }))) + }, null, !1) + } + return e.prototype.show = function(t, e) { + if (this.target_id != t || e != this.comment_allow) { + this.target_id = t, + this.comment_allow = e, + this.blockemj.me.visible = !1, + this.noinfo.visible = !1, + this.container_input.visible = !1; + if (game.Tools.setGrayDisable(this.btn_send, !1), + t == GameMgr.Inst.account_id) + this.noinfo.visible = !0, + this.noinfo.text = game.Tools.strOfLocalization(2155); + else { + var i = !1 + , n = !1; + game.Scene_MJ.Inst.active && view.DesktopMgr.Inst.mode == view.EMJMode.play && (n = !0), + n ? (this.noinfo.visible = !0, + this.noinfo.text = game.Tools.strOfLocalization(20)) : 2 == e ? (this.noinfo.visible = !0, + this.noinfo.text = game.Tools.strOfLocalization(17)) : 1 == e ? game.FriendMgr.find(t) ? i = !0 : (this.noinfo.visible = !0, + this.noinfo.text = game.Tools.strOfLocalization(18)) : i = !0, + i && (this.container_input.visible = !0, + this.img_input.height = 74, + this.txt_input.height = 95, + this.txt_input.text = "") + } + } + } + , + e.prototype.reset = function() { + this.noinfo.visible = !1, + this.container_input.visible = !1, + this.blockemj.me.visible = !1, + this.target_id = -1, + this.comment_allow = -1 + } + , + e + }() + , n = function() { + function e(e) { + this.me = e, + this.label_noinfo = e.getChildByName("noinfo"), + this.label_content = e.getChildByName("content"); + var i = e.getChildByName("btn_change"); + i && (i.clickHandler = Laya.Handler.create(this, function() { + t.Sign_Input.Inst.show() + }, null, !1)) + } + return e.prototype.reset = function() { + this.label_noinfo.visible = !1, + this.label_content.visible = !1 + } + , + e.prototype.setSign = function(t) { + this.reset(), + t && "" != t ? (this.label_content.visible = !0, + this.label_content.text = game.Tools.strWithoutForbidden(t)) : this.label_noinfo.visible = !0 + } + , + e + }() + , a = function() { + function e(t, e) { + var i = this; + this._emjs = [], + this._character_lst = [], + this._character_emjs = {}, + this._character_id = -1, + this.me = t, + this._on_btn_emj = e, + this.root = this.me.getChildByName("root"), + this.scroll_view_character = this.root.scriptMap["capsui.CScrollView_Heng"], + this.scroll_view_character.init_scrollview(Laya.Handler.create(this, this.render_item_character, null, !1)), + this.me.getChildByName("close").clickHandler = Laya.Handler.create(this, function() { + i._locking || i.close() + }, null, !1), + this.container_emjs = this.root.getChildByName("emjs"), + this.scroll_view_emjs = this.container_emjs.scriptMap["capsui.CScrollView"], + this.scroll_view_emjs.init_scrollview(new Laya.Handler(this,this.render_item_emjs), 100, 4, 0), + this.label_w0 = this.container_emjs.getChildByName("content").getChildByName("w0"), + this.label_w1 = this.container_emjs.getChildByName("content").getChildByName("w1") + } + return e.prototype.show = function() { + var e = this; + this._character_emjs = {}, + this._character_lst = [], + this._character_lst.push(-1); + for (var i = 0; i < t.UI_Sushe.characters.length; i++) { + var n = t.UI_Sushe.characters[i] + , a = cfg.item_definition.character.get(n.charid); + if (a) { + for (var r = [], s = 0; s < 9; s++) + r.push({ + path: a.emo + "/" + s + ".png", + chara: n.charid, + index: s + }); + if (n.extra_emoji && n.extra_emoji.length > 0) + for (var o = cfg.character.emoji.getGroup(n.charid), s = 0; s < n.extra_emoji.length; s++) + for (var l = n.extra_emoji[s], h = 0; h < o.length; h++) { + if (o[h].sub_id == l) { + r.push({ + path: a.emo + "/" + l + ".png", + chara: n.charid, + index: l + }); + break + } + } + this._character_emjs[n.charid] = r, + this._character_lst.push(n.charid) + } + } + this._character_lst = this._character_lst.sort(function(e, i) { + return (e == t.UI_Sushe.main_chara_info.charid ? 0 : e) - (i == t.UI_Sushe.main_chara_info.charid ? 0 : i) + }), + this.on_character_change(-1), + this.scroll_view_character.reset(), + this.scroll_view_character.addItem(this._character_lst.length), + this._locking = !0, + this.me.visible = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e._locking = !1 + })) + } + , + e.prototype.close = function() { + var e = this; + this._locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e._locking = !1, + e.me.visible = !1 + })) + } + , + e.prototype.on_character_change = function(t) { + if (this._character_id = t, + this.scroll_view_emjs.reset(), + this._emjs = [], + -1 == t) { + for (c = 0; c < 4; c++) + this._emjs.push(null); + this.scroll_view_emjs.addItem(4, 30); + var e = Laya.LocalStorage.getItem("emj_used_" + game.Tools.encode_account_id(GameMgr.Inst.account_id)); + if (e && "" != e) { + var i = e.split(","); + this.label_w0.visible = !0, + this.label_w1.y = 187; + for (c = 0; c < 4; c++) + if (c < i.length) { + var n = i[c].split("-") + , a = parseInt(n[0]) + , r = parseInt(n[1]) + , s = !1 + , o = this._character_emjs[a]; + if (o) + for (u = 0; u < o.length; u++) { + var l = o[u]; + if (l.chara == a && l.index == r) { + s = !0, + this._emjs.push(l); + break + } + } + s || this._emjs.push(null) + } else + this._emjs.push(null); + this.scroll_view_emjs.addItem(4, 187) + } else + this.label_w0.visible = !1, + this.label_w1.y = 0; + for (var h = 0, c = 1; c < this._character_lst.length; c++) + for (var _ = this._character_emjs[this._character_lst[c]], u = 0; u < _.length; u++) + h++, + this._emjs.push(_[u]); + this.scroll_view_emjs.addItem(h, 150) + } else { + this.label_w0.visible = !1, + this.label_w1.y = 0; + for (var _ = this._character_emjs[t], c = 0; c < 4; c++) + this._emjs.push(null); + this.scroll_view_emjs.addItem(4, 30); + for (u = 0; u < _.length; u++) + this._emjs.push(_[u]); + this.scroll_view_emjs.addItem(this._emjs.length - 4, 150) + } + } + , + e.prototype.render_item_emjs = function(e) { + var i = this + , n = e.index + , a = e.container + , r = e.cache_data + , s = this._emjs[n] + , o = a.getChildByName("btn"); + s ? (o.visible = !0, + r.skin || (r.skin = new t.UI_Character_Emo(o)), + r.skin.setSkin(s.chara, s.index), + o.clickHandler = Laya.Handler.create(this, function() { + if (!i._locking) { + i._on_btn_emj.runWith(s); + var t = Laya.LocalStorage.getItem("emj_used_" + game.Tools.encode_account_id(GameMgr.Inst.account_id)); + if (t && "" != t) { + var e = t.split(","); + t = s.chara + "-" + s.index; + for (var n = 1, a = 0; a < e.length; a++) { + var r = e[a].split("-"); + if ((parseInt(r[0]) != s.chara || parseInt(r[1]) != s.index) && (t += "," + e[a], + ++n >= 4)) + break + } + } else + t = s.chara + "-" + s.index; + Laya.LocalStorage.setItem("emj_used_" + game.Tools.encode_account_id(GameMgr.Inst.account_id), t), + i.close() + } + }, null, !1)) : o.visible = !1 + } + , + e.prototype.render_item_character = function(e) { + var i = this + , n = e.index + , a = e.container + , r = e.cache_data + , s = this._character_lst[n] + , o = a.getChildByName("btn"); + if (-1 == s) + o.getChildByName("ch").visible = !1, + o.getChildByName("emo").visible = !0; + else { + var l = o.getChildByName("ch"); + l.visible = !0, + r.skin || (r.skin = new t.UI_Character_Skin(l)), + r.skin.setSkin(cfg.item_definition.character.get(s).init_skin, "smallhead"), + o.getChildByName("emo").visible = !1 + } + o.clickHandler = Laya.Handler.create(this, function() { + i._locking || i._character_id == s || (i.on_character_change(s), + i.scroll_view_character.wantToRefreshAll()) + }, null, !1), + a.getChildByName("chosen").visible = s == this._character_id + } + , + e + }() + , r = function() { + function a(t, e) { + var a = this; + this.comment_allow = 0, + this.comment_list = [], + this.input = null, + this.nonote = null, + this.red_point = null, + this.readed = !0, + this.last_read_id = -1, + this.red_point = e, + this.me = t, + this.content = this.me.scriptMap["capsui.CScrollView"], + this.content.init_scrollview(Laya.Handler.create(this, this._render_item, null, !1)), + this.page_controller = new capsui.PageController(this.me.getChildByName("page_controller"),Laya.Handler.create(this, this._render_page, null, !1)), + this.me.getChildByName("input") && (this.input = new i(this,this.me.getChildByName("input"),this.me.getChildByName("noinfo"),this.me.getChildByName("container_emj"))), + this.nonote = this.me.getChildByName("nonote"), + this.sign = new n(this.me.getChildByName("sign")), + this.scrollbar = this.me.getChildByName("scrollbar_light").scriptMap["capsui.CScrollBar"], + this.scrollbar.init(null), + this.me.on("ratechange", this, function() { + a.content.total_height > 0 ? a.scrollbar.setVal(a.content.rate, a.content.view_height / a.content.total_height) : a.scrollbar.setVal(0, 1) + }) + } + return a.prototype.init_data = function(t) { + this.readed = !0, + this.target_id = t, + this.comment_list = [], + this.nonote.visible = !1, + this.red_point && (this.red_point.visible = !1), + this.page_controller.reset(), + this.content.reset(), + this.input && this.input.reset(), + this.refresh(), + this.sign.reset() + } + , + a.prototype.show = function() { + this.me.visible = !0, + this.target_id == GameMgr.Inst.account_id && (this.read(), + this.red_point && (this.red_point.visible = !1)) + } + , + a.prototype.close = function() { + this.me.visible = !1 + } + , + a.prototype.refresh = function() { + var i = this; + app.NetAgent.sendReq2Lobby("Lobby", "fetchCommentList", { + target_id: this.target_id + }, function(n, a) { + if (n || a.error) + t.UIMgr.Inst.showNetReqError("fetchCommentList", n, a); + else { + if (i.comment_list = [], + i.page_controller.reset(), + i.content.reset(), + a.comment_id_list) { + for (var r = 0; r < a.comment_id_list.length; r++) + i.comment_list.push(new e(i,a.comment_id_list[r])); + i.page_controller.set_total_page_count(Math.ceil(i.comment_list.length / 10)) + } + i.nonote.visible = 0 == i.comment_list.length, + i.comment_allow = a.comment_allow, + i.input && i.input.show(i.target_id, i.comment_allow), + i.last_read_id = a.last_read_id, + i.target_id == GameMgr.Inst.account_id && (i.me.visible ? i.read() : i.red_point && (i.red_point.visible = !game.Tools.during_chat_close() && i.comment_list.length > 0 && i.comment_list[0].id != i.last_read_id)) + } + }) + } + , + a.prototype.read = function() { + -1 != this.last_read_id && 0 != this.comment_list.length && this.target_id == GameMgr.Inst.account_id && this.last_read_id != this.comment_list[0].id && app.NetAgent.sendReq2Lobby("Lobby", "updateReadComment", { + read_id: this.comment_list[0].id + }, function(t, e) {}) + } + , + a.prototype._render_page = function(t) { + if (10 * t >= this.comment_list.length) + this.content.reset(); + else { + this.content.reset(); + var e = this.comment_list.length - 10 * t; + e > 10 && (e = 10), + this.content.addItem(e), + this._fetch_current_page() + } + } + , + a.prototype._fetch_current_page = function() { + for (var e = this, i = [], n = 0; n < 10; n++) { + var a = 10 * this.page_controller.current_index + n; + if (a >= this.comment_list.length) + break; + this.comment_list[a].loaded || i.push(this.comment_list[a].id) + } + i.length > 0 && app.NetAgent.sendReq2Lobby("Lobby", "fetchCommentContent", { + target_id: this.target_id, + comment_id_list: i + }, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("fetchCommentContent", i, n); + else + for (var a = 0; a < n.comments.length; a++) + for (var r = n.comments[a], s = 0; s < e.comment_list.length; s++) + if (e.comment_list[s].id == r.comment_id) { + e.comment_list[s].setInfo(r); + break + } + }) + } + , + a.prototype._render_item = function(e) { + var i = e.index + , n = e.container + , a = e.cache_data + , r = 10 * this.page_controller.current_index + i; + r < this.comment_list.length ? this.comment_list[r].bind(n, a) : t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2156)) + } + , + a.prototype.delItem = function(e) { + for (var i = -1, n = 0; n < this.comment_list.length; n++) + if (this.comment_list[n].id === e) { + for (var a = n; a < this.comment_list.length - 1; a++) + this.comment_list[a] = this.comment_list[a + 1]; + this.comment_list.pop(), + i = n - 10 * this.page_controller.current_index; + break + } + i >= 0 && i < 10 && (this.content.delItem(i), + 10 * this.page_controller.current_index + 10 <= this.comment_list.length && (this.content.addItem(1), + this._fetch_current_page())), + app.NetAgent.sendReq2Lobby("Lobby", "deleteComment", { + target_id: this.target_id, + delete_list: [e] + }, function(e, i) { + (e || i.error) && t.UIMgr.Inst.showNetReqError("deleteComment", e, i) + }), + this.page_controller.set_total_page_count(Math.ceil(this.comment_list.length / 10)), + this.nonote.visible = 0 == this.comment_list.length + } + , + a + }(); + t.UI_PlayerNote = r +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function e(e, i, n, a) { + var r = this; + if (this.me = e, + e.getChildByName("container_tongbi") && (this.label_gold = e.getChildByName("container_tongbi").getChildByName("label_gold"), + this.btn_gold = e.getChildByName("container_tongbi").getChildByName("btn_plus"), + this.label_gold.text = "0", + this.btn_gold.clickHandler = Laya.Handler.create(this, function() { + n && n.run() || (t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : t.UI_Recharge.Inst.enable ? t.UI_Recharge.Inst.refresh_info("tongbi") : i && i.runWith(Laya.Handler.create(r, function() { + t.UI_Recharge.Inst.show("tongbi", a.run()) + }, null, !1))) + }, null, !1)), + e.getChildByName("container_huiyu") && (this.label_diamond = e.getChildByName("container_huiyu").getChildByName("label_gold"), + this.btn_diamond = e.getChildByName("container_huiyu").getChildByName("btn_plus"), + this.label_diamond.text = "0", + this.btn_diamond.clickHandler = Laya.Handler.create(this, function() { + n && n.run() || (t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : t.UI_Recharge.Inst.enable ? t.UI_Recharge.Inst.refresh_info("huiyu") : i && i.runWith(Laya.Handler.create(r, function() { + t.UI_Recharge.Inst.show("huiyu", a.run()) + }, null, !1))) + }, null, !1), + e.getChildByName("container_huiyu").getChildByName("btn_info").clickHandler = new Laya.Handler(this,function() { + t.UI_Lobby.Inst.locking || t.UI_checkhuiyu.Inst.show(e, i, n) + } + ), + "chs" == GameMgr.client_type && (e.getChildByName("container_huiyu").getChildByName("btn_info").mouseEnabled = !1)), + e.getChildByName("container_huishi")) { + this.label_huishi = e.getChildByName("container_huishi").getChildByName("label_gold"); + var s = e.getChildByName("container_huishi").getChildByName("btn_plus"); + game.LoadMgr.setImgSkin(e.getChildByName("container_huishi").getChildByName("icon"), cfg.item_definition.item.find(302014).icon_transparent), + this.label_huishi.text = "0", + s.clickHandler = Laya.Handler.create(this, function() { + n && n.run() || (t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : t.UI_Recharge.Inst.enable ? t.UI_Recharge.Inst.refresh_info("huishi") : i && i.runWith(Laya.Handler.create(r, function() { + t.UI_Recharge.Inst.show("huishi", a.run()) + }, null, !1))) + }, null, !1) + } + if (e.getChildByName("container_xinyang") && (this.label_xinyang = e.getChildByName("container_xinyang").getChildByName("label_gold"), + e.getChildByName("container_xinyang").getChildByName("icon").skin = game.Tools.localUISrc("myres/lobby/xycoin.png"), + this.label_huishi.text = "0"), + e.getChildByName("container_fushi")) { + this.label_pifuquan = e.getChildByName("container_fushi").getChildByName("label_gold"); + var o = e.getChildByName("container_fushi").getChildByName("btn_plus"); + game.LoadMgr.setImgSkin(e.getChildByName("container_fushi").getChildByName("btn_info").getChildByName("icon"), cfg.item_definition.currency.find(100004).icon), + this.label_pifuquan.text = "0", + o.clickHandler = Laya.Handler.create(this, function() { + n && n.run() || (t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : t.UI_Recharge.Inst.enable ? t.UI_Recharge.Inst.refresh_info("pifuquan") : i && i.runWith(Laya.Handler.create(r, function() { + t.UI_Recharge.Inst.show("pifuquan", a.run()) + }, null, !1))) + }, null, !1), + e.getChildByName("container_fushi").getChildByName("btn_info").clickHandler = new Laya.Handler(this,function() { + t.UI_Lobby.Inst.locking || t.UI_checkpifuquan.Inst.show(e, i, n) + } + ), + "chs" == GameMgr.client_type && (e.getChildByName("container_fushi").getChildByName("btn_info").mouseEnabled = !1) + } + app.NetAgent.AddListener2Lobby("NotifyAccountUpdate", Laya.Handler.create(this, function(e) { + var i = e.update; + if (i && i.numerical) { + for (var n = 0; n < i.numerical.length; n++) { + var a = i.numerical[n].id + , s = i.numerical[n].final; + switch (a) { + case 100002: + r.label_gold && (r.label_gold.text = r.money2Desc(s)) + } + } + Laya.timer.frameOnce(1, r, function() { + r.label_diamond && (r.label_diamond.text = r.money2Desc(t.UI_Bag.get_item_count(100001))), + r.label_huishi && (r.label_huishi.text = r.money2Desc(t.UI_Bag.get_item_count(302014))), + r.label_pifuquan && (r.label_pifuquan.text = r.money2Desc(t.UI_Bag.get_item_count(100004))) + }) + } + }, null, !1)) + } + return e.prototype.onEnable = function() { + this.label_diamond && (this.label_diamond.text = this.money2Desc(t.UI_Bag.get_item_count(100001))), + this.label_gold && (this.label_gold.text = this.money2Desc(GameMgr.Inst.account_data.gold)), + this.label_huishi && (this.label_huishi.text = this.money2Desc(t.UI_Bag.get_item_count(302014))), + this.label_xinyang && (this.label_xinyang.text = this.money2Desc(t.UI_Bag.get_item_count(302014))), + this.label_huishi && ("chs" != GameMgr.client_type && (this.me.getChildByName("container_huishi").visible = !1), + "chs" == GameMgr.client_type && this.me.getChildByName("container_xinyang") && (this.me.getChildByName("container_xinyang").visible = !1)), + this.label_pifuquan && (this.label_pifuquan.text = this.money2Desc(t.UI_Bag.get_item_count(100004))); + for (var e = -1e7, i = ["container_huiyu", "container_tongbi", "container_huishi", "container_xinyang", "container_fushi"], n = 0; n < i.length; n++) { + var a = this.me.getChildByName(i[n]); + a && a.visible && (-1e7 == e ? e = a.x : (e -= 290, + a.x = e)) + } + } + , + e.prototype.money2Desc = function(t) { + if (t < 1e6) + return t.toString(); + if ("en" != GameMgr.client_language) { + if (t < 1e8) { + for (var e = (t / 1e4).toFixed(3), i = 0, n = 0; n < e.length; n++) + if ("." == e[n]) { + i = n; + break + } + return (e = i >= 4 ? e.substr(0, 4) : e.substr(0, 5)) + game.Tools.strOfLocalization(2148) + } + for (var e = (t / 1e8).toFixed(3), i = 0, n = 0; n < e.length; n++) + if ("." == e[n]) { + i = n; + break + } + return (e = i >= 4 ? e.substr(0, 4) : e.substr(0, 5)) + game.Tools.strOfLocalization(2149) + } + if (t < 1e9) { + for (var e = (t / 1e6).toFixed(3), i = 0, n = 0; n < e.length; n++) + if ("." == e[n]) { + i = n; + break + } + return (e = i >= 4 ? e.substr(0, 4) : e.substr(0, 5)) + "M" + } + for (var e = (t / 1e9).toFixed(3), i = 0, n = 0; n < e.length; n++) + if ("." == e[n]) { + i = n; + break + } + return (e = i >= 4 ? e.substr(0, 4) : e.substr(0, 5)) + "B" + } + , + e + }(); + t.UI_Money = e +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function t(t) { + var e = this; + this.me = t, + this.content = this.me.getChildByName("content"), + this.label_info = this.content.getChildByName("info"), + this.scrollbar = this.me.getChildByName("scrollbar").scriptMap["capsui.CScrollBar"], + this.scrollbar.init(null), + this.content.vScrollBarSkin = "", + this.content.vScrollBar.on("change", this, function() { + e.scrollbar.setVal(e.content.vScrollBar.value / e.content.vScrollBar.max, e.content.height / e.label_info.height) + }) + } + return t.prototype.SetInfo = function(t) { + this.label_info.text = t, + this.label_info.height = this.label_info.textField.textHeight, + this.content.vScrollBar.value = 0, + this.content.vScrollBar.stopScroll(), + this.content.refresh(), + this.label_info.height <= this.content.height ? this.scrollbar.me.visible = !1 : (this.scrollbar.me.visible = !0, + this.scrollbar.setVal(0, this.content.height / this.label_info.height)) + } + , + t + }() + , i = function() { + function e(t) { + this.me = t, + this.scrollview = this.me.scriptMap["capsui.CScrollView_Heng"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_item)), + this.scrollview.reset() + } + return e.prototype.refresh = function(t, e) { + this.can_get = t, + this.items = e, + this.scrollview.reset(), + this.scrollview.addItem(e.length) + } + , + e.prototype.render_item = function(e) { + var i = e.index + , n = e.container + , a = e.cache_data + , r = this.items[i] + , s = r.id + , o = r.count; + n.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + t.UI_ItemDetail.Inst.show(s) + }, null, !1), + a.icon || (a.icon = new t.UI_Item_Skin(n.getChildByName("btn").getChildByName("icon"))), + a.icon.setSkin(game.GameUtility.get_item_view(s).icon); + var l = n.getChildByName("count"); + o <= 1 ? l.visible = !1 : (l.visible = !0, + l.text = o.toString()); + n.getChildByName("getted").visible = !this.can_get + } + , + e + }() + , n = function() { + function n(t) { + this.select_index = -1, + this.right_btn_cd = 0, + n.Inst = this, + this.me = t, + this.me.visible = !1, + this.container_left = this.me.getChildByName("left"), + this.container_right = this.me.getChildByName("right"), + this.container_nomail = this.me.getChildByName("nomail"), + this.left_sroll = this.me.getChildByName("left").scriptMap["capsui.CScrollView"], + this.left_sroll.init_scrollview(Laya.Handler.create(this, this._renderLeft, null, !1)); + var a = this.me.getChildByName("right"); + this.title = a.getChildByName("title"), + this.container_content = new e(a.getChildByName("container_info")), + this.btn_get = a.getChildByName("btn_get"), + this.btn_del = a.getChildByName("btn_del"), + this.container_item = new i(a.getChildByName("container_items")) + } + return Object.defineProperty(n, "haveRedPoint", { + get: function() { + for (var t = 0; t < this.mails.length; t++) + if (0 == this.mails[t].state) + return !0; + return !1 + }, + enumerable: !0, + configurable: !0 + }), + n.Init = function() { + var e = this; + app.NetAgent.sendReq2Lobby("Lobby", "fetchMailInfo", {}, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("fetchMailInfo", i, n); + else { + if (e.mails = [], + n.mails) + for (var a = 0; a < n.mails.length; a++) + e.mails.push(n.mails[a]); + e.mails = e.mails.sort(function(t, e) { + var i = t.create_time; + i || (i = 0); + var n = e.create_time; + return n || (n = 0), + n - i + }) + } + }), + app.NetAgent.AddListener2Lobby("NotifyNewMail", Laya.Handler.create(this, function(t) { + e.mails.unshift(t.mail) + }, null, !1)), + app.NetAgent.AddListener2Lobby("NotifyDeleteMail", Laya.Handler.create(this, function(t) { + for (var i = 0; i < t.mail_id_list.length; i++) + if (e.Inst) + e.Inst.onDelMail(t.mail_id_list[i]); + else { + for (var a = -1, r = 0; r < n.mails.length; r++) + if (n.mails[r].mail_id == t.mail_id_list[r]) { + a = r; + break + } + for (var s = a; s < n.mails.length - 1; s++) + n.mails[s] = n.mails[s + 1]; + n.mails.pop() + } + }, null, !1)) + } + , + n.prototype.show = function() { + this.left_sroll.reset(), + this.right_btn_cd = 0, + n.mails.length > 0 ? (this.select_index = 0, + this.left_sroll.addItem(n.mails.length), + this._renderRight(0, !0), + this.container_left.visible = !0, + this.container_right.visible = !0, + this.container_nomail.visible = !1) : (this.select_index = 0, + this.container_left.visible = !1, + this.container_right.visible = !1, + this.container_nomail.visible = !0), + this.me.visible = !0 + } + , + n.prototype.onDelMail = function(e) { + for (var i = -1, a = 0; a < n.mails.length; a++) + if (n.mails[a].mail_id == e) { + i = a; + break + } + for (var r = i; r < n.mails.length - 1; r++) + n.mails[r] = n.mails[r + 1]; + if (n.mails.pop(), + t.UI_Activity.Inst.enable) { + var s = this.select_index; + s == n.mails.length && s--, + this.left_sroll.delItem(i), + n.mails.length <= 0 ? (this.container_left.visible = !1, + this.container_right.visible = !1, + this.container_nomail.visible = !0) : (this.container_left.visible = !0, + this.container_right.visible = !0, + this.container_nomail.visible = !1, + this._renderRight(s, !0), + this.left_sroll.wantToRefreshItem(s)) + } + } + , + n.prototype.hide = function() { + this.me.visible = !1, + this.left_sroll.reset() + } + , + n.prototype._renderLeft = function(t) { + var e = this + , i = t.index + , a = t.container + , r = n.mails[i] + , s = a.getChildByName("bg"); + s.skin = game.Tools.localUISrc(this.select_index == i ? "myres/lobby/act_choosed.png" : "myres/lobby/act_unchoosen.png"); + var o = a.getChildByName("state"); + o.skin = game.Tools.localUISrc(this.select_index != i && 0 == r.state ? "myres/lobby/read_no.png" : "myres/lobby/read_yes.png"), + a.clickHandler = Laya.Handler.create(this, function() { + if (e.select_index != i) { + var t = e.select_index; + e._renderRight(i, !1), + r.state = 1, + s.skin = game.Tools.localUISrc("myres/lobby/act_choosed.png"), + o.skin = game.Tools.localUISrc("myres/lobby/read_yes.png"), + t >= 0 && e.left_sroll.wantToRefreshItem(t) + } + }, null, !1), + a.getChildByName("title").text = r.title + } + , + n.prototype._renderRight = function(e, i) { + var a = this; + if (i || this.select_index != e) { + var r = n.mails[e]; + this.select_index = e, + this.title.text = r.title, + this.container_content.SetInfo(r.content); + for (var s = !1, o = [], l = 0; l < r.attachments.length; l++) + 100099 != r.attachments[l].id && 100098 != r.attachments[l].id && o.push(r.attachments[l]); + r.attachments && r.attachments.length > 0 ? (s = !r.take_attachment, + this.container_item.me.visible = !0, + this.container_item.refresh(s, o)) : this.container_item.me.visible = !1, + this.btn_get.visible = s, + this.btn_del.visible = !s, + 0 == r.state && (this.onReadStateChange(), + app.NetAgent.sendReq2Lobby("Lobby", "readMail", { + mail_id: r.mail_id + }, function() {}), + r.state = 1, + this.onReadStateChange()), + this.right_btn_cd = 0, + this.btn_get.clickHandler = Laya.Handler.create(this, function() { + Laya.timer.currTimer < a.right_btn_cd || (a.right_btn_cd = Laya.timer.currTimer + 1e3, + app.NetAgent.sendReq2Lobby("Lobby", "takeAttachmentFromMail", { + mail_id: r.mail_id + }, function(e, i) { + a.right_btn_cd = 0, + e || i.error ? t.UIMgr.Inst.showNetReqError("takeAttachmentFromMail", e, i) : (a.btn_get.visible = !s, + a.btn_del.visible = s, + r.take_attachment = !0, + a.container_item.refresh(!1, o), + game.Tools.showRewards({ + rewards: o + }, null)) + })) + }, null, !1), + this.btn_del.clickHandler = Laya.Handler.create(this, function() { + Laya.timer.currTimer < a.right_btn_cd || (a.right_btn_cd = Laya.timer.currTimer + 1e3, + app.NetAgent.sendReq2Lobby("Lobby", "deleteMail", { + mail_id: r.mail_id + }, function(e, i) { + a.right_btn_cd = 0, + e || i.error ? t.UIMgr.Inst.showNetReqError("deleteMail", e, i) : a.onDelMail(r.mail_id) + })) + }) + } + } + , + n.prototype.onReadStateChange = function() { + t.UI_Lobby.Inst.top.refreshRedpoint(), + t.UI_Activity.Inst.refresh_redpoint() + } + , + n.Inst = null, + n.mails = [], + n + }(); + t.UI_Mail = n +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function t(t) { + this.stars = [], + this._id = 0, + this.level_v = null, + this.level_vmax = null, + this.level_bar = null, + this.container_huntian = null, + this.level_v_huntian = null, + this.bgp = null, + this.me = t, + this.icon = t.getChildByName("icon"); + for (var e = 1; e <= 3; e++) + if (t.getChildByName("star" + e)) { + var i = t.getChildByName("star" + e).getChildAt(0); + i && this.stars.push(i) + } + this.container_exp = this.me.getChildByName("exp"), + this.container_exp && (this.level_v = this.container_exp.getChildByName("value"), + this.level_vmax = this.container_exp.getChildByName("max"), + this.level_bar = this.container_exp.getChildByName("bar").getChildByName("v")), + this.container_huntian = this.me.getChildByName("huntian"), + this.container_huntian && (this.level_v_huntian = this.container_huntian.getChildByName("value")), + this.bgp = this.me.getChildByName("bgp") + } + return Object.defineProperty(t.prototype, "id", { + set: function(t) { + var e = cfg.level_definition.level_definition.get(t); + if (e || (e = cfg.level_definition.level_definition.find(10101)), + this._id = e.id, + this.icon.skin = game.LoadMgr.getResImageSkin(e.primary_icon), + 10601 == t || 20601 == t) { + for (i = 0; i < this.stars.length; i++) + this.stars[i].parent.visible = !1; + this.container_huntian ? (this.container_exp && (this.container_exp.visible = !1), + this.container_huntian.visible = !0) : this.container_exp && (this.container_exp.visible = !0), + this.bgp && (this.bgp.visible = !0) + } else { + for (var i = 0; i < this.stars.length; i++) + this.stars[i].visible = i < e.secondary_level, + this.stars[i].parent.visible = !0; + this.container_huntian && (this.container_huntian.visible = !1), + this.container_exp && (this.container_exp.visible = !0), + this.bgp && (this.bgp.visible = !1) + } + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "exp", { + set: function(t) { + var e = cfg.level_definition.level_definition.get(this._id); + if (this.level_v && (this.level_v.text = Math.floor(t).toString()), + this.level_vmax && (this.level_vmax.text = Math.floor(e.end_point).toString()), + this.level_bar) { + var i = t / e.end_point; + i = i < 0 ? 0 : i > 1 ? 1 : i, + this.level_bar.x = 145 * i - 153 + } + this.level_v_huntian && (this.level_v_huntian.text = Math.floor(t).toString()) + }, + enumerable: !0, + configurable: !0 + }), + t + }(); + t.UI_Level = e +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function t(t) { + this.change_id = 0, + this.skin_path = "", + this.loaded = !1, + this.me = t, + this.img = t, + this.img.skin = "" + } + return t.prototype.setSkin = function(t) { + var e = this; + if ("" != t) { + var i = t; + if (i != this.skin_path) { + this.skin_path = i, + this.change_id++; + var n = this.change_id + , a = game.LoadMgr.getResImageSkin(i); + "" == a ? (this.img.skin = game.LoadMgr.getResImageSkin("extendRes/items/default.jpg"), + this.loaded = !1, + game.LoadMgr.loadResImage([this.skin_path], Laya.Handler.create(this, function() { + n == e.change_id && (e.loaded = !0, + e.img.skin = game.LoadMgr.getResImageSkin(e.skin_path)) + }))) : (this.loaded = !0, + this.img.skin = a) + } + } else + this.clear() + } + , + t.prototype.clear = function() { + this.change_id++, + this.loaded && "" != this.skin_path && (Laya.loader.clearTextureRes(this.skin_path), + this.loaded = !1, + this.skin_path = "") + } + , + t + }(); + t.UI_Item_Skin = e +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function e(e) { + this.me = e, + this.img_head = new t.UI_Character_Skin(e.getChildByName("head")), + this.img_frame = e.getChildByName("head_frame") + } + return Object.defineProperty(e.prototype, "id", { + get: function() { + return this._id + }, + set: function(t) { + this._id = t, + this.img_head.setSkin(t, "smallhead") + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(e.prototype, "head_frame", { + set: function(t) { + cfg.item_definition.item.get(t) || (t = 305501); + var e = cfg.item_definition.view.get(t); + game.LoadMgr.setImgSkin(this.img_frame, "extendRes/head_frame/" + e.res_name + ".png") + }, + enumerable: !0, + configurable: !0 + }), + e + }(); + t.UI_Head = e +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function e(e) { + this.change_id = 0, + this.skin_path = "", + this.loaded = !1, + this.me = e, + this.img = e, + this.origin_rect = t.UIRect.CreateFromSprite(this.img), + this.img.skin = "" + } + return e.prototype.setSkin = function(t, e) { + var i = this + , n = cfg.item_definition.skin.get(t); + if (n) { + var a = n.path + "/" + e + ".png"; + if (a != this.skin_path) { + this.skin_path = a, + this.change_id++; + var r = this.change_id; + if ("" == game.LoadMgr.getResImageSkin(a)) { + 1 == cfg.item_definition.character.get(n.character_id).sex ? this._setLoadedTexture(4e5, e) : this._setLoadedTexture(400001, e), + this.loaded = !1, + game.LoadMgr.loadResImage([this.skin_path], Laya.Handler.create(this, function() { + r == i.change_id && (i.loaded = !0, + i._setLoadedTexture(t, e)) + })) + } else + this.loaded = !0, + this._setLoadedTexture(t, e) + } + } else + this.clear() + } + , + e.prototype.clear = function() { + this.change_id++, + this.loaded && "" != this.skin_path && (Laya.loader.clearTextureRes(game.LoadMgr.getResImageSkin(this.skin_path)), + this.loaded = !1, + this.skin_path = "") + } + , + e.prototype._setLoadedTexture = function(t, e) { + var i = cfg.item_definition.skin.get(t); + "full" == e || "half" == e ? game.Tools.charaPart(t, this.img, e, this.origin_rect) : this.img.skin = game.LoadMgr.getResImageSkin(i.path + "/" + e + ".png") + } + , + e + }(); + t.UI_Character_Skin = e +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function t(t) { + this.change_id = 0, + this.skin_path = "", + this.loaded = !1, + this.effect = null, + this.me = t, + this.me.skin = "" + } + return t.prototype.setSkin = function(t, e, i) { + var n = this; + void 0 === i && (i = !1); + var a = cfg.item_definition.character.get(t); + if (a) { + var r = a.emo + "/" + e.toString() + ".png"; + if (r != this.skin_path) { + this.change_id++; + for (var s = this.change_id, o = cfg.character.emoji.getGroup(t), l = "", h = 0; h < o.length; h++) + if (o[h].sub_id == e) { + 2 == o[h].type && i && (l = o[h].view); + break + } + if ("" != l) + this.skin_path = "", + this.me.skin = "", + Laya.timer.once(300, this, function() { + n.change_id == s && (n.effect = game.FrontEffect.Inst.create_ui_effect(n.me, "scene/" + l + ".lh", new Laya.Point(0,0), 1)) + }); + else { + this.skin_path = r; + var c = game.LoadMgr.getResImageSkin(r); + "" == c ? (this.me.skin = game.LoadMgr.getResImageSkin("extendRes/emo/default.png"), + this.loaded = !1, + game.LoadMgr.loadResImage([this.skin_path], Laya.Handler.create(this, function() { + s == n.change_id && (n.loaded = !0, + n.me.skin = game.LoadMgr.getResImageSkin(n.skin_path)) + }))) : (this.loaded = !0, + this.me.skin = c) + } + } + } else + this.clear() + } + , + t.prototype.clear = function() { + this.change_id++, + this.loaded && "" != this.skin_path && (Laya.loader.clearTextureRes(game.LoadMgr.getResImageSkin(this.skin_path)), + this.loaded = !1, + this.skin_path = ""), + this.effect && (this.effect.destory(), + this.effect = null) + } + , + t + }(); + t.UI_Character_Emo = e +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function t(t) { + this.me = null, + this.content = null, + this.info = null, + this._info = "", + this._index = 0, + this._start_time = 0, + this._word_span = 50, + this._speed = 1, + this._speed_multi = 1, + this.me = t, + this.content = this.me.getChildByName("content"), + this.info = this.content.getChildByName("info"), + this.content.vScrollBarSkin = "" + } + return t.prototype.show = function(t, e) { + var i = this; + for (void 0 === e && (e = 1), + Laya.timer.clearAll(this), + 1 == e && "en" == GameMgr.client_language && (e = 3), + this._speed = e, + this._speed_multi = 1, + this.info.text = ""; t.indexOf("{name}") > 0; ) + t = t.replace("{name}", GameMgr.Inst.account_data.nickname); + this._info = t, + this._index = 0, + this.me.visible = !0, + this.me.alpha = 0, + Laya.Tween.to(this.me, { + alpha: 1 + }, 200, null, null, 0, !0), + this._start_time = Laya.timer.currTimer, + this._word_span = 50, + this.info.y = 10, + this.info.width = this.content.width, + this.content.mouseEnabled = !1, + Laya.timer.once(200, this, function() { + i._nextchar() + }) + } + , + t.prototype._nextchar = function() { + if (this._info.length <= this._index) + return this.content.refresh(), + void (this.content.mouseEnabled = !0); + if ("[" == this._info[this._index]) { + for (var t = -1, e = this._index + 1; e < this._info.length; e++) + if ("]" == this._info[e]) { + t = e; + break + } + if (-1 == t) + return; + n = parseInt(this._info.substring(this._index + 1, t)); + this._index = t + 1; + var i = Laya.timer.currTimer - this._start_time; + i >= n ? this._nextchar() : Laya.timer.once(n - i, this, this._nextchar) + } else if ("<" == this._info[this._index]) { + for (var t = -1, e = this._index + 1; e < this._info.length; e++) + if (">" == this._info[e]) { + t = e; + break + } + if (-1 == t) + return; + n = parseInt(this._info.substring(this._index + 1, t)); + this._index = t + 1, + this._word_span = n, + this._nextchar() + } else if ("{" == this._info[this._index]) { + for (var t = -1, e = this._index + 1; e < this._info.length; e++) + if ("}" == this._info[e]) { + t = e; + break + } + if (-1 == t) + return; + var n = parseFloat(this._info.substring(this._index + 1, t)); + this._index = t + 1, + n > .1 && n < 1e3 && (this._speed_multi = n), + this._nextchar() + } else { + var a = this.info.text + , r = this._speed * this._speed_multi + , s = r + , o = function(t) { + return " " != t && "\t" != t && "\r" != t && "\n" != t && "[" != t && "<" != t && "{" != t + }; + if ("en" == GameMgr.client_language) + for (; this._index < this._info.length && s > 0 && "[" != this._info[this._index] && "<" != this._info[this._index] && "{" != this._info[this._index]; ) + if (o(this._info[this._index])) { + for (var l = "", e = this._index; e < this._info.length && o(this._info[e]); ) + l += this._info[e++]; + this.info.text = a; + var h = this.info.textField.textHeight; + this.info.text = a + l + " "; + var c = this.info.textField.textHeight; + if (a.length > 0 && h != c && (a += "\n"), + l.length > s) { + a += l.substr(0, s), + this._index += s, + s = 0; + break + } + a += l, + s -= l.length, + this._index += l.length + } else + a += this._info[this._index], + this._index++, + s--; + else + for (e = 0; e < r && this._index < this._info.length && ("[" != this._info[this._index] && "<" != this._info[this._index] && "{" != this._info[this._index]); e++) + a += this._info[this._index], + this._index++; + this.info.text = a, + this.info.height = this.info.textField.textHeight, + this.info.height > this.content.height ? this.info.y = this.content.height - this.info.height + 10 : this.info.y = 10, + Laya.timer.once(this._word_span, this, this._nextchar) + } + } + , + t.prototype.close = function(t) { + var e = this; + t ? (this.me.visible = !1, + Laya.timer.clearAll(this)) : (Laya.Tween.to(this.me, { + alpha: 0 + }, 200, null, null, 0, !0), + Laya.timer.once(200, this, function() { + e.me.visible = !1, + Laya.timer.clearAll(e) + })) + } + , + t + }(); + t.UI_Character_Chat = e +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function t(t, e, i) { + var n = this; + this._func_locking = null, + this._func_hide = null, + this._func_locking = e, + this._func_hide = i, + this.me = t; + var a = this.me.getChildByName("unhit"); + this.me.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + n._func_locking && n._func_locking.run() || (a.mouseX < 0 || a.mouseX > a.width || a.mouseY < 0 || a.mouseY > a.height) && (n._func_hide && n._func_hide.run(), + n.hide()) + }, null, !1) + } + return t.prototype.show = function() { + Laya.timer.clearAll(this), + this.me.visible = !0, + this.me.alpha = 0, + Laya.Tween.to(this.me, { + alpha: .3 + }, 150) + } + , + t.prototype.hide = function() { + Laya.timer.clearAll(this), + Laya.Tween.to(this.me, { + alpha: 0 + }, 150) + } + , + t + }(); + t.UI_BlackMask = e +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function t(t, e, i) { + var n = this; + this.me = t, + this._get_on = e, + this._set_on = i, + this.btn = this.me.getChildByName("checkbox").getChildByName("btn"), + this.check = this.me.getChildByName("checkbox").getChildByName("checkbox"), + this.label = this.me.getChildByName("checkbox").getChildByName("label"), + this.btn.clickHandler = new Laya.Handler(this,function() { + n._set_on.run() + } + ) + } + return t.prototype.refresh = function() { + var t = this._get_on.run(); + this.check.visible = t, + this.label && (this.label.color = t ? "#cad4f7" : "#9ba1b2") + } + , + t + }() + , i = function() { + function i(t, i) { + var n = this; + this.cells = [], + this.modes = [], + this.id_list = [], + this._h = 0, + this.me = t, + this.is_lobby = i; + for (o = 0; o < 5; o++) { + var a = this.me.getChildByName("cell" + o); + this.cells.push({ + bgm: "", + me: a, + flag: a.getChildByName("flag"), + name: a.getChildByName("name"), + btn_play: a.getChildByName("btn_play"), + lock: a.getChildByName("lock") + }) + } + this.container_modes = this.me.getChildByName("modes"); + for (var r = function(t) { + return n.is_lobby ? 0 == t ? "list" == view.BgmListMgr.bgm_lobby_mode : "list" != view.BgmListMgr.bgm_lobby_mode : 0 == t ? "list" == view.BgmListMgr.bgm_mj_mode : "list" != view.BgmListMgr.bgm_mj_mode + }, s = function(t) { + n.is_lobby ? (view.BgmListMgr.bgm_lobby_mode = 0 == t ? "list" : "rand", + Laya.LocalStorage.setItem(game.Tools.eeesss("bgm_lobby_mode" + GameMgr.Inst.account_id), view.BgmListMgr.bgm_lobby_mode)) : (view.BgmListMgr.bgm_mj_mode = 0 == t ? "list" : "rand", + Laya.LocalStorage.setItem(game.Tools.eeesss("bgm_mj_mode" + GameMgr.Inst.account_id), view.BgmListMgr.bgm_mj_mode)); + for (var e = 0; e < n.modes.length; e++) + n.modes[e].refresh() + }, o = 0; o < 2; o++) + this.modes.push(new e(this.container_modes.getChildAt(o),new Laya.Handler(this,r,[o]),new Laya.Handler(this,s,[o]))) + } + return Object.defineProperty(i.prototype, "h", { + get: function() { + return this._h + }, + enumerable: !0, + configurable: !0 + }), + i.prototype.show = function() { + var e = 0; + this._h = 0; + for (var i = 0; i < this.cells.length; i++) + this.cells[i].me.visible = !1, + this.cells[i].bgm = ""; + var n = this; + cfg.audio.bgm.forEach(function(i) { + if (!(e >= n.cells.length) && (n.is_lobby && "lobby" == i.type || !n.is_lobby && "mj" == i.type)) { + var a = e + , r = n.cells[e]; + r.bgm = i.path, + r.me.y = (r.me.height + 10) * e, + r.me.x = 230, + r.me.visible = !0, + r.name.text = i["name_" + GameMgr.client_language], + !n.is_lobby || t.UI_Lobby.Inst && t.UI_Lobby.Inst.enable ? game.Tools.setGrayDisable(r.me, !1) : game.Tools.setGrayDisable(r.me, !0), + i.unlock_item && 0 == t.UI_Bag.get_item_count(i.unlock_item) ? (r.flag.visible = !1, + r.lock.visible = !0, + r.btn_play.visible = !1, + r.lock.getChildByName("info").text = i["unlock_desc_" + GameMgr.client_language], + r.me.getChildByName("btn_choose").visible = !1) : (r.flag.visible = !1, + r.lock.visible = !1, + r.btn_play.visible = !0, + r.btn_play.clickHandler = Laya.Handler.create(n, function() { + view.BgmListMgr.playing_bgm == i.path ? view.BgmListMgr.onHandStop() : view.BgmListMgr.tryPlayBgm(i.path) + }, null, !1), + r.me.getChildByName("btn_choose").visible = !0, + r.me.getChildByName("btn_choose").clickHandler = Laya.Handler.create(n, function() { + if (n.is_lobby) { + if ((i = view.BgmListMgr.findIndexInLobby(r.bgm)) >= 0) { + (s = view.BgmListMgr.baned_bgm_lobby_list).push(n.cells[a].bgm), + view.BgmListMgr.baned_bgm_lobby_list = s, + view.BgmListMgr.playing_bgm == r.bgm && view.BgmListMgr.onHandStop(), + r.name.color = "#414A70" + } else { + for (var t = [], e = 0; e < view.BgmListMgr.baned_bgm_lobby_list.length; e++) + view.BgmListMgr.baned_bgm_lobby_list[e] != n.cells[a].bgm && t.push(view.BgmListMgr.baned_bgm_lobby_list[e]); + view.BgmListMgr.baned_bgm_lobby_list = t, + r.name.color = "#a2fb4d" + } + } else { + var i = view.BgmListMgr.findIndexInMJ(r.bgm); + if (i >= 0) { + var s = view.BgmListMgr.baned_bgm_mj_list; + s.push(n.cells[a].bgm), + view.BgmListMgr.baned_bgm_mj_list = s, + view.BgmListMgr.playing_bgm == r.bgm && view.BgmListMgr.onHandStop(), + r.name.color = "#414A70" + } else { + for (var t = [], e = 0; e < view.BgmListMgr.baned_bgm_mj_list.length; e++) + view.BgmListMgr.baned_bgm_mj_list[e] != n.cells[a].bgm && t.push(view.BgmListMgr.baned_bgm_mj_list[e]); + view.BgmListMgr.baned_bgm_mj_list = t, + r.name.color = "#a2fb4d" + } + } + view.BgmListMgr.saveConfig() + }, null, !1)), + e++, + n._h = r.me.y + r.me.height + 10 + } + }), + this.container_modes.y = this._h, + this._h += 80, + this.refresh() + } + , + i.prototype.refresh = function() { + for (t = 0; t < this.modes.length; t++) + this.modes[t].refresh(); + for (var t = 0; t < this.cells.length; t++) { + var e = this.cells[t]; + if (e.me.visible) { + var i = "" != view.BgmListMgr.playing_bgm && view.BgmListMgr.playing_bgm == e.bgm + , n = !1; + this.is_lobby && (n = view.BgmListMgr.findIndexInLobby(e.bgm) >= 0), + this.is_lobby || (n = view.BgmListMgr.findIndexInMJ(e.bgm) >= 0), + e.flag.visible = i, + e.btn_play.getChildByName("img").skin = game.Tools.localUISrc(i ? "myres/bothui/bf_pause.png" : "myres/bothui/bf_play.png"), + e.name.color = n ? "#a2fb4d" : "#414A70" + } + } + } + , + i + }(); + t.UI_Bgm_List = i +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function e(t) { + this.skin_id = 0, + this.me = t + } + return e.prototype.onCreate = function() { + var e = this + , i = this.me.getChildByName("btn_detail"); + i.clickHandler = new Laya.Handler(this,function() { + t.UI_Bag.Inst.locking || t.UI_Bag.Inst.hide(Laya.Handler.create(e, function() { + t.UI_Skin_Yulan.Inst.show(e.skin_id, Laya.Handler.create(e, function() { + t.UI_Bag.Inst.show(3) + })) + })) + } + ), + this.icon = new t.UI_Character_Skin(i.getChildByName("content").getChildByName("icon")), + this.container_lock = i.getChildByName("content").getChildByName("lock"), + this.container_lock_info = this.container_lock.getChildByName("info"), + this.label_lock_info = this.container_lock_info.getChildByName("info") + } + , + e.prototype.show = function() { + if (this.me.visible = !0, + this.icon.setSkin(this.skin_id, "bighead"), + t.UI_Sushe.skin_owned(this.skin_id)) + this.container_lock.visible = !1; + else { + this.container_lock.visible = !0; + var e = cfg.item_definition.skin.get(this.skin_id); + this.label_lock_info.text = e["lock_tips_" + GameMgr.client_language] + } + } + , + e.prototype.reset = function() { + this.icon.clear() + } + , + e + }() + , i = function() { + function i(t) { + var i = this; + this.cells = [], + this.container_charas = [], + this.skin_data = {}, + this.inited = !1, + this.total_h = 0, + this.me = t, + this.content = this.me.getChildByName("content"); + var n = this.content.getChildByName("templete_cell"); + n.visible = !1, + this.cells = [], + cfg.item_definition.skin.forEach(function(t) { + var a = cfg.item_definition.character.get(t.character_id); + if (a && a.open) { + var r = !0; + 0 == t.type ? r = !1 : 1 == t.type && (a.can_marry || (r = !1)), + r && (0 == i.cells.length ? i.cells.push(new e(n)) : i.cells.push(new e(n.scriptMap["capsui.UICopy"].getNodeClone())), + i.skin_data[t.character_id] || (i.skin_data[t.character_id] = []), + i.skin_data[t.character_id].push(t.id)) + } + }); + var a = this.content.getChildByName("templete_chara"); + a.visible = !1, + this.container_charas = []; + for (var r in this.skin_data) + 0 == this.container_charas.length ? this.container_charas.push(a) : this.container_charas.push(a.scriptMap["capsui.UICopy"].getNodeClone()); + var s = this.me.getChildByName("show_all"); + this.checkbox_showAll = s.getChildByName("checkbox"), + s.clickHandler = new Laya.Handler(this,function() { + i.checkbox_showAll.visible = !i.checkbox_showAll.visible, + i.refresh_force() + } + ), + this.scrollbar = this.me.getChildByName("scrollbar").scriptMap["capsui.CScrollBar"], + this.scrollbar.init(new Laya.Handler(this,function(t) { + i.content.vScrollBar.value = i.content.vScrollBar.max * t, + i.onPanelScroll() + } + )), + this.scrollbar.islong = !1, + this.content.vScrollBarSkin = "", + this.content.vScrollBar.on("change", this, function() { + i.onPanelScroll() + }), + this.no_info = this.me.getChildByName("no_info"), + Laya.timer.frameOnce(5, this, function() { + for (var t = 0; t < i.cells.length; t++) + i.cells[t].onCreate() + }) + } + return i.prototype.refresh_force = function() { + for (var e = this, i = 0; i < this.cells.length; i++) + this.cells[i].skin_id = 0, + this.cells[i].reset(), + this.cells[i].me.visible = !1, + this.content.addChild(this.cells[i].me), + this.cells[i].me.y = 0; + for (i = 0; i < this.container_charas.length; i++) + this.container_charas[i].visible = !1, + this.container_charas[i].y = 0, + this.container_charas[i].height = 0; + this.checkbox_showAll.visible; + var n = 0 + , a = 0 + , r = 0; + cfg.item_definition.character.forEach(function(i) { + var s = i.id; + if (e.skin_data[s]) { + for (var o = e.skin_data[s], l = [], h = 0, c = 0; c < o.length; c++) { + p = o[c]; + (e.checkbox_showAll.visible || t.UI_Sushe.skin_owned(p)) && (t.UI_Sushe.skin_owned(p) && h++, + l.push(p)) + } + if (0 != l.length) { + var _ = e.container_charas[a++]; + _.visible = !0, + _.y = r; + var u = _.getChildByName("name"); + u.text = i["name_" + GameMgr.client_language]; + var d = _.getChildByName("count"); + d.text = h.toString() + "/" + o.length.toString(), + d.x = u.x + u.textField.textWidth + 30; + for (var f = _.getChildByName("container_skins"), c = 0; c < l.length; c++) { + var p = l[c] + , m = e.cells[n++]; + m.me.visible = !0, + f.addChild(m.me), + m.me.x = c % 6 * m.me.width, + m.me.y = Math.floor(c / 6) * m.me.height, + m.skin_id = p, + m.show() + } + var g = f.y + Math.ceil(l.length / 6) * e.cells[0].me.height + 20; + _.getChildByName("line").visible = 1 != a, + _.height = g, + r += g + } + } + }), + this.total_h = r, + this.content.refresh(), + this.scrollbar.reset(), + this.scrollbar.setVal(0, this.total_h > 0 ? this.content.height / this.total_h : 1), + this.no_info.visible = this.total_h <= 0 + } + , + i.prototype.onPanelScroll = function() { + this.total_h < this.content.height ? this.scrollbar.setVal(0, 1) : this.scrollbar.setVal(this.content.vScrollBar.value / this.content.vScrollBar.max, this.content.height / this.total_h) + } + , + i.prototype.refresh_lite = function() { + for (var t = 0; t < this.cells.length; t++) + this.cells[t].me.visible && this.cells[t].show(); + this.no_info.visible = this.total_h <= 0, + this.onPanelScroll() + } + , + i.prototype.show = function() { + this.me.visible = !0, + this.inited ? this.refresh_lite() : (this.inited = !0, + this.checkbox_showAll.visible = !0, + this.refresh_force()) + } + , + i.prototype.close = function() { + this.me.visible = !1; + for (var t = 0; t < this.cells.length; t++) + this.cells[t].reset() + } + , + i.prototype.when_update_data = function() { + this.inited = !1 + } + , + i + }(); + t.UI_Bag_PageSkin = i +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function e(t) { + this.items = [], + this.me = t, + this.scrollview = t.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_item), -1, 6, 10), + this.scrollview.reset() + } + return e.prototype.show = function(e) { + this.category = e, + this.me.visible = !0, + this.scrollview.reset(), + this.items = t.UI_Bag.find_items_by_category(e), + this.scrollview.addItem(this.items.length) + } + , + e.prototype.close = function() { + this.me.visible = !1, + this.items = [], + this.scrollview.reset() + } + , + e.prototype.render_item = function(e) { + var i = e.index + , n = e.container + , a = e.cache_data; + a.skin || (a.skin = new t.UI_Item_Skin(n.getChildByName("btn_detail").getChildByName("content").getChildByName("icon"))); + var r = this.items[i] + , s = cfg.item_definition.item.get(r.item_id) + , o = n.getChildByName("btn_detail"); + o.clickHandler = Laya.Handler.create(this, function() { + t.UI_ItemDetail.Inst.show(r.item_id, 1) + }, null, !1), + o.getChildByName("count").visible = !1, + o.getChildByName("btn_del").visible = !1, + a.skin.setSkin(s.icon); + var l = o.getChildByName("content").getChildByName("num"); + r.count <= 1 ? l.visible = !1 : (l.visible = !0, + l.text = r.count.toString()) + } + , + e.prototype.when_update_data = function() { + this.scrollview.reset(), + this.items = t.UI_Bag.find_items_by_category(this.category), + this.scrollview.addItem(this.items.length) + } + , + e + }(); + t.UI_Bag_PageItem = e +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function e(e) { + this.stardust_icon = null, + this.stardust_count = 0, + this.stardust_detail = 0, + this.items = [], + this.choose_count = {}, + this.during_sell = !1, + this.me = e, + this.scrollview = e.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_item), -1, 6, 10), + this.scrollview.reset(), + this.stardust_icon = new t.UI_Item_Skin(this.me.getChildByName("stardust")), + this.label_stardust_count = this.me.getChildByName("stardust").getChildByName("count"), + this.label_stardust_delta = this.me.getChildByName("stardust").getChildByName("delta"), + this.btn_sell = this.me.getChildByName("btn_sell"), + this.btn_sell.clickHandler = new Laya.Handler(this,this.open_sell), + this.label_huanqu = this.me.getChildByName("label_huanqu"), + this.container_sell = this.me.getChildByName("container_sell"), + this.container_sell.getChildByName("btn_clear").clickHandler = new Laya.Handler(this,this.clear_choose), + this.container_sell.getChildByName("btn_back").clickHandler = new Laya.Handler(this,this.close_sell), + this.container_sell.getChildByName("btn_sell").clickHandler = new Laya.Handler(this,this.on_btn_sell), + this.btn_sell2 = this.container_sell.getChildByName("btn_sell"), + this.btn_clear_choose = this.container_sell.getChildByName("btn_clear") + } + return e.prototype.show = function() { + this.me.visible = !0, + this.during_sell = !1, + this.btn_sell.visible = !0, + this.label_huanqu.visible = !0, + this.container_sell.visible = !1, + this.label_stardust_delta.visible = !1, + this.choose_count = {}, + this.stardust_icon.setSkin(cfg.item_definition.item.get(302004).icon_transparent), + this.stardust_count = t.UI_Bag.get_item_count(game.stardust_id), + this.stardust_detail = 0, + this.refresh_stardust(), + this.scrollview.reset(), + this.items = t.UI_Bag.find_items_by_category(t.EItemCategory.gift), + this.scrollview.addItem(this.items.length), + 0 == this.items.length && (this.btn_sell.visible = !1) + } + , + e.prototype.close = function() { + this.me.visible = !1, + this.items = [], + this.scrollview.reset() + } + , + e.prototype.render_item = function(e) { + var i = this + , n = e.index + , a = e.container + , r = e.cache_data + , s = this.items[n] + , o = cfg.item_definition.item.get(s.item_id) + , l = a.getChildByName("btn_detail") + , h = l.getChildByName("content").getChildByName("num") + , c = function() { + var t = s.count; + if (i.during_sell) + if (o.can_sell) { + var e = i.choose_count[s.item_id]; + null == e || 0 == e ? (a.getChildByName("count").visible = !1, + a.getChildByName("btn_del").visible = !1) : (a.getChildByName("count").visible = !0, + a.getChildByName("count").getChildAt(0).text = e.toString(), + a.getChildByName("btn_del").visible = !0, + t -= e), + a.getChildByName("btn_detail").getChildByName("content").getChildByName("ban").visible = !1 + } else + a.getChildByName("count").visible = !1, + a.getChildByName("btn_del").visible = !1, + a.getChildByName("btn_detail").getChildByName("content").getChildByName("ban").visible = !0; + else + a.getChildByName("count").visible = !1, + a.getChildByName("btn_del").visible = !1, + a.getChildByName("btn_detail").getChildByName("content").getChildByName("ban").visible = !1; + t <= 1 ? h.visible = !1 : (h.visible = !0, + h.text = t.toString()) + }; + c(), + l.clickHandler = Laya.Handler.create(this, function() { + if (i.during_sell) { + if (!o.can_sell) + return; + var e = 0; + i.choose_count.hasOwnProperty(s.item_id.toString()) ? (e = i.choose_count[s.item_id], + i.choose_count[s.item_id]++) : (e = 0, + i.choose_count[s.item_id] = 1), + i.choose_count[s.item_id] > s.count && (i.choose_count[s.item_id] = s.count), + i.stardust_detail += (i.choose_count[s.item_id] - e) * o.sell_reward_count, + i.refresh_stardust(), + c() + } else + t.UI_ItemDetail.Inst.show(s.item_id) + }, null, !1), + a.getChildByName("btn_del").clickHandler = Laya.Handler.create(this, function() { + i.during_sell && i.choose_count[s.item_id] && (i.choose_count[s.item_id]--, + c(), + i.stardust_detail -= o.sell_reward_count, + i.refresh_stardust()) + }, null, !1), + r.skin || (r.skin = new t.UI_Item_Skin(l.getChildByName("content").getChildByName("icon"))), + r.skin.setSkin(o.icon); + var _ = l.getChildByName("content"); + this.during_sell ? _.scaleX = _.scaleY = .9 : _.scaleX = _.scaleY = 1.1 + } + , + e.prototype.open_sell = function() { + this.during_sell = !0, + this.btn_sell.visible = !1, + this.label_huanqu.visible = !1, + this.container_sell.visible = !0, + this.label_stardust_delta.visible = !0, + this.label_stardust_delta.text = "", + this.choose_count = {}, + this.stardust_detail = 0, + this.refresh_stardust(), + this.scrollview.wantToRefreshAll() + } + , + e.prototype.close_sell = function() { + this.during_sell = !1, + this.btn_sell.visible = !0, + this.label_huanqu.visible = !0, + this.container_sell.visible = !1, + this.label_stardust_delta.visible = !1, + this.clear_choose(), + this.scrollview.wantToRefreshAll() + } + , + e.prototype.on_btn_sell = function() { + var e = []; + for (var i in this.choose_count) + this.choose_count[i] > 0 && e.push({ + item_id: parseInt(i), + count: this.choose_count[i] + }); + t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(2036), Laya.Handler.create(this, function() { + app.NetAgent.sendReq2Lobby("Lobby", "sellItem", { + sells: e + }, function(e, i) { + e || i.error ? t.UIMgr.Inst.showNetReqError("sellItem", e, i) : t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2037)) + }) + }), Laya.Handler.create(this, function() {})) + } + , + e.prototype.clear_choose = function() { + for (var t in this.choose_count) { + this.choose_count[t] = 0; + for (var e = 0; e < this.items.length; e++) + this.items[e].item_id.toString() == t && this.scrollview.wantToRefreshItem(e) + } + this.stardust_detail = 0, + this.refresh_stardust() + } + , + e.prototype.refresh_stardust = function() { + this.label_stardust_count.text = "x" + this.stardust_count, + this.stardust_detail > 0 ? (this.label_stardust_delta.text = "+" + this.stardust_detail.toString(), + this.label_stardust_delta.x = this.label_stardust_count.textField.textWidth + 55, + this.label_stardust_delta.visible = !0, + this.btn_sell2.visible = !0, + this.btn_clear_choose.visible = !0) : (this.label_stardust_delta.visible = !1, + this.btn_sell2.visible = !1, + this.btn_clear_choose.visible = !1) + } + , + e.prototype.when_update_data = function() { + this.close_sell(), + this.scrollview.reset(), + this.items = t.UI_Bag.find_items_by_category(t.EItemCategory.gift), + this.scrollview.addItem(this.items.length), + 0 == this.items.length && (this.btn_sell.visible = !1), + this.stardust_count = t.UI_Bag.get_item_count(game.stardust_id), + this.refresh_stardust() + } + , + e + }(); + t.UI_Bag_PageGift = e +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function e(t) { + this.desktop_default = 305044, + this.mjp_defalut = 305045, + this.lobby_bg_default = 307001, + this.tab_index = 0, + this.select_index = 0, + this.items = [], + this.img_desktop = null, + this.img_mjp = null, + this.btn_save = null, + this.seen_lobby_bg_map = null, + this.me = t + } + return e.prototype.have_red_point = function() { + if (!this.seen_lobby_bg_map) { + this.seen_lobby_bg_map = {}; + var e = Laya.LocalStorage.getItem(game.Tools.eeesss("lobby_bg_list_" + GameMgr.Inst.account_id)); + if (e) + for (var i = (e = game.Tools.dddsss(e)).split(","), n = 0; n < i.length; n++) + this.seen_lobby_bg_map[i[n]] = 1 + } + for (var a = t.UI_Bag.find_items_by_category(t.EItemCategory.view), n = 0; n < a.length; n++) { + if (3 == cfg.item_definition.item.get(a[n].item_id).type && !this.seen_lobby_bg_map[a[n].item_id]) + return !0 + } + return !1 + } + , + e.prototype.show = function() {} + , + e.prototype.close = function() {} + , + e + }(); + t.UI_Bag_PageDesktop = e +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + var e = function() { + function t() {} + return t.CreateFromSprite = function(e) { + var i = new t; + return i.x = e.x, + i.y = e.y, + i.width = e.width, + i.height = e.height, + i + } + , + t + }(); + t.UIRect = e +}(uiscript || (uiscript = {})); +var uiscript; +!function(t) { + t.GRAY_FILTER = [.3086, .6094, .082, 0, 0, .3086, .6094, .082, 0, 0, .3086, .6094, .082, 0, 0, 0, 0, 0, 1, 0], + t.DARK_FILTER = [.3, 0, 0, 0, 0, 0, .3, 0, 0, 0, 0, 0, .3, 0, 0, 0, 0, 0, 1, 0]; + var e = function() { + function e() { + this._root = null, + this._mj_root = null, + this._lobby_root = null, + this._both_root = null, + this._common_root = null, + this._error_root = null, + this._mj_inited = !1, + this._lobby_inited = !1, + this._uis = new Array, + this._lobby_uis = [], + this._mj_uis = [], + this._common_uis = [], + this._both_uis = [], + this._ui_chipenghu = null, + this._ui_desktop = null, + this._ui_liqizimo = null, + this._ui_win = null, + this._ui_gameend = null, + this._ui_liuju = null, + this._ui_lobby = null, + this._ui_entrance = null, + this._ui_waitingroom = null, + this._ui_preventaddiction = null, + this._ui_scale = -1 + } + return e.prototype.init = function() { + e.Inst = this, + this._root = new Laya.Sprite, + GameMgr.Inst.addUI(this._root), + this._root.addChild(this._lobby_root = new Laya.Sprite), + this._root.addChild(this._mj_root = new Laya.Sprite), + this._root.addChild(GameMgr.Inst.root_front_scene_effect = new Laya.Sprite), + this._root.addChild(this._both_root = new Laya.Sprite), + this._root.addChild(this._common_root = new Laya.Sprite), + this._root.addChild(this._error_root = new Laya.Sprite), + this._ui_scale = -1, + this.RefreshShow(), + Laya.timer.frameLoop(1, this, this.RefreshShow) + } + , + e.prototype.openLobbyUI = function(e, i) { + var n = this; + this._lobby_inited ? (i && i.runWith(1), + e && e.run()) : game.Scene_Lobby.Inst.addLoadListenter(Laya.Handler.create(this, function() { + n._lobby_inited = !0, + n.AddLobbyUI(n._ui_lobby = new t.UI_Lobby), + n.AddLobbyUI(new t.UI_Camera_Mode), + n.AddBothUI(new t.UI_XinShouYinDao), + n.AddLobbyUI(n._ui_waitingroom = new t.UI_WaitingRoom), + n.AddLobbyUI(new t.UI_PaiPu), + n.AddLobbyUI(new t.UI_Sushe), + n.AddLobbyUI(new t.UI_Ob), + n.AddLobbyUI(new t.UI_Shop), + n.AddLobbyUI(new t.UI_Friend), + n.AddLobbyUI(new t.UI_Recharge), + n.AddLobbyUI(new t.UI_Create_Room), + n.AddLobbyUI(new t.UI_Bag), + n.AddLobbyUI(new t.UI_Match_Lobby), + n.AddLobbyUI(new t.UI_Match_Room), + n.AddLobbyUI(new t.UI_Treasure), + n.AddLobbyUI(new t.UI_TanfangRoot), + n.AddLobbyUI(new t.UI_Skin_Yulan), + n.AddLobbyUI(new t.UI_Shop_Lobby_Yulan), + n.AddLobbyUI(new t.UI_Shop_Skin_Yulan), + n.AddLobbyUI(new t.UI_PiPeiYuYue), + n.AddLobbyUI(new t.UI_Shop_Pack_Detail), + n.AddLobbyUI(new t.UI_PlayerInfo), + n.AddLobbyUI(new t.UI_Introduce), + n.AddLobbyUI(new t.UI_TitleBook), + n.AddLobbyUI(new t.UI_Activity), + n.AddLobbyUI(new t.UI_Activity_Guoping_Pop), + n.AddLobbyUI(new t.UI_Activity_Sign), + n.AddLobbyUI(new t.UI_Pop_Buy_Multi), + n.AddLobbyUI(new t.UI_Pop_Buy_Single), + n.AddLobbyUI(new t.UI_Payment_ChooseMethod_CHS), + n.AddLobbyUI(new t.UI_Payment_ChooseMethod_CHS_T), + n.AddLobbyUI(new t.UI_Payment_ChooseMethod_EN), + n.AddLobbyUI(new t.UI_Payment_Yueka_CHS), + n.AddLobbyUI(new t.UI_Payment_Yueka_EN), + n.AddLobbyUI(new t.UI_Payment_Creditcard), + n.AddLobbyUI(new t.UI_Payment_Wxcode), + n.AddLobbyUI(new t.UI_Payment_Loading), + n.AddLobbyUI(new t.UI_Rank), + n.AddLobbyUI(new t.UI_Pifuquanless), + n.AddLobbyUI(new t.UI_Diamond_Less), + n.AddLobbyUI(new t.UI_NumberInput), + n.AddLobbyUI(new t.UI_OpenBox), + n.AddLobbyUI(new t.UI_PiPei), + n.AddLobbyUI(new t.UI_WaitOb), + n.AddLobbyUI(new t.UI_Change_Nickname), + n.AddLobbyUI(new t.UI_Info), + n.AddLobbyUI(new t.UI_PiPeiChengGong), + n.AddLobbyUI(new t.UI_checkhuiyu), + n.AddLobbyUI(new t.UI_checkpifuquan), + n.AddLobbyUI(new t.UI_Agepending_Chs), + n.AddLobbyUI(new t.UI_Agepending), + n.AddLobbyUI(new t.UI_Ageconfirm), + n.AddLobbyUI(new t.UI_Agesuccess), + n.AddLobbyUI(new t.UI_AgeSuccess_Chs), + n.AddLobbyUI(new t.UI_Agexiane), + n.AddLobbyUI(new t.UI_Get_Character), + n.AddLobbyUI(new t.UI_Force_Update), + n.AddLobbyUI(new t.UI_Overall), + n.AddLobbyUI(new t.UI_Freeze), + n.AddBothUI(new t.UI_Character_star_up), + n.AddBothUI(new t.UI_Config), + n.AddBothUI(new t.UI_Dmm_Kefu), + n.AddBothUI(new t.UI_Need_Bind_Mail), + n.AddBothUI(new t.UI_Bind_Mail0), + n.AddBothUI(new t.UI_Bind_Mail1), + n.AddBothUI(new t.UI_Unbind_Yostar_Mail), + n.AddBothUI(new t.UI_Unbind_Phone), + n.AddBothUI(new t.UI_Bind_Yostar_Mail), + n.AddBothUI(new t.UI_Giftcode), + n.AddBothUI(new t.UI_Rules), + n.AddBothUI(new t.UI_OtherPlayerInfo), + n.AddBothUI(new t.UI_Report_Nickname), + n.AddBothUI(new t.UI_Report_Success), + n.AddBothUI(new t.UI_Gettitle), + n.AddBothUI(new t.UI_Getrewardextends), + n.AddBothUI(new t.UI_GetReward2), + n.AddBothUI(new t.UI_ItemDetail), + n.AddBothUI(new t.UI_InfoLite_Title), + n.AddBothUI(new t.UI_InfoLite), + GameMgr.inDmm && n.AddBothUI(new t.UI_Dmm_Buy_Pop), + n.AddBothUI(new t.UI_SecondConfirm), + n.AddBothUI(new t.UI_MyCard_Pay_Info), + n.AddBothUI(new t.UI_Popout), + n.AddBothUI(new t.UI_Invite), + n.AddBothUI(new t.UI_LightTips), + n.AddBothUI(new t.UI_FlyTips), + n.AddCommonUI(new t.UI_ShiMingRenZheng), + n.AddCommonUI(new t.UI_Lite_Loading), + n.AddCommonUI(new t.UI_Reconnect), + n.AddCommonUI(new t.UI_Hanguplogout), + n.AddCommonUI(new t.UI_AnotherLogin), + n.AddCommonUI(new t.UI_Disconnect), + n.AddCommonUI(new t.UI_RollNotice), + n.AddCommonUI(new t.UI_CloseApp), + t.UI_Loading.Inst.me.parent.setChildIndex(t.UI_Loading.Inst.me, t.UI_Loading.Inst.me.parent.numChildren - 2), + t.UI_CloseApp.Inst.me.parent.setChildIndex(t.UI_CloseApp.Inst.me, t.UI_CloseApp.Inst.me.parent.numChildren - 1), + Laya.timer.frameOnce(6, n, function() { + e && e.run() + }) + }), i) + } + , + e.prototype.openMjDesktopUI = function(e, i) { + var n = this; + this._mj_inited ? (i && i.runWith(1), + e && e.run()) : game.LoadMgr.loadRes(game.E_LoadType.ui_mj, Laya.Handler.create(this, function() { + n._mj_inited = !0, + n.AddMJUI(new t.UI_ReplayWheel), + n.AddMJUI(new t.UI_Live_Broadcast), + n.AddMJUI(n._ui_desktop = new t.UI_DesktopInfo), + n.AddMJUI(new t.UI_Ob_Replay), + n.AddMJUI(n._ui_chipenghu = new t.UI_ChiPengHu), + n.AddMJUI(n._ui_liqizimo = new t.UI_LiQiZiMo), + n.AddMJUI(new t.UI_TingPai), + n.AddMJUI(new t.UI_Replay), + n.AddMJUI(new t.UI_Huleshow), + n.AddMJUI(new t.UI_Info_MD5), + n.AddMJUI(new t.UI_Hangup_Warn), + n.AddMJUI(n._ui_liuju = new t.UI_LiuJu), + n.AddMJUI(n._ui_win = new t.UI_Win), + n.AddMJUI(n._ui_gameend = new t.UI_GameEnd), + n.AddMJUI(new t.UI_RankChange), + n.AddMJUI(new t.UI_ScoreChange), + n.AddMJUI(new t.UI_Vote), + n.AddMJUI(new t.UI_VoteCD), + n.AddMJUI(new t.UI_VoteProgress), + n.AddMJUI(new t.UI_MJReward), + n.AddMJUI(new t.UI_MJTask_Progress), + n.AddMJUI(new t.UI_MJReward_Activity), + n.AddMJUI(new t.UI_GameStop), + n._mj_root.visible = !1, + Laya.timer.frameOnce(6, n, function() { + e && e.run() + }) + }), i) + } + , + e.prototype.disableMouse = function() { + this._mj_root.mouseEnabled = !1, + this._lobby_root.mouseEnabled = !1 + } + , + e.prototype.enableMouse = function() { + this._mj_root.mouseEnabled = !0, + this._lobby_root.mouseEnabled = !0 + } + , + e.prototype.closeUIWithTag_Lobby = function() { + for (var e = 0; e < this._lobby_uis.length; e++) + this._lobby_uis[e] !== t.UI_PiPeiYuYue.Inst && this._lobby_uis[e] !== t.UI_PiPeiChengGong.Inst && this._lobby_uis[e] && this._lobby_uis[e].enable && (this._lobby_uis[e].enable = !1) + } + , + e.prototype.closeUIWithTag_Both = function() { + for (var e = 0; e < this._both_uis.length; e++) + this._both_uis[e] && this._both_uis[e].enable && (this._both_uis[e].enable = !1); + t.UI_ShiMingRenZheng.Inst && t.UI_ShiMingRenZheng.Inst.enable && (t.UI_ShiMingRenZheng.Inst.enable = !1) + } + , + e.prototype.showLobby = function() { + this._lobby_root.visible = !0, + t.UI_Ob.Inst.enable || t.UI_PaiPu.Inst.enable || (t.UI_Lobby.Inst.enable = !0) + } + , + e.prototype.intoMJDesktop = function() { + this._lobby_root.visible = !1 + } + , + e.prototype.onSceneMJ_Enable = function() { + this._mj_root.visible = !0, + this.CloseLiuJu(), + this.CloseWin(), + this.CloseChipenghu(), + this.CloseLiqiZimo() + } + , + e.prototype.onSceneMJ_Disable = function() { + this._mj_root.visible = !1, + t.UI_Replay.Inst.enable = !1, + t.UI_Live_Broadcast.Inst.enable = !1 + } + , + e.prototype.onSceneLobby_Enable = function() { + this._lobby_root.visible = !0 + } + , + e.prototype.onSceneLobby_Disable = function() { + this._lobby_root.visible = !1 + } + , + e.prototype.showRemind = function() { + null == t.UI_Remind.Inst ? (this.AddLobbyUI(new t.UI_Remind), + Laya.timer.frameOnce(5, this, function() { + t.UI_Remind.Inst && !t.UI_Remind.Inst.me.destroyed && (t.UI_Remind.Inst.enable = !0) + })) : t.UI_Remind.Inst.enable = !0 + } + , + e.prototype.showEntrance = function() { + var e = this; + null == this._ui_entrance ? Laya.timer.frameOnce(1, this, function() { + e.AddCommonUI(new t.UI_Entrance_Reset_Password), + e.AddCommonUI(new t.UI_Entrance_Mail_Regist), + e.AddCommonUI(new t.UI_Entrance_Reset_PWD_Phone2), + "chs" == GameMgr.client_type ? null == t.UI_User_Xieyi.Inst && e.AddCommonUI(new t.UI_User_Xieyi) : null == t.UI_User_Xieyi_enjp.Inst && (e.AddCommonUI(new t.UI_User_Xieyi), + e.AddCommonUI(new t.UI_User_Xieyi_enjp), + GameMgr.inDmm && e.AddCommonUI(new t.UI_User_Xieyi_Dmm)), + e.AddCommonUI(new t.UI_Entrance_Maintenance), + e.AddCommonUI(new t.UI_Guajichenfa), + e.AddCommonUI(new t.UI_Entrance_Prohibition), + e.AddCommonUI(new t.UI_Entrance_Choose_Route), + e.AddCommonUI(new t.UI_Bind_Phone1), + e.AddCommonUI(new t.UI_Bind_Phone0), + e.AddCommonUI(new t.UI_Bind_Phone2), + e.AddCommonUI(new t.UI_Create_Phone_Account), + e.AddCommonUI(new t.UI_Create_Phone_Account_Success), + e.AddCommonUI(new t.UI_Canot_Create_Phone_Account), + e.AddCommonUI(new t.UI_Add2Desktop), + GameMgr.inDmm && e.AddCommonUI(new t.UI_DMM_Bgm_Notice), + e.AddCommonUI(new t.UI_Entrance_Error), + null == t.UI_Loading.Inst && e.AddCommonUI(new t.UI_Loading), + null == t.UI_Common.Inst && (e.AddCommonUI(new t.UI_Common), + Laya.timer.frameOnce(5, e, function() { + GameMgr.inRelease || (t.UI_Common.Inst.enable = !0) + })), + t.UI_Remind.Inst && t.UI_Remind.Inst.setprocess(10), + e.AddLobbyUI(e._ui_entrance = new t.UI_Entrance), + Laya.timer.frameOnce(5, e, function() { + var i = "res/atlas" + ("chs" == GameMgr.client_language ? "" : "/" + GameMgr.client_language) + "/myres/start_show.atlas"; + Laya.loader.clearTextureRes(i), + null != t.UI_Remind.Inst && t.UI_Remind.Inst.destroy(), + GameMgr.inDmm ? t.UI_DMM_Bgm_Notice.Inst.show(Laya.Handler.create(e, function() { + e._ui_entrance.show() + })) : e._ui_entrance.show() + }) + }) : this._ui_entrance.enable = !0 + } + , + e.prototype.ShowChipenghu = function(t) { + this._ui_chipenghu && this._ui_chipenghu.show(t) + } + , + e.prototype.CloseChipenghu = function() { + this._ui_chipenghu && (this._ui_chipenghu.enable = !1) + } + , + e.prototype.ShowLiqiZimo = function(t) { + this._ui_liqizimo.show(t) + } + , + e.prototype.CloseLiqiZimo = function() { + this._ui_liqizimo.enable = !1 + } + , + e.prototype.ShowWin = function(t, e) { + this._ui_win.show(t, e) + } + , + e.prototype.CloseWin = function() { + this._ui_win.enable = !1 + } + , + e.prototype.ShowPreventAddiction = function() { + var e = this; + null == this._ui_preventaddiction && (this.AddCommonUI(this._ui_preventaddiction = new t.UI_PreventAddiction), + Laya.timer.frameOnce(10, this, function() { + e._ui_preventaddiction.enable = !0 + })) + } + , + e.prototype.ShowLiuJu = function(t) { + this._ui_liuju.Show(t) + } + , + e.prototype.CloseLiuJu = function() { + this._ui_liuju.enable = !1 + } + , + e.prototype.ShowGameEnd = function() { + this._ui_gameend.show() + } + , + e.prototype.ShowWaitingRoom = function() { + this._ui_waitingroom.show() + } + , + e.prototype.ShowErrorInfo = function(e) { + var i = new t.UI_ErrorInfo; + this._error_root.addChild(i.me), + Laya.timer.frameOnce(10, this, function() { + i.showStr(e) + }) + } + , + e.prototype.showNetReqError = function(e, i, n) { + var a = new t.UI_ErrorInfo; + this._error_root.addChild(a.me), + Laya.timer.frameOnce(5, this, function() { + a.showNetReqError(e, i, n) + }) + } + , + e.prototype.showFE = function() { + var e = new t.UI_ErrorInfo; + this._error_root.addChild(e.me), + Laya.timer.frameOnce(5, this, function() { + e.showFE() + }) + } + , + e.prototype.RefreshShow = function() { + var t = Laya.stage.height / 1080; + if (Math.abs(t - this._ui_scale) > .01) { + this._ui_scale = t; + var e = .5 * (Laya.stage.width - 1920 * t); + this._root.scale(t, t), + this._root.x = e + } + } + , + e.prototype.onUIDestory = function(t) { + var e = []; + e.push(this._uis), + e.push(this._lobby_uis), + e.push(this._mj_uis), + e.push(this._both_uis), + e.push(this._common_uis); + for (var i = 0; i < e.length; i++) + for (var n = 0; n < e[i].length; n++) { + if (e[i][n] === t) { + e[i][n] = e[i][e[i].length - 1], + e.pop(); + break + } + } + } + , + e.prototype.AddLobbyUI = function(t) { + this._lobby_root.addChild(t.me), + this._uis.push(t), + this._lobby_uis.push(t) + } + , + e.prototype.AddMJUI = function(t) { + this._mj_root.addChild(t.me), + this._uis.push(t), + this._mj_uis.push(t) + } + , + e.prototype.AddBothUI = function(t) { + this._both_root.addChild(t.me), + this._uis.push(t), + this._both_uis.push(t) + } + , + e.prototype.AddCommonUI = function(t) { + this._common_root.addChild(t.me), + this._uis.push(t), + this._common_uis.push(t) + } + , + e.prototype.getWorldPosition = function(t, e) { + var i = new Laya.Point(t.x + e.x,t.y + e.y); + if (t && t !== this._root) + for (t = t.parent; t && t !== this._root; ) + i = t.toParentPoint(i), + t = t.parent; + return i.x /= 1920, + i.y /= 1080, + i + } + , + e.Inst = null, + e + }(); + t.UIMgr = e +}(uiscript || (uiscript = {})); +var app; +!function(t) { + var e = function() { + function t(t) { + this.tree = null, + this.count = 0, + this.tree = { + code: 0, + str: "", + isEnd: !1, + childs: {}, + id: 0 + }, + this.count = 1; + for (var e = 0; e < t.length; e++) + this._add_word(t[e].s, t[e].id) + } + return t.prototype._add_word = function(t, e) { + if (t && "" != t) { + for (var i = this.tree, n = 0; n < t.length; n++) { + var a = t.charAt(n); + i.childs[a] || (i.childs[a] = { + code: a.charCodeAt(0), + str: t.substr(0, n + 1), + isEnd: !1, + childs: {}, + id: 0 + }, + this.count++), + i = i.childs[a] + } + i.isEnd = !0, + i.id = e + } + } + , + Object.defineProperty(t.prototype, "tree_count", { + get: function() { + return this.count + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.add_extra_word = function(t) { + return !!i.test(t) || !(this.count > 1e5) && (this._add_word(t, 999999), + !0) + } + , + t.prototype.remove_extra_word = function(t) { + for (var e = this.tree, i = 0; i < t.length; i++) { + var n = t.charAt(i); + if (!e.childs[n]) + return; + e = e.childs[n] + } + e.isEnd = !1, + e.id = 0 + } + , + t.prototype.test_zixulie = function(t) { + var e = []; + e.push(this.tree); + for (var i = {}, n = 0; n < t.length; n++) + for (var a = t.charAt(n), r = e.length, s = 0; s < r; s++) { + var o = e[s]; + if (0, + o.childs[a]) { + var l = o.childs[a]; + if (l.isEnd) + return { + s: l.str, + id: l.id + }; + i[l.str] || (i[l.str] = 1, + e.push(l)) + } + } + return null + } + , + t.prototype.test_zichuan = function(t) { + var e = []; + e.push(this.tree); + for (var i = 0; i < t.length; i++) { + var n = t.charAt(i) + , a = e.length + , r = []; + r.push(this.tree); + for (var s = 0; s < a; s++) { + var o = e[s]; + if (0, + o.childs[n]) { + var l = o.childs[n]; + if (l.isEnd) + return { + s: l.str, + id: l.id + }; + r.push(l) + } + } + e = r + } + return null + } + , + t + }() + , i = function() { + function t() {} + return t._find_near_char = function(t) { + return this.near_char_father[t] && this.near_char_father[t] != t ? (this.near_char_father[t] = this._find_near_char(this.near_char_father[t]), + this.near_char_father[t]) : t + } + , + t._build_near_char = function(t) { + this.near_char_father = {}; + for (var e = 0; e < t.length; e++) + for (var i = t[e], n = 0; n < i.length; n++) { + var a = i[n] + , r = this._find_near_char(a); + n > 0 && (this.near_char_father[r] = this._find_near_char(i[0])) + } + } + , + t._remove_biaodian = function(t) { + var e = "0".charCodeAt(0) + , i = "a".charCodeAt(0); + t = t.toLowerCase(); + for (var n = "", a = 0; a < t.length; a++) { + var r = t.charCodeAt(a); + (r > 256 || r >= i && r < i + 26 || r >= e && r < e + 10) && (n += t.charAt(a)) + } + return n + } + , + t._normalize_str = function(t) { + var e = "0".charCodeAt(0) + , i = "a".charCodeAt(0); + t = t.toLowerCase(); + for (var n = "", a = 0; a < t.length; a++) { + var r = t.charCodeAt(a); + (r > 256 || r >= i && r < i + 26 || r >= e && r < e + 10) && (n += this._find_near_char(t.charAt(a))) + } + return n + } + , + t.init = function(t, i) { + this._build_near_char(i); + for (var n = [], a = [], r = 0; r < t.length; r++) + t[r].near ? t[r].s = this._normalize_str(t[r].s) : t[r].s = this._remove_biaodian(t[r].s), + t[r].type ? n.push({ + s: t[r].s, + id: r + 3 + }) : a.push({ + s: t[r].s, + id: r + 3 + }); + this.tree_zixulie = new e(n), + this.tree_zichuan = new e(a) + } + , + t.add_extra_word = function(t, e) { + return t = this._remove_biaodian(t), + !!this.test(t) || (1 == e ? this.tree_zixulie.add_extra_word(t) : this.tree_zichuan.add_extra_word(t)) + } + , + t.remove_extra_word = function(t, e) { + t = this._remove_biaodian(t), + 1 == e ? this.tree_zixulie.remove_extra_word(t) : this.tree_zichuan.remove_extra_word(t) + } + , + t.test = function(t) { + t = this._remove_biaodian(t); + var e = null; + if (this.tree_zichuan && (e = this.tree_zichuan.test_zichuan(t)), + e) + return e; + if (this.tree_zixulie && (e = this.tree_zixulie.test_zixulie(t)), + e) + return e; + var i = this._normalize_str(t); + if (i != t) { + if (this.tree_zichuan && (e = this.tree_zichuan.test_zichuan(i)), + e) + return e; + if (this.tree_zixulie && (e = this.tree_zixulie.test_zixulie(i)), + e) + return e + } + return null + } + , + t + }(); + t.Taboo = i +}(app || (app = {})); +var caps; +!function(t) { + var e = function() { + function t() {} + return Object.defineProperty(t, "filename", { + get: function() { + return "shader_ranshao" + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t, "attributeMap", { + get: function() { + return { + a_BoneIndices: Laya.VertexElementUsage.BLENDINDICES0, + a_BoneWeights: Laya.VertexElementUsage.BLENDWEIGHT0, + a_Position: Laya.VertexElementUsage.POSITION0, + a_Normal: Laya.VertexElementUsage.NORMAL0, + a_Texcoord: Laya.VertexElementUsage.TEXTURECOORDINATE0 + } + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t, "uniformMap", { + get: function() { + return { + u_CameraPos: [Laya.BaseCamera.CAMERAPOS, Laya.Shader3D.PERIOD_CAMERA], + u_MvpMatrix: [Laya.Sprite3D.MVPMATRIX, Laya.Shader3D.PERIOD_SPRITE], + u_WorldMat: [Laya.Sprite3D.WORLDMATRIX, Laya.Shader3D.PERIOD_SPRITE], + u_texture1: [this.TEXTURE1, Laya.Shader3D.PERIOD_MATERIAL], + u_texture2: [this.TEXTURE2, Laya.Shader3D.PERIOD_MATERIAL], + u_texture_mask: [this.TEXTURE_MASK, Laya.Shader3D.PERIOD_MATERIAL], + u_alpha_clip: [this.ALPHA_CLIP, Laya.Shader3D.PERIOD_MATERIAL], + "u_DirectionLight.Direction": [Laya.Scene.LIGHTDIRECTION, Laya.Shader3D.PERIOD_SCENE], + "u_DirectionLight.Diffuse": [Laya.Scene.LIGHTDIRCOLOR, Laya.Shader3D.PERIOD_SCENE], + u_bound: [this.BOUND, Laya.Shader3D.PERIOD_MATERIAL] + } + }, + enumerable: !0, + configurable: !0 + }), + t.TEXTURE1 = 1, + t.TEXTURE2 = 2, + t.TEXTURE_MASK = 3, + t.ALPHA_CLIP = 4, + t.BOUND = 5, + t + }(); + t.Shader_RanShao = e +}(caps || (caps = {})); +var caps; +!function(t) { + var e = function() { + function e() { + this._init_state = 0, + this._items = [], + this._loading_num = 0 + } + return e.filterString = function(t) { + for (var e = "", i = 0; i < t.length; ) { + var n = t.indexOf("\r", i); + if (-1 == n) { + e += t.substring(i, t.length); + break + } + i < n && (e += t.substring(i, n)), + i = n + 1 + } + return e + } + , + e.prototype.init = function(e) { + this._complete = e, + 2 != this._init_state ? 0 == this._init_state && (this._init_state = 1, + this._loading_num = 0, + this._init(t.Shader_RanShao.filename, t.Shader_RanShao.attributeMap, t.Shader_RanShao.uniformMap), + this._init(t.Cartoon.filename, t.Cartoon.attributeMap, t.Cartoon.uniformMap), + this._init(t.Outline.filename, t.Outline.attributeMap, t.Outline.uniformMap)) : this._complete && this._complete.run() + } + , + e.prototype._create_complete = function(t) { + this._loading_num--, + 0 == this._loading_num && (this._init_state = 2, + this._complete && this._complete.run()) + } + , + e.prototype._init = function(t, i, n) { + function a() { + if (null != o && null != l) { + var e = Laya.Shader3D.nameKey.add(t); + Laya.ShaderCompile3D.add(e, l, o, i, n), + s._create_complete(t) + } + } + var r = this + , s = this + , o = null + , l = null; + this._loading_num++; + var h = "shader/" + t + "/" + t + ".vs"; + Laya.loader.load(h, Laya.Handler.create(this, function() { + Laya.timer.frameOnce(1, r, function() { + l = e.filterString(Laya.loader.getRes(h)), + a() + }) + })); + var c = "shader/" + t + "/" + t + ".ps"; + Laya.loader.load(c, Laya.Handler.create(this, function() { + Laya.timer.frameOnce(1, r, function() { + o = e.filterString(Laya.loader.getRes(c)), + a() + }) + })) + } + , + e + }(); + t.ShaderInitor = e +}(caps || (caps = {})); +var caps; +!function(t) { + var e = function() { + function t() {} + return Object.defineProperty(t, "filename", { + get: function() { + return "outline" + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t, "attributeMap", { + get: function() { + return { + a_BoneIndices: Laya.VertexElementUsage.BLENDINDICES0, + a_BoneWeights: Laya.VertexElementUsage.BLENDWEIGHT0, + a_Position: Laya.VertexElementUsage.POSITION0, + a_Normal: Laya.VertexElementUsage.NORMAL0, + a_Texcoord: Laya.VertexElementUsage.TEXTURECOORDINATE0 + } + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t, "uniformMap", { + get: function() { + return { + u_Bones: [Laya.SkinnedMeshSprite3D.BONES, Laya.Shader3D.PERIOD_RENDERELEMENT], + u_CameraPos: [Laya.BaseCamera.CAMERAPOS, Laya.Shader3D.PERIOD_CAMERA], + u_MvpMatrix: [Laya.Sprite3D.MVPMATRIX, Laya.Shader3D.PERIOD_SPRITE], + u_WorldMat: [Laya.Sprite3D.WORLDMATRIX, Laya.Shader3D.PERIOD_SPRITE], + "u_SpotLight.Position": [Laya.Scene.SPOTLIGHTPOS, Laya.Shader3D.PERIOD_SCENE], + "u_DirectionLight.Diffuse": [Laya.Scene.LIGHTDIRCOLOR, Laya.Shader3D.PERIOD_SCENE], + u_outline: [this.OUTLINE, Laya.Shader3D.PERIOD_MATERIAL], + u_outline_color: [this.OUTLINE_COLOR, Laya.Shader3D.PERIOD_MATERIAL], + u_outline_alpha: [this.OUTLINE_ALPHA, Laya.Shader3D.PERIOD_MATERIAL] + } + }, + enumerable: !0, + configurable: !0 + }), + t.OUTLINE = 1, + t.OUTLINE_COLOR = 2, + t.OUTLINE_ALPHA = 3, + t + }(); + t.Outline = e +}(caps || (caps = {})); +var caps; +!function(t) { + var e = function() { + function t() {} + return Object.defineProperty(t, "filename", { + get: function() { + return "cartoon" + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t, "attributeMap", { + get: function() { + return { + a_BoneIndices: Laya.VertexElementUsage.BLENDINDICES0, + a_BoneWeights: Laya.VertexElementUsage.BLENDWEIGHT0, + a_Position: Laya.VertexElementUsage.POSITION0, + a_Normal: Laya.VertexElementUsage.NORMAL0, + a_Texcoord: Laya.VertexElementUsage.TEXTURECOORDINATE0 + } + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t, "uniformMap", { + get: function() { + return { + u_Bones: [Laya.SkinnedMeshSprite3D.BONES, Laya.Shader3D.PERIOD_RENDERELEMENT], + u_CameraPos: [Laya.BaseCamera.CAMERAPOS, Laya.Shader3D.PERIOD_CAMERA], + u_MvpMatrix: [Laya.Sprite3D.MVPMATRIX, Laya.Shader3D.PERIOD_SPRITE], + u_WorldMat: [Laya.Sprite3D.WORLDMATRIX, Laya.Shader3D.PERIOD_SPRITE], + u_texture: [this.TEXTURE, Laya.Shader3D.PERIOD_MATERIAL], + "u_DirectionLight.Direction": [Laya.Scene.LIGHTDIRECTION, Laya.Shader3D.PERIOD_SCENE], + "u_DirectionLight.Diffuse": [Laya.Scene.LIGHTDIRCOLOR, Laya.Shader3D.PERIOD_SCENE], + u_split: [this.SPLIT, Laya.Shader3D.PERIOD_MATERIAL], + u_color: [this.COLOR, Laya.Shader3D.PERIOD_MATERIAL], + u_color_light: [this.COLOR_LIGHT, Laya.Shader3D.PERIOD_MATERIAL], + u_color_unlight: [this.COLOR_UNLIGHT, Laya.Shader3D.PERIOD_MATERIAL] + } + }, + enumerable: !0, + configurable: !0 + }), + t.TEXTURE = 1, + t.COLOR = 2, + t.SPLIT = 10, + t.COLOR_LIGHT = 30, + t.COLOR_UNLIGHT = 31, + t + }(); + t.Cartoon = e +}(caps || (caps = {})); +var app; +!function(t) { + var e; + !function(t) { + t[t.None = 0] = "None", + t[t.CompleteRegistration = 1] = "CompleteRegistration", + t[t.CompleteTutorial = 2] = "CompleteTutorial", + t[t.Level_1 = 3] = "Level_1", + t[t.Level_2 = 4] = "Level_2", + t[t.Level_3 = 5] = "Level_3", + t[t.Get_The_Title1 = 6] = "Get_The_Title1", + t[t.Purchase_Click = 7] = "Purchase_Click", + t[t.Purchase = 8] = "Purchase", + t[t.XinShouYinDao = 10] = "XinShouYinDao", + t[t.G_Role_create = 1001] = "G_Role_create", + t[t.G_Role_login = 1002] = "G_Role_login", + t[t.G_Role_logout = 1003] = "G_Role_logout", + t[t.G_tutorial_complete = 1004] = "G_tutorial_complete", + t[t.G_Purchase = 1005] = "G_Purchase", + t[t.G_Purchase_click = 1006] = "G_Purchase_click", + t[t.G_Purchase_first = 1007] = "G_Purchase_first", + t[t.G_Role_level_1 = 1008] = "G_Role_level_1", + t[t.G_Role_level_2 = 1009] = "G_Role_level_2", + t[t.G_Role_level_3 = 1010] = "G_Role_level_3", + t[t.G_Role_level_4 = 1011] = "G_Role_level_4", + t[t.G_Role_level_5 = 1012] = "G_Role_level_5", + t[t.G_Role_level_6 = 1013] = "G_Role_level_6", + t[t.G_Role_level_7 = 1014] = "G_Role_level_7", + t[t.G_Role_level_8 = 1015] = "G_Role_level_8", + t[t.G_Role_level_9 = 1016] = "G_Role_level_9", + t[t.G_Role_level_10 = 1017] = "G_Role_level_10", + t[t.G_Role_level_11 = 1018] = "G_Role_level_11", + t[t.G_Role_level_12 = 1018] = "G_Role_level_12", + t[t.G_Role_level_13 = 1020] = "G_Role_level_13", + t[t.G_Role_level_14 = 1021] = "G_Role_level_14", + t[t.G_Role_level_15 = 1022] = "G_Role_level_15", + t[t.G_Role_level_16 = 1023] = "G_Role_level_16", + t[t.G_get_title_1 = 1024] = "G_get_title_1", + t[t.G_get_title_2 = 1025] = "G_get_title_2", + t[t.G_get_title_3 = 1026] = "G_get_title_3", + t[t.G_get_title_4 = 1027] = "G_get_title_4", + t[t.G_get_title_5 = 1028] = "G_get_title_5", + t[t.G_get_title_6 = 1029] = "G_get_title_6", + t[t.G_get_title_7 = 1030] = "G_get_title_7", + t[t.G_get_title_8 = 1031] = "G_get_title_8", + t[t.G_get_title_9 = 1032] = "G_get_title_9", + t[t.G_get_title_10 = 1033] = "G_get_title_10", + t[t.G_get_title_11 = 1034] = "G_get_title_11", + t[t.G_tutorial_jump = 1035] = "G_tutorial_jump", + t[t.TW_Purchase = 2001] = "TW_Purchase", + t[t.TW_Signup = 2002] = "TW_Signup", + t[t.TW_Tutorial_Completed = 2003] = "TW_Tutorial_Completed" + }(e = t.EBehaviorType || (t.EBehaviorType = {})); + var i = function() { + function i() {} + return i.init = function() { + var e = this; + t.NetAgent.sendReq2Lobby("Lobby", "fetchClientValue", {}, function(t, i) { + if (t || i.error) + ; + else { + if (e._datas = {}, + i.datas) + for (var n in i.datas) + e._datas[i.datas[n].key] = i.datas[n].value; + e.recharged_count = i.recharged_count + } + }) + } + , + i._get_type_str = function(t) { + switch (t) { + case e.CompleteRegistration: + return "CompleteRegistration"; + case e.CompleteTutorial: + return "CompleteTutorial"; + case e.Level_1: + return "Level_1"; + case e.Level_2: + return "Level_2"; + case e.Level_3: + return "Level_3"; + case e.Get_The_Title1: + return "Get_The_Title1"; + case e.Purchase_Click: + return "Purchase_Click"; + case e.Purchase: + return "Purchase"; + case e.G_Role_create: + return "Role_create"; + case e.G_Role_login: + return "Role_login"; + case e.G_tutorial_complete: + return "tutorial_complete"; + case e.G_Purchase: + return "Purchase"; + case e.G_Purchase_click: + return "Purchase_click"; + case e.G_Purchase_first: + return "Purchase_first"; + case e.G_Role_level_1: + return "Role_level_1"; + case e.G_Role_level_2: + return "Role_level_2"; + case e.G_Role_level_3: + return "Role_level_3"; + case e.G_Role_level_4: + return "Role_level_4"; + case e.G_Role_level_5: + return "Role_level_5"; + case e.G_Role_level_6: + return "Role_level_6"; + case e.G_Role_level_7: + return "Role_level_7"; + case e.G_Role_level_8: + return "Role_level_8"; + case e.G_Role_level_9: + return "Role_level_9"; + case e.G_Role_level_10: + return "Role_level_10"; + case e.G_Role_level_11: + return "Role_level_11"; + case e.G_Role_level_12: + return "Role_level_12"; + case e.G_Role_level_13: + return "Role_level_13"; + case e.G_Role_level_14: + return "Role_level_14"; + case e.G_Role_level_15: + return "Role_level_15"; + case e.G_Role_level_16: + return "Role_level_16"; + case e.G_get_title_1: + return "get_title_1"; + case e.G_get_title_2: + return "get_title_2"; + case e.G_get_title_3: + return "get_title_3"; + case e.G_get_title_4: + return "get_title_4"; + case e.G_get_title_5: + return "get_title_5"; + case e.G_get_title_6: + return "get_title_6"; + case e.G_get_title_7: + return "get_title_7"; + case e.G_get_title_8: + return "get_title_8"; + case e.G_get_title_9: + return "get_title_9"; + case e.G_get_title_10: + return "get_title_10"; + case e.G_get_title_11: + return "get_title_11"; + case e.G_tutorial_jump: + return "tutorial_jump"; + case e.TW_Purchase: + return "o1xcs"; + case e.TW_Signup: + return "o1xcr"; + case e.TW_Tutorial_Completed: + return "o1xcx" + } + return "unkown" + } + , + i.fb_trace_force = function(t) { + if (!(t < 0 || t > 100)) { + var e = this._get_type_str(t); + "unkown" != e && window.fbq && window.fbq("trackCustom", e) + } + } + , + i.fb_trace_pending = function(t, e) { + if (this._datas && !(t < 0 || t > 100)) { + var i = this._get_type_str(t); + if ("unkown" != i) { + var n = 0; + if (this._datas[t] && (n = this._datas[t]), + n != e) { + for (var a = 0; a < e - n; a++) + window.fbq && window.fbq("track", i); + this.update_val(t, e) + } + } + } + } + , + i.google_trace_force = function(t, e) { + if (void 0 === e && (e = null), + !(t < 1e3 || t >= 1100)) { + var i = this._get_type_str(t); + if ("unkown" != i) { + var n = !1 + , a = function(t) { + n || (n = !0, + e && e()) + }; + setTimeout(function() { + a() + }, 1e3), + window.gtag && window.gtag("event", i, { + event_category: "category0", + event_label: "label0", + value: 1, + event_callback: function() { + a() + } + }) + } + } + } + , + i.google_trace_pending = function(t, e) { + if (this._datas && !(t < 1e3 || t >= 1100)) { + var i = this._get_type_str(t); + if ("unkown" != i) { + var n = 0; + if (this._datas[t] && (n = this._datas[t]), + n != e) { + for (var a = 0; a < e - n; a++) + window.gtag && window.gtag("event", i, { + event_category: "category0", + event_label: "label0", + value: "value0" + }); + this.update_val(t, e) + } + } + } + } + , + i.tw_trace_force = function(t) { + if (!(t < 2e3 || t > 2100)) { + var e = this._get_type_str(t); + "unkown" != e && window.twttr && window.twttr.conversion && window.twttr.conversion.trackPid && window.twttr.conversion.trackPid(e, { + tw_sale_amount: 0, + tw_order_quantity: 0 + }) + } + } + , + i.tw_trace_pending = function(t, e) { + if (this._datas && !(t < 2e3 || t > 2100)) { + var i = this._get_type_str(t); + if ("unkown" != i) { + var n = 0; + if (this._datas[t] && (n = this._datas[t]), + n != e) { + for (var a = 0; a < e - n; a++) + window.twttr && window.twttr.conversion && window.twttr.conversion.trackPid && window.twttr.conversion.trackPid(i, { + tw_sale_amount: 0, + tw_order_quantity: 0 + }); + this.update_val(t, e) + } + } + } + } + , + i.get_val = function(t) { + return this._datas && this._datas[t] ? this._datas[t] : 0 + } + , + i.update_val = function(e, i) { + this._datas && (this._datas[e] = i, + t.NetAgent.sendReq2Lobby("Lobby", "updateClientValue", { + key: e, + value: i + }, function() {})) + } + , + i._datas = null, + i.recharged_count = 0, + i + }(); + t.PlayerBehaviorStatistic = i +}(app || (app = {})); +var app; +!function(t) { + var e; + !function(t) { + t[t.lobby = 0] = "lobby", + t[t.mj = 1] = "mj" + }(e = t.ENetType || (t.ENetType = {})); + var i = function() { + function t(t) { + this._ip = "", + this._socket = null, + this._session_id = "", + this._type = t, + this._type == e.lobby ? this._socket = new net.Socket(["Lobby"],Laya.Handler.create(this, this.onReceiveMsgError, null, !1)) : this._socket = new net.Socket(["FastTest"],Laya.Handler.create(this, this.onReceiveMsgError, null, !1)) + } + return Object.defineProperty(t.prototype, "type", { + get: function() { + return this._type + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "ip", { + get: function() { + return this._ip + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "delay", { + get: function() { + return this._socket ? this._socket.getNetworkDelay() : 1e7 + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "connected", { + get: function() { + return this._socket.connected + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "session_id", { + get: function() { + return this._session_id + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.connect = function(t, e, i) { + this._socket.addSocketLister(e); + var n = t.split(":"); + 2 == n.length && "443" == n[n.length - 1] && (t += i), + this._socket.connect((GameMgr.inHttps ? "wss://" : "ws://") + t), + this._ip = t, + this._session_id = game.Tools.generateUUID() + } + , + t.prototype.sendMsg = function(t, e) { + this._socket.sendMessage(".lq." + t, e) + } + , + t.prototype.sendReq = function(t, e, i, n) { + this._socket.sendRequest(t, e, i, n) + } + , + t.prototype.addListener = function(t, e) { + e.once = !1, + this._socket.addMsgListener(".lq." + t, e) + } + , + t.prototype.removeListener = function(t, e) { + this._socket.removeMsgListener(".lq." + t, e) + } + , + t.prototype.close = function() { + this._socket && (this._socket.close(), + this._ip = "") + } + , + t.prototype.onReceiveMsgError = function(t) {} + , + t + }(); + t.NetController = i; + var n = function() { + function n() {} + return Object.defineProperty(n, "lobby_ip", { + get: function() { + return this._net_lobby ? this._net_lobby.ip : "" + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(n, "lobby_session_id", { + get: function() { + return this._net_lobby ? this._net_lobby.session_id : "" + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(n, "mj_ip", { + get: function() { + return this._net_mj ? this._net_mj.ip : "" + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(n, "lobby_network_delay", { + get: function() { + return this._net_lobby.delay + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(n, "mj_network_delay", { + get: function() { + return this._net_mj.delay + }, + enumerable: !0, + configurable: !0 + }), + n.init = function() { + this._net_mj = new i(e.mj) + } + , + n.setLobbyNet = function(t) { + this._net_lobby = t + } + , + n.sendMsg2Lobby = function(t, e) { + this._net_lobby.sendMsg(t, e) + } + , + n.isLobbyConnectOK = function() { + return !!game.LobbyNetMgr.Inst && game.LobbyNetMgr.Inst.connect_state == game.EConnectState.connecting + } + , + n.sendReq2Lobby = function(e, i, n, a) { + if (game.LobbyNetMgr.Inst) { + if (game.LobbyNetMgr.Inst.connect_state != game.EConnectState.connecting) { + r = "发送" + i + "时,"; + switch (game.LobbyNetMgr.Inst.connect_state) { + case game.EConnectState.none: + r += "连接不存在"; + break; + case game.EConnectState.tryconnect: + r += "连接正在尝试"; + break; + case game.EConnectState.reconnecting: + r += "连接重试重连"; + break; + case game.EConnectState.disconnect: + r += "连接已断开" + } + return t.Log.log(r), + uiscript.UIMgr.Inst && (GameMgr.inRelease ? uiscript.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2006)) : uiscript.UIMgr.Inst.ShowErrorInfo(r)), + !1 + } + return this._net_lobby.sendReq(e, i, n, a), + !0 + } + var r = "发送" + i + "时LobbyNetMgr不存在"; + return t.Log.log(r), + uiscript.UIMgr.Inst && !GameMgr.inRelease && uiscript.UIMgr.Inst.ShowErrorInfo(r), + !1 + } + , + n.AddListener2Lobby = function(t, e) { + this._net_lobby.addListener(t, e) + } + , + n.RemoveListener2Lobby = function(t, e) { + this._net_lobby.removeListener(t, e) + } + , + n.connect2MJ = function(t, e, i) { + this._net_mj.connect(t, e, i) + } + , + n.sendMsg2MJ = function(t, e) { + this._net_mj.sendMsg(t, e) + } + , + n.isMJConnectOK = function() { + return game.MJNetMgr.Inst && game.MJNetMgr.Inst.connect_state == game.EConnectState.connecting + } + , + n.sendReq2MJ = function(e, i, n, a) { + if (game.MJNetMgr.Inst) { + if (game.MJNetMgr.Inst.connect_state != game.EConnectState.connecting) { + r = "发送" + i + "时,"; + switch (game.MJNetMgr.Inst.connect_state) { + case game.EConnectState.none: + r += "连接不存在"; + break; + case game.EConnectState.tryconnect: + r += "连接正在尝试"; + break; + case game.EConnectState.reconnecting: + r += "连接重试重连"; + break; + case game.EConnectState.disconnect: + r += "连接已断开" + } + return t.Log.log(r), + GameMgr.inRelease ? "checkNetworkDelay" != i && uiscript.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2006)) : uiscript.UIMgr.Inst.ShowErrorInfo(r), + !1 + } + return this._net_mj.sendReq(e, i, n, a), + !0 + } + var r = "发送" + i + "时MJNetMgr不存在"; + return t.Log.log(r), + uiscript.UIMgr.Inst && !GameMgr.inRelease && uiscript.UIMgr.Inst.ShowErrorInfo(r), + !1 + } + , + n.AddListener2MJ = function(t, e) { + this._net_mj.addListener(t, e) + } + , + n.Close2MJ = function() { + this._net_mj.close() + } + , + n.Close2Lobby = function() { + this._net_lobby.close() + } + , + n._net_lobby = null, + n._net_mj = null, + n + }(); + t.NetAgent = n +}(app || (app = {})); +var net; +!function(t) { + var e = function() { + function e(e, i) { + var n = this; + if (this.network_delay = 0, + this.byte_ = new Laya.Byte, + this.byte_.endian = Laya.Byte.LITTLE_ENDIAN, + this.socket_ = new Laya.Socket, + this.socket_.endian = Laya.Byte.LITTLE_ENDIAN, + this.messages_ = [], + this.workingMessage_ = null, + this.requestIndex_ = 0, + this.requestClientHandle_ = new t.RequestClientHandle(i,new Laya.Handler(this,function(t) { + n.network_delay = t + } + )), + this.handler_ = {}, + this.services_ = {}, + this.socket_.on(Laya.Event.OPEN, this, this._onOpen), + this.socket_.on(Laya.Event.MESSAGE, this, this._onReceiveMsg), + this.socket_.on(Laya.Event.CLOSE, this, this._onClose), + this.socket_.on(Laya.Event.ERROR, this, this._onError), + e) + for (var a = 0; a < e.length; a++) + this._registerService(e[a]) + } + return e.prototype.connect = function(t) { + this.socket_.connectByUrl(t) + } + , + Object.defineProperty(e.prototype, "connected", { + get: function() { + return this.socket_.connected + }, + enumerable: !0, + configurable: !0 + }), + e.prototype._onOpen = function(t) { + void 0 === t && (t = null), + app.Log.log("socket连接建立成功"), + app.Log.info_net("socket open success"), + this.when_socket_event && this.when_socket_event.runWith(Laya.Event.OPEN) + } + , + e.prototype._onReceiveMsg = function(t) { + if (void 0 === t && (t = null), + !t || 0 === t.length) + return app.Log.Error("!data || data.length === 0"), + void app.Log.info_net("error receive msg: !data || data.length === 0"); + this.messages_.push(new Uint8Array(t)), + this._checkMessage() + } + , + e.prototype._onClose = function(t) { + void 0 === t && (t = null), + app.Log.log("socket关闭 e:" + t), + app.Log.info_net("socket关闭 e:" + JSON.stringify(t) + ", code:" + t.code + ", reason:" + t.reason + ", wasClean:" + t.wasClean), + this.when_socket_event && this.when_socket_event.runWith(Laya.Event.CLOSE) + } + , + e.prototype._onError = function(t) { + void 0 === t && (t = null), + app.Log.log("socket错误 e:" + t), + app.Log.info_net("socket错误 e:" + JSON.stringify(t)), + this.when_socket_event && this.when_socket_event.runWith(Laya.Event.ERROR) + } + , + e.prototype._checkMessage = function() { + if (!this.workingMessage_ && 0 !== this.messages_.length) + return this.workingMessage_ = this.messages_.shift(), + this._handleMsg(this.workingMessage_), + this.workingMessage_ = null, + this._checkMessage() + } + , + e.prototype._handleMsg = function(e) { + var i = { + type: e[0] + }; + switch (i.type) { + case t.HeaderType.REQUEST: + case t.HeaderType.RESPONSE: + if (e.length < 3) + throw new Error("ERR_INVALID_MESSAGE_LENGTH"); + i.reqIndex = e[1] + (e[2] << 8), + e = e.slice(3); + break; + case t.HeaderType.NOTIFY: + e = e.slice(1); + break; + default: + return void console.error("net", "unknown headerType: " + i.type) + } + switch (i.type) { + case t.HeaderType.REQUEST: + throw new Error("ERR_CLIENT_UNABLE_TO_HANDLE_REQUEST"); + case t.HeaderType.RESPONSE: + var n = t.MessageWrapper.decodeRpc(e); + return this.requestClientHandle_.emitResponse(i.reqIndex, n.data); + case t.HeaderType.NOTIFY: + var a = t.MessageWrapper.decodeMessage(e) + , r = this.handler_[a.$type.fullName]; + if (!r) + return void app.Log.Error("消息:" + a.$type.fullName + "未被监听"); + for (var s = 0; s < r.length; s++) + try { + r[s].runWith(a) + } catch (t) { + app.Log.Error("message " + a.$type.fullName + " handle error info:" + t), + this.code_error_handler && this.code_error_handler.runWith({ + method: a.$type.fullName, + info: t + }) + } + return; + default: + return void console.error("net", "unknown headerType: " + i.type) + } + } + , + e.prototype._requestMessage = function(e, i, n) { + this.requestIndex_ = (this.requestIndex_ + 1) % 60007, + app.Log.info_net("_requestMessage method:" + e + ", index:" + this.requestIndex_), + this._sendRpc(e, { + header: { + type: t.HeaderType.REQUEST, + reqIndex: this.requestIndex_ + }, + packet: i + }), + this.requestClientHandle_.waitResponseCb(e, this.requestIndex_, n) + } + , + e.prototype._registerService = function(e) { + var i = this + , n = t.ProtobufManager.lookupService("lq." + e); + if (!n) + throw new Error("ERR_SERVICE_NOT_FOUND, name=" + e); + var a = n.create(function(t, e, n) { + i._requestMessage(t.fullName, e, n) + }); + this.services_[e] = a + } + , + e.prototype._sendMessage = function(e) { + if (!this.socket_) + throw new Error("ERR_SOCKET_NOT_CONNECT"); + var i = t.MessageWrapper.encodeHeaderData(e.header) + , n = t.MessageWrapper.encodeMessage(e.packet) + , a = new Laya.Byte; + a.writeArrayBuffer(i), + a.writeArrayBuffer(n), + this.socket_.send(a.buffer), + app.Log.info_net("socket _sendMessage") + } + , + e.prototype._sendRpc = function(e, i) { + if (!this.socket_) + throw new Error("ERR_SOCKET_NOT_CONNECT"); + var n = t.MessageWrapper.encodeHeaderData(i.header) + , a = t.MessageWrapper.encodeRpc(e, i.packet) + , r = new Laya.Byte; + r.writeArrayBuffer(n), + r.writeArrayBuffer(a), + this.socket_.send(r.buffer), + app.Log.info_net("socket _sendRpc") + } + , + e.prototype.sendMessage = function(e, i) { + app.Log.info_net("socket sendMessage msg_type:" + e); + var n = t.ProtobufManager.lookupType(e); + n ? this._sendMessage({ + header: { + type: t.HeaderType.NOTIFY + }, + packet: n.create(i) + }) : app.Log.Error("sendMessage msg_type:" + e + "未找到") + } + , + e.prototype.sendRequest = function(t, e, i, n) { + app.Log.info_net("socket sendRequest service_name:" + t + ", rpc_name:" + e); + var a = this.services_[t]; + if (!a) + throw new Error("ERR_SERVICE_NOT_FOUND, name=FastTest"); + a[e](i, n) + } + , + e.prototype.addMsgListener = function(t, e) { + this.handler_[t] || (this.handler_[t] = []), + this.handler_[t].push(e) + } + , + e.prototype.removeMsgListener = function(t, e) { + if (this.handler_[t]) { + for (var i = this.handler_[t], n = [], a = 0; a < i.length; a++) + i[a] !== e && n.push(e); + this.handler_[t] = n + } + } + , + e.prototype.addSocketLister = function(t) { + this.when_socket_event = t + } + , + e.prototype.close = function() { + app.Log.info_net("socket close"), + this.socket_ && this.socket_.close(), + this.requestClientHandle_ && this.requestClientHandle_.onClose() + } + , + e.prototype.getNetworkDelay = function() { + return this.network_delay + } + , + e + }(); + t.Socket = e +}(net || (net = {})); +var net; +!function(t) { + var e = function() { + return function() {} + }(); + t.WaitingEvent = e; + var i = function() { + function t(t, e) { + this._delay = 0, + this.waitingData = {}, + this.checkArray = [], + this.delayLst = [], + this._responseErrorHandler = t, + this._networkDelayHandler = e, + Laya.timer.loop(500, this, this.loop) + } + return t.prototype.emitResponse = function(t, e) { + var i = this.waitingData[t]; + if (i) { + var n = Date.now(); + if (this.delayLst.push({ + timestamp: n, + delay: n - i.requestTime + }), + this.waitingData[t] = null, + GameMgr.inRelease) + try { + i.cb(null, e) + } catch (t) { + app.Log.Error("net request handle error:" + t), + this._responseErrorHandler && this._responseErrorHandler.runWith({ + method: i.method, + info: t + }) + } + else + i.cb(null, e) + } + } + , + t.prototype.waitResponseCb = function(t, e, i) { + var n = { + method: t, + index: e, + requestTime: Date.now(), + cb: i + }; + this.waitingData[e] = n, + this.checkArray.push({ + timeout: n.requestTime + 15e3, + index: n.index + }) + } + , + t.prototype.loop = function() { + var t = this.calcu_preresponse_delay() + , e = this.check_waiting_response() + , i = 0 + , n = 0; + t >= 0 && (i += .3 * t, + n += .3), + e >= 0 && (i += e, + n += 1), + n > 0 && (i /= n, + this._delay = i), + this._networkDelayHandler && this._networkDelayHandler.runWith(this._delay) + } + , + t.prototype.calcu_preresponse_delay = function() { + for (var t = Date.now(), e = 0, i = 0, n = 0, a = 0; a < this.delayLst.length; a++) + this.delayLst[a].timestamp + 2e3 < t ? n++ : (e += this.delayLst[a].delay, + i++); + return n > 0 && (n == this.delayLst.length ? this.delayLst = [] : this.delayLst.slice(n)), + i > 0 ? e / i : -1 + } + , + t.prototype.check_waiting_response = function() { + for (var t = Date.now(), e = 0, i = -1, n = 0; n < this.checkArray.length; n++) { + var a = this.checkArray[n]; + if (this.waitingData[a.index]) { + if (t < a.timeout) { + i < 0 && (i = t - this.waitingData[a.index].requestTime); + break + } + e += 1; + var r = this.waitingData[a.index]; + this.waitingData[a.index] = null, + i = 5e3, + this.delayLst.push({ + delay: 1e4, + timestamp: t + }), + r.cb(new Error("TIMEOUT")) + } else + e += 1 + } + return e > 0 && (e == this.checkArray.length ? this.checkArray = [] : this.checkArray = this.checkArray.slice(e)), + i + } + , + t.prototype.onClose = function() { + this.waitingData = {}, + this.checkArray = [], + this.delayLst = [] + } + , + t + }(); + t.RequestClientHandle = i +}(net || (net = {})); +var net; +!function(t) { + var e = function() { + function t() {} + return t.loadProto = function(t) { + this.root = protobuf.Root.fromJSON(t), + this.root.resolveAll(), + console.log("loadProto finished") + } + , + t.lookup = function(t, e) { + return this.root.lookup(t, e) + } + , + t.lookupType = function(t) { + return this.root.lookupType(t) + } + , + t.lookupEnum = function(t) { + return this.root.lookupEnum(t) + } + , + t.lookupTypeOrEnum = function(t) { + return this.root.lookupTypeOrEnum(t) + } + , + t.lookupService = function(t) { + return this.root.lookupService(t) + } + , + t.lookupMethod = function(t) { + if ("string" == typeof t && (t = t.split(".")), + 0 === t.length) + return null; + var e = this.lookupService(t.slice(0, -1)); + if (!e) + return null; + var i = t[t.length - 1]; + return e.methods[i] + } + , + t + }(); + t.ProtobufManager = e +}(net || (net = {})); +var net; +!function(t) { + var e; + !function(t) { + t[t.NULL = 0] = "NULL", + t[t.NOTIFY = 1] = "NOTIFY", + t[t.REQUEST = 2] = "REQUEST", + t[t.RESPONSE = 3] = "RESPONSE" + }(e = t.HeaderType || (t.HeaderType = {})); + var i = function() { + return function() {} + }(); + t.HeaderData = i; + var n = function() { + function i() {} + return i.initWrapper = function() { + this.WrapperCtor = t.ProtobufManager.lookupType("lq.Wrapper"), + console.log("Wrapper is " + JSON.stringify(this.WrapperCtor)) + } + , + i.encodeHeaderData = function(t) { + switch (t.type) { + case e.REQUEST: + case e.RESPONSE: + return new Uint8Array([t.type, 255 & t.reqIndex, t.reqIndex >> 8]); + case e.NOTIFY: + return new Uint8Array([t.type]) + } + return new Uint8Array([]) + } + , + i.encodeMessage = function(t) { + var e = t.$type; + return this.wrap(e.fullName, e.encode(t).finish()) + } + , + i.decodeMessage = function(t) { + var e = this.unwrap(t); + return this.decode(e.name, e.data) + } + , + i.encodeRpc = function(t, e) { + return this.wrap(t, e) + } + , + i.decodeRpc = function(t) { + return this.unwrap(t) + } + , + i.wrap = function(t, e) { + var i = this.WrapperCtor + , n = i.create({ + name: t, + data: e + }); + return i.encode(n).finish() + } + , + i.unwrap = function(t) { + return i.WrapperCtor.decode(t) + } + , + i.decode = function(e, i) { + var n = t.ProtobufManager.lookupType(e); + if (!n) + throw new Error("ERR_CANNOT_FIND_MESSAGE_TYPE, " + e); + return n.decode(i) + } + , + i + }(); + t.MessageWrapper = n +}(net || (net = {})); +var app; +!function(t) { + var e = function() { + function t() {} + return t._getDate = function() { + var t = new Date; + return t.getFullYear() + "/" + (t.getMonth() + 1) + "/" + t.getDate() + " " + t.getHours() + ":" + t.getMinutes() + ":" + t.getSeconds() + "." + t.getMilliseconds() + } + , + t._insertCacheLog = function(t) { + this._cache_logs.length < 40 ? this._cache_logs.push(t) : this._cache_logs[this._ceche_index++] = t + } + , + t.log = function(t) { + var e = "[" + this._getDate() + " f:" + Laya.timer.currFrame + "]log: " + t; + this._insertCacheLog(e) + } + , + t.info = function(t) { + var e = "[" + this._getDate() + " f:" + Laya.timer.currFrame + "]info: " + t; + this._insertCacheLog(e) + } + , + t.Error = function(t) { + var e = "[" + this._getDate() + " f:" + Laya.timer.currFrame + "]error: " + t; + this._insertCacheLog(e) + } + , + t.info_net = function(t) { + this._getDate(), + Laya.timer.currFrame + } + , + t.getCacheLog = function() { + if (0 == this._cache_logs.length) + return "nolog"; + for (var t = "", e = 0; e < this._cache_logs.length; e++) { + var i = (this._ceche_index + e) % this._cache_logs.length; + 0 != e && (t += "\n"), + t += this._cache_logs[i] + } + return t + } + , + t.getFunctionName = function(t) { + if ("function" == typeof t || "object" == typeof t) + var e = ("" + t).match(/function\s*([\w\$]*)\s*\(/); + return e && e[1] + } + , + t.trace = function() { + for (var t = "", e = arguments.callee.caller, i = 10; e && i > 0; ) + "" != t && (t += "\n"), + t += e.toString(), + e = e.caller, + i--; + return t + } + , + t._cache_logs = [], + t._ceche_index = 0, + t + }(); + t.Log = e +}(app || (app = {})); +var view; +!function(t) { + var e = function() { + function e(t, e) { + this.val = null, + this.model = null, + this.ismoqie = !1, + this.ispaopai = !1, + this.is_open = !1, + this.isDora = !1, + this.val = t, + this.model = e, + this.isDora = !1, + this.RefreshDora() + } + return e.prototype.ShowUp = function() { + this.model.transform.localRotationEuler = new Laya.Vector3(90,0,0) + } + , + e.prototype.ShowBack = function() { + this.model.transform.localRotationEuler = new Laya.Vector3(-90,0,180) + } + , + e.prototype.ShowRot = function() { + this.model.transform.localRotationEuler = new Laya.Vector3(90,-90,0) + } + , + e.prototype.RefreshDora = function() { + if (t.DesktopMgr.bianjietishi && !this.isDora) { + if (this.val.dora && (this.isDora = !0), + !this.isDora) + for (var e = 0; e < t.DesktopMgr.Inst.dora.length; e++) + if (mjcore.MJPai.DoraMet(this.val, t.DesktopMgr.Inst.dora[e])) { + this.isDora = !0; + break + } + if (this.isDora) { + var i = t.DesktopMgr.Inst.effect_dora3D.clone(); + this.model.addChild(i), + i.transform.localPosition = new Laya.Vector3(0,0,0), + i.transform.localScale = new Laya.Vector3(1,1,1), + i.transform.localRotationEuler = new Laya.Vector3(0,0,0), + i.active = !0; + i.getChildAt(0).addComponent(anim.RunUV) + } + } + } + , + e.prototype.ResetShow = function() { + this.model.meshRender.sharedMaterial.setColor(caps.Cartoon.COLOR, this.GetDefaultColor()) + } + , + e.prototype.OnChoosedPai = function() { + if (t.DesktopMgr.bianjietishi) { + var e = t.DesktopMgr.Inst.choosed_pai; + null == e || 0 != mjcore.MJPai.Distance(this.val, e) ? this.ispaopai ? this.model.meshRender.sharedMaterial.setColor(caps.Cartoon.COLOR, new Laya.Vector4(1,.78,.78,1)) : this.ismoqie ? this.model.meshRender.sharedMaterial.setColor(caps.Cartoon.COLOR, new Laya.Vector4(.8,.8,.8,1)) : this.model.meshRender.sharedMaterial.setColor(caps.Cartoon.COLOR, this.GetDefaultColor()) : this.model.meshRender.sharedMaterial.setColor(caps.Cartoon.COLOR, new Laya.Vector4(.615,.827,.976,1)) + } else + this.model.meshRender.sharedMaterial.setColor(caps.Cartoon.COLOR, new Laya.Vector4(1,1,1,1)) + } + , + e.prototype.GetDefaultColor = function() { + var e = !1; + return t.DesktopMgr.Inst.is_open_hand() || t.DesktopMgr.Inst.mode != t.EMJMode.live_broadcast && t.DesktopMgr.Inst.mode != t.EMJMode.paipu || this.is_open && t.DesktopMgr.Inst.record_show_hand && (e = !0), + e ? new Laya.Vector4(1,.917,.663,1) : new Laya.Vector4(1,1,1,1) + } + , + e + }(); + t.ViewPai = e +}(view || (view = {})); +var view; +!function(t) { + var e = function() { + function t() {} + return t.init_data = function() { + var t = this; + this._loaded || (this._loaded = !0, + cfg.animation.animation.forEach(function(e) { + var i = e.name + , n = e.type + , a = e; + if (a.lifetime /= a.speed, + a.keypoint) + for (var r = 0; r < a.keypoint.length; r++) + a.keypoint[r] /= a.speed; + t._map_anim.hasOwnProperty(i) || (t._map_anim[i] = {}), + t._map_anim[i][n] = a + })) + } + , + t.get_anim_config = function(t, e) { + return this._map_anim[t] ? this._map_anim[t][e] : null + } + , + t._loaded = !1, + t._map_anim = {}, + t + }(); + t.ModelAnimationController = e +}(view || (view = {})); +var view; +!function(t) { + var e = function() { + function e(e) { + this.val = null, + this.model = null, + this.contianer_pai = null, + this.pai3D = null, + this.shadow = null, + this.is_open = !1, + this._starttime = 0, + this._lifetime = 150, + this._index = 0, + this._isnew = !1, + this.model = new Laya.Sprite3D, + e.addChild(this.model), + this.model.transform.localPosition = new Laya.Vector3(0,.5 * -t.PAIMODEL_HEIGHT,0), + this.model.transform.localRotationEuler = new Laya.Vector3(0,0,0), + this.model.transform.localScale = new Laya.Vector3(1,1,1), + this.model.active = !0, + this.contianer_pai = new Laya.Sprite3D, + this.model.addChild(this.contianer_pai), + this.contianer_pai.transform.localPosition = new Laya.Vector3(0,0,0), + this.contianer_pai.transform.localRotationEuler = new Laya.Vector3(0,0,0), + this.contianer_pai.transform.localScale = new Laya.Vector3(1,1,1), + this.contianer_pai.active = !0, + this.shadow = t.DesktopMgr.Inst.effect_shadow.clone(), + this.model.addChild(this.shadow), + this.shadow.transform.localPosition = new Laya.Vector3(0,0,0), + this.shadow.transform.localScale = new Laya.Vector3(1,1,1), + this.shadow.transform.localRotationEuler = new Laya.Vector3(0,0,0), + this.shadow.active = !0 + } + return e.prototype.SetVal = function(e, i) { + try { + null != this.pai3D && (this.pai3D.model.destroy(), + this.pai3D = null), + this.val = e, + this.pai3D = new t.ViewPai(e,t.DesktopMgr.Inst.CreatePai3D(e)), + this.contianer_pai.addChild(this.pai3D.model), + this.pai3D.model.transform.localPosition = new Laya.Vector3(0,0,0), + this.pai3D.model.transform.localScale = new Laya.Vector3(1,1,1), + this.pai3D.model.transform.localRotationEuler = new Laya.Vector3(0,180,0), + this.pai3D.model.active = !0, + this.is_open = i, + this.pai3D.is_open = i, + this.pai3D.ResetShow() + } catch (t) { + var n = {}; + n.error = t.message, + n.stack = t.stack, + n.method = "HandPai3D", + n.name = "SetVal"; + var a = ""; + this.pai3D && (a += "pai3D", + this.pai3D.model && (a += " model", + this.pai3D.model.transform && (a += " transform"))), + this.contianer_pai && (a += " contianer_pai"), + n.iinfo = a, + GameMgr.Inst.onFatalError(n) + } + } + , + e.prototype.SetIndex = function(e, i) { + this.model ? this.model.destroyed ? app.Log.Error("SetIndex index:" + e + " model已经被删除") : this.model.transform || app.Log.Error("SetIndex index:" + e + " model.transform不存在") : app.Log.Error("SetIndex index:" + e + " model不存在"), + this._isnew = i, + this._index = e, + this.model.transform.localPosition = new Laya.Vector3(-t.PAIMODEL_WIDTH * (e + (i ? .5 : 0)) * 1.01,.5 * -t.PAIMODEL_HEIGHT,0) + } + , + e.prototype.IsNew = function() { + return this._isnew + } + , + e.prototype.Stand = function() { + this.contianer_pai.transform.localPosition = new Laya.Vector3(0,0,0), + this.contianer_pai.transform.localRotationEuler = new Laya.Vector3(0,0,0), + this.pai3D.model.transform.localPosition = new Laya.Vector3(0,.5 * t.PAIMODEL_HEIGHT,0), + this.shadow.transform.localScale = new Laya.Vector3(.53 * t.PAIMODEL_WIDTH,1,.53 * t.PAIMODEL_THICKNESS), + this.shadow.transform.localPosition = new Laya.Vector3(0,0,0), + this.shadow.active = !0 + } + , + e.prototype.FullDown = function() { + this.contianer_pai.transform.localPosition = new Laya.Vector3(0,0,.5 * t.PAIMODEL_THICKNESS), + this.contianer_pai.transform.localRotationEuler = new Laya.Vector3(90,0,0), + this.pai3D.model.transform.localPosition = new Laya.Vector3(0,.5 * t.PAIMODEL_HEIGHT,.5 * -t.PAIMODEL_THICKNESS), + this.shadow.transform.localScale = new Laya.Vector3(.53 * t.PAIMODEL_WIDTH,1,.53 * t.PAIMODEL_HEIGHT), + this.shadow.transform.localPosition = new Laya.Vector3(0,0,.5 * (t.PAIMODEL_HEIGHT + t.PAIMODEL_THICKNESS)), + this.shadow.active = !0 + } + , + e.prototype.Cover = function() { + this.contianer_pai.transform.localPosition = new Laya.Vector3(0,0,.5 * -t.PAIMODEL_THICKNESS), + this.contianer_pai.transform.localRotationEuler = new Laya.Vector3(-90,0,0), + this.pai3D.model.transform.localPosition = new Laya.Vector3(0,.5 * t.PAIMODEL_HEIGHT,.5 * t.PAIMODEL_THICKNESS), + this.shadow.transform.localScale = new Laya.Vector3(.53 * t.PAIMODEL_WIDTH,1,.53 * t.PAIMODEL_HEIGHT), + this.shadow.transform.localPosition = new Laya.Vector3(0,0,.5 * -(t.PAIMODEL_HEIGHT + t.PAIMODEL_THICKNESS)), + this.shadow.active = !0 + } + , + e.prototype.DoAnim_FullDown = function() { + var t = this; + this.FullDown(), + this._lifetime = 120, + this._starttime = Laya.timer.currTimer, + this.contianer_pai.transform.localRotationEuler = new Laya.Vector3(0,0,0), + this.shadow.active = !1, + Laya.timer.clearAll(this), + Laya.timer.frameLoop(1, this, function() { + var e = Laya.timer.currTimer - t._starttime; + if (e >= t._lifetime) + t.FullDown(), + Laya.timer.clearAll(t); + else { + var i = e / t._lifetime; + t.contianer_pai.transform.localRotationEuler = new Laya.Vector3(90 * i * i,0,0) + } + }) + } + , + e.prototype.DoAnim_Cover = function() { + var t = this; + this.Cover(), + this._lifetime = 120, + this._starttime = Laya.timer.currTimer, + this.contianer_pai.transform.localRotationEuler = new Laya.Vector3(0,0,0), + this.shadow.active = !1, + Laya.timer.clearAll(this), + Laya.timer.frameLoop(1, this, function() { + var e = Laya.timer.currTimer - t._starttime; + if (e >= t._lifetime) + t.Cover(), + Laya.timer.clearAll(t); + else { + var i = e / t._lifetime; + t.contianer_pai.transform.localRotationEuler = new Laya.Vector3(-90 * i * i,0,0) + } + }) + } + , + e.prototype.DoAnim_Stand = function() { + var t = this; + this.Cover(), + this._lifetime = 150, + this._starttime = Laya.timer.currTimer, + this.shadow.active = !1, + Laya.timer.clearAll(this), + Laya.timer.frameLoop(1, this, function() { + var e = Laya.timer.currTimer - t._starttime - 300; + if (e >= t._lifetime) + t.Stand(), + Laya.timer.clearAll(t); + else if (e >= 0) { + var i = e / t._lifetime; + t.contianer_pai.transform.localRotationEuler = new Laya.Vector3(90 * i - 90,0,0) + } + }) + } + , + e.prototype.Destory = function() { + null != this.contianer_pai && (Laya.timer.clearAll(this), + this.contianer_pai.destroy(!0), + this.pai3D.model.destroy(!0), + this.shadow.destroy(!0), + this.model.destroy(!0), + this.contianer_pai = null, + this.pai3D = null) + } + , + e + }(); + t.HandPai3D = e +}(view || (view = {})); +var view; +!function(t) { + var e = function() { + function e(e, i) { + this.player = null, + this.origin = null, + this.pais = null, + this.cx = 0, + this.cy = 0, + this.x_count = 0, + this.last_pai = null, + this.last_is_liqi = !1, + this.after_liqi = !1, + this.waiting_offset = new Laya.Vector2(.4 * t.PAIMODEL_WIDTH,.4 * t.PAIMODEL_HEIGHT), + this.xwidth = 0, + this.last_pai_count = 0, + this.dora_yuyin_map = {}, + this.origin = e, + this.pais = new Array, + this.player = i + } + return e.prototype.AddQiPai = function(e, i, n, a) { + var r = this; + void 0 === a && (a = !0), + this.QiPaiPass(); + var s = new t.ViewPai(e,t.DesktopMgr.Inst.CreatePai3D(e)); + t.DesktopMgr.Inst.showingPaopai && (s.ismoqie = n, + s.ispaopai = t.DesktopMgr.Inst.isPaoPai(s.val)), + s.OnChoosedPai(), + this.origin.parent.addChild(s.model), + this.last_is_liqi && !i && (i = !0); + var o = Math.atan(t.PAIMODEL_HEIGHT / t.PAIMODEL_WIDTH) + , l = 2 * (Math.random() - .5) * 2 + , h = 0 + , c = 0; + i ? (s.model.transform.localRotationEuler = new Laya.Vector3(90,90 + l,0), + c = ((h = Math.sqrt(t.PAIMODEL_HEIGHT * t.PAIMODEL_HEIGHT + t.PAIMODEL_WIDTH * t.PAIMODEL_WIDTH) / 2 * Math.cos(1.5707963 - o - 3.1415926 * Math.abs(l) / 180) * 2 + .01 * t.PAIMODEL_WIDTH) - t.PAIMODEL_WIDTH) / 2) : (s.model.transform.localRotationEuler = new Laya.Vector3(90,l,0), + c = ((h = Math.sqrt(t.PAIMODEL_HEIGHT * t.PAIMODEL_HEIGHT + t.PAIMODEL_WIDTH * t.PAIMODEL_WIDTH) / 2 * Math.cos(o - 3.1415926 * Math.abs(l) / 180) * 2 + .01 * t.PAIMODEL_WIDTH) - t.PAIMODEL_WIDTH) / 2); + var _ = 0 + , u = 0 + , d = this.cx + c + , f = this.cy; + if (Math.random() < .2 && (h += _ = Math.random() * t.PAIMODEL_WIDTH * .025, + d += _), + this.xwidth = h, + u = 2 * (Math.random() - .5) * t.PAIMODEL_HEIGHT * .025, + f += u, + s.model.transform.localPosition = this.origin.transform.localPosition.clone(), + s.model.active = !0, + s.model.transform.localPosition.x += d, + s.model.transform.localPosition.z -= f, + a) { + var p = s.model.transform.position.clone(); + this.player.hand3d.transform.position = p.clone(); + this.player.hand3d.getChildAt(0).getChildByName("node_tile").addChild(s.model), + s.model.transform.localPosition = new Laya.Vector3(0,0,0), + s.model.transform.localRotationEuler = new Laya.Vector3(0,0,-((i ? 90 : 0) + l)), + s.model.transform.localScale = new Laya.Vector3(1.1111,1.1111,1.1111); + var m = null; + if (i) { + var g = t.DesktopMgr.Inst.player_effects[this.player.seat][game.EView.lizhi_effect]; + if (g) { + var y = cfg.item_definition.view.get(g) + , v = "scene/" + y.res_name + ".lh"; + y.sargs.length < 0 || !y.sargs[0] || "shu" == y.sargs[0] ? (m = t.ModelAnimationController.get_anim_config("Dapai", this.player.hand_type), + Laya.timer.once(m.keypoint[0], this, function() { + var e = new game.EffectBase(v); + t.DesktopMgr.Inst.trans_container_effect.addChild(e.root); + var i = s.model.transform.position.clone(); + i.y = 0, + e.root.transform.position = i, + e.root.active = !0; + var n = y.audio_id; + n && t.AudioMgr.PlayAudio(n), + Laya.timer.once(5e3, null, function() { + e && !e.destroyed && (Laya.timer.clearAll(e), + e.destroy()) + }), + e.addLoadedListener(Laya.Handler.create(r, function() { + if (s && s.model && !s.model.destroyed) { + var t = game.Tools.GetNodeByNameInChildren(e.root, "pai_anim"); + t && Laya.timer.frameOnce(1, r, function() { + if (s && s.model && !s.model.destroyed) { + var e = s.model.transform.rotation.clone() + , i = s.model.transform.worldMatrix.clone(); + t.addChild(s.model), + s.model.transform.rotation = e, + s.model.transform.worldMatrix = i + } + }) + } + })), + Laya.timer.once(3e3, r, function() { + if (s && s.model && !s.model.destroyed) { + var t = s.model.transform.rotation.clone() + , e = s.model.transform.worldMatrix.clone(); + r.origin.parent.addChild(s.model), + s.model.transform.rotation = t, + s.model.transform.worldMatrix = e + } + }) + })) : (m = t.ModelAnimationController.get_anim_config("LiQiPai", this.player.hand_type), + Laya.timer.once(m.keypoint[0], this, function() { + var e = new game.EffectBase(v); + r.origin.parent.addChild(e.root); + var i = y.audio_id; + i > 0 && t.AudioMgr.PlayAudio(i), + Laya.timer.frameLoop(1, e, function() { + s && s.model && !s.model.destroyed ? e.root.transform.worldMatrix = s.model.transform.worldMatrix.clone() : (Laya.timer.clearAll(e), + e.destroy()) + }), + Laya.timer.once(1500, null, function() { + e && !e.destroyed && (Laya.timer.clearAll(e), + e.destroy()) + }) + })) + } else + m = t.ModelAnimationController.get_anim_config("Dapai", this.player.hand_type) + } else + m = t.ModelAnimationController.get_anim_config("Dapai", this.player.hand_type); + this.player.playHandAnimtion(m), + Laya.timer.once(m.keypoint[0], this, function() { + t.AudioMgr.PlayAudio(207) + }), + Laya.timer.once(m.keypoint[1], this, function() { + s && s.model && !s.model.destroyed && (r.origin.parent.addChild(s.model), + s.model.transform.localScale = new Laya.Vector3(1,1,1), + s.model.transform.localRotationEuler = i ? new Laya.Vector3(90,90 + l,0) : new Laya.Vector3(90,l,0), + r.last_pai.model.transform.localPosition = r.origin.transform.localPosition.clone(), + r.last_pai.model.transform.localPosition.x += d, + r.last_pai.model.transform.localPosition.z -= f) + }) + } + this.last_pai = s, + this.last_is_liqi = i, + t.DesktopMgr.Inst.SetLastQiPai(this.player.seat, s); + var b = t.DesktopMgr.Inst.effect_shadow.clone(); + if (s.model.addChild(b), + b.transform.localPosition = new Laya.Vector3(0,0,.5 * -t.PAIMODEL_THICKNESS), + b.transform.localScale = new Laya.Vector3(.53 * t.PAIMODEL_WIDTH,1,.53 * t.PAIMODEL_HEIGHT), + b.transform.localRotationEuler = new Laya.Vector3(90,0,0), + b.active = !0, + t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play || t.DesktopMgr.Inst.mode == t.EMJMode.play) + if (a) { + this.last_pai_val && 0 == mjcore.MJPai.Distance(this.last_pai_val, e) ? (this.last_pai_count++, + 3 == this.last_pai_count && t.DesktopMgr.Inst.addMindVoice(this.player.seat, "ingame_lianda")) : (this.last_pai_val = e.Clone(), + this.last_pai_count = 1); + var w = !1; + if (e.dora && (w = !0), + !w) + for (var x = 0; x < t.DesktopMgr.Inst.dora.length; x++) + if (mjcore.MJPai.DoraMet(e, t.DesktopMgr.Inst.dora[x])) { + w = !0; + break + } + var I = e.numValue.toString(); + w && !this.dora_yuyin_map[I] && (t.DesktopMgr.Inst.addMindVoice(this.player.seat, "ingame_baopai"), + this.dora_yuyin_map[I] = 1) + } else + this.last_pai_val = null, + this.last_pai_count = 0; + else + this.last_pai_val = null, + this.last_pai_count = 0 + } + , + e.prototype.QiPaiPass = function() { + null != this.last_pai && (this.pais.push(this.last_pai), + this.x_count++, + 6 == this.x_count && this.pais.length <= 12 ? (this.cx = 0, + this.cy += 1.05 * t.PAIMODEL_HEIGHT, + this.x_count = 0) : this.cx += this.xwidth, + this.last_pai = null, + this.last_is_liqi = !1) + } + , + e.prototype.QiPaiNoPass = function() { + this.last_pai && this.last_pai.model.destroy(), + this.last_pai = null + } + , + e.prototype.Reset = function() { + if (this.pais.length > 0) { + for (var t = 0; t < this.pais.length; t++) + this.pais[t].model.destroy(!0); + this.pais = new Array + } + this.cx = this.cy = 0, + this.x_count = 0, + null != this.last_pai && this.last_pai.model.destroy(!0), + this.last_pai = null, + this.last_is_liqi = !1, + this.after_liqi = !1, + this.last_pai_val = null, + this.last_pai_count = 0, + this.dora_yuyin_map = {}, + Laya.timer.clearAll(this) + } + , + e.prototype.OnDoraRefresh = function() { + if (null != this.last_pai && this.last_pai.RefreshDora(), + null != this.pais) + for (var t = 0; t < this.pais.length; t++) + this.pais[t].RefreshDora() + } + , + e.prototype.OnChoosedPai = function() { + if (null != this.last_pai && this.last_pai.OnChoosedPai(), + null != this.pais) + for (var t = 0; t < this.pais.length; t++) + this.pais[t].OnChoosedPai() + } + , + e + }(); + t.Block_QiPai = e +}(view || (view = {})); +var view; +!function(t) { + var e = function() { + function e(t, e) { + this.origin = null, + this.player = null, + this.xOffset = 0, + this.mings = new Array, + this.pais = new Array, + this.hengs = new Array, + this.origin = t, + this.xOffset = 0, + this.player = e + } + return Object.defineProperty(e.prototype, "seat", { + get: function() { + return this.player.seat + }, + enumerable: !0, + configurable: !0 + }), + e.prototype.Reset = function() { + if (Laya.timer.clearAll(this), + this.pais.length > 0) { + for (var t = 0; t < this.pais.length; t++) + this.pais[t].model.destroy(); + this.pais = [] + } + this.mings = [], + this.hengs = [], + this.xOffset = 0 + } + , + e.prototype.AddMing = function(e, i) { + var n = this; + void 0 === i && (i = !0); + try { + this.mings.push(e); + for (var a = 0, r = new Array, s = 0; s < e.pais.length; s++) { + r.push(new t.ViewPai(e.pais[s],t.DesktopMgr.Inst.CreatePai3D(e.pais[s]))), + this.pais.push(r[s]), + t.DesktopMgr.Inst.showingPaopai && (r[s].ispaopai = t.DesktopMgr.Inst.isPaoPai(r[s].val)), + r[s].OnChoosedPai(); + var o = t.DesktopMgr.Inst.effect_shadow.clone(); + r[s].model.addChild(o), + o.transform.localPosition = new Laya.Vector3(0,0,.5 * -t.PAIMODEL_THICKNESS), + o.transform.localScale = new Laya.Vector3(.53 * t.PAIMODEL_WIDTH,1,.53 * t.PAIMODEL_HEIGHT), + o.transform.localRotationEuler = new Laya.Vector3(90,0,0), + o.active = !0 + } + var l = 0; + if (e.type == mjcore.E_Ming.shunzi) { + for (var h = new Array, c = -1, s = 0; s < 3; s++) + e.from[s] != this.seat ? c = s : h.push(s); + h = h.sort(function(t, i) { + return -mjcore.MJPai.Distance(e.pais[t], e.pais[i]) + }), + -1 != c && h.push(c), + l = h[0]; + for (s = 0; s < 3; s++) { + var _ = h[s] + , u = r[_]; + this.origin.parent.addChild(u.model), + u.model.transform.localPosition = this.origin.transform.localPosition.clone(), + e.from[_] != this.seat ? (this.xOffset += .5 * t.PAIMODEL_HEIGHT * 1.02, + u.ShowRot(), + u.model.transform.localPosition.x -= this.xOffset, + u.model.transform.localPosition.z -= .5 * (t.PAIMODEL_HEIGHT - t.PAIMODEL_WIDTH), + a = this.xOffset, + this.xOffset += .5 * t.PAIMODEL_HEIGHT * 1.02) : (this.xOffset += .5 * t.PAIMODEL_WIDTH * 1.02, + u.ShowUp(), + u.model.transform.localPosition.x -= this.xOffset, + this.xOffset += .5 * t.PAIMODEL_WIDTH * 1.02) + } + } else if (e.type == mjcore.E_Ming.kezi || e.type == mjcore.E_Ming.gang_ming) { + for (var h = new Array, s = 0; s < e.pais.length; s++) + h.push(s); + for (s = 0; s < e.pais.length; s++) + if (e.from[s] != this.seat) { + var d = 0 + , f = t.DesktopMgr.Inst.seat2LocalPosition(this.seat); + switch ((t.DesktopMgr.Inst.seat2LocalPosition(e.from[s]) - f + 4) % 4) { + case 1: + d = 0; + break; + case 2: + d = e.pais.length - 2; + break; + case 3: + d = e.pais.length - 1 + } + var p = h[s]; + h[s] = h[d], + h[d] = p; + break + } + l = h[0]; + for (s = 0; s < e.pais.length; s++) { + var _ = h[s] + , u = r[_]; + this.origin.parent.addChild(u.model), + u.model.transform.localPosition = this.origin.transform.localPosition.clone(), + e.from[_] != this.seat ? (this.xOffset += .5 * t.PAIMODEL_HEIGHT * 1.02, + u.ShowRot(), + u.model.transform.localPosition.x -= this.xOffset, + u.model.transform.localPosition.z -= .5 * (t.PAIMODEL_HEIGHT - t.PAIMODEL_WIDTH) * 1.02, + a = this.xOffset, + this.xOffset += .5 * t.PAIMODEL_HEIGHT * 1.02) : (this.xOffset += .5 * t.PAIMODEL_WIDTH * 1.02, + u.model.transform.localPosition.x -= this.xOffset, + u.ShowUp(), + this.xOffset += .5 * t.PAIMODEL_WIDTH * 1.02) + } + } else { + l = 0; + for (s = 0; s < 4; s++) { + u = r[_ = s]; + 1 == s && (t.DesktopMgr.Inst.SetLastQiPai(this.player.seat, u), + app.Log.log("======= SetLastQiPai")), + this.origin.parent.addChild(u.model), + u.model.transform.localPosition = this.origin.transform.localPosition.clone(), + 1 == s || 2 == s ? (this.xOffset += .5 * t.PAIMODEL_WIDTH * 1.02, + u.ShowUp(), + u.model.transform.localPosition.x -= this.xOffset, + a = this.xOffset, + this.xOffset += .5 * t.PAIMODEL_WIDTH * 1.02) : (this.xOffset += .5 * t.PAIMODEL_WIDTH * 1.02, + u.model.transform.localPosition.x -= this.xOffset, + u.ShowBack(), + this.xOffset += .5 * t.PAIMODEL_WIDTH * 1.02) + } + } + if (this.hengs.push(a), + i) { + t.AudioMgr.PlayAudio(209); + var m = new Laya.Sprite3D; + this.origin.parent.addChild(m), + m.transform.localPosition = r[l].model.transform.localPosition.clone(), + m.transform.localRotationEuler = new Laya.Vector3(0,0,0), + m.transform.localScale = new Laya.Vector3(1,1,1); + for (var g = [], y = r[l].model.transform.localPosition.clone(), s = 0; s < r.length; s++) { + var v = r[s].model.transform.localPosition.clone(); + g.push(new Laya.Vector3(v.x - y.x,v.y - y.y,v.z - y.z)) + } + for (s = 0; s < r.length; s++) + m.addChild(r[s].model), + r[s].model.transform.localPosition = g[s].clone(); + var b = m.transform.position.clone(); + this.player.hand3d.transform.position = b.clone(); + this.player.hand3d.getChildAt(0).getChildByName("node_tile").addChild(m), + m.transform.localPosition = new Laya.Vector3(0,0,0), + m.transform.localScale = new Laya.Vector3(1.1111,1.1111,1.1111), + m.transform.localRotationEuler = new Laya.Vector3(-90,0,0); + var w = t.ModelAnimationController.get_anim_config("Fulu", this.player.hand_type); + this.player.playHandAnimtion(w), + m.active = !1, + Laya.timer.once(w.keypoint[0], this, function() { + m.active = !0 + }), + Laya.timer.once(w.keypoint[1], this, function() { + try { + n.origin.parent.addChild(m), + m.transform.localRotationEuler = new Laya.Vector3(90,0,0), + m.transform.position = b, + m.transform.localScale = new Laya.Vector3(1,1,1); + for (var i = 0; i < r.length; i++) { + n.origin.parent.addChild(r[i].model); + var a = r[i].model.transform.localPosition.clone(); + a.x += y.x, + a.y += y.y, + a.z += y.z, + r[i].model.transform.localPosition = a + } + t.DesktopMgr.Inst.ActionRunComplete() + } catch (t) { + var s = {}; + s.error = t.message, + s.stack = t.stack, + s.method = "AddMing2", + s.ming = e.toString(), + s.class = "Block_Ming", + GameMgr.Inst.onFatalError(s) + } + }), + Laya.timer.once(33, this, function() { + try { + if (null == m || m.destroyed) + return; + var t = new game.EffectBase("scene/effect_mingpai_default.lh"); + n.origin.parent.addChild(t.root), + t.root.transform.worldMatrix = m.transform.worldMatrix.clone(), + t.root.transform.localRotationEuler = new Laya.Vector3(180,0,0), + t.root.active = !0, + Laya.timer.frameLoop(1, t, function() { + m && !m.destroyed && (t.root.transform.worldMatrix = m.transform.worldMatrix.clone(), + t.root.transform.localRotationEuler = new Laya.Vector3(180,0,0)) + }), + Laya.timer.once(1500, t, function() { + t && (Laya.timer.clearAll(t), + t.destroy()), + m && m.destroy() + }) + } catch (t) { + var i = {}; + i.error = t.message, + i.stack = t.stack, + i.method = "AddMing4", + i.ming = e.toString(), + i.class = "Block_Ming", + GameMgr.Inst.onFatalError(i) + } + }) + } + } catch (t) { + var x = {}; + x.error = t.message, + x.stack = t.stack, + x.method = "AddMing", + x.ming = e.toString(), + x.class = "Block_Ming", + GameMgr.Inst.onFatalError(x) + } + } + , + e.prototype.AddGang = function(e, i) { + var n = this; + void 0 === i && (i = !0); + for (var a = function(a) { + if (r.mings[a].type == mjcore.E_Ming.kezi && 0 == mjcore.MJPai.Distance(r.mings[a].pais[0], e)) { + r.mings[a].type = mjcore.E_Ming.gang_ming, + r.mings[a].pais.push(e.Clone()), + r.mings[a].from.push(r.player.seat); + var s = new t.ViewPai(e,t.DesktopMgr.Inst.CreatePai3D(e)); + r.origin.parent.addChild(s.model), + s.model.transform.localPosition = r.origin.transform.localPosition.clone(), + s.ShowRot(), + s.model.transform.localPosition.x -= r.hengs[a], + s.model.transform.localPosition.z = s.model.transform.localPosition.z - .5 * (t.PAIMODEL_HEIGHT - t.PAIMODEL_WIDTH) * 1.02 + 1.02 * t.PAIMODEL_WIDTH, + t.DesktopMgr.Inst.SetLastQiPai(r.player.seat, s), + r.pais.push(s), + t.DesktopMgr.Inst.showingPaopai && (s.ispaopai = t.DesktopMgr.Inst.isPaoPai(s.val)), + s.OnChoosedPai(); + var o = t.DesktopMgr.Inst.effect_shadow.clone(); + if (s.model.addChild(o), + o.transform.localPosition = new Laya.Vector3(0,0,.5 * -t.PAIMODEL_THICKNESS), + o.transform.localScale = new Laya.Vector3(.53 * t.PAIMODEL_WIDTH,1,.53 * t.PAIMODEL_HEIGHT), + o.transform.localRotationEuler = new Laya.Vector3(90,0,0), + o.active = !0, + i) { + t.AudioMgr.PlayAudio(209); + var l = new Laya.Sprite3D; + r.origin.parent.addChild(l), + l.transform.localPosition = s.model.transform.localPosition.clone(), + l.transform.localRotationEuler = new Laya.Vector3(90,0,0), + l.transform.localScale = new Laya.Vector3(1,1,1); + var h = s.model.transform.localPosition.clone(); + l.addChild(s.model), + s.model.transform.localPosition = new Laya.Vector3(0,0,0); + var c = l.transform.position.clone(); + r.player.hand3d.transform.position = c.clone(); + r.player.hand3d.getChildAt(0).getChildByName("node_tile").addChild(l), + l.transform.localPosition = new Laya.Vector3(0,0,0), + l.transform.localScale = new Laya.Vector3(1.1111,1.1111,1.1111), + l.transform.localRotationEuler = new Laya.Vector3(-90,0,0); + var _ = t.ModelAnimationController.get_anim_config("Fulu", r.player.hand_type); + r.player.playHandAnimtion(_), + l.active = !1, + Laya.timer.once(_.keypoint[0], r, function() { + l.active = !0 + }), + Laya.timer.once(_.keypoint[1], r, function() { + n.origin.parent.addChild(l), + l.transform.localRotationEuler = new Laya.Vector3(90,0,0), + l.transform.localScale = new Laya.Vector3(1,1,1), + l.transform.position = c, + n.origin.parent.addChild(s.model), + s.model.transform.localPosition = h, + t.DesktopMgr.Inst.ActionRunComplete() + }), + Laya.timer.once(33, r, function() { + if (null != l && !l.destroyed) { + var t = new game.EffectBase("scene/effect_mingpai_default.lh"); + n.origin.parent.addChild(t.root), + t.root.transform.worldMatrix = l.transform.worldMatrix.clone(), + t.root.transform.localRotationEuler = new Laya.Vector3(180,0,0), + t.root.active = !0, + Laya.timer.frameLoop(1, t, function() { + l && !l.destroyed && (t.root.transform.worldMatrix = l.transform.worldMatrix.clone(), + t.root.transform.localRotationEuler = new Laya.Vector3(180,0,0)) + }), + Laya.timer.once(1500, t, function() { + t && (Laya.timer.clearAll(t), + t.destroy()), + l && l.destroy() + }) + } + }) + } + return "break" + } + }, r = this, s = 0; s < this.mings.length; s++) { + if ("break" === a(s)) + break + } + } + , + e.prototype.OnDoraRefresh = function() { + if (null != this.pais) + for (var t = 0; t < this.pais.length; t++) + this.pais[t].RefreshDora() + } + , + e.prototype.OnChoosedPai = function() { + if (null != this.pais) + for (var t = 0; t < this.pais.length; t++) + this.pais[t].OnChoosedPai() + } + , + e + }(); + t.Block_Ming = e +}(view || (view = {})); +var view; +!function(t) { + var e = function() { + function e(t, e) { + this.origin = null, + this.player = null, + this.xOffset = 0, + this.pais = new Array, + this.origin = t, + this.xOffset = 0, + this.player = e + } + return Object.defineProperty(e.prototype, "seat", { + get: function() { + return this.player.seat + }, + enumerable: !0, + configurable: !0 + }), + e.prototype.Reset = function() { + if (Laya.timer.clearAll(this), + this.pais.length > 0) { + for (var t = 0; t < this.pais.length; t++) + this.pais[t].model.destroy(); + this.pais = [] + } + this.xOffset = 0 + } + , + e.prototype.AddBabei = function(e, i, n) { + var a = this; + void 0 === n && (n = !0); + try { + var r = new t.ViewPai(e,t.DesktopMgr.Inst.CreatePai3D(e)); + this.pais.push(r), + t.DesktopMgr.Inst.showingPaopai && (r.ismoqie = i, + r.ispaopai = t.DesktopMgr.Inst.isPaoPai(r.val)), + r.OnChoosedPai(); + var s = t.DesktopMgr.Inst.effect_shadow.clone(); + r.model.addChild(s), + s.transform.localPosition = new Laya.Vector3(0,0,.5 * -t.PAIMODEL_THICKNESS), + s.transform.localScale = new Laya.Vector3(.53 * t.PAIMODEL_WIDTH,1,.53 * t.PAIMODEL_HEIGHT), + s.transform.localRotationEuler = new Laya.Vector3(90,0,0), + s.active = !0; + if (this.origin.parent.addChild(r.model), + r.model.transform.localPosition = this.origin.transform.localPosition.clone(), + this.xOffset += .5 * t.PAIMODEL_WIDTH * 1.02, + r.ShowUp(), + r.model.transform.localPosition.x -= this.xOffset, + this.xOffset += .5 * t.PAIMODEL_WIDTH * 1.02, + t.DesktopMgr.Inst.SetLastQiPai(this.player.seat, r), + n) { + var o = r.model.transform.localPosition.clone() + , l = r.model.transform.position.clone(); + this.player.hand3d.transform.position = l.clone(); + this.player.hand3d.getChildAt(0).getChildByName("node_tile").addChild(r.model), + r.model.transform.localScale = new Laya.Vector3(1.1111,1.1111,1.1111), + r.model.transform.localPosition = new Laya.Vector3(0,0,0), + r.model.transform.localRotationEuler = new Laya.Vector3(0,0,0); + var h = t.ModelAnimationController.get_anim_config("Dapai", this.player.hand_type); + this.player.playHandAnimtion(h), + Laya.timer.once(h.keypoint[0], this, function() { + t.AudioMgr.PlayAudio(207) + }), + Laya.timer.once(h.keypoint[1], this, function() { + r && r.model && !r.model.destroyed && (a.origin.parent.addChild(r.model), + r.model.transform.localScale = new Laya.Vector3(1,1,1), + r.ShowUp(), + r.model.transform.localPosition = o) + }), + t.DesktopMgr.Inst.ActionRunComplete() + } + } catch (t) { + var c = {}; + c.error = t.message, + c.stack = t.stack, + c.method = "Babei", + c.class = "Block_Babei", + GameMgr.Inst.onFatalError(c) + } + } + , + e.prototype.OnDoraRefresh = function() { + if (null != this.pais) + for (var t = 0; t < this.pais.length; t++) + this.pais[t].RefreshDora() + } + , + e.prototype.OnChoosedPai = function() { + if (null != this.pais) + for (var t = 0; t < this.pais.length; t++) + this.pais[t].OnChoosedPai() + } + , + e + }(); + t.Block_Babei = e +}(view || (view = {})); +var view; +!function(t) { + var e; + !function(t) { + t[t.none = 0] = "none", + t[t.lobby = 1] = "lobby", + t[t.mj = 2] = "mj", + t[t.lizhi = 3] = "lizhi" + }(e = t.E_Bgm_Type || (t.E_Bgm_Type = {})); + var i = function() { + function i() {} + return Object.defineProperty(i, "bgm_lobby_list", { + get: function() { + var t = this + , e = []; + return cfg.audio.bgm.forEach(function(i) { + if ("lobby" == i.type && (!i.unlock_item || 0 != uiscript.UI_Bag.get_item_count(i.unlock_item))) { + for (var n = 0; n < t.baned_bgm_lobby_list.length; n++) + if (t.baned_bgm_lobby_list[n] == i.path) + return; + e.push(i.path) + } + }), + e + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i, "bgm_mj_list", { + get: function() { + var t = this + , e = []; + return cfg.audio.bgm.forEach(function(i) { + if ("mj" == i.type && (!i.unlock_item || 0 != uiscript.UI_Bag.get_item_count(i.unlock_item))) { + for (var n = 0; n < t.baned_bgm_mj_list.length; n++) + if (t.baned_bgm_mj_list[n] == i.path) + return; + e.push(i.path) + } + }), + e + }, + enumerable: !0, + configurable: !0 + }), + i.init = function() { + var t = Laya.LocalStorage.getItem(game.Tools.eeesss("baned_bgm_lobby_list" + GameMgr.Inst.account_id)); + this.baned_bgm_lobby_list = [], + t && "" != t && (this.baned_bgm_lobby_list = t.split(",")), + this.bgm_lobby_mode = Laya.LocalStorage.getItem(game.Tools.eeesss("bgm_lobby_mode" + GameMgr.Inst.account_id)), + this.bgm_lobby_mode && "" != this.bgm_lobby_mode || (this.bgm_lobby_mode = "list"); + var i = Laya.LocalStorage.getItem(game.Tools.eeesss("baned_bgm_mj_list" + GameMgr.Inst.account_id)); + this.baned_bgm_mj_list = [], + i && "" != i && (this.baned_bgm_mj_list = i.split(",")), + this.bgm_mj_mode = Laya.LocalStorage.getItem(game.Tools.eeesss("bgm_mj_mode" + GameMgr.Inst.account_id)), + this.bgm_mj_mode && "" != this.bgm_mj_mode || (this.bgm_mj_mode = "list"), + this.type = e.none, + this.playing_bgm = "" + } + , + i.saveConfig = function() { + for (var t = "", e = 0; e < this.baned_bgm_lobby_list.length; e++) + 0 != e && (t += ","), + t += this.baned_bgm_lobby_list[e]; + Laya.LocalStorage.setItem(game.Tools.eeesss("baned_bgm_lobby_list" + GameMgr.Inst.account_id), t); + for (var i = "", e = 0; e < this.baned_bgm_mj_list.length; e++) + 0 != e && (i += ","), + i += this.baned_bgm_mj_list[e]; + Laya.LocalStorage.setItem(game.Tools.eeesss("baned_bgm_mj_list" + GameMgr.Inst.account_id), i) + } + , + i.stopBgm = function(i) { + void 0 === i && (i = 1e3), + this.type == e.lizhi && (this.type = e.none), + this.playing_bgm = "", + t.AudioMgr.StopMusic(i), + uiscript.UI_Config.Inst && uiscript.UI_Config.Inst.onBgmChange() + } + , + i.onHandStop = function() { + var t = []; + if (this.type == e.lobby ? t = this.bgm_lobby_list : this.type == e.mj && (t = this.bgm_mj_list), + 0 != t.length) { + for (var i = 0; i < t.length; i++) + if (t[i] != this.playing_bgm) + return void this.PlayLobbyBgm(t[i], !0, 0); + this.stopBgm(0) + } else + this.stopBgm(0) + } + , + i.onBgmPlayOver = function() { + this.type == e.lobby ? this.NextLobbyBgm() : this.type == e.mj && this.NextMJBgm() + } + , + i.onBgmChange = function(t, i) { + this.playing_bgm = t, + i && (this.type = e.lizhi), + uiscript.UI_Config.Inst && uiscript.UI_Config.Inst.onBgmChange() + } + , + i.tryPlayBgm = function(i) { + return this.type != e.lizhi && (!t.AudioMgr.musicMuted && (t.AudioMgr.PlayMusic(i, 1e3, !0), + !0)) + } + , + i._RandNextIndex = function(t, e) { + if (0 == e) + return -1; + if (1 == e) + return 0; + for (var i = 0; i < 3; i++) { + var n = Math.floor(Math.random() * e); + if (n != t) + return n + } + return Math.floor(e) + } + , + i.findIndexInLobby = function(t) { + if (!t || "" == t) + return -1; + for (var e = this.bgm_lobby_list, i = 0; i < e.length; i++) + if (e[i] == t) + return i; + return -1 + } + , + i.PlayLobbyBgm = function(i, n, a) { + if (void 0 === i && (i = ""), + void 0 === n && (n = !1), + void 0 === a && (a = 1e3), + !n && "" != i && i == this.playing_bgm) + return !1; + this.type = e.lobby; + var r = this.findIndexInLobby(i) + , s = this.bgm_lobby_list; + if (-1 == r) { + if (0 == s.length) + return !1; + var o = Math.random(); + r = Math.floor(o * s.length) + } + t.AudioMgr.PlayMusic(s[r], a, n) + } + , + i.NextLobbyBgm = function() { + var t = this.bgm_lobby_list; + if (0 == t.length) + return !1; + var e = this.findIndexInLobby(this.playing_bgm); + return e = "list" == this.bgm_lobby_mode || e >= 0 ? (e + 1) % t.length : this._RandNextIndex(e, t.length), + this.PlayLobbyBgm(t[e], !0, 0) + } + , + i.findIndexInMJ = function(t) { + for (var e = this.bgm_mj_list, i = 0; i < e.length; i++) + if (e[i] == t) + return i; + return -1 + } + , + i.PlayMJBgm = function(i, n, a) { + if (void 0 === i && (i = ""), + void 0 === n && (n = !1), + void 0 === a && (a = 1e3), + !n && "" != i && i == this.playing_bgm) + return !1; + this.type = e.mj; + var r = this.findIndexInMJ(i) + , s = this.bgm_mj_list; + if (-1 == r) { + if (0 == s.length) + return !1; + r = Math.floor(Math.random() * s.length) + } + t.AudioMgr.PlayMusic(s[r], a, n) + } + , + i.NextMJBgm = function() { + var t = this.bgm_mj_list; + if (0 == t.length) + return !1; + var e = this.findIndexInMJ(this.playing_bgm); + return e = "list" == this.bgm_mj_mode || e >= 0 ? (e + 1) % t.length : this._RandNextIndex(e, t.length), + this.PlayMJBgm(t[e], !0, 0) + } + , + i.baned_bgm_lobby_list = [], + i.bgm_lobby_mode = "list", + i.baned_bgm_mj_list = [], + i.bgm_mj_mode = "list", + i.playing_bgm = "", + i.type = e.none, + i + }(); + t.BgmListMgr = i +}(view || (view = {})); +var view; +!function(t) { + var e; + !function(t) { + t[t.none = 0] = "none", + t[t.start = 1] = "start", + t[t.during = 2] = "during", + t[t.end = 3] = "end" + }(e || (e = {})); + var i = function() { + function i() {} + return Object.defineProperty(i, "suffix", { + get: function() { + return Laya.Browser.window.conch ? ".ogg" : ".mp3" + }, + enumerable: !0, + configurable: !0 + }), + i.init = function() { + GameMgr.iniOSWebview ? Laya.SoundManager.autoStopMusic = !0 : Laya.SoundManager.autoStopMusic = !1, + Laya.SoundManager.autoReleaseSound = !1; + var t = Laya.LocalStorage.getItem("audioVolume"); + if (t && "" != t) { + (r = parseFloat(t)) < 0 ? r = 0 : r > 1 && (r = 1), + this._audioVolume = r + } else + this._audioVolume = 1; + var e = Laya.LocalStorage.getItem("musicVolume"); + if (e && "" != e) { + (r = parseFloat(e)) < 0 ? r = 0 : r > 1 && (r = 1), + this._music_volume = r + } else + this._music_volume = 1; + var i = Laya.LocalStorage.getItem("yuyinVolume"); + if (i && "" != i) { + (r = parseFloat(i)) < 0 ? r = 0 : r > 1 && (r = 1), + this._character_all_volume = r + } else + this._character_all_volume = 1; + var n = Laya.LocalStorage.getItem("teshuyuyinVolume"); + if (n && "" != n) { + (r = parseFloat(n)) < 0 ? r = 0 : r > 1 && (r = 1), + this._teshuyuyinVolume = r + } else + this._teshuyuyinVolume = this._character_all_volume; + var a = Laya.LocalStorage.getItem("lizhiVolume"); + if (a && "" != a) { + var r = parseFloat(a); + r < 0 ? r = 0 : r > 1 && (r = 1), + this._lizhiVolume = r + } else + this._lizhiVolume = 1; + var s = Laya.LocalStorage.getItem("audioMute"); + this._audioMuted = !(!s || "" == s) && "true" == s; + var o = Laya.LocalStorage.getItem("musicMute"); + this.musicMuted = !(!o || "" == o) && "true" == o; + var l = Laya.LocalStorage.getItem("lizhiMute"); + this._lizhiMuted = !(!l || "" == l) && "true" == l; + var h = Laya.LocalStorage.getItem("yuyinMute"); + this._character_all_mute = !(!h || "" == h) && "true" == h; + var c = Laya.LocalStorage.getItem("teshuyuyinMute"); + this._teshuyuyinMuted = !(!c || "" == c) && "true" == c, + this._map_character_mute = {}, + this._map_character_volume = {}, + Laya.timer.frameLoop(1, this, this._update) + } + , + i.PlayCharactorSound = function(t, e, i) { + var n = t.charid + , a = cfg.item_definition.character.get(n); + if (a) { + for (var r = t.level, s = cfg.voice.sound.findGroup(a.sound), o = [], l = 0; l < s.length; l++) + s[l].type == e && (s[l].bond_limit && !t.is_upgraded || s[l].level_limit > r || o.push(l)); + if (0 != o.length) { + var h = o[Math.floor(Math.random() * o.length)] + , c = a.sound_volume; + return c *= this.getCVvolume(n), + this.getCVmute(n) && (c = 0), + this.yuyinMuted && (c = 0), + c *= this.yuyinVolume, + { + words: s[h]["words_" + GameMgr.client_language], + sound: this.PlaySound(s[h].path, c, i) + } + } + i && i.run() + } else + i && i.run() + } + , + i.PlayCharactorSound_Teshu = function(t, e, i) { + var n = t.charid + , a = cfg.item_definition.character.get(n); + if (a) { + for (var r = t.level, s = cfg.voice.sound.findGroup(a.sound), o = [], l = 0; l < s.length; l++) + s[l].type == e && (s[l].bond_limit && !t.is_upgraded || s[l].level_limit > r || o.push(l)); + if (0 != o.length) { + var h = o[Math.floor(Math.random() * o.length)] + , c = a.sound_volume; + return c *= this.getCVvolume(n), + this.getCVmute(n) && (c = 0), + (this.teshuyuyinMuted || this.yuyinMuted) && (c = 0), + c *= this.teshuyuyinVolume, + { + words: s[h]["words_" + GameMgr.client_language], + sound: this.PlaySound(s[h].path, c, i) + } + } + i && i.run() + } else + i && i.run() + } + , + i.PlaySound = function(t, e, i) { + this._audio_id; + this._audio_id++; + var n = this.suffix + , a = Laya.SoundManager.playSound(t + n, 1, Laya.Handler.create(this, function() { + i && i.run(), + Laya.SoundManager.removeChannel(a) + })); + return a && (a.volume = e), + a + } + , + i.PlayAudio = function(t, e, i) { + var n = this; + if (void 0 === e && (e = 1), + void 0 === i && (i = 1), + this._audioMuted || 0 == this._audioVolume) + return -1; + var a = cfg.audio.audio.get(t); + if (!a) + return -1; + var r = this._audio_id; + this._audio_id++; + var s = this.suffix + , o = Laya.SoundManager.playSound(a.path + s, e, new Laya.Handler(this,function() { + n._RemoveAudio(r) + } + )); + return o && (o.volume = this._audioVolume * i), + this._audio_list.push({ + id: r, + audio: o + }), + r + } + , + i._RemoveAudio = function(t) { + for (var e = 0; e < this._audio_list.length; e++) + if (this._audio_list[e].id == t) { + var i = this._audio_list[e]; + this._audio_list[e] = this._audio_list[this._audio_list.length - 1], + this._audio_list[this._audio_list.length - 1] = i, + i.audio.stop(), + Laya.SoundManager.removeChannel(i.audio), + this._audio_list.pop() + } + } + , + i.StopAudio = function(t) { + this._RemoveAudio(t) + } + , + i.PlayMusic = function(t, e, i) { + return void 0 === e && (e = 1e3), + void 0 === i && (i = !1), + !(!i && this._current_music == t) && (!(!this.lizhiMuted && this._current_lizhi_bgm) && (this._current_music = t, + this.onMusicChange(e), + !0)) + } + , + i.StopMusic = function(t) { + void 0 === t && (t = 1e3), + this._current_music = "", + this._current_lizhi_bgm = "", + this._music && (t <= 0 ? (this._music.stop(), + this._music = null, + this._music_state = e.none) : (this._music_state = e.end, + this._music_state_starttime = Laya.timer.currTimer, + this._music_state_lifetime = t)) + } + , + i.PlayLiqiBgm = function(t, e, i) { + if (void 0 === e && (e = 1e3), + void 0 === i && (i = !1), + i || this._current_lizhi_bgm != t) + return this._current_lizhi_bgm = t, + this.onMusicChange(e), + !0 + } + , + Object.defineProperty(i, "lizhiVolume", { + get: function() { + return this._lizhiVolume + }, + set: function(t) { + t = t < 0 ? 0 : t > 1 ? 1 : t, + this._lizhiVolume = t, + this._music && this._music_state == e.during && this._playing_music == this._current_lizhi_bgm && (this._playing_music_volume = t), + Laya.LocalStorage.setItem("lizhiVolume", t.toString()) + }, + enumerable: !0, + configurable: !0 + }), + i.setCVvolume = function(t, e) { + e = e < 0 ? 0 : e > 1 ? 1 : e, + this._map_character_volume[t] = e, + Laya.LocalStorage.setItem("characterVolume" + t, e.toString()) + } + , + i.getCVvolume = function(t) { + if (!this._map_character_volume.hasOwnProperty(t.toString())) { + var e = Laya.LocalStorage.getItem("characterVolume" + t); + this._map_character_volume[t] = e && "" != e ? parseFloat(e) : 1 + } + return this._map_character_volume[t] + } + , + i.setCVmute = function(t, e) { + this._map_character_mute[t] = e ? "true" : "false", + Laya.LocalStorage.setItem("characterMute" + t, e ? "true" : "false") + } + , + i.getCVmute = function(t) { + if (!this._map_character_mute.hasOwnProperty(t.toString())) { + var e = Laya.LocalStorage.getItem("characterMute" + t); + this._map_character_mute[t] = e && "" != e ? e : "false" + } + return "true" == this._map_character_mute[t] + } + , + Object.defineProperty(i, "audioVolume", { + get: function() { + return this._audioVolume + }, + set: function(t) { + t = t < 0 ? 0 : t > 1 ? 1 : t, + this._audioVolume = t, + Laya.LocalStorage.setItem("audioVolume", t.toString()) + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i, "musicVolume", { + get: function() { + return this._music_volume + }, + set: function(t) { + this._music_volume = t, + Laya.LocalStorage.setItem("musicVolume", t.toString()), + this._music && this._music_state == e.during && this._playing_music == this._current_music && (this._playing_music_volume = t) + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i, "lizhiMuted", { + get: function() { + return this._lizhiMuted + }, + set: function(t) { + this._lizhiMuted = t, + Laya.LocalStorage.setItem("lizhiMute", t ? "true" : "false"), + this.onMusicChange() + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i, "musicMuted", { + get: function() { + return this._musicMuted + }, + set: function(t) { + this._musicMuted = t, + Laya.LocalStorage.setItem("musicMute", t ? "true" : "false"), + this.onMusicChange() + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i, "audioMuted", { + get: function() { + return this._audioMuted + }, + set: function(t) { + this._audioMuted = t, + Laya.LocalStorage.setItem("audioMute", t ? "true" : "false") + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i, "yuyinVolume", { + get: function() { + return this._character_all_volume + }, + set: function(t) { + this._character_all_volume = t, + Laya.LocalStorage.setItem("yuyinVolume", t.toString()) + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i, "yuyinMuted", { + get: function() { + return this._character_all_mute + }, + set: function(t) { + this._character_all_mute = t, + Laya.LocalStorage.setItem("yuyinMute", t ? "true" : "false") + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i, "teshuyuyinVolume", { + get: function() { + return this._teshuyuyinVolume + }, + set: function(t) { + this._teshuyuyinVolume = t, + Laya.LocalStorage.setItem("teshuyuyinVolume", t.toString()) + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i, "teshuyuyinMuted", { + get: function() { + return this._teshuyuyinMuted + }, + set: function(t) { + this._teshuyuyinMuted = t, + Laya.LocalStorage.setItem("teshuyuyinMute", t ? "true" : "false") + }, + enumerable: !0, + configurable: !0 + }), + i.refresh_music_volume = function(t) { + this._music && this._music_state == e.during && (this._bgm_light = t) + } + , + i.onMusicChange = function(i) { + var n = this; + void 0 === i && (i = 1e3); + var a = "" + , r = 0 + , s = !1; + "" == a && !this.lizhiMuted && this._current_lizhi_bgm && (a = this._current_lizhi_bgm, + r = this.lizhiVolume, + s = !0), + "" == a && !this.musicMuted && this._current_music && (a = this._current_music, + r = this.musicVolume), + this._music && a == this._playing_music || (this._music && (this._music.stop(), + this._music = null), + a && (s ? (this._music = Laya.SoundManager.playMusic("audio/" + a, 0), + t.BgmListMgr.onBgmChange(a, !0)) : (this._music = Laya.SoundManager.playMusic("audio/" + a, 1, Laya.Handler.create(this, function() { + n._current_music = "", + n._playing_music = "", + t.BgmListMgr.onBgmPlayOver() + })), + t.BgmListMgr.onBgmChange(a, !1)), + this._music && (this._playing_music = a, + this._playing_music_volume = r, + this._music.volume = 0, + this._music_state = e.start, + this._music_state_starttime = Laya.timer.currTimer, + this._music_state_lifetime = i))) + } + , + i._update = function() { + if (this._music && this._music_state != e.none) { + var t = Laya.timer.currTimer - this._music_state_starttime; + if (this._music_state == e.start) { + if (t >= this._music_state_lifetime) + this._music_state = e.during, + this._music.volume = this._playing_music_volume; + else { + i = t / this._music_state_lifetime; + this._music.volume = this._playing_music_volume * i + } + this._bgm_light && (this._music.volume *= .1) + } else if (this._music_state == e.end) { + if (t >= this._music_state_lifetime) + this._music_state = e.none, + Laya.SoundManager.stopMusic(), + this._music = null; + else { + var i = t / this._music_state_lifetime; + this._music.volume = this._playing_music_volume * (1 - i) + } + this._bgm_light && (this._music.volume *= .1) + } else + this._bgm_light ? this._music.volume = .1 * this._playing_music_volume : this._music.volume = this._playing_music_volume + } + } + , + i._audio_id = 0, + i._audio_list = [], + i._audioVolume = 0, + i._audioMuted = !1, + i._music = null, + i._playing_music = "", + i._playing_music_volume = 0, + i._music_volume = 1, + i._musicMuted = !1, + i._current_music = "", + i._lizhiVolume = 0, + i._lizhiMuted = !1, + i._current_lizhi_bgm = "", + i._music_state = e.none, + i._music_state_starttime = 0, + i._music_state_lifetime = 0, + i._character_all_volume = 1, + i._character_all_mute = !1, + i._map_character_mute = {}, + i._map_character_volume = {}, + i._teshuyuyinVolume = 0, + i._teshuyuyinMuted = !1, + i._bgm_light = !1, + i + }(); + t.AudioMgr = i +}(view || (view = {})); +var game; +!function(t) { + var e = function() { + function e() {} + return Object.defineProperty(e, "currentTime", { + get: function() { + return Math.floor(Date.now() / 1e3) + }, + enumerable: !0, + configurable: !0 + }), + e.time2YearMounthDate = function(t) { + var e = new Date(1e3 * t) + , i = ""; + return i += e.getFullYear() + "/", + i += (e.getMonth() < 9 ? "0" : "") + (e.getMonth() + 1).toString() + "/", + i += (e.getDate() < 10 ? "0" : "") + e.getDate() + } + , + e.time2HourMinute = function(t, e) { + void 0 === e && (e = !1); + var i = new Date(1e3 * t) + , n = ""; + return n += (i.getHours() < 10 ? "0" : "") + i.getHours() + ":", + n += (i.getMinutes() < 10 ? "0" : "") + i.getMinutes(), + e && (n += ":", + n += (i.getSeconds() < 10 ? "0" : "") + i.getSeconds()), + n + } + , + e.time2Desc = function(e) { + var i = Math.floor(Date.now() / 1e3) - e; + if (i < 600) + return t.Tools.strOfLocalization(2013); + if (i < 3600) { + return (n = Math.floor(i / 10 / 60)).toString() + "0" + t.Tools.strOfLocalization(2014) + } + if (i < 86400) { + return (n = Math.floor(i / 60 / 60)).toString() + t.Tools.strOfLocalization(2015) + } + if (i < 604800) { + return (n = Math.floor(i / 24 / 60 / 60)).toString() + t.Tools.strOfLocalization(2016) + } + if (i < 2419200) { + var n = Math.floor(i / 7 / 24 / 60 / 60); + return n.toString() + t.Tools.strOfLocalization(2017) + } + return "1" + t.Tools.strOfLocalization(2018) + } + , + e.timelength2Desc = function(e) { + var i = "" + , n = e; + return n % 60 > 0 && (i = n % 60 + t.Tools.strOfLocalization(2019)), + (n = Math.floor(n / 60)) % 60 > 0 && (i = n % 60 + t.Tools.strOfLocalization(2020) + i), + (n = Math.floor(n / 60)) % 24 > 0 && (i = n % 24 + t.Tools.strOfLocalization(2021) + i), + (n = Math.floor(n / 24)) > 0 && (i = n + t.Tools.strOfLocalization(2022) + i), + "" == i && (i = "0" + t.Tools.strOfLocalization(2019)), + i + } + , + e.playState2Desc = function(e) { + if (!e) + return ""; + if (!e.game_uuid || "" == e.game_uuid) + return ""; + if (1 == e.category) + return t.Tools.strOfLocalization(2023); + if (2 == e.category && e.meta) { + var i = cfg.desktop.matchmode.get(e.meta.mode_id); + if (i) + return i["room_name_" + GameMgr.client_language] + } + return 4 == e.category ? t.Tools.strOfLocalization(2025) : "" + } + , + e.setGrayDisable = function(t, e) { + e ? (t.mouseEnabled = !1, + t.filters = [new Laya.ColorFilter(uiscript.GRAY_FILTER)]) : (t.mouseEnabled = !0, + t.filters = []) + } + , + e.generateUUID = function() { + var t = (new Date).getTime(); + return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) { + var i = (t + 16 * Math.random()) % 16 | 0; + return t = Math.floor(t / 16), + ("x" == e ? i : 3 & i | 8).toString(16) + }) + } + , + Object.defineProperty(e, "deviceInfo", { + get: function() { + var e = {}; + e["client-version"] = t.ResourceVersion.version; + var i = []; + if (Laya.Browser.onIOS && i.push("iOS"), + Laya.Browser.onMac && i.push("mac"), + Laya.Browser.onIPad && i.push("iPad"), + (Laya.Browser.onAndriod || Laya.Browser.onAndroid) && i.push("android"), + Laya.Render.isConchApp ? i.push("onApp") : Laya.Browser.onPC && i.push("pc"), + i.length > 0) { + for (var n = "", a = 0; a < i.length; a++) + 0 != a && (n += "|"), + n += i[a]; + e.device = n + } else + e.device = "unknown"; + return e + }, + enumerable: !0, + configurable: !0 + }), + e.strWithoutForbidden = function(t, e) { + void 0 === e && (e = !1); + var i = t; + if (e) { + for (var n = "0".charCodeAt(0), a = "a".charCodeAt(0), r = "A".charCodeAt(0), s = "", o = 0, l = 0; l < t.length; l++) { + var h = t.charCodeAt(l); + if (!(h > 256) && !(h >= n && h < n + 10 || h >= r && h < r + 26 || h >= a && h < a + 26)) { + if (o < l) { + c = t.substring(o, l); + app.Taboo.test(c) ? s += "******" : s += c + } + s += t.charAt(l), + o = l + 1 + } + } + if (o < t.length) { + var c = t.substring(o, t.length); + app.Taboo.test(c) ? s += "******" : s += c + } + return s + } + return app.Taboo.test(i) ? "******" : i + } + , + e.isStrTaboo = function(t) { + var e = !1; + return cfg.info.forbidden.forEach(function(i, n) { + e || "" == i.word || t.indexOf(i.word) >= 0 && (e = !0) + }), + e + } + , + e.faceOn = function(e, i, n, a, r) { + a.visible = !1; + var s = cfg.item_definition.skin.get(e); + if (s) { + a.skin = t.LoadMgr.getResImageSkin(s.path + "/" + i + ".png"); + var o = r.width / s[n + "_width"] + , l = r.height / s[n + "_height"]; + a.anchorX = 0, + a.anchorY = 0, + a.width = s.face_width * o, + a.height = s.face_height * l, + a.x = (s.face_x - s[n + "_x"]) * o, + a.y = (s.face_y - s[n + "_y"]) * l, + a.visible = !0 + } + } + , + e.charaPart = function(e, i, n, a, r) { + void 0 === r && (r = !1); + var s = cfg.item_definition.skin.get(400101); + if (s) { + var o = cfg.item_definition.skin.get(e); + if (o) { + i.scaleX = 1, + i.width = a.width * o[n + "_width"] / s[n + "_width"], + i.height = a.height * o[n + "_height"] / s[n + "_height"], + i.x = a.x + (o[n + "_x"] - s[n + "_x"]) * a.width / s[n + "_width"] * i.scaleX, + i.y = a.y + (o[n + "_y"] - s[n + "_y"]) * a.height / s[n + "_height"] * i.scaleY; + var l = 1 + , h = i.parent; + if (h && (l *= h.scaleX > 0 ? 1 : -1, + (h = h.parent) && (l *= h.scaleX > 0 ? 1 : -1)), + r && s.direction != o.direction && (i.scaleX = -1), + i.scaleX * l > 0 ? t.LoadMgr.setImgSkin(i, o.path + "/" + n + ".png") : o.no_reverse ? (i.scaleX *= -1, + t.LoadMgr.setImgSkin(i, o.path + "/reverse/" + n + ".png")) : t.LoadMgr.setImgSkin(i, o.path + "/" + n + ".png"), + i.scaleX < 0) { + var c = 0; + i.anchorX && (c = i.anchorX), + i.x += 2 * (o[n + "_center_x"] - c) * i.width + } + } + } + } + , + e.showRewards = function(e, i) { + for (var n = this, a = [], r = [], s = 0; s < e.rewards.length; s++) + 100099 != e.rewards[s].id && (100098 != e.rewards[s].id ? 6 == Math.floor(e.rewards[s].id / 1e5) ? r.push(e.rewards[s].id) : a.push(e.rewards[s]) : uiscript.UI_LightTips.Inst.show(t.Tools.strOfLocalization(2024))); + var o = !1 + , l = 0 + , h = function() { + if (!o && a.length > 0) + return uiscript.UI_Getrewardextends.Inst.show(a, Laya.Handler.create(n, function() { + h() + })), + void (o = !0); + l < r.length ? uiscript.UI_Gettitle.Inst.show(r[l++], Laya.Handler.create(n, function() { + h() + })) : i && i.run() + }; + h() + } + , + e.debugFetchMultiAccountBrief = function(t, e, i, n) {} + , + e.room_mode_desc = function(e) { + var i = ""; + switch (e) { + case 0: + i = t.Tools.strOfLocalization(2026); + break; + case 1: + i = t.Tools.strOfLocalization(2027); + break; + case 2: + i = t.Tools.strOfLocalization(2028); + break; + case 3: + i = t.Tools.strOfLocalization(2029); + break; + case 4: + i = t.Tools.strOfLocalization(2026); + break; + case 10: + i = t.Tools.strOfLocalization(2030); + break; + case 11: + i = t.Tools.strOfLocalization(2031); + break; + case 12: + i = t.Tools.strOfLocalization(2032); + break; + case 13: + i = t.Tools.strOfLocalization(2033); + break; + case 14: + i = t.Tools.strOfLocalization(2030) + } + return i + } + , + e.get_room_desc = function(e) { + if (!e) + return { + text: "", + isSimhei: !1 + }; + var i = ""; + if (e.meta && e.meta.tournament_id) { + var n = cfg.tournament.tournaments.get(e.meta.tournament_id); + return n && (i = n.name), + { + text: i, + isSimhei: !0 + } + } + if (1 == e.category) + i += t.Tools.strOfLocalization(2023) + "·"; + else if (4 == e.category) + i += t.Tools.strOfLocalization(2025) + "·"; + else if (2 == e.category) { + var a = e.meta; + if (a) { + var r = cfg.desktop.matchmode.get(a.mode_id); + r && (i += r["room_name_" + GameMgr.client_language] + "·") + } + } + var s = e.mode.mode; + return i += this.room_mode_desc(s), + { + text: i, + isSimhei: !1 + } + } + , + e.get_chara_audio = function(t, e) { + if (e && "" != e) { + var i = t.charid + , n = cfg.item_definition.character.get(i); + if (!n) + return null; + for (var a = t.level, r = cfg.voice.sound.findGroup(n.sound), s = [], o = 0; o < r.length; o++) + r[o].type == e && r[o].level_limit <= a && s.push(o); + if (0 == s.length) + return null; + var l = s[Math.floor(Math.random() * s.length)] + , h = view.AudioMgr.getCVmute(n.id) ? 0 : view.AudioMgr.getCVvolume(n.id) * n.sound_volume; + return view.AudioMgr.yuyinMuted ? h = 0 : h *= view.AudioMgr.yuyinVolume, + { + path: r[l].path, + volume: h, + time_length: r[l].time_length + } + } + } + , + e.encode_account_id2 = function(t) { + var e = 67108863 & (t ^= 6139246); + return e = (511 & e) << 17 | e >> 9, + e = (511 & e) << 17 | e >> 9, + e = (511 & e) << 17 | e >> 9, + e = (511 & e) << 17 | e >> 9, + (e = (511 & e) << 17 | e >> 9) + (-67108864 & t) + 1e7 + } + , + e.decode_account_id2 = function(t) { + var e = 67108863 & (t -= 1e7); + return e = (131071 & e) << 9 | e >> 17, + e = (131071 & e) << 9 | e >> 17, + e = (131071 & e) << 9 | e >> 17, + e = (131071 & e) << 9 | e >> 17, + e = (131071 & e) << 9 | e >> 17, + (-67108864 & t) + e ^ 6139246 + } + , + e.encode_account_id = function(t) { + return 1358437 + (7 * t + 1117113 ^ 86216345) + } + , + e.decode_account_id = function(t) { + return ((t - 1358437 ^ 86216345) - 1117113) / 7 + } + , + e.child_align_center = function(t, e) { + for (var i = [], n = 0; n < t.numChildren; n++) { + if ((l = t.getChildAt(n)).visible) { + var a = l.width; + l instanceof Laya.Text ? a = l.textWidth : l instanceof Laya.Label && (a = l.textField.textWidth), + i.push(a * l.scaleX) + } + } + for (var r = 0, n = 0; n < i.length; n++) + r += i[n], + e && n < e.length && (r += e[n]); + for (var s = t.width / 2 - r / 2, o = 0, n = 0; n < t.numChildren; n++) { + var l = t.getChildAt(n); + l.visible && (l.x = s + l.pivotX * l.scaleX, + s += i[o], + e && o < e.length && (s += e[o]), + o++) + } + } + , + e.sprite_align_center = function(t, e, i) { + for (var n = [], a = 0; a < t.length; a++) { + if ((h = t[a]).visible) { + var r = h.width; + h instanceof Laya.Text ? r = h.textWidth : h instanceof Laya.Label && (r = h.textField.textWidth), + n.push(r * h.scaleX) + } + } + for (var s = 0, a = 0; a < n.length; a++) + s += n[a], + i && a < i.length && (s += i[a]); + for (var o = e - s / 2, l = 0, a = 0; a < t.length; a++) { + var h = t[a]; + h.visible && (h.x = o + h.pivotX * h.scaleX, + o += n[l], + i && l < i.length && (o += i[l]), + l++) + } + } + , + e.build_char_map = function() { + if (!this.char_map) { + for (var t = [], e = "a".charCodeAt(0), i = 0; i < 26; i++) + t.push(String.fromCharCode(e + i)); + for (var n = "A".charCodeAt(0), i = 0; i < 26; i++) + t.push(String.fromCharCode(n + i)); + for (i = 0; i < 10; i++) + t.push(i.toString()); + for (var a = "!@#$%^&*()-_=+{}[]|:;<>,.?/~", i = 0; i < a.length; i++) + t.push(a[i]); + this.char_lst = t, + this.char_map = {}; + for (i = 0; i < t.length; i++) + this.char_map[t[i]] = i + } + } + , + e.eeesss = function(t) { + this.build_char_map(); + for (var e = "", i = (Math.floor(t.length / 3) + 17) % t.length, n = 0; n < t.length; n++) { + var a = 2 + 3 * n ^ 11 + , r = t[(i - n + 2 * t.length) % t.length] + , s = this.char_map[r]; + e += null != s ? this.char_lst[(s + a) % this.char_lst.length] : r + } + return e + } + , + e.dddsss = function(t) { + if (!t) + return t; + this.build_char_map(); + for (var e = "", i = (Math.floor(t.length / 3) + 17) % t.length, n = [], a = 0; a < t.length; a++) { + var r = 2 + 3 * a ^ 11 + , s = t[a] + , o = this.char_map[s]; + null != o ? n.push(this.char_lst[(o - r + 2 * this.char_lst.length) % this.char_lst.length]) : n.push(s) + } + for (a = i; a >= 0; a--) + e += n[a]; + for (a = t.length - 1; a > i; a--) + e += n[a]; + return e + } + , + e.open_new_window = function(t) { + var e = document.createElement("a"); + e.href = t, + e.target = "_blank", + e.click(), + e.remove() + } + , + e.formPost = function(t, e, i) { + void 0 === i && (i = !1); + var n = document.createElement("form"); + n.action = t, + n.target = i ? "_self" : "_blank", + n.method = "post", + n.style.display = "none"; + for (var a in e) { + var r = document.createElement("textarea"); + r.name = a, + r.value = e[a], + n.appendChild(r) + } + document.body.appendChild(n), + n.submit(), + n.remove() + } + , + e.base64ToBlob = function(t, e) { + for (var i = t.split(","), n = i[0].match(/:(.*?);/)[1] || e, a = window.atob(i[1]), r = new ArrayBuffer(a.length), s = new Uint8Array(r), o = 0; o < a.length; o++) + s[o] = a.charCodeAt(o); + return new Blob([r],{ + type: n + }) + } + , + e.stringContainerSub = function(t, e) { + if (!e || "" == e) + return !0; + if (!t || "" == t) + return !1; + for (var i = 0, n = 0; n < t.length; n++) + if (t.charAt(n) == e.charAt(i) && ++i >= e.length) + return !0; + return !1 + } + , + e.strOfLocalization = function(t, e) { + void 0 === e && (e = []); + var i = cfg.str.str.find(t)[GameMgr.client_language]; + if (e) + for (var n = 0; n < e.length; n++) { + var a = "{" + n + "}"; + i = i.replace(a, e[n]) + } + return i + } + , + e.deal_gateway = function(t) { + for (var e = [], i = 0; i < t.length; i++) { + var n = Math.floor(Math.random() * (i + 1)); + e.push(i), + e[i] = e[n], + e[n] = i + } + for (var a = {}, r = [], i = 0; i < t.length; i++) { + var s = t[e[i]] + , o = s.split(":"); + if (2 == o.length) { + var l = o[0]; + a[l] || (a[l] = 0), + a[l] < 2 && (a[l]++, + r.push(s)) + } + } + return r + } + , + e.localUISrc = function(t) { + return "chs" != GameMgr.client_language && (t = GameMgr.client_language + "/" + t), + t + } + , + e.labelLocalizationPosition = function(t, e, i, n) { + var a = t.textField.textWidth; + t.x = a > i ? e + (a - i) / 2 * t.scaleX * (n ? 1 : -1) : e + } + , + e.labelLocalizationSize = function(t, e, i) { + var n = t.textField.textWidth; + if (n > e) { + var a = n / e; + t.width = e * a, + t.scaleX = t.scaleY = i / a + } else + t.width = e, + t.scaleX = t.scaleY = i + } + , + e.ToCDB = function(t) { + for (var e = "", i = 0; i < t.length; i++) + 12288 != t.charCodeAt(i) ? t.charCodeAt(i) > 65280 && t.charCodeAt(i) < 65375 ? e += String.fromCharCode(t.charCodeAt(i) - 65248) : e += String.fromCharCode(t.charCodeAt(i)) : e += String.fromCharCode(t.charCodeAt(i) - 12256); + return e + } + , + e.ToDBC = function(t) { + for (var e = "", i = 0; i < t.length; i++) + 32 == t.charCodeAt(i) && (e += String.fromCharCode(12288)), + t.charCodeAt(i) < 127 && (e += String.fromCharCode(t.charCodeAt(i) + 65248)); + return e + } + , + e.get_zone_id = function(t) { + if (0 == t) + return 0; + var e = t >> 23; + return e >= 0 && e <= 6 ? 1 : e >= 7 && e <= 12 ? 2 : e >= 13 && e <= 15 ? 3 : -1 + } + , + e.is_same_zone = function(t, e) { + if (0 == t || 0 == e) + return !0; + var i = this.get_zone_id(t) + , n = this.get_zone_id(e); + return -1 != i && -1 != n && i == n + } + , + e.titleLocalization = function(t, e) { + return e && this.is_same_zone(GameMgr.Inst.account_id, t) ? e : 0 + } + , + e.calu_word_length = function(t) { + for (var e = 0, i = 0; i < t.length; i++) + t.charCodeAt(i) > 255 ? e += 2 : e += 1; + return e + } + , + e.encode_email = function(t) { + var e = t.indexOf("@"); + if (e < 0) + return t; + var i = ""; + i += e < 2 ? t.substr(0, e) : t.substr(0, 2); + for (var n = 0; n < 6; n++) + i += "*"; + return i += t.substr(e) + } + , + e.encode_phonenumber = function(t) { + return t.substr(0, 2) + "******" + t.substr(t.length - 4) + } + , + e.pending_email_vaild = function(t) { + return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(t) + } + , + e.pending_phonenumber_valid = function(t) { + if (!t || 11 != t.length) + return !1; + for (var e = "0".charCodeAt(0), i = 0; i < t.length; i++) { + var n = t.charCodeAt(i) - e; + if (n < 0 || n >= 10) + return !1 + } + return !0 + } + , + e.isPassedRefreshTime = function(t) { + return Math.floor((t + 10800) / 86400) === Math.floor((Math.floor(Date.now() / 1e3) + 10800) / 86400) + } + , + e.ParseTime = function(t) { + for (var e = [], i = "0".charCodeAt(0), n = 0, a = !1, r = 0; r < t.length; r++) { + var s = t.charCodeAt(r) - i; + s >= 0 && s <= 9 ? (a = !0, + n = 10 * n + s) : a && (a = !1, + e.push(n), + n = 0) + } + a && e.push(n); + var o = new Date; + o.setUTCFullYear(e[0], e[1] - 1, e[2]), + o.setUTCHours(e[3], e[4], e[5], 0); + var l = o.getTime(); + if (e.length >= 7) { + var h = 3600 * e[6] * 1e3; + "+" == t[t.length - 3] ? l -= h : l += h + } + return l + } + , + e.CannotPay = function() { + return !1 + } + , + e.GetNodeByNameInChildren = function(t, e) { + if (t.name == e) + return t; + for (var i = 0; i < t.numChildren; i++) { + var n = this.GetNodeByNameInChildren(t.getChildAt(i), e); + if (null != n) + return n + } + return null + } + , + e.SetNickname = function(t, e) { + var i = t.getChildByName("name") + , n = t.getChildByName("vip_tag"); + i.width = t.width; + var a = e.nickname; + e.account_id && !this.is_same_zone(GameMgr.Inst.account_id, e.account_id) && null != app.Taboo.test(a) && (a = this.strOfLocalization(3060)); + var r = 0 + , s = ""; + if (this.calu_word_length(a) > 16) { + for (var o = 0; o < a.length && (a.charCodeAt(o) > 255 ? r += 2 : r += 1, + s += a.charAt(o), + !(r >= 14)); o++) + ; + s += ".." + } else + s = a; + i.text = s, + i.scaleX = i.scaleY = 1, + i.width = i.textField.textWidth; + var l = i.width; + if (e.verified ? (n.visible = !0, + l += n.width, + n.scaleX = n.scaleY = 1) : n.visible = !1, + l > t.width) { + var h = l / t.width; + i.scaleX = i.scaleY = h, + n.scaleX = n.scaleY = h, + l = t.width + } + if ("left" == i.align) + i.x = 0, + n.x = i.width * i.scaleX; + else { + this.child_align_center(t); + var c = t.width / 2; + i.x = c - l / 2, + n.x = i.x + i.width * i.scaleX + } + } + , + e.money2Desc = function(e) { + if (e < 1e6) + return e.toString(); + if ("chs" == GameMgr.client_language || "jp" == GameMgr.client_language || "chs_t" == GameMgr.client_language) { + if (e < 1e8) { + for (var i = (e / 1e4).toFixed(3), n = 0, a = 0; a < i.length; a++) + if ("." == i[a]) { + n = a; + break + } + return (i = n >= 4 ? i.substr(0, 4) : i.substr(0, 5)) + t.Tools.strOfLocalization(2148) + } + for (var i = (e / 1e8).toFixed(3), n = 0, a = 0; a < i.length; a++) + if ("." == i[a]) { + n = a; + break + } + return (i = n >= 4 ? i.substr(0, 4) : i.substr(0, 5)) + t.Tools.strOfLocalization(2149) + } + if (e < 1e9) { + for (var i = (e / 1e6).toFixed(3), n = 0, a = 0; a < i.length; a++) + if ("." == i[a]) { + n = a; + break + } + return (i = n >= 4 ? i.substr(0, 4) : i.substr(0, 5)) + "M" + } + for (var i = (e / 1e9).toFixed(3), n = 0, a = 0; a < i.length; a++) + if ("." == i[a]) { + n = a; + break + } + return (i = n >= 4 ? i.substr(0, 4) : i.substr(0, 5)) + "B" + } + , + e.during_chat_close = function() { + return !1 + } + , + e.get_platform_currency = function() { + var t = []; + return GameMgr.inGooglePlay && t.push(1), + GameMgr.inChina && (t.push(2), + t.push(6)), + GameMgr.inDmm && t.push(7), + t + } + , + e.EncodePaipuUUID = function(t) { + for (var e = "", i = "0".charCodeAt(0), n = "a".charCodeAt(0), a = 0; a < t.length; a++) { + var r = t.charAt(a) + , s = r.charCodeAt(0) + , o = -1; + s >= i && s < i + 10 ? o = s - i : s >= n && s < n + 26 && (o = s - n + 10), + e += -1 != o ? (o = (o + 17 + a) % 36) < 10 ? String.fromCharCode(o + i) : String.fromCharCode(o + n - 10) : r + } + return e + } + , + e.DecodePaipuUUID = function(t) { + for (var e = "", i = "0".charCodeAt(0), n = "a".charCodeAt(0), a = 0; a < t.length; a++) { + var r = t.charAt(a) + , s = r.charCodeAt(0) + , o = -1; + s >= i && s < i + 10 ? o = s - i : s >= n && s < n + 26 && (o = s - n + 10), + e += -1 != o ? (o = (o + 55 - a) % 36) < 10 ? String.fromCharCode(o + i) : String.fromCharCode(o + n - 10) : r + } + return e + } + , + e.debugfetchcd = 0, + e.char_lst = null, + e.char_map = null, + e + }(); + t.Tools = e +}(game || (game = {})); +var game; +!function(t) { + var e; + !function(t) { + t[t.none = 0] = "none", + t[t.loading = 1] = "loading", + t[t.loaded = 2] = "loaded" + }(e = t.E_LoadState || (t.E_LoadState = {})); + var i = function() { + function t() { + this._active = !1, + this._load_state = e.none + } + return Object.defineProperty(t.prototype, "active", { + get: function() { + return this._active + }, + set: function(t) { + this._active = t, + this._active ? this.onEnable() : this.onDisable() + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "load_state", { + get: function() { + return this._load_state + }, + enumerable: !0, + configurable: !0 + }), + t + }(); + t.SceneBase = i +}(game || (game = {})); +var game; +!function(t) { + var e = function() { + function e() {} + return Object.defineProperty(e, "version", { + get: function() { + return this._version + }, + enumerable: !0, + configurable: !0 + }), + e.init = function(e) { + this._manifest = {}, + t.LoadMgr.httpload("version.json", "json", !0, Laya.Handler.create(this, this.onManifestLoaded, [e])), + Laya.URL.customFormat = this.formatURL + } + , + e.onManifestLoaded = function(e, i) { + if (i.success) { + app.Log.log("version.json加载成功"); + var n = i.data; + this._version = n.version, + t.LoadMgr.httpload("resversion" + this._version + ".json", "json", !1, Laya.Handler.create(this, this.onResVersionLoaded, [e])) + } else + app.Log.log("version.json加载失败"), + e.run() + } + , + e.onResVersionLoaded = function(t, e) { + if (e.success) { + app.Log.log("Resversion.json加载成功"); + var i = e.data; + for (var n in i.res) + this._manifest[n] = i.res[n].prefix + } else + app.Log.log("Resversion.json加载失败"); + t.run() + } + , + e.formatURL = function(t) { + return e._manifest.hasOwnProperty(t) ? e._manifest[t] + "/" + t : t + } + , + e._manifest = {}, + e._version = "0.0.0", + e + }(); + t.ResourceVersion = e +}(game || (game = {})); +var game; +!function(t) { + var e = function() { + function e() { + var e = this; + this.urls = [], + this.link_index = -1, + this.connect_state = t.EConnectState.none, + this.reconnect_count = 0, + this.reconnect_span = [500, 1e3, 3e3, 6e3, 1e4, 15e3], + this.playerreconnect = !1, + this.lasterrortime = 0, + this.load_over = !1, + this.loaded_player_count = 0, + this.real_player_count = 0, + this.is_ob = !1, + this.ob_token = "", + app.NetAgent.AddListener2MJ("NotifyPlayerLoadGameReady", Laya.Handler.create(this, function(t) { + app.Log.log("NotifyPlayerLoadGameReady: " + JSON.stringify(t)), + e.loaded_player_count = t.ready_id_list.length, + e.load_over && uiscript.UI_Loading.Inst.enable && uiscript.UI_Loading.Inst.showLoadCount(e.loaded_player_count, e.real_player_count) + })) + } + return Object.defineProperty(e, "Inst", { + get: function() { + return null == this._Inst ? this._Inst = new e : this._Inst + }, + enumerable: !0, + configurable: !0 + }), + e.prototype.OpenConnect = function(e, i, n, a, r) { + var s = this; + uiscript.UI_Loading.Inst.show("enter_mj"), + t.Scene_Lobby.Inst && t.Scene_Lobby.Inst.active && (t.Scene_Lobby.Inst.active = !1), + this.Close(), + view.BgmListMgr.stopBgm(), + this.is_ob = !1, + Laya.timer.once(500, this, function() { + s.url = "", + s.token = e, + s.game_uuid = i, + s.server_location = n, + GameMgr.Inst.ingame = !0, + GameMgr.Inst.mj_server_location = n, + GameMgr.Inst.mj_game_token = e, + GameMgr.Inst.mj_game_uuid = i, + s.playerreconnect = a, + s._setState(t.EConnectState.tryconnect), + s.load_over = !1, + s.loaded_player_count = 0, + s.real_player_count = 0, + s._fetch_gateway(0) + }) + } + , + e.prototype.Close = function() { + this.load_over = !1, + app.Log.log("MJNetMgr close"), + this._setState(t.EConnectState.none), + app.NetAgent.Close2MJ(), + this.url = "" + } + , + e.prototype._OnConnent = function(e) { + app.Log.log("MJNetMgr _OnConnent event:" + e), + e == Laya.Event.CLOSE || e == Laya.Event.ERROR ? Laya.timer.currTimer - this.lasterrortime > 100 && (this.lasterrortime = Laya.timer.currTimer, + this.connect_state == t.EConnectState.tryconnect ? this._try_to_linknext() : this.connect_state == t.EConnectState.connecting ? view.DesktopMgr.Inst.active ? (view.DesktopMgr.Inst.duringReconnect = !0, + this._setState(t.EConnectState.reconnecting), + this.reconnect_count = 0, + this._Reconnect()) : (this._setState(t.EConnectState.disconnect), + uiscript.UIMgr.Inst.ShowErrorInfo(t.Tools.strOfLocalization(2008)), + t.Scene_MJ.Inst.ForceOut()) : this.connect_state == t.EConnectState.reconnecting && this._Reconnect()) : e == Laya.Event.OPEN && (this.connect_state != t.EConnectState.tryconnect && this.connect_state != t.EConnectState.reconnecting || (this._setState(t.EConnectState.connecting), + this.is_ob ? this._ConnectSuccessOb() : this._ConnectSuccess())) + } + , + e.prototype._Reconnect = function() { + var e = this; + t.LobbyNetMgr.Inst.connect_state == t.EConnectState.none || t.LobbyNetMgr.Inst.connect_state == t.EConnectState.disconnect ? this._setState(t.EConnectState.disconnect) : t.LobbyNetMgr.Inst.connect_state == t.EConnectState.connecting && GameMgr.Inst.logined ? this.reconnect_count >= this.reconnect_span.length ? this._setState(t.EConnectState.disconnect) : (Laya.timer.once(this.reconnect_span[this.reconnect_count], this, function() { + e.connect_state == t.EConnectState.reconnecting && (app.Log.log("MJNetMgr reconnect count:" + e.reconnect_count), + app.NetAgent.connect2MJ(e.url, Laya.Handler.create(e, e._OnConnent, null, !1), "local" == e.server_location ? "/game-gateway" : "/game-gateway-zone")) + }), + this.reconnect_count++) : Laya.timer.once(1e3, this, this._Reconnect) + } + , + e.prototype._try_to_linknext = function() { + this.link_index++, + this.url = "", + app.Log.log("mj _try_to_linknext(" + this.link_index + ") url.length=" + this.urls.length), + this.link_index < 0 || this.link_index >= this.urls.length ? (this._setState(t.EConnectState.none), + uiscript.UIMgr.Inst.ShowErrorInfo(t.Tools.strOfLocalization(59)), + this._SendDebugInfo(), + view.DesktopMgr.Inst && !view.DesktopMgr.Inst.active && t.Scene_MJ.Inst.ForceOut()) : (app.NetAgent.connect2MJ(this.urls[this.link_index].url, Laya.Handler.create(this, this._OnConnent, null, !1), "local" == this.server_location ? "/game-gateway" : "/game-gateway-zone"), + this.url = this.urls[this.link_index].url) + } + , + e.prototype._fetch_gateway = function(e) { + var i = this; + this.urls = [], + this.link_index = -1, + app.Log.log("mj _fetch_gateway retry_count:" + e); + !function(n) { + var a = new Laya.HttpRequest; + a.once(Laya.Event.COMPLETE, i, function(n) { + !function(n) { + var a = JSON.parse(n); + if (app.Log.log("mj _fetch_gateway func_success data = " + n), + a.maintenance) + i._setState(t.EConnectState.none), + uiscript.UIMgr.Inst.ShowErrorInfo(t.Tools.strOfLocalization(2009)), + view.DesktopMgr.Inst.active || t.Scene_MJ.Inst.ForceOut(); + else if (a.servers && a.servers.length > 0) { + for (var r = a.servers, s = t.Tools.deal_gateway(r), o = 0; o < s.length; o++) + i.urls.push({ + name: "___" + o, + url: s[o] + }); + i.link_index = -1, + i._try_to_linknext() + } else + e < 1 ? Laya.timer.once(1e3, i, function() { + i._fetch_gateway(e + 1) + }) : (uiscript.UIMgr.Inst.ShowErrorInfo(t.Tools.strOfLocalization(60)), + i._SendDebugInfo(), + view.DesktopMgr.Inst && !view.DesktopMgr.Inst.active && t.Scene_MJ.Inst.ForceOut(), + i._setState(t.EConnectState.none)) + }(n) + }), + a.once(Laya.Event.ERROR, i, function(n) { + app.Log.log("mj _fetch_gateway func_error"), + e < 1 ? Laya.timer.once(500, i, function() { + i._fetch_gateway(e + 1) + }) : (uiscript.UIMgr.Inst.ShowErrorInfo(t.Tools.strOfLocalization(58)), + i._SendDebugInfo(), + view.DesktopMgr.Inst.active || t.Scene_MJ.Inst.ForceOut(), + i._setState(t.EConnectState.none)) + }); + var r = []; + r.push("If-Modified-Since"), + r.push("0"), + n += "?service=ws-game-gateway", + GameMgr.inHttps ? n += "&protocol=ws&ssl=true" : n += "&protocol=ws&ssl=false", + n += "&location=" + i.server_location, + n += "&rv=" + Math.floor(1e7 * Math.random()) + Math.floor(1e7 * Math.random()), + a.send(n, "", "get", "text", r), + app.Log.log("mj _fetch_gateway func_fetch url = " + n) + }(t.LobbyNetMgr.Inst.lb_url) + } + , + e.prototype._setState = function(e) { + this.connect_state = e, + GameMgr.inRelease || null != uiscript.UI_Common.Inst && (e == t.EConnectState.none ? uiscript.UI_Common.Inst.label_net_mj.text = "" : e == t.EConnectState.tryconnect ? (uiscript.UI_Common.Inst.label_net_mj.text = "尝试连接麻将服务器", + uiscript.UI_Common.Inst.label_net_mj.color = "#000000") : e == t.EConnectState.connecting ? (uiscript.UI_Common.Inst.label_net_mj.text = "麻将服务器:正常", + uiscript.UI_Common.Inst.label_net_mj.color = "#00ff00") : e == t.EConnectState.disconnect ? (uiscript.UI_Common.Inst.label_net_mj.text = "麻将服务器:断开连接", + uiscript.UI_Common.Inst.label_net_mj.color = "#ff0000", + uiscript.UI_Disconnect.Inst && uiscript.UI_Disconnect.Inst.show()) : e == t.EConnectState.reconnecting && (uiscript.UI_Common.Inst.label_net_mj.text = "麻将服务器:正在重连", + uiscript.UI_Common.Inst.label_net_mj.color = "#ff0000", + uiscript.UI_Disconnect.Inst && uiscript.UI_Disconnect.Inst.show())) + } + , + e.prototype._ConnectSuccess = function() { + var e = this; + app.Log.log("MJNetMgr _ConnectSuccess "), + this.load_over = !1, + app.NetAgent.sendReq2MJ("FastTest", "authGame", { + account_id: GameMgr.Inst.account_id, + token: this.token, + game_uuid: this.game_uuid + }, function(i, n) { + if (i || n.error) + uiscript.UIMgr.Inst.showNetReqError("authGame", i, n), + t.Scene_MJ.Inst.GameEnd(), + view.BgmListMgr.PlayLobbyBgm(); + else { + app.Log.log("麻将桌验证通过:" + JSON.stringify(n)), + uiscript.UI_Loading.Inst.setProgressVal(.1); + var a = []; + view.DesktopMgr.player_link_state = n.state_list; + var r = t.Tools.strOfLocalization(2003) + , s = n.game_config.mode; + view.ERuleMode.Liqi4; + s.mode < 10 ? (view.ERuleMode.Liqi4, + e.real_player_count = 4) : s.mode < 20 && (view.ERuleMode.Liqi3, + e.real_player_count = 3); + for (h = 0; h < e.real_player_count; h++) + a.push(null); + s.extendinfo && (r = t.Tools.strOfLocalization(2004)), + s.detail_rule && s.detail_rule.ai_level && (1 === s.detail_rule.ai_level && (r = t.Tools.strOfLocalization(2003)), + 2 === s.detail_rule.ai_level && (r = t.Tools.strOfLocalization(2004))); + for (var o = t.GameUtility.get_default_ai_skin(), l = t.GameUtility.get_default_ai_character(), h = 0; h < n.seat_list.length; h++) { + var c = n.seat_list[h]; + if (0 == c) + a[h] = { + nickname: r, + avatar_id: o, + level: { + id: 10101 + }, + level3: { + id: 20101 + }, + character: { + charid: l, + level: 0, + exp: 0, + views: [], + skin: o, + is_upgraded: !1 + } + }; + else { + 0; + for (var _ = 0; _ < n.players.length; _++) + if (n.players[_].account_id == c) { + a[h] = n.players[_]; + break + } + } + } + for (h = 0; h < e.real_player_count; h++) + null == a[h] && (a[h] = { + account: 0, + nickname: t.Tools.strOfLocalization(2010), + avatar_id: o, + level: { + id: 10101 + }, + level3: { + id: 20101 + }, + character: { + charid: l, + level: 0, + exp: 0, + views: [], + skin: o, + is_upgraded: !1 + } + }); + e.loaded_player_count = n.ready_id_list.length, + e._AuthSuccess(a, n.is_game_start, n.game_config.toJSON()) + } + }) + } + , + e.prototype._AuthSuccess = function(e, i, n) { + var a = this; + view.DesktopMgr.Inst && view.DesktopMgr.Inst.active ? (this.load_over = !0, + Laya.timer.once(500, this, function() { + app.Log.log("重连信息1 round_id:" + view.DesktopMgr.Inst.round_id + " step:" + view.DesktopMgr.Inst.current_step), + view.DesktopMgr.Inst.Reset(), + view.DesktopMgr.Inst.duringReconnect = !0, + uiscript.UI_Loading.Inst.setProgressVal(.2), + app.NetAgent.sendReq2MJ("FastTest", "syncGame", { + round_id: view.DesktopMgr.Inst.round_id, + step: view.DesktopMgr.Inst.current_step + }, function(e, i) { + e || i.error ? (uiscript.UIMgr.Inst.showNetReqError("syncGame", e, i), + t.Scene_MJ.Inst.ForceOut()) : (app.Log.log("[syncGame] " + JSON.stringify(i)), + i.isEnd ? (uiscript.UIMgr.Inst.ShowErrorInfo(t.Tools.strOfLocalization(2011)), + t.Scene_MJ.Inst.GameEnd()) : (uiscript.UI_Loading.Inst.setProgressVal(.3), + view.DesktopMgr.Inst.fetchLinks(), + view.DesktopMgr.Inst.Reset(), + view.DesktopMgr.Inst.duringReconnect = !0, + view.DesktopMgr.Inst.syncGameByStep(i.game_restore))) + }) + })) : t.Scene_MJ.Inst.openMJRoom(n, e, Laya.Handler.create(this, function() { + view.DesktopMgr.Inst.initRoom(JSON.parse(JSON.stringify(n)), e, GameMgr.Inst.account_id, view.EMJMode.play, Laya.Handler.create(a, function() { + i ? Laya.timer.frameOnce(10, a, function() { + app.Log.log("重连信息2 round_id:-1 step:" + 1e6), + view.DesktopMgr.Inst.Reset(), + view.DesktopMgr.Inst.duringReconnect = !0, + app.NetAgent.sendReq2MJ("FastTest", "syncGame", { + round_id: "-1", + step: 1e6 + }, function(e, i) { + app.Log.log("syncGame " + JSON.stringify(i)), + e || i.error ? (uiscript.UIMgr.Inst.showNetReqError("syncGame", e, i), + t.Scene_MJ.Inst.ForceOut()) : (uiscript.UI_Loading.Inst.setProgressVal(1), + view.DesktopMgr.Inst.fetchLinks(), + a._PlayerReconnectSuccess(i)) + }) + }) : Laya.timer.frameOnce(10, a, function() { + app.Log.log("send enterGame"), + view.DesktopMgr.Inst.Reset(), + view.DesktopMgr.Inst.duringReconnect = !0, + app.NetAgent.sendReq2MJ("FastTest", "enterGame", {}, function(e, i) { + e || i.error ? (uiscript.UIMgr.Inst.showNetReqError("enterGame", e, i), + t.Scene_MJ.Inst.ForceOut()) : (uiscript.UI_Loading.Inst.setProgressVal(1), + app.Log.log("enterGame"), + a._EnterGame(i), + view.DesktopMgr.Inst.fetchLinks()) + }) + }) + })) + }), Laya.Handler.create(this, function(t) { + return uiscript.UI_Loading.Inst.setProgressVal(.1 + .8 * t) + }, null, !1)) + } + , + e.prototype._EnterGame = function(e) { + app.Log.log("正常进入游戏: " + JSON.stringify(e)), + e.is_end ? (uiscript.UIMgr.Inst.ShowErrorInfo(t.Tools.strOfLocalization(2011)), + t.Scene_MJ.Inst.GameEnd()) : e.game_restore ? view.DesktopMgr.Inst.syncGameByStep(e.game_restore) : (console.log("正常进入游戏:" + Laya.Stat.currentMemorySize / 1024 / 1024 + " MB"), + this.load_over = !0, + this.load_over && uiscript.UI_Loading.Inst.enable && uiscript.UI_Loading.Inst.showLoadCount(this.loaded_player_count, this.real_player_count), + view.DesktopMgr.Inst.duringReconnect = !1, + view.DesktopMgr.Inst.StartChainAction(0)) + } + , + e.prototype._PlayerReconnectSuccess = function(e) { + app.Log.log("_PlayerReconnectSuccess data:" + JSON.stringify(e)), + e.isEnd ? (uiscript.UIMgr.Inst.ShowErrorInfo(t.Tools.strOfLocalization(2011)), + t.Scene_MJ.Inst.GameEnd()) : e.game_restore ? view.DesktopMgr.Inst.syncGameByStep(e.game_restore) : (uiscript.UIMgr.Inst.ShowErrorInfo(t.Tools.strOfLocalization(2012)), + t.Scene_MJ.Inst.ForceOut()) + } + , + e.prototype._SendDebugInfo = function() { + var t = {}; + t.type = "未连接了!!!!!!", + t.logs = app.Log.getCacheLog(), + GameMgr.Inst.postInfo2Server(t) + } + , + e.prototype.OpenConnectObserve = function(e, i) { + var n = this; + this.is_ob = !0, + uiscript.UI_Loading.Inst.show("enter_mj"), + this.Close(), + view.AudioMgr.StopMusic(), + Laya.timer.once(500, this, function() { + n.server_location = i, + n.ob_token = e, + n._setState(t.EConnectState.tryconnect), + n._fetch_gateway(0) + }) + } + , + e.prototype._ConnectSuccessOb = function() { + var e = this; + app.Log.log("MJNetMgr _ConnectSuccessOb "), + app.NetAgent.sendReq2MJ("FastTest", "authObserve", { + token: this.ob_token + }, function(i, n) { + i || n.error ? (uiscript.UIMgr.Inst.showNetReqError("authObserve", i, n), + t.Scene_MJ.Inst.GameEnd(), + view.BgmListMgr.PlayLobbyBgm()) : (app.Log.log("实时OB验证通过:" + JSON.stringify(n)), + uiscript.UI_Loading.Inst.setProgressVal(.3), + uiscript.UI_Live_Broadcast.Inst && uiscript.UI_Live_Broadcast.Inst.clearPendingUnits(), + app.NetAgent.sendReq2MJ("FastTest", "startObserve", {}, function(i, n) { + if (i || n.error) + uiscript.UIMgr.Inst.showNetReqError("startObserve", i, n), + t.Scene_MJ.Inst.GameEnd(), + view.BgmListMgr.PlayLobbyBgm(); + else { + var a = n.head + , r = a.game_config.mode + , s = [] + , o = t.Tools.strOfLocalization(2003); + view.ERuleMode.Liqi4; + r.mode < 10 ? (view.ERuleMode.Liqi4, + e.real_player_count = 4) : r.mode < 20 && (view.ERuleMode.Liqi3, + e.real_player_count = 3); + for (c = 0; c < e.real_player_count; c++) + s.push(null); + r.extendinfo && (o = t.Tools.strOfLocalization(2004)), + r.detail_rule && r.detail_rule.ai_level && (1 === r.detail_rule.ai_level && (o = t.Tools.strOfLocalization(2003)), + 2 === r.detail_rule.ai_level && (o = t.Tools.strOfLocalization(2004))); + for (var l = t.GameUtility.get_default_ai_skin(), h = t.GameUtility.get_default_ai_character(), c = 0; c < a.seat_list.length; c++) { + var _ = a.seat_list[c]; + if (0 == _) + s[c] = { + nickname: o, + avatar_id: l, + level: { + id: 10101 + }, + level3: { + id: 20101 + }, + character: { + charid: h, + level: 0, + exp: 0, + views: [], + skin: l, + is_upgraded: !1 + } + }; + else + for (var u = 0; u < a.players.length; u++) + if (a.players[u].account_id == _) { + s[c] = a.players[u]; + break + } + } + for (c = 0; c < e.real_player_count; c++) + null == s[c] && (s[c] = { + account: 0, + nickname: t.Tools.strOfLocalization(2010), + avatar_id: l, + level: { + id: 10101 + }, + level3: { + id: 20101 + }, + character: { + charid: h, + level: 0, + exp: 0, + views: [], + skin: l, + is_upgraded: !1 + } + }); + e._StartObSuccuess(s, n.passed, a.game_config.toJSON(), a.start_time) + } + })) + }) + } + , + e.prototype._StartObSuccuess = function(e, i, n, a) { + var r = this; + view.DesktopMgr.Inst && view.DesktopMgr.Inst.active ? (this.load_over = !0, + Laya.timer.once(500, this, function() { + app.Log.log("重连信息1 round_id:" + view.DesktopMgr.Inst.round_id + " step:" + view.DesktopMgr.Inst.current_step), + view.DesktopMgr.Inst.Reset(), + uiscript.UI_Live_Broadcast.Inst.startRealtimeLive(a, i) + })) : (uiscript.UI_Loading.Inst.setProgressVal(.4), + t.Scene_MJ.Inst.openMJRoom(n, e, Laya.Handler.create(this, function() { + view.DesktopMgr.Inst.initRoom(JSON.parse(JSON.stringify(n)), e, GameMgr.Inst.account_id, view.EMJMode.live_broadcast, Laya.Handler.create(r, function() { + uiscript.UI_Loading.Inst.setProgressVal(.9), + Laya.timer.once(1e3, r, function() { + GameMgr.Inst.EnterMJ(), + uiscript.UI_Loading.Inst.setProgressVal(.95), + uiscript.UI_Live_Broadcast.Inst.startRealtimeLive(a, i) + }) + })) + }), Laya.Handler.create(this, function(t) { + return uiscript.UI_Loading.Inst.setProgressVal(.4 + .4 * t) + }, null, !1))) + } + , + e._Inst = null, + e + }(); + t.MJNetMgr = e +}(game || (game = {})); +var game; +!function(t) { + var e = function() { + function e() {} + return e.setItem = function(e, i) { + var n = t.Tools.eeesss("e__" + e); + Laya.LocalStorage.setItem(e, "FKU!!!"), + Laya.LocalStorage.setItem(n, t.Tools.eeesss(i)) + } + , + e.getItem = function(e) { + var i = t.Tools.eeesss("e__" + e) + , n = Laya.LocalStorage.getItem(e); + return null != n && "FKU!!!" != n ? (Laya.LocalStorage.setItem(e, "FKU!!!"), + Laya.LocalStorage.setItem(i, t.Tools.eeesss(n)), + n) : (null != (n = Laya.LocalStorage.getItem(i)) && (n = t.Tools.dddsss(n)), + n) + } + , + e + }(); + t.LocalStorage = e +}(game || (game = {})); +var game; +!function(t) { + var e; + !function(t) { + t[t.none = 0] = "none", + t[t.fetching = 1] = "fetching", + t[t.success = 2] = "success", + t[t.error = 3] = "error" + }(e = t.EFetchState || (t.EFetchState = {})); + var i; + !function(t) { + t[t.none = 0] = "none", + t[t.tryconnect = 1] = "tryconnect", + t[t.connecting = 2] = "connecting", + t[t.reconnecting = 3] = "reconnecting", + t[t.disconnect = 4] = "disconnect" + }(i = t.EConnectState || (t.EConnectState = {})); + var n = [500, 1e3, 3e3, 6e3, 1e4, 15e3] + , a = function() { + function a(t) { + this.gateway_urls = [], + this.link_index = -1, + this._fetch_state = e.none, + this._connect_state = i.none, + this.open_func = null, + this.reconnect_count = 0, + this.lasterrortime = 0, + this._in_maintenance = !1, + this.maintenanceInfo = "", + this._is_lobby_net = !1, + this._connect_info = null, + this._lb_url = t, + this._net = new app.NetController(app.ENetType.lobby), + this._fetch_state = e.none, + this._connect_state = i.none, + this._is_lobby_net = !1 + } + return Object.defineProperty(a.prototype, "lb_url", { + get: function() { + return this._lb_url + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(a.prototype, "fetch_state", { + get: function() { + return this._fetch_state + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(a.prototype, "connect_state", { + get: function() { + return this._connect_state + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(a.prototype, "isOK", { + get: function() { + return this.connect_state == i.connecting + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(a.prototype, "delay", { + get: function() { + return this.isOK ? this._net.delay : 1e5 + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(a.prototype, "in_maintenance", { + get: function() { + return this._in_maintenance + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(a.prototype, "net", { + get: function() { + return this._net + }, + enumerable: !0, + configurable: !0 + }), + a.prototype.connect = function(t) { + var n = this; + if (app.Log.log("LobbyNetMgr OpenConnect"), + this.in_maintenance) + t && t.runWith({ + open: !1, + maintenance: this.maintenanceInfo + }); + else if (this.connect_state == i.connecting) + t && t.runWith({ + open: !0 + }); + else if (this.connect_state == i.tryconnect || this.connect_state == i.reconnecting) + t && (this.open_func = t); + else { + this.open_func = null; + var a = 0; + this._net.connected && (this.close(), + a = 700), + Laya.timer.once(a, this, function() { + t && (n.open_func = t), + n._set_fetch_state(e.fetching), + n._set_connect_state(i.tryconnect), + n._fetch_gateway() + }) + } + } + , + a.prototype.close = function() { + this.open_func = null, + this._set_connect_state(i.none), + this._set_fetch_state(e.none), + this._net.close(), + Laya.timer.clearAll(this) + } + , + a.prototype.set_as_lobby_net = function() { + this._is_lobby_net = !0, + app.NetAgent.setLobbyNet(this._net) + } + , + a.prototype._set_fetch_state = function(t) { + this._fetch_state = t + } + , + a.prototype._set_connect_state = function(t) { + this._connect_state = t, + GameMgr.inRelease || this != r.Inst.main_net || r.Inst.refreshCommonShow(), + this._is_lobby_net && (this.connect_state != i.reconnecting && this.connect_state != i.disconnect || uiscript.UI_Disconnect.Inst.show()) + } + , + a.prototype._fetch_gateway = function() { + var n = this; + this._set_fetch_state(e.fetching), + this.gateway_urls = [], + this.link_index = -1; + var a = this._lb_url + , r = new Laya.HttpRequest; + r.once(Laya.Event.COMPLETE, this, function(a) { + !function(a) { + app.Log.log("_fetch_gateway return:" + a); + var r = JSON.parse(a); + n._set_fetch_state(e.success), + r.maintenance ? n.connect_state == i.tryconnect ? (n._in_maintenance = !0, + n.maintenanceInfo = r.maintenance.message, + n.open_func && n.open_func.runWith({ + open: !1, + maintenance: n.maintenanceInfo + }), + n.open_func = null, + n._set_connect_state(i.none)) : n.connect_state == i.reconnecting && n._set_connect_state(i.disconnect) : r.servers && r.servers.length > 0 ? (r.servers, + n.gateway_urls = t.Tools.deal_gateway(r.servers), + n.link_index = -1, + n._try_to_linknext()) : (n.open_func && n.open_func.runWith({ + open: !1, + info: t.Tools.strOfLocalization(62) + }), + n.open_func = null, + n.connect_state == i.tryconnect ? n._set_connect_state(i.none) : n._set_connect_state(i.disconnect)) + }(a) + }), + r.once(Laya.Event.ERROR, this, function(a) { + n._set_fetch_state(e.error), + n.connect_state == i.tryconnect ? (n.open_func && n.open_func.runWith({ + open: !1, + info: t.Tools.strOfLocalization(61) + }), + n.open_func = null, + n._set_connect_state(i.none)) : n.connect_state == i.reconnecting && n._reconnect() + }); + var s = []; + s.push("If-Modified-Since"), + s.push("0"), + a += "?service=ws-gateway", + GameMgr.inHttps ? a += "&protocol=ws&ssl=true" : a += "&protocol=ws&ssl=false", + a += "&rv=" + Math.floor(1e7 * Math.random()) + Math.floor(1e7 * Math.random()), + r.send(a, "", "get", "text", s) + } + , + a.prototype._try_to_linknext = function() { + this.link_index++, + this.link_index < 0 || this.link_index >= this.gateway_urls.length ? this.connect_state == i.tryconnect ? (this._set_connect_state(i.none), + this.open_func && this.open_func.runWith({ + open: !1, + info: t.Tools.strOfLocalization(11) + }), + this.open_func = null) : this.connect_state == i.reconnecting && this._reconnect() : this._net.connect(this.gateway_urls[this.link_index], Laya.Handler.create(this, this._onConnent, null, !1), "/gateway") + } + , + a.prototype._onConnent = function(e) { + e == Laya.Event.CLOSE || e == Laya.Event.ERROR ? Laya.timer.currTimer - this.lasterrortime > 100 && (this.lasterrortime = Laya.timer.currTimer, + this.connect_state == i.tryconnect ? this._try_to_linknext() : this.connect_state == i.connecting ? GameMgr.Inst.logined && this._is_lobby_net ? (GameMgr.Inst.logined = !1, + this._set_connect_state(i.reconnecting), + this.reconnect_count = 0, + this._fetch_gateway(), + r.Inst.trigger_connect_msg("reconnect")) : (this._set_connect_state(i.none), + this.open_func && this.open_func.runWith({ + open: !1, + info: t.Tools.strOfLocalization(11) + " tyr" + }), + this.open_func = null) : this.connect_state == i.reconnecting && this._try_to_linknext()) : e == Laya.Event.OPEN && (this.connect_state == i.tryconnect ? (this._set_connect_state(i.connecting), + this.open_func && this.open_func.runWith({ + open: !0 + }), + this.open_func = null, + this._on_first_connect()) : this.connect_state == i.reconnecting ? (this._set_connect_state(i.connecting), + r.Inst.OnReconnectSuccess()) : this.connect_state != i.connecting && this.close()) + } + , + a.prototype._reconnect = function() { + var t = this; + this.reconnect_count >= n.length ? (app.Log.log("Lobby重连失败"), + this._set_connect_state(i.disconnect)) : (Laya.timer.once(n[this.reconnect_count], this, function() { + t.connect_state == i.reconnecting && (app.Log.log("LobbyNetMgr _Reconnect count:" + t.reconnect_count), + t._fetch_gateway()) + }), + this.reconnect_count++) + } + , + a.prototype._on_first_connect = function() { + var e = this; + Laya.timer.clearAll(this); + for (var i = 0; i < 5; i++) + Laya.timer.once(4e3 * i, this, function() { + e._net.sendReq("Lobby", "heatbeat", { + no_operation_counter: 0 + }, function() {}) + }); + Laya.timer.once(3e4, this, function() { + e !== t.LobbyNetMgr.Inst.main_net && e.close() + }), + Laya.timer.once(1e3, this, function() { + e._connect_info = { + lb: e._lb_url, + connect: "connect_success", + delay: Math.floor(e.delay) + } + }) + } + , + a.prototype.get_info = function() { + return this._connect_info ? this._connect_info : { + lb: this.lb_url, + connect: this.fetch_state == e.error ? "fetch_failed" : "connect_failed", + delay: 0 + } + } + , + a + }() + , r = function() { + function e() { + this._name = "", + this._choosed_index = 0, + this._nets = [], + this._connect_listeners = [] + } + return Object.defineProperty(e, "Inst", { + get: function() { + return null == this._Inst ? this._Inst = new e : this._Inst + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(e.prototype, "choosed_index", { + get: function() { + return this._choosed_index + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(e.prototype, "name", { + get: function() { + return this._name + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(e.prototype, "main_net", { + get: function() { + return this._choosed_index < 0 || this._choosed_index >= this._nets.length ? null : this._nets[this._choosed_index] + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(e.prototype, "isOK", { + get: function() { + var t = this.main_net; + return !!t && t.connect_state == i.connecting + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(e.prototype, "lb_url", { + get: function() { + var t = this.main_net; + return t ? t.lb_url : "" + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(e.prototype, "connect_state", { + get: function() { + var t = this.main_net; + return t ? t.connect_state : i.none + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(e.prototype, "net_count", { + get: function() { + return this._nets.length + }, + enumerable: !0, + configurable: !0 + }), + e.prototype.init = function(t, e) { + this._name = t, + this._nets = []; + for (var i = 0; i < e.length; i++) + this._nets.push(new a(e[i])); + this._choosed_index = 0; + var n = Laya.LocalStorage.getItem("route_index"); + null != n && void 0 != n && "" != n && (this._choosed_index = parseInt(n)), + this._choosed_index < 0 && (this._choosed_index = 0), + this._choosed_index >= this._nets.length && (this._choosed_index = this._nets.length - 1); + var r = this.main_net; + r && app.NetAgent.setLobbyNet(r.net) + } + , + e.prototype.changeIndex = function(t) { + if (this._choosed_index != t) { + this._choosed_index = t, + this._choosed_index < 0 && (this._choosed_index = 0), + this._choosed_index >= this._nets.length && (this._choosed_index = this._nets.length - 1), + Laya.LocalStorage.setItem("route_index", this._choosed_index.toString()), + this.refreshCommonShow(); + var e = this.main_net; + e && (app.NetAgent.setLobbyNet(e.net), + e.connect(null)) + } + } + , + e.prototype.OpenConnect = function(t) { + var e = this.main_net; + e ? e.connect(t) : t.runWith({ + open: !1, + info: "no route" + }) + } + , + e.prototype.Close = function() { + for (var t = 0; t < this._nets.length; t++) + this._nets[t].close() + } + , + e.prototype.OnReconnectSuccess = function() { + var e = this + , i = {}; + GameMgr.inConch ? i.device_type = "app" : GameMgr.iniOSWebview ? i.device_type = "app-ios" : (Laya.Browser.onPC && (i.device_type = "pc"), + Laya.Browser.onIPad && (i.device_type = "ipad"), + Laya.Browser.onMobile && (i.device_type = "mobile")), + Laya.Browser.onMac && (i.os = "mac"), + Laya.Browser.onIOS && (i.os = "ios"), + (Laya.Browser.onAndriod || Laya.Browser.onAndroid) && (i.os = "android"), + Laya.Browser.onWeiXin && (i.browser = "weixin"), + Laya.Browser.onSafari && (i.browser = "safari"), + Laya.Browser.onFirefox && (i.browser = "firefox"), + Laya.Browser.onEdge && (i.browser = "edge"), + Laya.Browser.onMiniGame && (i.browser = "minigame"); + var n = t.Tools.get_platform_currency(); + -1 == GameMgr.Inst.sociotype ? app.NetAgent.sendReq2Lobby("Lobby", "login", { + account: GameMgr.Inst.account, + password: GameMgr.encodeP(GameMgr.Inst.password), + reconnect: !0, + device: i, + random_key: GameMgr.device_id, + client_version: t.ResourceVersion.version, + currency_platforms: n + }, function(e, i) { + e || i.error ? uiscript.UIMgr.Inst.ShowErrorInfo(t.Tools.strOfLocalization(2007)) : (app.Log.log("LobbyNetMgr 重连成功"), + GameMgr.Inst.logined = !0) + }) : app.NetAgent.sendReq2Lobby("Lobby", "oauth2Login", { + type: GameMgr.Inst.sociotype, + access_token: GameMgr.Inst.access_token, + reconnect: !0, + device: i, + random_key: GameMgr.device_id, + client_version: t.ResourceVersion.version, + currency_platforms: n + }, function(i, n) { + i || n.error ? uiscript.UIMgr.Inst.ShowErrorInfo(t.Tools.strOfLocalization(2007)) : (app.Log.log("LobbyNetMgr 重连成功"), + GameMgr.Inst.logined = !0, + e.trigger_connect_msg("reconnect_success")) + }) + } + , + e.prototype.refreshCommonShow = function() { + if (!GameMgr.inRelease) { + var t = this.main_net; + if (t && null != uiscript.UI_Common.Inst && uiscript.UI_Common.Inst.label_net_lobby) { + t.connect_state; + var e = this.name + "(" + (this._choosed_index + 1) + ")"; + t.connect_state == i.none ? (uiscript.UI_Common.Inst.label_net_lobby.text = "未连接:" + e, + uiscript.UI_Common.Inst.label_net_lobby.color = "#ffffff") : t.connect_state == i.tryconnect ? (uiscript.UI_Common.Inst.label_net_lobby.text = "尝试连接:" + e, + uiscript.UI_Common.Inst.label_net_lobby.color = "#ffffff") : t.connect_state == i.connecting ? (uiscript.UI_Common.Inst.label_net_lobby.text = "大厅服务器:" + e, + uiscript.UI_Common.Inst.label_net_lobby.color = "#00ff00") : t.connect_state == i.disconnect ? (uiscript.UI_Common.Inst.label_net_lobby.text = "大厅服务器:" + e + " 断开连接", + uiscript.UI_Common.Inst.label_net_lobby.color = "#ff0000") : t.connect_state == i.reconnecting && (uiscript.UI_Common.Inst.label_net_lobby.text = "大厅服务器:" + e + " 正在重连", + uiscript.UI_Common.Inst.label_net_lobby.color = "#ff0000") + } + } + } + , + e.prototype.add_connect_listener = function(t) { + this._connect_listeners.push(t) + } + , + e.prototype.trigger_connect_msg = function(t) { + app.Log.info_net("触发重连"); + for (var e = 0; e < this._connect_listeners.length; e++) + this._connect_listeners[e].runWith(t); + "reconnect_success" == t && app.NetAgent.sendReq2Lobby("Lobby", "loginBeat", { + contract: "DF2vkXCnfeXp4WoGrBGNcJBufZiMN3uP" + }, function(t, e) {}) + } + , + e.prototype.onLogin = function() { + for (i = 0; i < this._nets.length; i++) { + var t = this._nets[i]; + i == this.choosed_index ? t.set_as_lobby_net() : t.close() + } + if (GameMgr.Inst.need_test_ws) { + for (var e = [], i = 0; i < this._nets.length; i++) + e.push(this._nets[i].get_info()); + GameMgr.Inst.wsStatics(e) + } + } + , + e.prototype.OpenAllConnect = function() { + for (var t = 0; t < this._nets.length; t++) + this._nets[t].connect(null) + } + , + e.prototype.GetLinkInfos = function() { + for (var t = [], e = 0; e < this._nets.length; e++) { + var i = this._nets[e]; + t.push({ + fetch: i.fetch_state, + connect: i.connect_state, + delay: i.delay, + in_maintenance: i.in_maintenance + }) + } + return t + } + , + e._Inst = null, + e + }(); + t.LobbyNetMgr = r +}(game || (game = {})); +var game; +!function(t) { + var e; + !function(t) { + t[t.common = 0] = "common", + t[t.scene_mj = 1] = "scene_mj", + t[t.lobby = 2] = "lobby", + t[t.ui_mj = 3] = "ui_mj", + t[t.entrance = 4] = "entrance" + }(e = t.E_LoadType || (t.E_LoadType = {})); + var i = function() { + function i() {} + return i.loadConfig = function() { + var t = this; + Laya.loader.load("resconfig.json", Laya.Handler.create(this, function() { + t._res_config = Laya.loader.getRes("resconfig.json") + })) + } + , + i.getUrls = function(i) { + var n = [] + , a = "res/atlas/"; + return "chs" != GameMgr.client_language && (a += GameMgr.client_language + "/"), + i == e.entrance ? (n = [a + "myres/entrance.atlas", a + "myres/necessary.atlas"], + "chs" != GameMgr.client_language ? n.push("scene/entrance_" + GameMgr.client_language + ".ls") : n.push("scene/entrance.ls"), + GameMgr.inDmm && n.push(a + "myres/dmm.atlas")) : i == e.common ? n = [a + "myres.atlas", a + "myres/bothui.atlas"] : i == e.scene_mj ? ("en" == GameMgr.client_language ? n.push("scene/mjdesktop_en.ls") : n.push("scene/mjdesktop.ls"), + n.push("scene/mjhandpai.ls")) : i == e.lobby ? (n = [a + "myres/room.atlas", a + "myres/shop.atlas", a + "myres/sushe.atlas", a + "myres/lobby.atlas", a + "myres/match_lobby.atlas", a + "myres/treasure.atlas", a + "myres/yueka.atlas", a + "myres/get_character.atlas"], + "chs_t" == GameMgr.client_language && (n.push(a + "myres/activity_yijidagong.atlas"), + n.push(a + "myres/wanxianggengxin.atlas")), + n.push(t.FrontEffect.scene_click_effect_path), + n.push(t.FrontEffect.scene_ui_effect_path)) : i == e.ui_mj && (n = [a + "myres/mjdesktop.atlas", a + "myres/mjdesktop/shengduan.atlas"]), + n + } + , + i._createItem = function(t) { + function e(t) { + if (h -= t, + l >= o.length) { + if (h <= 0) { + r.loaded = !0, + r.precent = 1; + for (var e = 0; e < r.complete.length; e++) + r.complete[e] && r.complete[e].run() + } + } else + n() + } + function i(e) { + r.precent = (e * o.length + s.length) / t.length; + for (var i = 0; i < r.progress.length; i++) + r.progress[i] && r.progress[i].runWith(r.precent) + } + function n() { + if (o.length > 0) { + for (var t = []; h < 1e3 && l < o.length; ) + t.push(o[l++]), + h++; + Laya.loader.create(t, Laya.Handler.create(this, e, [t.length], !1), Laya.Handler.create(this, i, null, !1)) + } else + e(1e5) + } + function a() { + r.precent = s.length / t.length, + n() + } + for (var r = { + loaded: !1, + precent: 0, + urls: t, + complete: [], + progress: [] + }, s = [], o = [], l = 0, h = 0, c = 0; c < t.length; c++) { + var _ = t[c]; + ".ls" == _.substr(_.length - 3) ? s.push(_) : o.push(_) + } + return s.length > 0 ? Laya.loader.create(s, Laya.Handler.create(this, a), Laya.Handler.create(this, function(e) { + r.precent = (e * o.length + s.length) / t.length; + for (var i = 0; i < r.progress.length; i++) + r.progress[i] && r.progress[i].runWith(r.precent) + })) : a(), + r + } + , + i.loadRes = function(t, e, i) { + for (var n = t; this._items.length <= n; ) + this._items.push(null); + null == this._items[n] && (this._items[n] = this._createItem(this.getUrls(t))), + this._items[n].loaded ? e && e.run() : (e && this._items[n].complete.push(e), + i && (i.once = !1, + this._items[n].progress.push(i))) + } + , + i.createResImage_web = function(e) { + var i = this; + if (!this._resimage.hasOwnProperty(e)) { + var n = "" + , a = e.substr(e.length - 3); + n = a.toLocaleLowerCase(); + var r = { + loaded: !1, + origin_url: e, + blob_url: null, + complete: [], + success: !1 + }; + this._resimage[e] = r; + var s = new Laya.HttpRequest; + s.once(Laya.Event.COMPLETE, this, function(t) { + for (var e = new Laya.Byte(t), a = new Laya.Byte, s = 0; s < e.length; s++) + GameMgr.inRelease ? a.writeByte(73 ^ e.readByte()) : a.writeByte(e.readByte()); + var o = new Laya.Browser.window.Blob([a.buffer],{ + type: "image/" + n + }) + , l = Laya.Browser.window.URL.createObjectURL(o); + Laya.loader.load(l, Laya.Handler.create(i, function(t) { + r.blob_url = t, + r.loaded = !0, + r.success = !0; + for (var e = 0; e < r.complete.length; e++) + r.complete && r.complete[e].run(); + r.complete = [] + }, [l]), null, Laya.Loader.IMAGE) + }), + s.once(Laya.Event.ERROR, this, function(t) { + console.log("加载" + e + "失败"), + r.loaded = !0, + r.success = !1; + for (var i = 0; i < r.complete.length; i++) + r.complete[i] && r.complete[i].run(); + r.complete = [] + }), + s.send(t.ResourceVersion.formatURL(e), "", "get", "arraybuffer") + } + } + , + i.createResImage_conch = function(t) { + if (!this._resimage.hasOwnProperty(t)) { + var e = { + loaded: !1, + origin_url: t, + blob_url: null, + complete: [], + success: !1 + }; + this._resimage[t] = e, + Laya.loader.load(t, Laya.Handler.create(this, function() { + e.blob_url = t, + e.loaded = !0, + e.success = !0; + for (var i = 0; i < e.complete.length; i++) + e.complete && e.complete[i].run(); + e.complete = [] + }), null, Laya.Loader.IMAGE) + } + } + , + i.loadResImage = function(e, i, n) { + var a = this; + if (!e && 0 == e.length) + return n && n.runWith(1), + void (i && i.run()); + for (var r = 0, s = 0, o = 0, l = 0; l < e.length; l++) + e[l] = t.Tools.localUISrc(e[l]); + var h = function() { + for (o = 0; o < 5 && s < e.length; ) { + var t = e[s++]; + a._resimage.hasOwnProperty(t) || (GameMgr.inConch ? a.createResImage_conch(t) : a.createResImage_web(t)); + var i = a._resimage[t]; + i.loaded ? c(!1) : (o++, + i.complete.push(Laya.Handler.create(a, c, [!0]))) + } + } + , c = function(t) { + t && 0 == --o && s < e.length && h(), + ++r == e.length ? (n && n.runWith(1), + i && i.run()) : n && n.runWith(r / e.length) + }; + h() + } + , + i.getResImage = function(e) { + if (e = t.Tools.localUISrc(e), + !this._resimage.hasOwnProperty(e)) + return null; + var i = this._resimage[e]; + return i.loaded && i.success ? Laya.loader.getRes(i.blob_url) : null + } + , + i.getResImageSkin = function(e) { + if (e = t.Tools.localUISrc(e), + !this._resimage.hasOwnProperty(e)) + return ""; + if (!this._resimage[e].loaded) + return ""; + return this._resimage[e].blob_url + } + , + i.getItemSkin = function(e) { + var i = t.GameUtility.get_item_view(e); + return this.getResImageSkin(i.icon) + } + , + i.disposeSceneRes = function(t) { + if (null != this._res_config) + if (this._res_config.hasOwnProperty(t)) { + var e = this._res_config[t]; + if (e.hasOwnProperty("atlas")) { + var i = "res/atlas/"; + "chs" != GameMgr.client_language && (i += GameMgr.client_language + "/"); + for (var n = 0; n < e.atlas.length; n++) + Laya.Loader.clearTextureRes(i + e.atlas[n]) + } + } else + app.Log.Error("disposeSceneRes错误,场景不存在"); + else + app.Log.Error("disposeSceneRes错误,未找到配置") + } + , + i.httpload = function(e, i, n, a) { + var r = new Laya.HttpRequest; + r.once(Laya.Event.COMPLETE, this, function(t) { + a && ("json" == i ? a.runWith({ + success: !0, + data: JSON.parse(t) + }) : a.runWith({ + success: !0, + data: t + })) + }), + r.once(Laya.Event.ERROR, this, function(t) { + console.log("httpload加载" + e + "失败"), + a && a.runWith({ + success: !1 + }) + }); + var s = t.ResourceVersion.formatURL(e) + , o = []; + n && (o.push("If-Modified-Since"), + o.push("0"), + s += "?randv=" + Math.floor(1e8 * Math.random()).toString() + Math.floor(1e8 * Math.random()).toString()); + var l = "text"; + switch (i) { + case "json": + l = "text"; + break; + case "arraybuffer": + l = "arraybuffer" + } + r.send(s, "", "get", l, o) + } + , + i.setImgSkin = function(e, i) { + var n = this; + if (i.indexOf("extendRes") >= 0) { + "" != (a = this.getResImageSkin(i)) && null != a ? (e.skin = a, + this.clearImgSkin(e)) : (e.skin = "", + this.clearImgSkin(e), + this._waiting_load_img_skins.push({ + img: e, + src: i + }), + this.loadResImage([i], Laya.Handler.create(this, function() { + for (var t = 0; t < n._waiting_load_img_skins.length; t++) + if (n._waiting_load_img_skins[t].img === e && n._waiting_load_img_skins[t].src == i) { + e.skin = n.getResImageSkin(i), + n._waiting_load_img_skins[t] = n._waiting_load_img_skins[n._waiting_load_img_skins.length - 1], + n._waiting_load_img_skins.pop(); + break + } + }))) + } else { + i = t.Tools.localUISrc(i); + var a = Laya.loader.getRes(i); + a ? (e.skin = i, + this.clearImgSkin(e)) : (e.skin = "", + this.clearImgSkin(e), + this._waiting_load_img_skins.push({ + img: e, + src: i + }), + Laya.loader.load(i, Laya.Handler.create(this, function() { + for (var t = 0; t < n._waiting_load_img_skins.length; t++) + if (n._waiting_load_img_skins[t].img === e && n._waiting_load_img_skins[t].src == i) { + e.skin = i, + n._waiting_load_img_skins[t] = n._waiting_load_img_skins[n._waiting_load_img_skins.length - 1], + n._waiting_load_img_skins.pop(); + break + } + }))) + } + } + , + i.clearImgSkin = function(t) { + for (var e = 0; e < this._waiting_load_img_skins.length; e++) + if (this._waiting_load_img_skins[e].img === t) { + this._waiting_load_img_skins[e] = this._waiting_load_img_skins[this._waiting_load_img_skins.length - 1], + this._waiting_load_img_skins.pop(); + break + } + } + , + i._items = [], + i._resimage = {}, + i._res_config = null, + i._waiting_load_img_skins = [], + i + }(); + t.LoadMgr = i +}(game || (game = {})); +var game; +!function(t) { + t.stardust_id = 302004; + !function(t) { + t[t.desktop = 1] = "desktop", + t[t.mjp = 2] = "mjp", + t[t.lobby_bg = 3] = "lobby_bg" + }(t.ECommonView || (t.ECommonView = {})); + var e; + !function(t) { + t[t.liqibang = 0] = "liqibang", + t[t.hupai_effect = 1] = "hupai_effect", + t[t.lizhi_effect = 2] = "lizhi_effect", + t[t.hand_model = 3] = "hand_model", + t[t.lizhi_bgm = 4] = "lizhi_bgm", + t[t.head_frame = 5] = "head_frame", + t[t.desktop = 6] = "desktop", + t[t.mjp = 7] = "mjp", + t[t.lobby_bg = 8] = "lobby_bg", + t[t.mingpai_zhishi = 10] = "mingpai_zhishi" + }(e = t.EView || (t.EView = {})); + var i; + !function(t) { + t[t.none = 0] = "none", + t[t.currency = 1] = "currency", + t[t.character = 2] = "character", + t[t.item = 3] = "item", + t[t.skin = 4] = "skin", + t[t.title = 5] = "title" + }(i = t.EIDType || (t.EIDType = {})); + !function(t) { + t[t.user_xieyi = 1] = "user_xieyi" + }(t.EAccountSetKey || (t.EAccountSetKey = {})); + var n = function() { + function t() {} + return t.get_default_ai_character = function() { + return 200001 + } + , + t.get_default_ai_skin = function() { + return 400101 + } + , + t.get_view_default_item_id = function(t) { + return this.view_default_item[t] + } + , + t.get_view_id = function(t) { + var e = uiscript.UI_Sushe.commonViewList[uiscript.UI_Sushe.using_commonview_index]; + if (e) + for (var i = 0; i < e.length; i++) + if (e[i].slot == t) { + if (e[i].item_id) + return e[i].item_id; + break + } + return this.get_view_default_item_id(t) + } + , + t.get_view_res_name = function(t) { + var i = cfg.item_definition.view.get(this.get_view_id(t)); + if (i) + return t == e.mjp && view.DesktopMgr.en_mjp ? i.res_name + "_0" : i.res_name; + switch (t) { + case e.desktop: + return "tablecloth_default"; + case e.mjp: + return view.DesktopMgr.en_mjp ? "mjp_default_0" : "mjp_default"; + case e.mingpai_zhishi: + return "mpzs_default" + } + return "default" + } + , + t.get_id_type = function(t) { + var e = Math.floor(t / 1e4); + return 10 == e ? i.currency : 20 == e ? i.character : 30 == e ? i.item : 40 == e ? i.skin : 60 == e ? i.title : i.none + } + , + t.get_item_view = function(t) { + var e = "" + , n = "" + , a = ""; + switch (this.get_id_type(t)) { + case i.currency: + var r = cfg.item_definition.currency.get(t); + r && (e = r["name_" + GameMgr.client_language], + n = r.icon, + a = r["desc_" + GameMgr.client_language]); + break; + case i.character: + var s = cfg.item_definition.character.get(t); + s && (e = s["name_" + GameMgr.client_language], + n = cfg.item_definition.skin.get(s.init_skin).path + "/bighead.png", + a = s["desc_item_" + GameMgr.client_language]); + break; + case i.item: + var o = cfg.item_definition.item.get(t); + o && (e = o["name_" + GameMgr.client_language], + n = o.icon, + a = o["desc_" + GameMgr.client_language]); + break; + case i.skin: + var l = cfg.item_definition.skin.get(t); + l && (e = l["name_" + GameMgr.client_language], + n = l.path + "/bighead.png", + a = l["desc_" + GameMgr.client_language]); + break; + case i.title: + var h = cfg.item_definition.title.get(t); + h && (e = h["name_" + GameMgr.client_language], + n = h.icon_item, + a = h["desc_" + GameMgr.client_language]) + } + return { + name: e, + icon: n, + desc: a + } + } + , + t.item_owned = function(t) { + var e = this.get_id_type(t); + if (e == i.character) { + if (a = uiscript.UI_Sushe.characters) + for (r = 0; r < a.length; r++) + if (a[r] && a[r].charid == t) + return !0 + } else if (e == i.item) { + var n = cfg.item_definition.item.get(t); + if (n && (4 == n.category || 5 == n.category)) { + if (uiscript.UI_Bag.get_item_count(t) > 0) + return !0 + } + } else { + if (e == i.skin) + return uiscript.UI_Sushe.skin_owned(t); + if (e == i.title) { + var a = uiscript.UI_TitleBook.owned_title; + if (a) + for (var r = 0; r < a.length; r++) + if (a[r] == t) + return !0 + } + } + return !1 + } + , + t.view_default_item = [0, 0, 0, 0, 0, 305501, 305044, 305045, 307001, 0, 0], + t + }(); + t.GameUtility = n +}(game || (game = {})); +var game; +!function(t) { + var e = function() { + function e(i, n, a, r) { + this.destoryed = !1, + this.target = i, + this.destoryed = !1, + this.pos_offset = a, + this.scale = r, + this.effect = new t.EffectBase(n), + e.effects.push(this), + this._update() + } + return e.regist = function(t) { + e.effects.push(t) + } + , + e.update = function() { + for (var t = 0, e = 0; e < this.effects.length; e++) + this.effects[e].destoryed || (this.effects[e]._update(), + this.effects[t++] = this.effects[e]); + for (e = this.effects.length - t; e > 0; e--) + this.effects.pop() + } + , + e.prototype._update = function() { + if (!this.destoryed && this.target) { + var t = uiscript.UIMgr.Inst.getWorldPosition(this.target, this.pos_offset); + t.x = t.x - .5, + t.y = .5 - t.y, + this.effect && this.effect.root && (this.effect.root.transform.localPosition = new Laya.Vector3(t.x * i.scene_width,t.y * i.scene_height,0), + 0 != this.scale ? this.effect.root.transform.localScale = new Laya.Vector3(this.target.scaleX * this.scale,this.target.scaleY * this.scale,1) : this.effect.root.transform.localScale = new Laya.Vector3(1,1,1)) + } + } + , + e.prototype.destory = function() { + this.destoryed || (this.destoryed = !0, + this.effect.destroy()) + } + , + e.effects = [], + e + }(); + t.UIEffect = e; + var i = function() { + function i() { + this._scene_click_effect = null, + this._root_click_effect = null, + this._scene_ui_effect = null, + this._root_ui_effect = null, + this._container_preheat_click_effect = null, + this._effect_click_path = "", + this._effect_click = null, + this._click_audio = 0, + this._effects = {} + } + return Object.defineProperty(i.prototype, "root_click_effect", { + get: function() { + return this._root_click_effect + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i.prototype, "root_ui_effect", { + get: function() { + return this._root_ui_effect + }, + enumerable: !0, + configurable: !0 + }), + i.init = function() { + (i.Inst = new i)._init(), + Laya.timer.frameLoop(1, this, function() { + e.update() + }) + } + , + i.prototype._init = function() { + this._scene_click_effect = Laya.loader.getRes(i.scene_click_effect_path), + GameMgr.Inst.root_front_effect.addChild(this._scene_click_effect), + this._root_click_effect = this._scene_click_effect.getChildByName("root"), + this._container_preheat_click_effect = this._scene_click_effect.getChildByName("contianer_preheat"), + this._effect_click = this._container_preheat_click_effect.getChildByName("effect_click"), + this._scene_click_effect.visible = !0, + Laya.stage.on(Laya.Event.MOUSE_DOWN, this, this.bangClickEffect), + this.SetClickEffectByLobby(t.GameUtility.get_view_id(t.EView.lobby_bg)), + this._scene_ui_effect = Laya.loader.getRes(i.scene_ui_effect_path), + this._root_ui_effect = this._scene_ui_effect.getChildByName("root"), + GameMgr.Inst.root_front_scene_effect.addChild(this._scene_ui_effect), + this._scene_ui_effect.visible = !0 + } + , + i.prototype.SetClickEffectByLobby = function(t, e) { + var i = "scene/effect_click_default.lh"; + this._click_audio = 103, + 307003 == t && (i = "scene/effect_click_xuehua.lh"), + this.SetClickEffect(i, e) + } + , + i.prototype.SetClickEffect = function(t, e) { + var i = this; + if (t != this._effect_click_path) { + if ("" != this._effect_click_path) { + this._effect_click && this._effect_click.destroy(!0); + var n = Laya.loader.getRes(this._effect_click_path); + n && n.destoryed && n.destroy(!0), + this._effect_click_path = "" + } + this._effect_click = null, + this._effect_click_path = t, + Laya.loader.create([this._effect_click_path], Laya.Handler.create(this, function() { + i._effect_click = Laya.loader.getRes(i._effect_click_path), + i._effect_click ? (i._container_preheat_click_effect.addChild(i._effect_click), + i._effect_click.active = !0, + Laya.timer.once(1e3, i, function() { + i._effect_click && (i._effect_click.active = !1), + e && e.runWith(!0) + })) : (app.Log.Error("加载点击特效" + i._effect_click_path + "失败"), + e && e.runWith(!1)) + })) + } else + e && e.runWith(!0) + } + , + i.prototype.bangClickEffect = function() { + if (this._effect_click && !this._effect_click.destroyed) { + var e = Laya.MouseManager.instance.mouseX + , n = Laya.MouseManager.instance.mouseY; + (!t.Scene_MJ.Inst.active || uiscript.UI_GameEnd.Inst && uiscript.UI_GameEnd.Inst.enable) && view.AudioMgr.PlayAudio(this._click_audio); + var a = 0 + , r = 0; + Laya.Browser.width / 1920 < Laya.Browser.height / 1080 ? r = (Laya.Browser.height - Laya.Browser.width / 1920 * 1080) / 2 : a = (Laya.Browser.width - Laya.Browser.height / 1080 * 1920) / 2; + var s = e / (Laya.Browser.width - 2 * a) * i.scene_width - i.scene_width / 2 + , o = i.scene_height - n / (Laya.Browser.height - 2 * r) * i.scene_height - i.scene_height / 2 + , l = this._effect_click.clone(); + this._root_click_effect.addChild(l), + l.active = !1, + l.active = !0, + l.transform.localPosition = new Laya.Vector3(s,o,1), + Laya.timer.once(1500, this, function() { + l.destroy(!0) + }) + } + } + , + i.prototype.create_ui_effect = function(t, i, n, a) { + var r = new e(t,i,n,a); + return this._root_ui_effect.addChild(r.effect.root), + r + } + , + i.Inst = null, + i.scene_click_effect_path = "scene/scene_click_effect.ls", + i.scene_ui_effect_path = "scene/scene_ui_effect.ls", + i.scene_width = 32, + i.scene_height = 18, + i + }(); + t.FrontEffect = i +}(game || (game = {})); +var game; +!function(t) { + !function(t) { + t[t.none = 0] = "none", + t[t.room_invite = 1] = "room_invite" + }(t.EFriendMsgType || (t.EFriendMsgType = {})); + var e = function() { + function t() {} + return t.init = function() { + var t = this; + this._friend_list = [], + app.NetAgent.sendReq2Lobby("Lobby", "fetchFriendList", {}, function(e, i) { + if (e) + app.Log.log("获取好友列表时发生错误:" + e); + else if (i.error) + app.Log.log("获取好友列表时发生错误,错误码:" + i.error.code); + else { + if (app.Log.log(JSON.stringify(i)), + i.friends) + for (var n = 0; n < i.friends.length; n++) { + var a = i.friends[n]; + t._friend_list.push(a) + } + t.friend_max_count = i.friend_max_count + } + }), + this._friendapply_list = [], + app.NetAgent.sendReq2Lobby("Lobby", "fetchFriendApplyList", {}, function(e, i) { + if (e || i.error) + app.Log.log("获取好友申请列表发生错误"); + else if (app.Log.log(JSON.stringify(i)), + i.applies) + for (var n = 0; n < i.applies.length; n++) + t._friendapply_list.push(i.applies[n]) + }), + app.NetAgent.AddListener2Lobby("NotifyFriendViewChange", Laya.Handler.create(this, this._onFriendViewChange, null, !1)), + app.NetAgent.AddListener2Lobby("NotifyFriendStateChange", Laya.Handler.create(this, this._onFriendStateChange, null, !1)), + app.NetAgent.AddListener2Lobby("NotifyFriendChange", Laya.Handler.create(this, this._onFriendChange, null, !1)), + app.NetAgent.AddListener2Lobby("NotifyNewFriendApply", Laya.Handler.create(this, this._onFriendApplyChange, null, !1)) + } + , + Object.defineProperty(t, "friend_list", { + get: function() { + return this._friend_list + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t, "friendapply_list", { + get: function() { + return this._friendapply_list + }, + enumerable: !0, + configurable: !0 + }), + t.find = function(t) { + for (var e = 0; e < this._friend_list.length; e++) + if (this._friend_list[e].base.account_id == t) + return this._friend_list[e]; + return null + } + , + t._onFriendStateChange = function(t) { + app.Log.log(JSON.stringify(t)); + var e = this.find(t.target_id); + null != e ? (t = t.active_state) && (null != t.login_time && void 0 != t.login_time && (e.state.login_time = t.login_time), + null != t.logout_time && void 0 != t.logout_time && (e.state.logout_time = t.logout_time), + e.state.playing = t.playing, + null != t.is_online && void 0 != t.is_online && (e.state.is_online = t.is_online), + this.triggerMsg({ + type: "singlechange", + account_id: e.base.account_id + })) : app.Log.Error("收到并非好友的人的信息:" + JSON.stringify(t)) + } + , + t._onFriendViewChange = function(t) { + var e = this.find(t.target_id); + null != e ? (null != t.base.avatar_id && void 0 != t.base.avatar_id && (e.base.avatar_id = t.base.avatar_id), + null != t.base.title && void 0 != t.base.title && (e.base.title = t.base.title), + null != t.base.nickname && void 0 != t.base.nickname && (e.base.nickname = t.base.nickname), + null != t.base.verified && void 0 != t.base.verified && (e.base.verified = t.base.verified), + null != t.base.level && void 0 != t.base.level && (e.base.level = t.base.level), + null != t.base.level3 && void 0 != t.base.level3 && (e.base.level3 = t.base.level3), + null != t.base.avatar_frame && void 0 != t.base.avatar_frame && (e.base.avatar_frame = t.base.avatar_frame), + this.triggerMsg({ + type: "singlechange", + account_id: e.base.account_id + })) : app.Log.Error("收到并非好友的人的信息:" + JSON.stringify(t)) + } + , + t.addListener = function(t) { + this.removeListener(t), + this._listener.push(t) + } + , + t.removeListener = function(t) { + for (var e = 0; e < this._listener.length; e++) + if (this._listener[e] === t) { + this._listener[e] = this._listener[this._listener.length - 1], + this._listener.pop(); + break + } + } + , + t.triggerMsg = function(t) { + for (var e = 0; e < this._listener.length; e++) + this._listener[e] && this._listener[e].runWith(t) + } + , + t.removeFriend = function(t) { + for (var e = 0; e < this._friend_list.length; e++) + if (this._friend_list[e].base.account_id == t) { + for (var i = e; i < this._friend_list.length - 1; i++) + this._friend_list[i] = this._friend_list[i + 1]; + this._friend_list.pop(); + break + } + } + , + t._onFriendChange = function(t) { + var e = t.account_id; + 1 == t.type ? this.find(e) || this.friend_list.push(t.friend) : 2 == t.type && this.removeFriend(e), + this.triggerMsg({ + type: "listchange" + }) + } + , + t._onFriendApplyChange = function(t) { + for (e = 0; e < this._friendapply_list.length; e++) + if (this._friendapply_list[e].account_id == t.account_id) + return void (this._friendapply_list[e].apply_time = t.apply_time); + if (this._friendapply_list.push({ + account_id: t.account_id, + apply_time: t.apply_time + }), + t.removed_id) + for (var e = 0; e < this._friendapply_list.length; e++) + if (this._friendapply_list[e].account_id == t.removed_id) { + for (var i = 0; i < this._friendapply_list.length - 1; i++) + this._friendapply_list[i] = this._friendapply_list[i + 1]; + this._friendapply_list.pop(); + break + } + } + , + t.delFriendApply = function(t) { + for (var e = 0; e < this._friendapply_list.length; e++) + if (this._friendapply_list[e].account_id == t) { + for (var i = e; i < this._friendapply_list.length - 1; i++) + this._friendapply_list[i] = this._friendapply_list[i + 1]; + this._friendapply_list.pop(); + break + } + } + , + t._friend_list = [], + t._listener = [], + t._friendapply_list = [], + t.friend_max_count = 0, + t + }(); + t.FriendMgr = e +}(game || (game = {})); +var game; +!function(t) { + var e = function() { + function t() {} + return t.add_refrence = function(t, e) { + this._refrence_map[t] || (this._refrence_map[t] = []), + this._refrence_map[t].push(e) + } + , + t.remove_refrence = function(t, e) { + var i = this._refrence_map[t]; + if (i && 0 != i.length) { + for (var n = [], a = !1, r = 0; r < i.length; r++) { + var s = i[r]; + a || s != e ? n.push(s) : a = !0 + } + if (a) { + if (this._refrence_map[t] = n, + 0 == n.length) { + var o = Laya.loader.getRes(t); + o && (o.clearTexture ? o.clearTexture() : o.dispose()), + Laya.loader.clearRes(t) + } + } else + console.log("资源并未记录2, assetUrl:" + t + ", effectUrl:" + e) + } else + console.log("资源并未记录1, assetUrl:" + t + ", effectUrl:" + e) + } + , + t.get_count = function(t) { + var e = this._refrence_map[t]; + return e ? e.length : 0 + } + , + t._refrence_map = {}, + t + }() + , i = function() { + function t(t) { + var e = this; + this._loaded = !1, + this._destroyed = !1, + this._root = null, + this._effect = null, + this._when_loaded = null, + this.url = t, + this._loaded = !1, + this._destroyed = !1, + this._root = new Laya.Sprite3D, + this._root.active = !0; + var i = this; + this._root.on("undisplay", this, function() { + i._root.destroyed && (i._destroyed || i.destroy()) + }), + n.try2get_effect(t, Laya.Handler.create(this, function(t) { + null == e._root || e._root.destroyed || e._destroyed ? (t.destroy(!0), + n.on_effectbase_destory(e.url, t)) : (e._loaded = !0, + t && t instanceof Laya.Sprite3D && (e._effect = t, + e._root.addChild(e._effect), + e._effect.transform.localPosition = new Laya.Vector3(0,0,0), + e._effect.active = !0), + null != e._when_loaded && e._when_loaded.run()) + })) + } + return Object.defineProperty(t.prototype, "loaded", { + get: function() { + return this._loaded + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "destroyed", { + get: function() { + return this._destroyed + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "root", { + get: function() { + return this._root + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "effect_root", { + get: function() { + return this._effect + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.addLoadedListener = function(t) { + this.loaded ? t.run() : this._when_loaded = t + } + , + t.prototype.destroy = function() { + this._destroyed || (this._destroyed = !0, + this._root && !this._root.destroyed && this._root.destroy(!0), + this._loaded && (this._effect.destroy(!0), + n.on_effectbase_destory(this.url, this._effect))) + } + , + t.prototype.clone = function() { + return new t(this.url) + } + , + t + }(); + t.EffectBase = i; + var n = function() { + function t() {} + return t.init = function(t) { + var i = this; + Laya.loader.load("d3_prefab.json", Laya.Handler.create(this, function() { + i.d3res_map = Laya.loader.getRes("d3_prefab.json"); + for (var n = i.d3res_map.eternal_res, a = 0; a < n.length; a++) { + var r = n[a]; + e.add_refrence(r, "eternal_res") + } + t && t.run() + })) + } + , + t.try2get_effect = function(t, i) { + var n = this; + if (this._effect_status.hasOwnProperty(t) && 0 != this._effect_status[t].status || (this._effect_status[t] = { + status: 0, + count: 0, + listeners: [], + gameObjects: [] + }), + 0 == this._effect_status[t].status) { + if (this._effect_status[t].listeners.push(i), + this._effect_status[t].status = 1, + this.d3res_map.hasOwnProperty(t)) + for (var a = this.d3res_map[t], r = 0; r < a.length; r++) + e.add_refrence(a[r], t); + Laya.loader.create(t, Laya.Handler.create(this, function() { + n._effect_status[t].status = 2; + var e = Laya.loader.getRes(t); + e.active = !1; + var i = []; + i.push(e); + for (a = 1; a < n._effect_status[t].listeners.length; a++) + i.push(e.clone()); + n._effect_status[t].gameObjects = i; + for (var a = 0; a < n._effect_status[t].listeners.length; a++) + n._effect_status[t].listeners[a].runWith(i[a]); + n._effect_status[t].listeners = [] + }), null, null, [], 0) + } else if (1 == this._effect_status[t].status) + this._effect_status[t].listeners.push(i); + else if (0 == this._effect_status[t].gameObjects.length) + this._effect_status[t].status = 0, + this.try2get_effect(t, i); + else { + var s = this._effect_status[t].gameObjects[0].clone(); + this._effect_status[t].gameObjects.push(s), + i.runWith(s) + } + } + , + t.on_effectbase_destory = function(t, i) { + if (this._effect_status.hasOwnProperty(t)) { + for (var n = [], a = this._effect_status[t].gameObjects, r = 0; r < a.length; r++) { + var s = a[r]; + s && !s.destroyed && (s === i ? s.destroy(!0) : n.push(s)) + } + if (n.length <= 0) { + if (this._effect_status[t].status = 0, + this.d3res_map.hasOwnProperty(t)) + for (var o = this.d3res_map[t], l = 0; l < o.length; l++) + e.remove_refrence(o[l], t) + } else + this._effect_status[t].gameObjects = n + } + } + , + t.force_dispose_3d_res = function(t) { + for (var e = this.d3res_map[t], i = 0; i < e.length; i++) { + var n = Laya.loader.getRes(e[i]); + n && n.dispose() + } + } + , + t.preheat_3d_effect = function(t, i, n, a, r) { + for (var s = [], o = {}, l = 0; l < t.length; l++) { + var h = t[l]; + if (!o[h] && (o[h] = 1, + s.push(h), + this.d3res_map.hasOwnProperty(h))) + for (var c = this.d3res_map[h], _ = 0; _ < c.length; _++) { + var u = c[_]; + e.add_refrence(u, h) + } + } + this._prehead_3d_effect(s, i, n, a, r) + } + , + t._prehead_3d_effect = function(t, i, n, a, r) { + var s = this; + if (0 == t.length) + return r && r.runWith(1), + void (a && a.run()); + var o = 0 + , l = n ? 8 : 5; + r && r.runWith(0); + var h = function() { + if (o >= t.length) { + for (f = 0; f < t.length; f++) { + var c = t[f]; + if (s.d3res_map.hasOwnProperty(c)) + for (var _ = s.d3res_map[c], u = 0; u < _.length; u++) + e.remove_refrence(_[u], c) + } + return r && r.runWith(1), + void (a && a.run()) + } + r && r.runWith(o / t.length); + for (var d = [], f = 0; f < l && o < t.length; f++) + d.push(t[o++]); + Laya.loader.create(d, Laya.Handler.create(s, function() { + Laya.timer.frameOnce(1, s, function() { + for (var t = function(t) { + var e = d[t].url + , a = Laya.loader.getRes(e); + if (a) + i.addChild(a), + a.transform.position = n ? new Laya.Vector3(1e4,1e4,1e4) : new Laya.Vector3(0,0,0), + a.active = !0, + Laya.timer.frameOnce(50, s, function() { + var t = Laya.loader.getRes(e); + t && t.destroy(!0) + }); + else { + var r = {}; + r.error = "preheart effect url:" + e + " =null", + r.stack = "", + r.method = "_prehead_3d_effect", + r.name = "_prehead_3d_effect", + GameMgr.Inst.onFatalError(r, !1) + } + }, e = 0; e < d.length; e++) + t(e); + Laya.timer.frameOnce(10, s, function() { + h() + }) + }) + })) + }; + h() + } + , + t.clear_3d_resource = function(t) { + if (this.d3res_map.hasOwnProperty(t)) + for (var i = this.d3res_map[t], n = 0; n < i.length; n++) { + var a = i[n]; + if (0 == e.get_count(a)) { + var r = Laya.loader.getRes(a); + r && (r.clearTexture ? r.clearTexture() : r.dispose()) + } + } + } + , + t.d3res_map = null, + t._effect_status = {}, + t + }(); + t.EffectMgr = n +}(game || (game = {})); +var game; +!function(t) { + var e = function() { + function e() {} + return e.login = function() { + var t = new Laya.HttpRequest; + t.once(Laya.Event.COMPLETE, this, function(t) { + var e = JSON.parse(t); + Laya.Browser.window.location.href = "http://www.dmm.com/netgame/channeling/-/login/index/?p=" + e.parameter + }), + t.once(Laya.Event.ERROR, this, function(t) { + uiscript.UI_Entrance.Inst.showError("prelogin not found") + }), + t.send(GameMgr.config_data.system_email_url + "/api/user/dmm_pre_login", "finish_url=" + GameMgr.Inst.link_url, "post") + } + , + e.recharge = function(e) { + var i = this; + uiscript.UI_Lite_Loading.Inst.show(), + app.NetAgent.sendReq2Lobby("Lobby", "createDMMOrder", { + goods_id: e, + client_type: 0, + account_id: GameMgr.Inst.account_id + }, function(n, a) { + if (n || a.error) + uiscript.UI_Lite_Loading.Inst.close(), + uiscript.UIMgr.Inst.showNetReqError("createDMMOrder", n, a); + else { + for (var r = cfg.mall.product.getGroup(70), s = 0, o = "", l = 0; l < r.length; l++) + r[l].goods_id == e && (s = r[l].currency_price, + o = 2 == r[l].product_type ? cfg.mall.month_ticket.get(e).name : cfg.mall.goods.get(e).name); + for (var h = GameMgr.Inst.link_url, c = -1, l = h.length - 1; l >= 0; l--) + if ("/" == h[l]) { + c = l; + break + } + -1 != c && (h = h.substr(0, c) + "/close.html"); + var _ = { + transaction_id: a.transaction_id, + dmm_app_id: a.dmm_app_id, + dmm_user_id: a.dmm_user_id, + token: a.token, + order_id: a.order_id, + callback_url: a.callback_url, + finishpage_url: h, + request_time: a.request_time, + item_id: e, + item_name: o, + unit_price: s / 1e3, + quantity: 1, + is_test: 0 + }; + t.Tools.formPost("http://www.dmm.com/netgame/channeling/-/item/index/", _, !1), + Laya.timer.once(1e3, i, function() { + uiscript.UI_Lite_Loading.Inst.close() + }) + } + }) + } + , + e + }(); + t.DmmSDK = e +}(game || (game = {})); +var mjcore; +!function(t) { + var e; + !function(t) { + t[t.p = 0] = "p", + t[t.m = 1] = "m", + t[t.s = 2] = "s", + t[t.z = 3] = "z" + }(e = t.E_MJPai || (t.E_MJPai = {})); + var i = function() { + function t() {} + return t.prototype.IsZ = function() { + return this.type == e.z + } + , + t.prototype.IsLaoTou = function() { + return this.type != e.z && (1 == this.index || 9 == this.index) + } + , + t.prototype.IsYao = function() { + return this.IsZ() || this.IsLaoTou() + } + , + t.prototype.IsSiXi = function() { + return this.IsZ() && this.index >= 1 && this.index <= 4 + } + , + t.prototype.IsSanYan = function() { + return this.IsZ() && this.index >= 5 && this.index <= 7 + } + , + t.prototype.Clone = function() { + var e = new t; + return e.type = this.type, + e.index = this.index, + e.dora = this.dora, + e + } + , + t.prototype.numValue = function() { + var t = 0; + switch (this.type) { + case e.m: + t = this.index; + break; + case e.p: + t = 1e4 + this.index; + break; + case e.s: + t = 2e4 + this.index; + break; + case e.z: + t = 3e4 + 10 * this.index + } + return t + } + , + t.Create = function(i) { + var n = new t; + switch ("0" == i.charAt(0) ? (n.dora = !0, + n.index = 5) : (n.dora = !1, + n.index = +i.charAt(0)), + i.charAt(1)) { + case "z": + n.type = e.z; + break; + case "m": + n.type = e.m; + break; + case "s": + n.type = e.s; + break; + case "p": + n.type = e.p + } + return n + } + , + t.RandomCreate = function() { + var i = new t + , n = Math.random(); + return n < .22 ? (i.type = e.z, + i.index = Math.floor(7 * Math.random()) + 1) : (i.type = n < .48 ? e.p : n < .74 ? e.s : e.m, + i.index = Math.floor(9 * Math.random()) + 1), + i + } + , + t.isSame = function(t, e) { + return t.type == e.type && t.index == e.index && t.dora == e.dora + } + , + t.Distance = function(t, e) { + return t.numValue() - e.numValue() + } + , + t.DoraMet = function(t, i) { + if (t.type != i.type) + return !1; + var n = i.index + 1; + return view.DesktopMgr.Inst.rule_mode == view.ERuleMode.Liqi4 ? i.type == e.z ? i.index <= 4 ? 5 == n && (n = 1) : 8 == n && (n = 5) : 10 == n && (n = 1) : view.DesktopMgr.Inst.rule_mode == view.ERuleMode.Liqi3 && (i.type == e.z ? i.index <= 4 ? 5 == n && (n = 1) : 8 == n && (n = 5) : i.type == e.s || i.type == e.p ? 10 == n && (n = 1) : (10 == n && (n = 1), + 2 == n && (n = 9))), + n == t.index + } + , + t.prototype.toString = function() { + var t = this.dora ? "0" : this.index.toString(); + switch (this.type) { + case e.m: + t += "m"; + break; + case e.p: + t += "p"; + break; + case e.s: + t += "s"; + break; + default: + t += "z" + } + return t + } + , + t + }(); + t.MJPai = i; + var n = function() { + return function() {} + }(); + t.MJQiPai = n; + var a; + !function(t) { + t[t.shunzi = 0] = "shunzi", + t[t.kezi = 1] = "kezi", + t[t.gang_ming = 2] = "gang_ming", + t[t.gang_an = 3] = "gang_an", + t[t.babei = 4] = "babei" + }(a = t.E_Ming || (t.E_Ming = {})); + var r = function() { + function t() { + this.pais = [], + this.from = [] + } + return t.prototype.Clone = function() { + var e = new t; + e.type = this.type, + e.pais = []; + for (i = 0; i < this.pais.length; i++) + e.pais.push(this.pais[i].Clone()); + e.from = []; + for (var i = 0; i < this.from.length; i++) + e.from.push(this.from[i]); + return e + } + , + t.prototype.toString = function() { + var t = ""; + switch (this.type) { + case a.shunzi: + t += "shunzi("; + break; + case a.kezi: + t += "kezi("; + break; + case a.gang_ming: + t += "minggang("; + break; + case a.gang_an: + t += "angang("; + break; + case a.babei: + t += "babei(" + } + for (var e = 0; e < this.pais.length; e++) + 0 != e && (t += ","), + t += this.pais[e].toString(); + return t += ")" + } + , + t + }(); + t.MJMing = r; + !function(t) { + t[t.none = 0] = "none", + t[t.dapai = 1] = "dapai", + t[t.eat = 2] = "eat", + t[t.peng = 3] = "peng", + t[t.an_gang = 4] = "an_gang", + t[t.ming_gang = 5] = "ming_gang", + t[t.add_gang = 6] = "add_gang", + t[t.liqi = 7] = "liqi", + t[t.zimo = 8] = "zimo", + t[t.rong = 9] = "rong", + t[t.jiuzhongjiupai = 10] = "jiuzhongjiupai", + t[t.babei = 11] = "babei" + }(t.E_PlayOperation || (t.E_PlayOperation = {})); + !function(t) { + t[t.none = 0] = "none", + t[t.jiuzhongjiupai = 1] = "jiuzhongjiupai", + t[t.sifenglianda = 2] = "sifenglianda", + t[t.sigangsanle = 3] = "sigangsanle", + t[t.sijializhi = 4] = "sijializhi", + t[t.sanjiahule = 5] = "sanjiahule" + }(t.E_LiuJu || (t.E_LiuJu = {})); + !function(t) { + t[t.liuju = 0] = "liuju", + t[t.shaoji = 1] = "shaoji", + t[t.zimo = 2] = "zimo", + t[t.rong = 3] = "rong", + t[t.fangchong = 4] = "fangchong", + t[t.beizimo = 5] = "beizimo" + }(t.E_Round_Result || (t.E_Round_Result = {})); + !function(t) { + t[t.E_Dadian_Title_none = 0] = "E_Dadian_Title_none", + t[t.E_Dadian_Title_manguan = 1] = "E_Dadian_Title_manguan", + t[t.E_Dadian_Title_tiaoman = 2] = "E_Dadian_Title_tiaoman", + t[t.E_Dadian_Title_beiman = 3] = "E_Dadian_Title_beiman", + t[t.E_Dadian_Title_sanbeiman = 4] = "E_Dadian_Title_sanbeiman", + t[t.E_Dadian_Title_yiman = 5] = "E_Dadian_Title_yiman", + t[t.E_Dadian_Title_yiman2 = 6] = "E_Dadian_Title_yiman2", + t[t.E_Dadian_Title_yiman3 = 7] = "E_Dadian_Title_yiman3", + t[t.E_Dadian_Title_yiman4 = 8] = "E_Dadian_Title_yiman4", + t[t.E_Dadian_Title_yiman5 = 9] = "E_Dadian_Title_yiman5", + t[t.E_Dadian_Title_yiman6 = 10] = "E_Dadian_Title_yiman6", + t[t.E_Dadian_Title_leijiyiman = 11] = "E_Dadian_Title_leijiyiman" + }(t.E_Dadian_Title || (t.E_Dadian_Title = {})) +}(mjcore || (mjcore = {})); +var game; +!function(t) { + var e = function() { + function t() {} + return t.prototype.recover_pre_order = function(t) { + return !1 + } + , + t.prototype.getGoodsInfo = function(t) { + return null + } + , + t.prototype.onGameStart = function() {} + , + t.prototype.want2BuyItem = function(t, e) {} + , + t + }(); + t.AppShop = e +}(game || (game = {})); +var app; +!function(t) { + var e = function() { + function t() {} + return t._init = function() { + if (null == this._tmpCookie) { + this._tmpCookie = {}; + for (var t = document.cookie.split(";"), e = 0; e < t.length; e++) { + var i = t[e].split("="); + if (i && i.length >= 2) { + for (var n = i[0]; " " == n.charAt(0); ) + n = n.substring(1); + this._tmpCookie[n] = i[1] + } + } + } + } + , + t.setCookie = function(t, e) { + this._init(); + new Date; + document.cookie = t + "=" + e + ";max-age=" + 2592e3.toString(), + this._tmpCookie[t] = e + } + , + t.getCookie = function(t) { + return this._init(), + this._tmpCookie.hasOwnProperty(t) ? this._tmpCookie[t] : "" + } + , + t._tmpCookie = null, + t + }(); + t.CookieMgr = e +}(app || (app = {})); +var lqc; +!function(t) { + function e(t, e) { + var i = new Error(e); + throw i.code = t, + i + } + var i = function() { + function t(t, e, i, n) { + var a = this; + this.table_ = t, + this.sheet_ = e, + this.rows_ = i || [], + this.map_ = {}, + this.minKey_ = null, + this.maxKey_ = null, + i.sort(function(t, e) { + return t[n] - e[n] + }), + i.length > 0 && (this.minKey_ = i[0][n], + this.maxKey_ = i[i.length - 1][n]), + i.forEach(function(t) { + var e = t[n]; + a.map_[e] = t + }) + } + return t.prototype.get = function(t) { + return this.map_[t] + } + , + t.prototype.find = function(t) { + return this.map_[t] || e("ERR_CONFIG_ROW_NOT_FIND", "[unique] " + this.table_ + "." + this.sheet_ + "#" + t), + this.map_[t] + } + , + t.prototype.forEach = function(t) { + this.rows_.forEach(t) + } + , + Object.defineProperty(t.prototype, "table", { + get: function() { + return this.table_ + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "sheet", { + get: function() { + return this.sheet_ + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "count", { + get: function() { + return this.rows_.length + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "minKey", { + get: function() { + return this.minKey_ + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "maxKey", { + get: function() { + return this.maxKey_ + }, + enumerable: !0, + configurable: !0 + }), + t + }(); + t.UniqueSheet = i; + var n = function() { + function t(t, e, i) { + this.table_ = t, + this.sheet_ = e, + this.rows_ = i || [] + } + return t.prototype.forEach = function(t) { + this.rows_.forEach(t) + } + , + Object.defineProperty(t.prototype, "table", { + get: function() { + return this.table_ + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "sheet", { + get: function() { + return this.sheet_ + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "count", { + get: function() { + return this.rows_.length + }, + enumerable: !0, + configurable: !0 + }), + t + }(); + t.NoKeySheet = n; + var a = function() { + function t(t, e, i, n) { + var a = this; + this.table_ = t, + this.sheet_ = e, + this.rows_ = i || [], + this.groups_ = {}, + this.rows_.forEach(function(t) { + var e = t[n]; + a.groups_[e] || (a.groups_[e] = []); + a.groups_[e].push(t) + }) + } + return t.prototype.getGroup = function(t) { + return this.groups_[t] + } + , + t.prototype.findGroup = function(t) { + return this.groups_[t] || e("ERR_CONFIG_ROW_NOT_FIND", "[unique] " + this.table_ + "." + this.sheet_ + "#" + t), + this.groups_[t] + } + , + t.prototype.forEach = function(t) { + this.rows_.forEach(t) + } + , + t.prototype.forEachGroup = function(t) { + var e = this; + Object.keys(this.groups_).forEach(function(i) { + t(e.groups_[i], i) + }) + } + , + Object.defineProperty(t.prototype, "table", { + get: function() { + return this.table_ + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "sheet", { + get: function() { + return this.sheet_ + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "count", { + get: function() { + return this.rows_.length + }, + enumerable: !0, + configurable: !0 + }), + t + }(); + t.GroupSheet = a; + var r = function() { + function t(t) { + this.value_ = t, + this.ref_ = null + } + return t.prototype.resolve = function(t) { + this.ref_ = t + } + , + Object.defineProperty(t.prototype, "value", { + get: function() { + return this.value_ + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "ref", { + get: function() { + return this.ref_ + }, + enumerable: !0, + configurable: !0 + }), + t + }(); + t.ReferenceField = r +}(lqc || (lqc = {})); +var cfg = function() { + function t() {} + return t.load = function(t) { + var e = this + , i = {}; + t.forEach(function(t) { + i[t.table] || (i[t.table] = {}); + var e = []; + t.rows.forEach(function(i) { + var n = {}; + t.header.forEach(function(t) { + n[t.field_name] = i[t.field_name] + }), + e.push(n) + }); + var n = null; + switch (t.meta.category) { + case "unique": + n = new lqc.UniqueSheet(t.table,t.sheet,e,t.meta.key); + break; + case "nokey": + n = new lqc.NoKeySheet(t.table,t.sheet,e); + break; + case "group": + n = new lqc.GroupSheet(t.table,t.sheet,e,t.meta.key); + break; + case "kv": + n = {}, + e.forEach(function(e) { + var i = e[t.meta.key]; + n[i] = e + }) + } + n && (i[t.table][t.sheet] = n) + }), + Object.keys(i).forEach(function(t) { + e[t] = i[t] + }) + } + , + t +}(), bin; +!function(t) { + var e = function() { + function t() {} + return t.prototype.mini_info = function() { + return { + table: this.table, + sheet: this.sheet, + meta: this.meta, + fields: this.fields.map(function(t) { + return { + field_name: t.field_name, + pb_type: t.pb_type, + array_length: t.array_length + } + }), + kvs: this.kvs + } + } + , + t + }() + , i = function() { + return function(t) { + this.name = t, + this.sheets = [] + } + }() + , n = function() { + return function(t) { + this.name = t, + this.sheets = {} + } + }() + , a = function() { + function t() { + this.root = new protobuf.Root, + this.schemas = [], + this.datas = [] + } + return t.pb_classname = function(t, e) { + return t + "_" + e + } + , + t.prototype.parseSync = function(a, r) { + this.root = protobuf.parse(a, { + keepCase: !0 + }).root; + for (var s = this.root.lookupType("lq.config.ConfigTables").decode(r), o = s.schemas, l = {}, h = 0, c = o; h < c.length; h++) + for (var _ = (O = c[h]).name, u = 0, d = O.sheets; u < d.length; u++) { + C = (F = d[u]).name; + l[S = t.pb_classname(_, C)] = F; + for (var f = new protobuf.Type(S), p = 0, m = F.fields; p < m.length; p++) { + var g = m[p] + , y = g.array_length > 0 ? "repeated" : "optional" + , v = new protobuf.Field(g.field_name,g.pb_index,g.pb_type,y); + f.add(v) + } + this.root.add(f) + } + for (var b = {}, w = 0, x = s.datas; w < x.length; w++) { + var I = x[w] + , _ = I.table + , C = I.sheet + , S = t.pb_classname(_, C); + if (f = this.root.lookupType(S)) { + if (l[S]) { + b[S] || (b[S] = []); + for (var M = 0, L = I.data; M < L.length; M++) { + var T = L[M]; + b[S].push(f.decode(T)) + } + } + } + } + for (var E = 0, D = o; E < D.length; E++) { + var _ = (O = D[E]).name + , N = new i(_); + this.schemas.push(N); + for (var A = function(i) { + var n = i.name + , a = t.pb_classname(_, n) + , r = new e; + if (r.table = _, + r.sheet = n, + r.meta = i.meta, + r.fields = i.fields.map(function(t) { + return { + field_name: t.field_name, + array_length: t.array_length, + pb_type: t.pb_type, + comment: null + } + }), + "kv" === r.meta.category) { + var s = b[a]; + s && (r.kvs = s.map(function(t) { + return t[r.meta.key] + })) + } + N.sheets.push(r) + }, B = 0, k = O.sheets; B < k.length; B++) { + A(F = k[B]) + } + } + for (var R = 0, P = o; R < P.length; R++) { + var O = P[R] + , _ = O.name + , N = new n(_); + this.datas.push(N); + for (var U = 0, V = O.sheets; U < V.length; U++) { + var F = V[U] + , C = F.name + , S = t.pb_classname(_, C); + N[C] = b[S] + } + } + } + , + t.prototype.exportSchema = function() { + return this.schemas + } + , + t.prototype.exportData = function() { + return this.datas + } + , + t + }(); + t.BinParser = a; + var r = function() { + function t(t, e) { + var i = this; + this.schema = {}, + this.data = {}, + t.forEach(function(t) { + i.schema[t.name] = t + }), + e.forEach(function(t) { + i.data[t.name] = t + }) + } + return t.prototype.toFormat = function() { + var t = this + , e = []; + return Object.keys(this.schema).forEach(function(i) { + var n = t.schema[i] + , a = t.data[i]; + a && n.sheets.forEach(function(t) { + var i = {}; + i.table = t.table, + i.sheet = t.sheet, + i.meta = t.meta, + i.header = t.fields.map(function(t) { + return { + field_name: t.field_name, + array_length: t.array_length, + pb_type: t.pb_type + } + }), + i.rows = a[t.sheet], + e.push(i) + }) + }), + e + } + , + t + }(); + t.TSDataFormat = r +}(bin || (bin = {})); +var capsui; +!function(t) { + var e = function() { + function t() { + this._data = null, + this._me = null, + this.active = !1 + } + return Object.defineProperty(t.prototype, "me", { + get: function() { + return this._me + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "owner", { + set: function(t) { + this._me = t + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "copydata", { + set: function(t) { + this._data = t + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.getNodeClone = function() { + var t = Laya.View.createComp(this._data); + return this.me.parent.addChild(t), + t + } + , + t + }(); + t.UICopy = e +}(capsui || (capsui = {})); +var capsui; +!function(t) { + var e = function() { + function t() {} + return t._dfs_idmap = function(t, e, i) { + if (e.compId && (i[e.compId] = t), + e.child) + for (var n = 0; n < e.child.length; n++) { + var a = e.child[n]; + if (a.props && a.props.name) { + var r = t.getChildByName(a.props.name); + r && this._dfs_idmap(r, a, i) + } + } + } + , + t.createFrameAnimation = function(t, e, i, n) { + var a = e; + if (!a.animations || 0 == a.animations.length) + return null; + var r = null; + if ("" == n) + r = a.animations[0]; + else + for (c = 0; c < a.animations.length; c++) + if (a.animations[c].name == n) { + r = a.animations[c]; + break + } + if (null == r) + return null; + var s = {} + , o = e; + if ("" != i) + for (var l = i.split("/"), h = 0; h < l.length; h++) { + if (!o.child) + return null; + for (var c = 0; c < o.child.length; c++) { + var _ = o.child[c]; + _.props && _.props.name && _.props.name == l[h] && (o = _) + } + } + this._dfs_idmap(t, o, s); + var u = new Laya.FrameAnimation; + return u._setUp(s, r), + u.stop(), + u + } + , + t + }(); + t.UIAnim = e +}(capsui || (capsui = {})); +var capsui; +!function(t) { + var e = function() { + function t(t, e) { + var i = this; + this.me = t, + this.render_page = e, + this.btn_left = this.me.getChildByName("btn_left"); + this.btn_left.clickHandler = Laya.Handler.create(this, function() { + i.change_page(i.current_index - 1, !1) + }, null, !1), + this.btn_right = this.me.getChildByName("btn_right"), + this.btn_right.clickHandler = Laya.Handler.create(this, function() { + i.change_page(i.current_index + 1, !1) + }, null, !1), + this.label_current_page = this.me.getChildByName("curr_page"), + this.btn_page = this.me.getChildByName("btn_page"), + this.btn_page.clickHandler = Laya.Handler.create(this, function() { + i.page_show_locking || i._show_page_choose() + }, null, !1), + this.container_pages = this.me.getChildByName("container_pages"), + this.container_pages.getChildByName("close").clickHandler = Laya.Handler.create(this, function() { + i.page_show_locking || i._close_page_choose() + }, null, !1), + this.scroll_pages = this.container_pages.getChildByName("bg").scriptMap["capsui.CScrollView"], + this.scroll_pages.init_scrollview(Laya.Handler.create(this, this._render_page_choose_item, null, !1)) + } + return t.prototype.reset = function() { + this.me.visible = !1, + this.container_pages.visible = !1, + this.scroll_pages.reset(), + this.btn_left.visible = !1, + this.btn_right.visible = !1, + this.btn_page.visible = !1, + this.page_show_locking = !1, + this.current_index = -1, + this.label_current_page.text = "" + } + , + t.prototype.set_total_page_count = function(t) { + this.total_count = t, + this.me.visible = this.total_count > 0, + this.btn_page.visible = this.total_count > 1, + this.btn_left.visible = this.current_index > 0, + this.btn_right.visible = this.current_index + 1 < this.total_count, + this.change_page(this.current_index, !1) + } + , + t.prototype.change_page = function(t, e) { + t >= this.total_count && (t = this.total_count - 1), + t < 0 && (t = 0), + (e || this.current_index != t) && (this.current_index = t, + this.btn_left.visible = this.current_index > 0, + this.btn_right.visible = this.current_index + 1 < this.total_count, + this.label_current_page.text = (this.current_index + 1).toString(), + this.render_page && this.render_page.runWith(t)) + } + , + t.prototype._show_page_choose = function() { + var t = this; + if (this.total_count <= 1) + this.page_show_locking = !1; + else { + this.container_pages.visible = !0, + this.scroll_pages.reset(), + this.scroll_pages.addItem(this.total_count); + var e = this.container_pages.getChildByName("bg") + , i = e.getChildByName("content"); + this.total_count <= 3 ? (i.height = 54 * this.total_count, + e.height = i.height, + e.y = this.container_pages.height - e.height) : (i.height = this.container_pages.height, + e.height = i.height, + e.y = 0), + e.alpha = 0, + Laya.Tween.to(e, { + alpha: 1 + }, 150), + Laya.timer.once(150, this, function() { + t.page_show_locking = !1 + }) + } + } + , + t.prototype._close_page_choose = function() { + var t = this + , e = this.container_pages.getChildByName("bg"); + Laya.Tween.to(e, { + alpha: 0 + }, 150), + this.page_show_locking = !0, + Laya.timer.once(150, this, function() { + t.page_show_locking = !1, + t.container_pages.visible = !1 + }) + } + , + t.prototype._render_page_choose_item = function(t) { + var e = this + , i = t.index + , n = t.container; + n.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + e.page_show_locking || (e.change_page(i, !1), + e._close_page_choose()) + }, null, !1), + n.getChildByName("page").text = (i + 1).toString() + } + , + t + }(); + t.PageController = e +}(capsui || (capsui = {})); +var capsui; +!function(t) { + var e = function() { + function t() { + this._data = null, + this._me = null, + this.items = [], + this.lines = [] + } + return Object.defineProperty(t.prototype, "locking", { + get: function() { + return this._locking + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "me", { + get: function() { + return this._me + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "owner", { + set: function(t) { + this._me = t, + Laya.timer.frameOnce(3, this, this.onCreate) + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "choosed_index", { + get: function() { + return this._choosed_index + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.onCreate = function() { + var t = this; + this.out = this.me.getChildByName("out"), + this.bg = this.me.getChildByName("bg"), + this.line = this.me.getChildByName("line"), + this.item_templete = this.me.getChildByName("templete"), + this.content = this.me.getChildByName("content"), + this.content.vScrollBarSkin = game.Tools.localUISrc("myres/vscroll.png"), + this.content.vScrollBar.visible = !1, + this.item_templete.visible = !1; + for (var e = this.item_templete.scriptMap["capsui.UICopy"], i = 0; i < 10; i++) { + var n = e.getNodeClone(); + this.content.addChild(n), + this.items.push(n) + } + for (i = 0; i < 12; i++) { + var a = this.line.scriptMap["capsui.UICopy"].getNodeClone(); + this.content.addChild(a), + this.lines.push(a) + } + this.item_templete.visible = !0, + this.item_templete.clickHandler = Laya.Handler.create(this, function() { + t._locking || (t.out.visible ? t.up() : t.down()) + }, null, !1), + this.out.clickHandler = Laya.Handler.create(this, function() { + t._locking || t.up() + }, null, !1) + } + , + t.prototype.init = function(t, e) { + this._render = t, + this._onChange = e + } + , + t.prototype.reset_show = function(t, e) { + this.out.visible = !1, + this.line.visible = !1, + this.content.visible = !1, + this.bg.height = this.item_templete.height, + this._value_count = e, + this._choosed_index = t, + this._render.runWith({ + index: t, + container: this.item_templete + }), + this._locking = !1 + } + , + t.prototype.down = function() { + var t = this; + this._locking = !0, + this.out.visible = !0; + for (n = 0; n < this.items.length; n++) + this.items[n].visible = !1; + this.content.visible = !1, + this.line.visible = !0, + this.line.y = this.item_templete.height, + this.content.y = this.item_templete.height + this.line.height; + for (var e = function(e) { + e < i._value_count ? (0 != e && (i.lines[e - 1].visible = !0, + i.lines[e - 1].y = i.item_templete.height * e + i.line.height * (e - 1)), + i._render.runWith({ + index: e, + container: i.items[e] + }), + i.items[e].visible = !0, + i.items[e].y = (i.item_templete.height + i.line.height) * e, + i.items[e].clickHandler = Laya.Handler.create(i, function() { + t._locking || (t.up(), + t._choosed_index != e && (t._choosed_index = e, + t._render.runWith({ + index: e, + container: t.item_templete + }), + t._onChange.runWith(t._choosed_index))) + }, null, !1)) : i.items[e].visible = !1 + }, i = this, n = 0; n < this.items.length; n++) + e(n); + if (this.content.visible = !0, + this.content.alpha = 0, + this._value_count <= 3) { + a = (this.item_templete.height + this.line.height) * (this._value_count + 1); + this.content.height = (this.item_templete.height + this.line.height) * this._value_count, + Laya.Tween.to(this.bg, { + height: a + }, 150, Laya.Ease.strongOut), + Laya.Tween.to(this.content, { + alpha: 1 + }, 150) + } else { + var a = 4.5 * (this.item_templete.height + this.line.height); + this.content.height = 3.4 * (this.item_templete.height + this.line.height), + Laya.Tween.to(this.bg, { + height: a + }, 150, Laya.Ease.strongOut), + Laya.Tween.to(this.content, { + alpha: 1 + }, 150) + } + this.line.alpha = 0, + Laya.Tween.to(this.line, { + alpha: 1 + }, 150), + Laya.timer.once(150, this, function() { + t._locking = !1 + }) + } + , + t.prototype.up = function() { + var t = this; + this._locking = !0; + var e = this.item_templete.height; + Laya.Tween.to(this.bg, { + height: e + }, 150, Laya.Ease.strongOut), + Laya.Tween.to(this.content, { + alpha: 0 + }, 150), + Laya.Tween.to(this.line, { + alpha: 0 + }, 150), + Laya.timer.once(150, this, function() { + t.out.visible = !1, + t.line.visible = !1, + t.content.visible = !1, + t._locking = !1 + }) + } + , + t + }(); + t.CDropdown = e +}(capsui || (capsui = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), basic; +!function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.Clone = function() { + for (var t = new e, i = 0; i < this.length; i++) + t.push(this[i]); + return t + } + , + e.prototype.RemoveAt = function(t) { + if (!(t < 0 || t >= this.length)) { + var e = this[t]; + return this[t] = this[this.length - 1], + this[this.length - 1] = e, + this.pop() + } + } + , + e.prototype.RemoveX = function(t) { + for (var e = 0; e < this.length; e++) + if (this[e] === t) { + this.RemoveAt(e); + break + } + return this + } + , + e + }(Array); + t.Seq = e +}(basic || (basic = {})); +var basic; +!function(t) { + var e = function() { + return function() { + this.key = null, + this.val = null + } + }(); + t.Pair = e +}(basic || (basic = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), anim; +!function(t) { + var e = function(t) { + function e() { + var e = t.call(this) || this; + return e.mat = null, + e.tick = 2e3, + e.lasttime = 0, + e + } + return __extends(e, t), + e.prototype._load = function(t) { + this.mat = t.meshRender.material, + this.lasttime = 0, + Laya.timer.frameLoop(1, this, this.update) + } + , + e.prototype.update = function() { + if (this.destroyed) + Laya.timer.clearAll(this); + else if (this.enable) { + var t = Laya.timer.currTimer - this.lasttime; + t >= this.tick && (t = 0, + this.lasttime = Laya.timer.currTimer); + var e = 0; + e = t < this.tick / 2 ? 2 * t / this.tick : 1 - (t - this.tick / 2) / (this.tick / 2); + var i = this.mat.albedoColor.clone(); + i.w = 1 - e, + this.mat.albedoColor = i + } else + this.lasttime = 0 + } + , + e + }(Laya.Script); + t.Bling = e +}(anim || (anim = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), anim; +!function(t) { + var e = function(t) { + function e() { + var e = t.call(this) || this; + return e.mat = null, + e + } + return __extends(e, t), + e.prototype._load = function(t) { + this.mat = t.meshRender.material, + Laya.timer.frameLoop(1, this, this.update) + } + , + e.prototype.update = function() { + if (this.destroyed) + Laya.timer.clearAll(this); + else if (this.enable) { + if (e.lastupdateframe < Laya.timer.currFrame) + if (e.lastupdateframe < Laya.timer.currFrame - 10) + e.lastupdateframe = Laya.timer.currFrame, + e.lastupdatetime = Laya.timer.currTimer; + else { + e.lastupdateframe = Laya.timer.currFrame; + var t = (Laya.timer.currTimer - e.lastupdatetime) / 1e3; + e.tilingOffset.w >= -.35 ? e.v += 2.2 * t : e.tilingOffset.w >= -.65 ? (e.v -= 1.6 * t) < .1 && (e.v = .1) : e.v = .3, + e.tilingOffset.w -= e.v * t, + e.tilingOffset.w < -1 && (e.tilingOffset.w = -.1, + e.v = 0), + e.lastupdatetime = Laya.timer.currTimer + } + this.mat.tilingOffset = e.tilingOffset.clone() + } + } + , + e.tilingOffset = new Laya.Vector4(.8,.2,0,0), + e.lastupdateframe = 0, + e.lastupdatetime = 0, + e.v = 0, + e + }(Laya.Script); + t.RunUV = e +}(anim || (anim = {})); +var capsui; +!function(t) { + var e = function() { + function t() { + this._me = null, + this._root_view = null + } + return Object.defineProperty(t.prototype, "me", { + get: function() { + return this._me + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "root_view", { + get: function() { + return this._root_view + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "owner", { + set: function(t) { + var e = this; + this._me = t, + this._me.frameOnce(2, this, function() { + for (var t = e._me; t && !(t instanceof Laya.View); ) + t = t.parent; + e._root_view = t, + e._root_view && (e._root_view.on("onenable", e, e._onEnable), + e._root_view.on("ondisable", e, e._onDisable)), + e.onCreate() + }) + }, + enumerable: !0, + configurable: !0 + }), + t.prototype._onEnable = function() { + !this.me || this.me.destroyed ? this.onDestroy() : this.onEnable() + } + , + t.prototype._onDisable = function() { + !this.me || this.me.destroyed ? this.onDestroy() : this.onDisable() + } + , + t.prototype.onCreate = function() {} + , + t.prototype.onEnable = function() {} + , + t.prototype.onDisable = function() {} + , + t.prototype.onDestroy = function() { + this._root_view && (this._root_view.off("onenable", this, this._onEnable), + this._root_view.off("ondisable", this, this._onDisable)) + } + , + t + }(); + t.UIComponent = e +}(capsui || (capsui = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), capsui; +!function(t) { + var e = function(t) { + function e() { + var e = t.call(this) || this; + return e.mousedowned = !1, + e.origin_scale_x = 1, + e.origin_scale_y = 1, + e.starttime = 0, + e.origin_x = 0, + e + } + return __extends(e, t), + e.prototype.onCreate = function() { + this.origin_scale_x = this.me.scaleX, + this.origin_scale_y = this.me.scaleY, + this.me.on("mousedown", this, this.OnMouseDown), + this.me.on("mouseup", this, this.OnMouseUp), + this.me.on("mouseout", this, this.OnMouseUp), + this.me.filters = [new Laya.ColorFilter([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0])] + } + , + e.prototype.onEnable = function() { + this.me.scaleX = this.me.scaleY = 1, + this.origin_scale_x = this.me.scaleX, + this.origin_scale_y = this.me.scaleY + } + , + e.prototype.onDisable = function() { + this.mousedowned = !1, + Laya.Tween.clearAll(this.me), + this.me.destroyed || (this.me.scaleX = this.origin_scale_x, + this.me.scaleY = this.origin_scale_y) + } + , + e.prototype.OnMouseDown = function() { + this.mousedowned || (this.mousedowned = !0, + this.origin_x = this.me.scaleX, + this.starttime = Laya.timer.currTimer, + Laya.timer.clear(this, this.DoAnim), + Laya.timer.frameLoop(1, this, this.DoAnim)) + } + , + e.prototype.OnMouseUp = function() { + this.mousedowned && (this.mousedowned = !1, + this.origin_x = this.me.scaleX, + this.starttime = Laya.timer.currTimer, + Laya.timer.clear(this, this.DoAnim), + Laya.timer.frameLoop(1, this, this.DoAnim)) + } + , + e.prototype.DoAnim = function() { + if (this.me && !this.me.destroyed) { + var t = Laya.timer.currTimer - this.starttime + , e = this.mousedowned ? 1.1 : 1; + if (t >= 50) + this.me.scaleX = this.me.scaleY = e, + Laya.timer.clear(this, this.DoAnim); + else { + var i = t / 50; + this.me.scaleX = this.me.scaleY = this.origin_x * (1 - i) + e * i + } + } + } + , + e + }(t.UIComponent); + t.CButton = e +}(capsui || (capsui = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), capsui; +!function(t) { + var e = function(t) { + function e() { + var e = t.call(this) || this; + return e.starttime = 0, + e + } + return __extends(e, t), + e.prototype.onCreate = function() { + this.img_round = this.me.getChildByName("flower").getChildByName("round"), + this.img_shine = this.me.getChildByName("flower").getChildByName("shine") + } + , + e.prototype.onEnable = function() { + this.starttime = Laya.timer.currTimer, + this.refreshShow(), + Laya.timer.frameLoop(1, this, this.refreshShow) + } + , + e.prototype.onDisable = function() { + Laya.timer.clearAll(this) + } + , + e.prototype.refreshShow = function() { + var t = Laya.timer.currTimer - this.starttime; + t > 2e3 && (t = 0, + this.starttime = Laya.timer.currTimer); + var e = t / 2e3; + if (this.img_round && (this.img_round.rotation = 360 * e), + e < .5) { + i = 2 * e; + this.img_shine && (this.img_shine.alpha = i * i) + } else { + var i = 2 - 2 * e; + this.img_shine && (this.img_shine.alpha = i * i) + } + } + , + e + }(t.UIComponent); + t.CLoading = e +}(capsui || (capsui = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), capsui; +!function(t) { + var e = function(t) { + function e() { + var e = null !== t && t.apply(this, arguments) || this; + return e.islong = !1, + e._drag_scroll = !1, + e + } + return __extends(e, t), + e.prototype.onCreate = function() { + this.scrollpoint = this.me.getChildByName("scrollpoint") + } + , + e.prototype.init = function(t) { + var e = this; + this.handler_change = t, + t && (this.me.on("mousedown", this, function() { + e._drag_scroll = !0; + var i = e.me.mouseY / e.me.height; + t.runWith(i) + }), + this.me.on("mousemove", this, function() { + if (e._drag_scroll) { + var i = e.me.mouseY / e.me.height; + t.runWith(i) + } + }), + this.me.on("mouseup", this, function() { + e._drag_scroll = !1 + }), + this.me.on("mouseout", this, function() { + e._drag_scroll = !1 + })) + } + , + e.prototype.setVal = function(t, e) { + t = t < 0 ? 0 : t > 1 ? 1 : t, + (e = e < 0 ? 0 : e) >= 1 ? this.me.visible && (this.me.visible = !1) : (this.me.visible || (this.me.visible = !0), + this.islong ? (this.scrollpoint.height = this.me.height * e, + this.scrollpoint.height < 20 && (this.scrollpoint.height = 20), + this.scrollpoint.y = (this.me.height - this.scrollpoint.height) * t) : this.scrollpoint.y = this.me.height * t) + } + , + e.prototype.reset = function() { + this._drag_scroll = !1 + } + , + e + }(t.UIComponent); + t.CScrollBar = e +}(capsui || (capsui = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), capsui; +!function(t) { + var e = function(t) { + function e() { + var e = null !== t && t.apply(this, arguments) || this; + return e.islong = !1, + e._drag_scroll = !1, + e + } + return __extends(e, t), + e.prototype.onCreate = function() { + this.scrollpoint = this.me.getChildByName("scrollpoint") + } + , + e.prototype.init = function(t) { + var e = this; + this.handler_change = t, + t && (this.me.on("mousedown", this, function() { + e._drag_scroll = !0; + var i = e.me.mouseX / e.me.width; + t.runWith(i) + }), + this.me.on("mousemove", this, function() { + if (e._drag_scroll) { + var i = e.me.mouseX / e.me.width; + t.runWith(i) + } + }), + this.me.on("mouseup", this, function() { + e._drag_scroll = !1 + }), + this.me.on("mouseout", this, function() { + e._drag_scroll = !1 + })) + } + , + e.prototype.setVal = function(t, e) { + t = t < 0 ? 0 : t > 1 ? 1 : t, + (e = e < 0 ? 0 : e) >= 1 ? this.me.visible && (this.me.visible = !1) : (this.me.visible || (this.me.visible = !0), + this.islong ? (this.scrollpoint.width = this.me.width * e, + this.scrollpoint.width < 20 && (this.scrollpoint.width = 20), + this.scrollpoint.x = (this.me.width - this.scrollpoint.width) * t) : this.scrollpoint.x = this.me.width * t) + } + , + e.prototype.reset = function() { + this._drag_scroll = !1 + } + , + e + }(t.UIComponent); + t.CScrollBar_Heng = e +}(capsui || (capsui = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), capsui; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this) || this; + return t._scrollbar = null, + t._drag_scroll = !1, + t._container_items = null, + t._content = null, + t._templete = null, + t._items = [], + t._item_heights = [], + t._total_height = 0, + t._rate = 0, + t._repeat_x = 1, + t._span_x = 0, + t._value_count = 0, + t._render_func = null, + t + } + return __extends(i, e), + Object.defineProperty(i.prototype, "rate", { + get: function() { + return this._rate + }, + set: function(t) { + this._total_height <= this._content.height ? this._content.vScrollBar.value = 0 : this._content.vScrollBar.value = (this._total_height - this._content.height) * t / 1 + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i.prototype, "value_count", { + get: function() { + return this._value_count + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i.prototype, "need_scroll", { + get: function() { + return this._total_height > this._content.height + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i.prototype, "total_height", { + get: function() { + return this._total_height + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i.prototype, "view_height", { + get: function() { + return this._content.height + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i.prototype, "near_bottom", { + get: function() { + return this.total_height <= this.view_height || (1 - this.rate) * this.value_count < .5 + }, + enumerable: !0, + configurable: !0 + }), + i.prototype.addItem = function(t, e) { + void 0 === e && (e = -1); + var i = this._value_count; + e <= 0 && (e = this._templete.height); + for (n = 0; n < t; n++) + this._item_heights.push(e); + if (this._value_count += t, + this._repeat_x <= 1 ? this._total_height += e * t : this._total_height = e * Math.ceil(this._value_count / this._repeat_x), + i > 0) + for (var n = 0; n < this._items.length; n++) + if (this._items[n].value_index == i - 1) { + var a = this._items[n]; + this._render_func && this._render_func.runWith({ + index: a.value_index, + container: a.container, + cache_data: a.cache_data + }) + } + this._onChange() + } + , + i.prototype.addItems = function(t) { + for (var e = this._value_count, i = 0, n = 0; n < t.length; n++) + this._item_heights.push(t[n]), + i += t[n]; + if (this._value_count += t.length, + this._repeat_x <= 1 && (this._total_height += i), + e > 0) + for (n = 0; n < this._items.length; n++) + if (this._items[n].value_index == e - 1) { + var a = this._items[n]; + this._render_func && this._render_func.runWith({ + index: a.value_index, + container: a.container, + cache_data: a.cache_data + }) + } + this._onChange() + } + , + i.prototype.delItem = function(t) { + for (var e = 0; e < this._items.length; e++) + this._items[e].value_index >= t && (this._items[e].value_index == this.value_count - 1 || this._render_func.runWith({ + index: this._items[e].value_index, + container: this._items[e].container, + cache_data: this._items[e].cache_data + })); + this.popItem() + } + , + i.prototype.popItem = function() { + if (0 != this._value_count) { + var t = this._item_heights[this._item_heights.length - 1]; + this._total_height, + this._rate; + this._total_height -= t, + this._value_count--, + this._item_heights.pop(), + this._onChange() + } + } + , + i.prototype.onCreate = function() { + var e = this + , i = this.me.getChildByName("scrollbar"); + i && (i.scriptMap && (this._scrollbar = i.scriptMap["capsui.CScrollBar"]), + this._scrollbar || (this._scrollbar = new t.CScrollBar, + this._scrollbar.owner = i), + Laya.timer.frameOnce(3, this, function() { + i.on("mousedown", e, function() { + e._drag_scroll = !0, + e.rate = i.mouseY / i.height + }), + i.on("mousemove", e, function() { + e._drag_scroll && (e.rate = i.mouseY / i.height) + }), + i.on("mouseup", e, function() { + e._drag_scroll = !1 + }) + })), + this._content = this.me.getChildByName("content"), + this._content.vScrollBarSkin = game.Tools.localUISrc("myres/vscroll.png"), + this._container_items = new Laya.Sprite, + this._content.addChild(this._container_items), + this._container_items.x = this._container_items.y = 0, + this._container_items.height = 1e7, + Laya.timer.frameOnce(3, this, function() { + e._content.vScrollBar.visible = !1, + e._content.vScrollBar.on("change", e, e._onChange) + }), + this._templete = this._content.getChildByName("templete"), + this._templete.visible = !1 + } + , + i.prototype.init_scrollview = function(t, e, i, n) { + if (void 0 === e && (e = -1), + void 0 === i && (i = 1), + void 0 === n && (n = 0), + this._repeat_x = i, + this._span_x = n, + this._render_func = t, + this._items.length > 0) { + for (r = 0; r < this._items.length; r++) + this._container_items.removeChild(this._items[r].container), + this._items[r].container.destroy(); + this._items = [] + } + e <= 0 && (e = this._templete.height); + var a = Math.ceil(this._content.height / e) + 2; + a *= this._repeat_x; + for (var r = 0; r < a; r++) + this._items.push({ + container: this._templete.scriptMap["capsui.UICopy"].getNodeClone(), + value_index: -1, + cache_data: {} + }), + this._content.removeChild(this._items[r].container), + this._container_items.addChild(this._items[r].container) + } + , + i.prototype.reset = function() { + this._content.vScrollBar.stopScroll(), + this._drag_scroll = !1, + this._total_height = 0, + this._value_count = 0, + this._item_heights = [], + this.rate = 0, + this._onRateChange(0) + } + , + i.prototype.change_render_handler = function(t) { + this.reset(), + this._render_func = t + } + , + i.prototype._onChange = function() { + var t = this._content.vScrollBar + , e = 1 * t.value; + if (this._total_height <= this._content.height) + e > 0 ? t.value = 0 : this._onRateChange(0); + else if (e > this._total_height - this._content.height) + t.value = (this._total_height - this._content.height) / 1; + else { + var i = e / (this._total_height - this._content.height); + this._onRateChange(i) + } + } + , + i.prototype.scrollDelta = function(t) { + this.need_scroll && (this._content.vScrollBar.value += t) + } + , + i.prototype._onRateChange = function(t) { + var e = 0; + this._total_height <= this._content.height ? (this._rate = 0, + this._scrollbar && this._scrollbar.setVal(0, 1)) : (this._rate = t, + this._rate < 0 ? this._rate = 0 : this._rate > 1 && (this._rate = 1), + this._scrollbar && this._scrollbar.setVal(t, this._content.height / this.total_height), + e = (this._total_height - this._content.height) * this._rate); + for (var i = 0, n = 0, a = 0; a < this._item_heights.length; a += this._repeat_x) { + if (n + this._item_heights[a] >= e) { + i = a; + break + } + n += this._item_heights[a] + } + for (var r = i % this._items.length, a = 0; a < this._items.length; a += this._repeat_x) { + var s = i + a; + if (s >= this._value_count || n - e > this._content.height) + for (o = 0; o < this._repeat_x; o++) { + (l = this._items[(r + a + o) % this._items.length]).container.visible = !1, + l.value_index = -1 + } + else { + for (var o = 0; o < this._repeat_x; o++) { + var l = this._items[(r + a + o) % this._items.length] + , h = s + o; + h >= this.value_count ? (l.container.visible = !1, + l.value_index = -1) : l.value_index != h && (l.container.visible = !0, + l.value_index = h, + l.container.y = n, + l.container.x = (this._templete.width + this._span_x) * o, + this._container_items.removeChild(l.container), + this._container_items.addChild(l.container), + this._render_func && this._render_func.runWith({ + index: h, + container: l.container, + cache_data: l.cache_data + })) + } + n += this._item_heights[s] + } + } + this.me.event("ratechange") + } + , + i.prototype.wantToRefreshItem = function(t) { + for (var e = 0; e < this._items.length; e++) + this._items[e].value_index == t && this._render_func.runWith({ + index: t, + container: this._items[e].container, + cache_data: this._items[e].cache_data + }) + } + , + i.prototype.wantToRefreshAll = function() { + for (var t = 0; t < this._items.length; t++) + this._items[t].value_index >= 0 && this._render_func.runWith({ + index: this._items[t].value_index, + container: this._items[t].container, + cache_data: this._items[t].cache_data + }) + } + , + i + }(t.UIComponent); + t.CScrollView = e +}(capsui || (capsui = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), capsui; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this) || this; + return t._scrollbar = null, + t._drag_scroll = !1, + t._container_items = null, + t._content = null, + t._templete = null, + t._items = [], + t._item_widths = [], + t._total_width = 0, + t._rate = 0, + t._repeat_y = 1, + t._span_y = 0, + t._value_count = 0, + t._render_func = null, + t + } + return __extends(i, e), + Object.defineProperty(i.prototype, "rate", { + get: function() { + return this._rate + }, + set: function(t) { + this._total_width <= this._content.width ? this._content.hScrollBar.value = 0 : this._content.hScrollBar.value = (this._total_width - this._content.width) * t / 1 + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i.prototype, "value_count", { + get: function() { + return this._value_count + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i.prototype, "need_scroll", { + get: function() { + return this._total_width > this._content.width + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i.prototype, "total_width", { + get: function() { + return this._total_width + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i.prototype, "view_width", { + get: function() { + return this._content.width + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(i.prototype, "near_bottom", { + get: function() { + return this.total_width <= this.view_width || (1 - this.rate) * this.value_count < .5 + }, + enumerable: !0, + configurable: !0 + }), + i.prototype.addItem = function(t, e) { + void 0 === e && (e = -1); + var i = this._value_count; + e <= 0 && (e = this._templete.width); + for (n = 0; n < t; n++) + this._item_widths.push(e); + if (this._value_count += t, + this._repeat_y <= 1 ? this._total_width += e * t : this._total_width = e * Math.ceil(this._value_count / this._repeat_y), + i > 0) + for (var n = 0; n < this._items.length; n++) + if (this._items[n].value_index == i - 1) { + var a = this._items[n]; + this._render_func && this._render_func.runWith({ + index: a.value_index, + container: a.container, + cache_data: a.cache_data + }) + } + this._onChange() + } + , + i.prototype.addItems = function(t) { + for (var e = this._value_count, i = 0, n = 0; n < t.length; n++) + this._item_widths.push(t[n]), + i += t[n]; + if (this._value_count += t.length, + this._repeat_y <= 1 && (this._total_width += i), + e > 0) + for (n = 0; n < this._items.length; n++) + if (this._items[n].value_index == e - 1) { + var a = this._items[n]; + this._render_func && this._render_func.runWith({ + index: a.value_index, + container: a.container, + cache_data: a.cache_data + }) + } + this._onChange() + } + , + i.prototype.delItem = function(t) { + for (var e = 0; e < this._items.length; e++) + this._items[e].value_index >= t && (this._items[e].value_index == this.value_count - 1 || this._render_func.runWith({ + index: this._items[e].value_index, + container: this._items[e].container, + cache_data: this._items[e].cache_data + })); + this.popItem() + } + , + i.prototype.popItem = function() { + if (0 != this._value_count) { + var t = this._item_widths[this._item_widths.length - 1]; + this._total_width, + this._rate; + this._total_width -= t, + this._value_count--, + this._item_widths.pop(), + this._onChange() + } + } + , + i.prototype.onCreate = function() { + var e = this + , i = this.me.getChildByName("scrollbar"); + i && (i.scriptMap && (this._scrollbar = i.scriptMap["capsui.CScrollBar_Heng"]), + this._scrollbar || (this._scrollbar = new t.CScrollBar_Heng, + this._scrollbar.owner = i), + Laya.timer.frameOnce(3, this, function() { + i.on("mousedown", e, function() { + e._drag_scroll = !0, + e.rate = i.mouseX / i.width + }), + i.on("mousemove", e, function() { + e._drag_scroll && (e.rate = i.mouseX / i.width) + }), + i.on("mouseup", e, function() { + e._drag_scroll = !1 + }), + i.on("mouseout", e, function() { + e._drag_scroll = !1 + }) + })), + this._content = this.me.getChildByName("content"), + this._content.hScrollBarSkin = "", + this._container_items = new Laya.Sprite, + this._content.addChild(this._container_items), + this._container_items.x = this._container_items.y = 0, + this._container_items.width = 1e7, + Laya.timer.frameOnce(3, this, function() { + e._content.hScrollBar.visible = !1, + e._content.hScrollBar.on("change", e, e._onChange) + }), + this._templete = this._content.getChildByName("templete"), + this._templete.visible = !1 + } + , + i.prototype.init_scrollview = function(t, e, i, n) { + if (void 0 === e && (e = -1), + void 0 === i && (i = 1), + void 0 === n && (n = 0), + this._repeat_y = i, + this._span_y = n, + this._render_func = t, + this._items.length > 0) { + for (r = 0; r < this._items.length; r++) + this._container_items.removeChild(this._items[r].container), + this._items[r].container.destroy(); + this._items = [] + } + e <= 0 && (e = this._templete.width); + var a = Math.ceil(this._content.width / e) + 2; + a *= this._repeat_y; + for (var r = 0; r < a; r++) + this._items.push({ + container: this._templete.scriptMap["capsui.UICopy"].getNodeClone(), + value_index: -1, + cache_data: {} + }), + this._content.removeChild(this._items[r].container), + this._container_items.addChild(this._items[r].container) + } + , + i.prototype.reset = function() { + this._content.hScrollBar.stopScroll(), + this._drag_scroll = !1, + this._total_width = 0, + this._value_count = 0, + this._item_widths = [], + this.rate = 0, + this._onRateChange(0) + } + , + i.prototype.change_render_handler = function(t) { + this.reset(), + this._render_func = t + } + , + i.prototype._onChange = function() { + var t = this._content.hScrollBar + , e = 1 * t.value; + if (this._total_width <= this._content.width) + e > 0 ? t.value = 0 : this._onRateChange(0); + else if (e > this._total_width - this._content.width) + t.value = (this._total_width - this._content.width) / 1; + else { + var i = e / (this._total_width - this._content.width); + this._onRateChange(i) + } + } + , + i.prototype.scrollDelta = function(t) { + this.need_scroll && (this._content.hScrollBar.value += t) + } + , + i.prototype._onRateChange = function(t) { + var e = 0; + this._total_width <= this._content.width ? (this._rate = 0, + this._scrollbar && this._scrollbar.setVal(0, 1)) : (this._rate = t, + this._rate < 0 ? this._rate = 0 : this._rate > 1 && (this._rate = 1), + this._scrollbar && this._scrollbar.setVal(t, this._content.width / this.total_width), + e = (this._total_width - this._content.width) * this._rate); + for (var i = 0, n = 0, a = 0; a < this._item_widths.length; a += this._repeat_y) { + if (n + this._item_widths[a] >= e) { + i = a; + break + } + n += this._item_widths[a] + } + for (var r = i % this._items.length, a = 0; a < this._items.length; a += this._repeat_y) { + var s = i + a; + if (s >= this._value_count || n - e > this._content.width) + for (o = 0; o < this._repeat_y; o++) { + (l = this._items[(r + a + o) % this._items.length]).container.visible = !1, + l.value_index = -1 + } + else { + for (var o = 0; o < this._repeat_y; o++) { + var l = this._items[(r + a + o) % this._items.length] + , h = s + o; + h >= this.value_count ? (l.container.visible = !1, + l.value_index = -1) : l.value_index != h && (l.container.visible = !0, + l.value_index = h, + l.container.y = (this._templete.height + this._span_y) * o, + l.container.x = n, + this._container_items.removeChild(l.container), + this._container_items.addChild(l.container), + this._render_func && this._render_func.runWith({ + index: h, + container: l.container, + cache_data: l.cache_data + })) + } + n += this._item_widths[s] + } + } + this.me.event("ratechange") + } + , + i.prototype.wantToRefreshItem = function(t) { + for (var e = 0; e < this._items.length; e++) + this._items[e].value_index == t && this._render_func.runWith({ + index: t, + container: this._items[e].container, + cache_data: this._items[e].cache_data + }) + } + , + i.prototype.wantToRefreshAll = function() { + for (var t = 0; t < this._items.length; t++) + this._items[t].value_index >= 0 && this._render_func.runWith({ + index: this._items[t].value_index, + container: this._items[t].container, + cache_data: this._items[t].cache_data + }) + } + , + i + }(t.UIComponent); + t.CScrollView_Heng = e +}(capsui || (capsui = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), capsui; +!function(t) { + var e = function(t) { + function e() { + var e = t.call(this) || this; + return e.origin_x = 1, + e.origin_width = 1, + e.extend_right = !0, + e + } + return __extends(e, t), + e.prototype.onCreate = function() { + this.origin_x = this.me.x, + this.origin_width = this.me.width, + this.me.on("change", this, this.refresh_position), + this.refresh_position() + } + , + e.prototype.onEnable = function() {} + , + e.prototype.onDisable = function() {} + , + e.prototype.refresh_position = function() { + var t = this.me.textField.textWidth; + t > this.origin_width ? this.me.x = this.origin_x + (t - this.origin_width) / 2 * this.me.scaleX * (this.extend_right ? 1 : -1) : this.me.x = this.origin_x + } + , + e + }(t.UIComponent); + t.LabelLocalizationPosition = e +}(capsui || (capsui = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), capsui; +!function(t) { + var e = function(t) { + function e() { + var e = t.call(this) || this; + return e.origin_scale = 1, + e.origin_width = 1, + e + } + return __extends(e, t), + e.prototype.onCreate = function() { + this.origin_scale = this.me.scaleX, + this.origin_width = this.me.width, + this.me.on("change", this, this.refresh_size), + this.refresh_size() + } + , + e.prototype.onEnable = function() {} + , + e.prototype.onDisable = function() {} + , + e.prototype.change_width = function(t) { + this.origin_width = t, + this.refresh_size() + } + , + e.prototype.refresh_size = function() { + var t = this.me.textField.textWidth; + if (t > this.origin_width) { + var e = t / this.origin_width; + this.me.width = this.origin_width * e, + this.me.scaleX = this.me.scaleY = this.origin_scale / e + } else + this.me.width = this.origin_width, + this.me.scaleX = this.me.scaleY = this.origin_scale + } + , + e + }(t.UIComponent); + t.LabelLocalizationSize = e +}(capsui || (capsui = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), capsui; +!function(t) { + var e = function(t) { + function e() { + var e = t.call(this) || this; + return e._total_count = 0, + e._func_load = null, + e._loading = null, + e._duringLoading = !1, + e._load_id = 0, + e + } + return __extends(e, t), + Object.defineProperty(e.prototype, "total_count", { + get: function() { + return this._total_count + }, + set: function(t) { + this._total_count = t, + this._pendingLoad() + }, + enumerable: !0, + configurable: !0 + }), + e.prototype.reset = function() { + this._load_id = 0, + this._total_count = 0, + this._duringLoading = !1, + this._loading.visible = !1, + t.prototype.reset.call(this) + } + , + e.prototype.onCreate = function() { + this._loading = this.me.getChildByName("loading"), + this._loading.visible = !1, + t.prototype.onCreate.call(this) + } + , + e.prototype.init_nolimitlist = function(t, e) { + this._func_load = t, + this.init_scrollview(e) + } + , + e.prototype._onRateChange = function(e) { + t.prototype._onRateChange.call(this, e), + this._pendingLoad() + } + , + e.prototype._pendingLoad = function() { + var t = this; + if (!this._duringLoading && this._total_count > this.value_count && (1 - this.rate) * this.value_count <= 3 && this._func_load) { + this._duringLoading = !0, + this._load_id++; + var e = this._load_id; + this._func_load.runWith(this.value_count), + Laya.timer.once(700, this, function() { + t._duringLoading && e == t._load_id && (t._loading.visible = !0) + }) + } + } + , + e.prototype.loadOver = function(t, e) { + this._duringLoading && (this._duringLoading = !1, + this._loading && (this._loading.visible = !1), + t ? this.addItem(e) : this._total_count = this.value_count) + } + , + e.prototype.popItem = function() { + this._total_count--, + t.prototype.popItem.call(this) + } + , + e + }(t.CScrollView); + t.NoLimitList = e +}(capsui || (capsui = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), game; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this) || this; + return t.inited = !1, + i.Inst = t, + t + } + return __extends(i, e), + i.on_getSkuDetails = function(t) { + if (this.goods_info = {}, + t) { + for (var e = 0; e < t.length; e++) { + var i = t[e] + , n = i.productId; + this.goods_info[n] = i + } + Laya.PlatformClass.createClass("layaair.majsoul.mjmgr").call("getGPOwnedItems") + } + } + , + i.on_gp_get_owneditems = function(t) { + if (this.orders = [], + t) { + for (a = 0; a < t.length; a++) { + var e = t[a]; + this.orders.push({ + sku: e.sku, + data: e.data, + sign: e.sign + }) + } + for (var i = function(t) { + var e = n.orders[t]; + app.NetAgent.sendReq2Lobby("Lobby", "solveGooglePlayOrder", { + inapp_purchase_data: JSON.stringify(e.data), + inapp_data_signature: e.sign + }, function(t, i) { + if (t) + ; + else if (i.error) { + var n = i.error.code; + if (1901 == n || 1902 == n) { + (a = Laya.PlatformClass.createClass("layaair.majsoul.mjmgr")).call("consumeGPItem", e.data.purchaseToken) + } + } else { + var a = Laya.PlatformClass.createClass("layaair.majsoul.mjmgr"); + a.call("consumeGPItem", e.data.purchaseToken) + } + }) + }, n = this, a = 0; a < this.orders.length; a++) + i(a) + } + } + , + i.on_gp_buy_result = function(t, e) { + var i = t.productId; + this.orders.push({ + sku: i, + data: t, + sign: e + }), + app.NetAgent.sendReq2Lobby("Lobby", "solveGooglePlayOrder", { + inapp_purchase_data: JSON.stringify(t), + inapp_data_signature: e + }, function(e, i) { + if (e || i.error) + uiscript.UIMgr.Inst.showNetReqError("solveGooglePlayOrder", e, i); + else { + Laya.PlatformClass.createClass("layaair.majsoul.mjmgr").call("consumeGPItem", t.purchaseToken) + } + }) + } + , + i.on_consume_success = function(t) { + for (var e = 0; e < this.orders.length; e++) + if (this.orders[e].data.purchaseToken == t) { + this.orders[e] = this.orders[this.orders.length - 1], + this.orders.pop(); + break + } + } + , + i.on_failed_info = function(t) { + uiscript.UIMgr.Inst && uiscript.UIMgr.Inst.ShowErrorInfo(t) + } + , + i.on_gp_pay_cancel = function() { + this.current_order_id && "" != this.current_order_id && (app.NetAgent.sendReq2Lobby("Lobby", "cancelGooglePlayOrder", { + order_id: this.current_order_id + }, function(t, e) { + (t || e.error) && uiscript.UIMgr.Inst.showNetReqError("cancelGooglePlayOrder", t, e) + }), + this.current_order_id = "") + } + , + i.on_gp_buy_error = function(e, i) { + if (1 == i) + app.NetAgent.sendReq2Lobby("Lobby", "cancelGooglePlayOrder", { + order_id: e + }, function(t, e) { + (t || e.error) && uiscript.UIMgr.Inst.showNetReqError("cancelGooglePlayOrder", t, e) + }); + else { + var n = ""; + switch (i) { + case 2: + n = t.Tools.strOfLocalization(2222); + break; + case 3: + n = t.Tools.strOfLocalization(2223); + break; + case 4: + n = t.Tools.strOfLocalization(2224); + break; + case 5: + case 6: + n = t.Tools.strOfLocalization(2225); + break; + case 7: + n = t.Tools.strOfLocalization(2226) + } + "" != n && uiscript.UIMgr.Inst.ShowErrorInfo(n) + } + } + , + i.prototype.recover_pre_order = function(t) { + for (var e = "", n = cfg.mall.product.getGroup(10), a = 0; a < n.length; a++) + if (n[a].goods_id == t) { + e = n[a].product_id; + break + } + if ("" == e) + return !1; + for (var r = function(t) { + if (i.orders[t].sku == e) { + var n = i.orders[t]; + return app.NetAgent.sendReq2Lobby("Lobby", "solveGooglePlayOrder", { + inapp_purchase_data: JSON.stringify(n.data), + inapp_data_signature: n.sign + }, function(t, e) { + if (t || e.error) + if (e && 1902 == e.error.code) { + (i = Laya.PlatformClass.createClass("layaair.majsoul.mjmgr")).call("consumeGPItem", n.data.purchaseToken) + } else + uiscript.UIMgr.Inst.showNetReqError("solveGooglePlayOrder", t, e); + else { + var i = Laya.PlatformClass.createClass("layaair.majsoul.mjmgr"); + i.call("consumeGPItem", n.data.purchaseToken) + } + }), + { + value: !0 + } + } + }, a = 0; a < i.orders.length; a++) { + var s = r(a); + if ("object" == typeof s) + return s.value + } + return !1 + } + , + i.prototype.getGoodsInfo = function(t) { + for (var e = cfg.mall.product.getGroup(10), n = "", a = 0; a < e.length; a++) + if (e[a].goods_id == t) { + n = e[a].product_id; + break + } + if ("" == n) + return null; + if (i.goods_info[n]) { + var r = i.goods_info[n]; + return { + currency_code: r.price_currency_code, + price: r.price + } + } + return null + } + , + i.prototype.onGameStart = function() { + var t = cfg.mall.product.getGroup(10) + , e = ""; + if (t) { + for (var i = 0; i < t.length; i++) + 0 != i && (e += ","), + e += t[i].product_id; + Laya.PlatformClass.createClass("layaair.majsoul.mjmgr").call("gp_getSkuDetail", e) + } + } + , + i.prototype.want2BuyItem = function(t, e) { + for (var n = "", a = cfg.mall.product.getGroup(10), r = 0; r < a.length; r++) + if (a[r].goods_id == t) { + n = a[r].product_id; + break + } + "" != n ? app.NetAgent.sendReq2Lobby("Lobby", "createBillingOrder", { + goods_id: t, + payment_platform: 10, + client_type: 1, + account_id: GameMgr.Inst.account_id + }, function(t, a) { + if (t || a.error) + uiscript.UIMgr.Inst.showNetReqError("createBillingOrder", t, a), + e.runWith(0); + else { + var r = a.order_id; + i.current_order_id = r; + Laya.PlatformClass.createClass("layaair.majsoul.mjmgr").call("gp_buySku", n, r), + e.runWith(0) + } + }) : e.runWith(1) + } + , + i.goods_info = {}, + i.current_order_id = "", + i.orders = [], + i + }(t.AppShop); + t.GooglePlayShop = e +}(game || (game = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), game; +!function(t) { + var e = function() { + function t() {} + return t.Create = function(t) { + var e = null; + switch (t.t) { + case "s": + (e = new i).init(t) + } + return e + } + , + t + }(); + t.ChatInfoBase = e; + var i = function(t) { + function e() { + return null !== t && t.apply(this, arguments) || this + } + return __extends(e, t), + e.prototype.init = function(t) { + this.val = t.v; + var e = uiscript.UI_LobbyChat.Inst.render_text; + e.text = this.val, + this._height = e.textWidth, + this._height = e.textHeight + } + , + Object.defineProperty(e.prototype, "height", { + get: function() { + return this._height + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(e.prototype, "width", { + get: function() { + return this._width + }, + enumerable: !0, + configurable: !0 + }), + e.prototype.render = function(t) { + var e = t.getChildByName("word"); + e.text = this.val, + e.visible = !0 + } + , + e + }(e); + t.ChatInfo_Str = i; + var n = function() { + function t(t) { + this.infos = [], + this.lastTimeStamp = 0, + this.account_id = t, + this.infos = [], + this.lastTimeStamp = 0 + } + return t.prototype.addInfo = function(t, i, n) { + var a = e.Create(JSON.parse(i)); + return null == a ? (app.Log.Error("未找到合适的聊天类型 data:" + i), + !1) : (a.timeStamp = t, + this.infos.push({ + info: a, + isme: n + }), + this.lastTimeStamp = t, + !0) + } + , + t + }(); + t.PersonChat = n; + var a = function() { + function t() { + this.infos = [] + } + return t.prototype.addInfo = function(t) { + return null != e.Create(t.content) && (this.infos.push(t), + !0) + } + , + t + }(); + t.ChannelChat = a; + var r = function() { + function t() { + this.chat_world = null, + this.friend_chat = [] + } + return t.init = function() { + this.Inst = new t, + this.Inst._init() + } + , + t.prototype._init = function() { + this.chat_world = new a, + this.friend_chat = [], + app.NetAgent.AddListener2Lobby("NotifyChatMessage", Laya.Handler.create(this, this._onReceiveChat, null, !1)) + } + , + t.prototype._onReceiveChat = function(t) { + if (1 == t.type) + t.world_chat && this.chat_world.addInfo(t.world_chat); + else if (t.private_chat) { + var e = t.private_chat + , i = 0 + , n = !1; + e.sender_id == GameMgr.Inst.account_id ? (n = !0, + i = e.target_id) : (n = !1, + i = e.sender_id); + this.findFriend(i).addInfo(e.timestamp, e.content, n) + } + } + , + t.prototype.findFriend = function(t) { + for (var e = null, i = 0; i < this.friend_chat.length; i++) + if (this.friend_chat[i].account_id == t) { + e = this.friend_chat[i]; + break + } + return null == e && (e = new n(t), + this.friend_chat.push(e)), + e + } + , + t + }(); + t.ChatMgr = r +}(game || (game = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), game; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this) || this; + return t.scene_path = "scene/lobby.ls", + t.ui_effect_list = ["scene/effect_get_character.lh", "scene/effect_get_zhuangban.lh", "scene/effect_heartup.lh", "scene/effect_heartup_favor.lh", "scene/effect_heartlevelup.lh", "scene/effect_item_shine.lh", "scene/effect_item_shine_big.lh", "scene/effect_item_shine1.lh", "scene/effect_item_shine_big1.lh", "scene/touzi_touzi.lh", "scene/touzi_touzi_red.lh", "scene/touzi_qizi.lh", "scene/touzi_chest_disappear.lh", "scene/touzi_chest_appear.lh", "scene/touzi_bank.lh", "scene/touzi_qizi_buff.lh", "scene/touzi_qizi_debuff.lh", "scene/touzi_qizi_enter.lh", "scene/touzi_qizi_lvup.lh"], + t.scene_container = null, + t.scene = null, + t.container_effects = null, + t.bg_front_plane = null, + t.bg_front_mat = null, + t.bg_back_plane = null, + t.bg_back_mat = null, + t._current_bg = "", + t._change_start_time = 0, + t._during_change_bg = !1, + t._check_idcard = !1, + t._load_listener = [], + t._progress_listener = [], + t._yard_bg_id = 0, + t._yard_img_url = "", + t._indoor_img_url = "", + t._current_effect = null, + t._effect_yinghua_path = "scene/effect_lobby_yinghua.lh", + t._effect_yinghua = null, + t._effect_yard_path = "", + t._effect_yard = null, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.init = function(e) { + var i = this; + this._load_state = t.E_LoadState.loading; + var n = []; + n.push("extendRes/charactor/default_girl/full.png"), + n.push("extendRes/charactor/default_girl/half.png"), + n.push("extendRes/charactor/default_girl/smallhead.png"), + n.push("extendRes/charactor/default_girl/bighead.png"), + n.push("extendRes/charactor/default_girl/waitingroom.png"), + n.push("extendRes/charactor/default_man/full.png"), + n.push("extendRes/charactor/default_man/half.png"), + n.push("extendRes/charactor/default_man/smallhead.png"), + n.push("extendRes/charactor/default_man/bighead.png"), + n.push("extendRes/charactor/default_man/waitingroom.png"), + n.push("extendRes/emo/default.png"); + for (var a = [302001, 302002, 302003, 302004], r = 0; r < a.length; r++) { + var s = cfg.item_definition.item.get(a[r]); + n.push(s.icon), + s.icon_transparent && "" != s.icon_transparent && n.push(s.icon_transparent) + } + n.push("extendRes/items/default.jpg"), + cfg.level_definition.level_definition.forEach(function(t, e) { + n.push(t.primary_icon) + }), + this._loadaudio(), + n.push("extendRes/items/gold0.png"), + n.push("extendRes/items/gold1.png"), + n.push("extendRes/head_frame/default.png"), + t.LoadMgr.loadResImage(n, Laya.Handler.create(this, function() { + t.LoadMgr.loadRes(t.E_LoadType.common, Laya.Handler.create(i, function() { + t.LoadMgr.loadRes(t.E_LoadType.lobby, Laya.Handler.create(i, function() { + return Laya.timer.frameOnce(1, i, function() { + t.EffectMgr.init(Laya.Handler.create(i, function() { + i.onProgressUpdate(1), + Laya.timer.frameOnce(5, i, function() { + GameMgr.Inst.addScene(i.scene_container = new Laya.Sprite), + i.scene_container.visible = !0, + i._load_state = t.E_LoadState.loaded; + for (var e = 0; e < i._load_listener.length; e++) + i._load_listener[e] && i._load_listener[e].run(); + i._load_listener = [], + i._progress_listener = [] + }) + })) + }) + }), Laya.Handler.create(i, function(t) { + return i.onProgressUpdate(.7 + .3 * t) + }, null, !1)) + }), Laya.Handler.create(i, function(t) { + return i.onProgressUpdate(.5 + .2 * t) + }, null, !1)) + }), Laya.Handler.create(this, function(t) { + return i.onProgressUpdate(.5 * t) + }, null, !1)) + } + , + i.prototype._loadaudio = function() { + cfg.audio.audio.forEach(function(t) { + "lobby" == t.type && Laya.loader.load(t.path + view.AudioMgr.suffix) + }) + } + , + i.prototype.buildScene = function(e, i) { + var n = this; + if (this.scene) + return i.runWith(1), + void e.run(); + i.runWith(0), + Laya.loader.create(this.scene_path, Laya.Handler.create(this, function() { + i.runWith(.3); + var a = []; + n._indoor_img_url = "scene/Assets/Resource/lobby/indoor.jpg", + n._yard_bg_id = t.GameUtility.get_view_id(t.EView.lobby_bg), + n._yard_img_url = "scene/Assets/Resource/lobby/" + t.GameUtility.get_view_res_name(t.EView.lobby_bg) + ".jpg", + a.push(n._indoor_img_url), + a.push(n._yard_img_url), + t.FrontEffect.Inst.SetClickEffectByLobby(n._yard_bg_id, null), + Laya.loader.create(a, Laya.Handler.create(n, function() { + n.scene = Laya.loader.getRes(n.scene_path), + n.scene_container.addChild(n.scene), + n.container_effects = n.scene.getChildByName("effects"), + n.bg_front_plane = n.scene.getChildByName("root").getChildByName("bg_front"), + n.bg_front_mat = n.bg_front_plane.meshRender.sharedMaterial, + n.bg_back_plane = n.scene.getChildByName("root").getChildByName("bg_back"), + n.bg_back_mat = n.bg_back_plane.meshRender.sharedMaterial, + n.bg_front_plane.active = !1, + i.runWith(.5), + n._effect_yinghua_path = n.get_effect_path(0), + n._effect_yard_path = n.get_effect_path(n._yard_bg_id); + var t = [n._effect_yinghua_path]; + n._effect_yard_path != n._effect_yinghua_path && t.push(n._effect_yard_path), + Laya.loader.create(t, Laya.Handler.create(n, function() { + i.runWith(.7), + n._effect_yinghua = Laya.loader.getRes(n._effect_yinghua_path), + n._effect_yard = Laya.loader.getRes(n._effect_yard_path), + n._effect_yinghua.active = !1, + n._effect_yard.active = !1, + n.container_effects.addChild(n._effect_yinghua), + n.container_effects.addChild(n._effect_yard), + Laya.timer.frameOnce(8, n, function() { + n.scene.visible = !0, + i.runWith(.8), + n.preheart_effect(e, Laya.Handler.create(n, function(t) { + i.runWith(.8 + .2 * t) + }, null, !1)) + }) + })) + }), Laya.Handler.create(n, function(t) { + return i.runWith(.3 + .3 * t) + }, null, !1)) + }), Laya.Handler.create(this, function(t) { + return i.runWith(.3 * t) + }, null, !1)) + } + , + i.prototype.preheart_effect = function(e, i) { + var n = this; + app.Log.log("scene_lobby preheart_effect"), + t.EffectMgr.preheat_3d_effect(this.ui_effect_list, t.FrontEffect.Inst.root_ui_effect, !0, Laya.Handler.create(this, function() { + Laya.timer.frameOnce(5, n, function() { + i.runWith(1), + e.run() + }) + }), i) + } + , + i.prototype.onEnable = function() { + this._during_change_bg = !1, + uiscript.UIMgr.Inst.onSceneLobby_Enable(), + this.scene && (this.scene.visible = !0), + view.BgmListMgr.PlayLobbyBgm(), + this.pending_ui_jump(), + uiscript.UI_Invite.Inst.enable = !0, + Laya.timer.frameLoop(1, this, this._update, null, !0) + } + , + i.prototype.pending_ui_jump = function() { + var e = this + , i = "yard"; + if ("chs" != GameMgr.client_type || uiscript.UI_ShiMingRenZheng.renzhenged) + if (GameMgr.Inst.account_data.nickname && "" != GameMgr.Inst.account_data.nickname) + if (GameMgr.Inst.ingame) + i = "indoor", + t.MJNetMgr.Inst.OpenConnect(GameMgr.Inst.mj_game_token, GameMgr.Inst.mj_game_uuid, GameMgr.Inst.mj_server_location, !0, null); + else if (uiscript.UI_WaitingRoom.Inst.inRoom) + i = "indoor", + uiscript.UIMgr.Inst.ShowWaitingRoom(); + else if (-1 != GameMgr.Inst.beinvited_roomid) { + var n = GameMgr.Inst.beinvited_roomid; + GameMgr.Inst.beinvited_roomid = -1, + app.NetAgent.sendReq2Lobby("Lobby", "joinRoom", { + room_id: n + }, function(t, e) { + t || e.error ? (uiscript.UIMgr.Inst.showNetReqError("joinRoom", t, e), + uiscript.UIMgr.Inst.showLobby()) : (uiscript.UI_WaitingRoom.Inst.updateData(e.room), + uiscript.UIMgr.Inst.ShowWaitingRoom()) + }) + } else if ("" != GameMgr.Inst.outsee_paipuid) { + var a = GameMgr.Inst.outsee_paipuid; + GameMgr.Inst.outsee_paipuid = ""; + var r = a.split("_") + , s = 0 + , o = 0; + if (r.length > 1 && (s = "a" == r[1].charAt(0) ? t.Tools.decode_account_id(parseInt(r[1].substr(1))) : parseInt(r[1])), + r.length > 2) { + var l = parseInt(r[2]); + l && (o = l) + } + GameMgr.Inst.checkPaiPu(r[0], s, o) + } else if (GameMgr.Inst.custom_match_id > 0) + i = "indoor", + uiscript.UI_Match_Room.Inst.enable || uiscript.UI_Match_Room.Inst.show(GameMgr.Inst.custom_match_id); + else { + var h = !0; + (uiscript.UI_Ob.Inst.enable || uiscript.UI_PaiPu.Inst.enable || uiscript.UI_Match_Room.Inst.enable) && (h = !1, + i = "indoor"), + h && (uiscript.UI_Lobby.Inst.enable = !0) + } + else + uiscript.UI_Nickname.show(); + else + uiscript.UI_ShiMingRenZheng.Inst.show(Laya.Handler.create(this, function() { + e.pending_ui_jump() + })); + this.change_bg(i, !0) + } + , + i.prototype.onDisable = function() { + Laya.AtlasResourceManager.instance.freeAll(), + uiscript.UIMgr.Inst.onSceneLobby_Disable(), + this.scene.visible = !1, + t.LoadMgr.disposeSceneRes("lobby"), + this._current_bg = "", + this.bg_back_mat = null, + this.bg_back_plane = null, + this.bg_front_mat = null, + this.bg_front_plane = null, + this.scene.destroy(!0), + this._effect_yard && !this._effect_yard.destroyed && (this._effect_yard.destroy(!0), + t.EffectMgr.clear_3d_resource(this._effect_yard_path)), + this._effect_yard = null, + this._effect_yard_path = "", + this._effect_yinghua && !this._effect_yinghua.destroyed && (this._effect_yinghua.destroy(!0), + t.EffectMgr.clear_3d_resource(this._effect_yinghua_path)), + this._effect_yinghua = null, + this._effect_yinghua_path = "", + this._current_effect = null, + this.scene = null, + this._yard_img_url = "", + t.EffectMgr.force_dispose_3d_res(this.scene_path), + this._during_change_bg = !1, + Laya.timer.clearAll(this) + } + , + i.prototype.addLoadListenter = function(e, i) { + this._load_state == t.E_LoadState.loaded ? Laya.timer.once(500, this, function() { + i && i.runWith(1), + e && e.run() + }) : (i && this._progress_listener.push(i), + e && this._load_listener.push(e)) + } + , + i.prototype.change_bg = function(t, e) { + if (t != this._current_bg || this._during_change_bg && e) { + var i = "" + , n = null; + "indoor" == t ? (i = this._indoor_img_url, + n = this._effect_yinghua) : (i = this._yard_img_url, + n = this._effect_yard), + this._current_bg = t, + Laya.loader.getRes(i) && (this._current_effect != n && (this._current_effect && (this._current_effect.active = !1), + this._current_effect = n), + "" == this._current_bg && (e = !0), + e ? (this.bg_front_plane.active = !1, + this._during_change_bg = !1, + this._current_effect.active = !0) : (this.bg_front_plane.active = !0, + this.bg_front_mat.albedoTexture = this.bg_back_mat.albedoTexture, + this.bg_front_mat.albedoColor = new Laya.Vector4(1,1,1,1), + this._during_change_bg = !0, + this._change_start_time = Laya.timer.currTimer), + this.bg_back_mat.albedoTexture = Laya.loader.getRes(i)) + } + } + , + i.prototype.get_effect_path = function(t) { + var e = ""; + switch (t) { + case 307002: + e = "scene/effect_lobby_xiaritingyuan.lh"; + break; + case 307003: + e = "scene/effect_lobby_dongribeijing.lh"; + break; + case 307005: + e = "scene/effect_lobby_xiaribeijing.lh"; + break; + default: + e = "scene/effect_lobby_yinghua.lh" + } + return e + } + , + i.prototype.set_lobby_bg = function(e, i) { + var n = this; + if (this._yard_bg_id != e) { + var a = "scene/Assets/Resource/lobby/" + cfg.item_definition.view.get(e).res_name + ".jpg"; + if (this._yard_img_url != a) { + Laya.loader.clearTextureRes(this._yard_img_url); + var r = ""; + switch (e) { + case 307002: + r = "scene/effect_lobby_xiaritingyuan.lh"; + break; + case 307003: + r = "scene/effect_lobby_dongribeijing.lh"; + break; + case 307005: + r = "scene/effect_lobby_xiaribeijing.lh"; + break; + default: + r = "scene/effect_lobby_yinghua.lh" + } + this._yard_img_url = a, + this._yard_bg_id = e, + this._effect_yard_path != this._effect_yinghua_path && (this._effect_yard.destroy(!0), + t.EffectMgr.clear_3d_resource(this._effect_yard_path), + this._effect_yard_path = "", + this._effect_yard = null), + Laya.loader.create(a, Laya.Handler.create(this, function() { + Laya.loader.create(r, Laya.Handler.create(n, function() { + n._effect_yard_path = r, + n._effect_yard = Laya.loader.getRes(r), + n._effect_yard_path != n._effect_yinghua_path && (n._effect_yard.active = !1), + n.container_effects.addChild(n._effect_yard), + t.FrontEffect.Inst.SetClickEffectByLobby(e, Laya.Handler.create(n, function(t) { + "yard" == n._current_bg && n.change_bg("yard", !0), + i && i.run() + })) + })) + })) + } else + i && i.run() + } else + i && i.run() + } + , + i.prototype._update = function() { + if (this._during_change_bg) { + var t = Laya.timer.currTimer - this._change_start_time; + if (t >= 200) + this._during_change_bg = !1, + this.bg_front_plane.active = !1, + this._current_effect.active = !0; + else { + var e = 1 - t / 200; + this.bg_front_mat.albedoColor = new Laya.Vector4(1,1,1,e) + } + } + } + , + i.prototype.onProgressUpdate = function(t) { + for (var e = 0; e < this._progress_listener.length; e++) + this._progress_listener[e].runWith(t) + } + , + i.Inst = null, + i + }(t.SceneBase); + t.Scene_Lobby = e +}(game || (game = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), game; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this) || this; + return t.desktop = null, + t.camera_main = null, + t.scene_path2 = "scene/mjhandpai.ls", + t.scene_hand = null, + t.root2 = null, + t.camera_hand = null, + t._common_texture2d_loaded = !1, + t._desktop_model_path = "", + t._mjp_path = "", + t._effect_list = [], + t._ui_effect_list = [], + t._mjp_textures = [], + t._model_list = [], + i.Inst = t, + "chs" != GameMgr.client_language ? i.ui_effect_list.push("scene/effect_winlose_" + GameMgr.client_language + ".lh") : i.ui_effect_list.push("scene/effect_winlose.lh"), + i.ui_effect_list.push("scene/effect_yiman_queding_" + GameMgr.client_language + ".lh"), + i.ui_effect_list.push("scene/effect_yiman_jihui_" + GameMgr.client_language + ".lh"), + t + } + return __extends(i, e), + i.prototype.init = function(t) {} + , + i.prototype.onEnable = function() { + uiscript.UIMgr.Inst.onSceneMJ_Enable() + } + , + i.prototype.onDisable = function() { + uiscript.UIMgr.Inst.onSceneMJ_Disable(), + view.DesktopMgr.Inst.Reset(), + view.DesktopMgr.Inst.active = !1, + this.desktop.visible = !1, + t.MJNetMgr.Inst.Close(), + t.LoadMgr.disposeSceneRes("mjdesktop") + } + , + i.prototype.openMJRoom = function(t, e, i, n) { + var a = this; + this.load_common_texture2d(Laya.Handler.create(this, function() { + a.load_mainscene(Laya.Handler.create(a, function() { + a.active_common_texture2d(Laya.Handler.create(a, function() { + app.Log.log("active_common_texture2d over"), + a._load_my_desktop_view(Laya.Handler.create(a, function() { + app.Log.log("_load_my_desktop_view over"), + a._load_my_mjp_view(Laya.Handler.create(a, function() { + app.Log.log("_load_my_mjp_view over"), + a._load_player_views(t, e, Laya.Handler.create(a, function() { + app.Log.log("_load_player_effects over"), + view.DesktopMgr.Inst.active = !0, + a.desktop.visible = !0, + view.DesktopMgr.Inst.Reset(), + n.runWith(1), + i.run() + }), Laya.Handler.create(a, function(t) { + return n.runWith(.75 + .25 * t) + }, null, !1)) + }), Laya.Handler.create(a, function(t) { + return n.runWith(.65 + .1 * t) + }, null, !1)) + }), Laya.Handler.create(a, function(t) { + return n.runWith(.6 + .05 * t) + }, null, !1)) + }), Laya.Handler.create(a, function(t) { + return n.runWith(.55 + .05 * t) + }, null, !1)) + }), Laya.Handler.create(a, function(t) { + return n.runWith(.1 + .45 * t) + }, null, !1)) + }), Laya.Handler.create(this, function(t) { + return n.runWith(.1 * t) + }, null, !1)) + } + , + i.prototype.load_mainscene = function(e, i) { + var n = this; + uiscript.UIMgr.Inst.openMjDesktopUI(Laya.Handler.create(this, function() { + n.desktop ? (i.runWith(1), + e.run()) : (cfg.audio.audio.forEach(function(t) { + "mj" == t.type && Laya.loader.load(t.path + view.AudioMgr.suffix) + }), + t.LoadMgr.loadRes(t.E_LoadType.scene_mj, Laya.Handler.create(n, function() { + return Laya.timer.frameOnce(1, n, function() { + var t = "scene/mjdesktop.ls"; + "en" == GameMgr.client_language && (t = "scene/mjdesktop_en.ls"), + n.desktop = Laya.loader.getRes(t), + n.desktop.ambientColor = new Laya.Vector3(.4,.4,.4); + var a = n.desktop.getChildByName("main_camera"); + GameMgr.Inst.addScene(n.desktop); + var r = n.desktop.addChild(new Laya.DirectionLight); + r.transform.translate(new Laya.Vector3(0,1,1.7)), + r.color = new Laya.Vector3(.5,.5,.5), + r.direction = new Laya.Vector3(0,-.933,-.36); + var s = Laya.loader.getRes(n.scene_path2); + GameMgr.Inst.addScene(s), + n.scene_hand = s, + n.root2 = s.getChildByName("root"), + n.camera_hand = s.getChildByName("camera"), + n.camera_hand.useOcclusionCulling = !1; + n.desktop.getChildByName("room").addComponent(view.DesktopMgr).mainCamera = a, + a.useOcclusionCulling = !1, + i.runWith(1), + e.run() + }) + }), Laya.Handler.create(n, function(t) { + return i.runWith(.2 + .8 * t) + }, null, !1))) + }, null, !1), Laya.Handler.create(this, function(t) { + return i.runWith(.2 * t) + }, null, !1)) + } + , + i.prototype.load_common_texture2d = function(e, i) { + var n = this; + if (this._common_texture2d_loaded) + i && i.runWith(1), + e && e.run(); + else { + for (var a = [], r = 0; r < t.EffectMgr.d3res_map.mj_common_texture2d.length; r++) + a.push(t.EffectMgr.d3res_map.mj_common_texture2d[r]); + Laya.loader.create(a, Laya.Handler.create(this, function() { + n._common_texture2d_loaded = !0, + e && e.run() + }), i, laya.d3.resource.Texture2D_caps) + } + } + , + i.prototype.active_common_texture2d = function(e, i) { + i.runWith(0); + for (var n = [], a = 0; a < t.EffectMgr.d3res_map.mj_common_texture2d.length; a++) + n.push(t.EffectMgr.d3res_map.mj_common_texture2d[a]); + var r = 0 + , s = function() { + if (r >= n.length) + return i.runWith(1), + void e.run(); + i.runWith(r / n.length); + var t = Laya.loader.getRes(n[r]); + t && t.recreateResource(), + r++, + s() + }; + s() + } + , + i.prototype.clearTexture_commont_texture2d = function() { + for (var e = t.EffectMgr.d3res_map.mj_common_texture2d, i = 0; i < e.length; i++) { + var n = Laya.loader.getRes(e[i]); + n && n.clearTexture() + } + } + , + i.prototype._load_my_mjp_view = function(e, i) { + var n = []; + n.push("scene/Assets/Resource/tablecloth/" + t.GameUtility.get_view_res_name(t.EView.desktop) + "/Table_Dif.jpg"); + var a = t.GameUtility.get_view_res_name(t.EView.mjp) + , r = "scene/Assets/Resource/mjpai/"; + "en" == GameMgr.client_language && (r += "en/"), + r += a + "/", + n.push(r + "mjp.png"), + n.push(r + "hand_ui.png"), + this._mjp_textures = n, + Laya.loader.create(n, e, i) + } + , + i.prototype._load_my_desktop_view = function(e, i) { + var n = this + , a = t.GameUtility.get_view_res_name(t.EView.desktop); + "tablecloth_quehunji1" == a && "chs" != GameMgr.client_language && "chs_t" != GameMgr.client_language && (a += "_enjp"), + "tablecloth_20chunjie" == a && "en" == GameMgr.client_language && (a += "_en"), + "tablecloth_20chunjie" == a && "chs_t" == GameMgr.client_language && (a += "_chs_t"), + this._desktop_model_path = "scene/" + a + ".lh", + Laya.loader.create(this._desktop_model_path, Laya.Handler.create(this, function() { + n._desktop_model = Laya.loader.getRes(n._desktop_model_path), + n.desktop.getChildByName("room").getChildByName("container_desktop").addChild(n._desktop_model), + n._desktop_model.transform.localPosition = new Laya.Vector3(0,0,0), + n._desktop_model.transform.localScale = new Laya.Vector3(1,1,1), + n._desktop_model.transform.localRotationEuler = new Laya.Vector3(0,0,0), + n._desktop_model.active = !0, + n._desktop_model.isStatic = !0, + i.runWith(1), + e.run() + }), i) + } + , + i.prototype._load_player_views = function(e, n, a, r) { + var s = this + , o = {} + , l = {} + , h = {} + , c = {} + , _ = {}; + if (e) { + var u = !1; + e && e.mode && e.mode.detail_rule && e.mode.detail_rule.dora3_mode && (u = !0), + u && (l["scene/effect_dora3_begin_" + GameMgr.client_language + ".lh"] = 1, + l["scene/effect_dora3_shine.lh"] = 1, + _["audio/audio_mj/effect_moshi_baopai" + view.AudioMgr.suffix] = 1, + _["audio/audio_mj/effect_moshi_fanbaopai" + view.AudioMgr.suffix] = 1); + var d = !1; + if (e && e.mode && e.mode.detail_rule && e.mode.detail_rule.begin_open_mode && (d = !0), + d && (l["scene/effect_peipai_begin_" + GameMgr.client_language + ".lh"] = 1, + _["audio/audio_mj/effect_moshi_baopai" + view.AudioMgr.suffix] = 1), + e && e.mode && e.mode.detail_rule && e.mode.detail_rule.muyu_mode) { + o["scene/effect_muyu_" + GameMgr.client_language + ".lh"] = 1; + for (m = 0; m < 6; m++) + Laya.loader.create("scene/Assets/Resource/effect/texture/muyu_shuzi_" + m + ".png"); + l["scene/effect_muyu_begin_" + GameMgr.client_language + ".lh"] = 1, + _["audio/audio_mj/effect_moshi_baopai" + view.AudioMgr.suffix] = 1, + _["audio/audio_mj/moshi_longzhimuyu" + view.AudioMgr.suffix] = 1 + } + } + o["scene/effect_mingpai_default.lh"] = 1; + o["scene/" + t.GameUtility.get_view_res_name(t.EView.mingpai_zhishi) + ".lh"] = 1; + for (var f = t.EView.liqibang, p = t.EView.mingpai_zhishi, m = 0; m < n.length; m++) { + var g = n[m]; + if (g && g.character) { + var y = {} + , v = g.character + , b = cfg.item_definition.character.get(v.charid); + if (b && (y[t.EView.hand_model] = b.hand), + g.views) + for (B = 0; B < g.views.length; B++) { + var w = g.views[B].slot + , x = g.views[B].item_id; + x && (y[w] = x) + } + for (B = f; B <= p; B++) + if (B != t.EView.head_frame && B != t.EView.desktop && B != t.EView.mjp && B != t.EView.lobby_bg && B != t.EView.mingpai_zhishi) { + var I = t.GameUtility.get_view_default_item_id(B); + if (y[B] && (I = y[B]), + B == t.EView.lizhi_bgm) { + var C = cfg.item_definition.item.get(I); + if (C) { + var S = C.sargs[0]; + S && (_["audio/" + S] = 1) + } + } else { + var M = cfg.item_definition.view.get(I); + if (M) { + if (B == t.EView.liqibang || B == t.EView.hand_model ? h["scene/" + M.res_name + ".lh"] = 1 : B != t.EView.hupai_effect && B != t.EView.lizhi_effect || (o["scene/" + M.res_name + ".lh"] = 1), + M.audio_id) { + var L = cfg.audio.audio.get(M.audio_id); + L && (_[L.path + view.AudioMgr.suffix] = 1) + } + } else + switch (B) { + case t.EView.liqibang: + h["scene/liqi_default.lh"] = 1; + break; + case t.EView.hand_model: + h["scene/hand_human.lh"] = 1; + break; + case t.EView.hupai_effect: + o["scene/effect_hupai_default.lh"] = 1, + _["audio/audio_mj/hupai" + view.AudioMgr.suffix] = 1 + } + } + } + 305029 == y[t.EView.hupai_effect] && (o["scene/effect_hupai_yanhua_bang.lh"] = 1); + var T = v.skin + , E = cfg.item_definition.skin.get(T); + if (c[E.path + "/full.png"] = 1, + c[E.path + "/half.png"] = 1, + E.no_reverse && (c[E.path + "/reverse/full.png"] = 1, + c[E.path + "/reverse/half.png"] = 1), + v.extra_emoji) + for (var D = v.extra_emoji, N = cfg.character.emoji.getGroup(v.charid), A = 0; A < D.length; A++) + for (var B = 0; B < N.length; B++) + if (N[B].sub_id == D[A]) { + var k = N[B]; + 2 == k.type && (l["scene/" + k.view + ".lh"] = 1) + } + } + } + this._effect_list = []; + for (var R in o) + this._effect_list.push(R); + this._model_list = []; + for (var R in h) + this._model_list.push(R); + var P = []; + for (var R in c) + P.push(R); + this._ui_effect_list = []; + for (m = 0; m < i.ui_effect_list.length; m++) + this._ui_effect_list.push(i.ui_effect_list[m]); + for (var R in l) + this._ui_effect_list.push(R); + r.runWith(0), + t.LoadMgr.loadResImage(P, Laya.Handler.create(this, function() { + Laya.loader.create(s._model_list, Laya.Handler.create(s, function() { + t.EffectMgr.preheat_3d_effect(s._effect_list, view.DesktopMgr.Inst.trans_container_effect, !1, Laya.Handler.create(s, function() { + t.EffectMgr.preheat_3d_effect(s._ui_effect_list, t.FrontEffect.Inst.root_ui_effect, !0, Laya.Handler.create(s, function() { + Laya.timer.frameOnce(5, s, function() { + a.run(); + for (var t in _) + Laya.loader.load(t) + }) + }), Laya.Handler.create(s, function(t) { + return r.runWith(.65 + .35 * t) + }, null, !1)) + }), Laya.Handler.create(s, function(t) { + return r.runWith(.3 + .35 * t) + }, null, !1)) + }), Laya.Handler.create(s, function(t) { + return r.runWith(.2 + .1 * t) + }, null, !1)) + }), Laya.Handler.create(this, function(t) { + return r.runWith(.2 * t) + }, null, !1)) + } + , + i.prototype._on_quit = function() { + if (uiscript.UI_DesktopInfo.Inst && uiscript.UI_DesktopInfo.Inst.onCloseRoom(), + uiscript.UI_Win.Inst && (uiscript.UI_Win.Inst.enable = !1), + uiscript.UI_ScoreChange.Inst && (uiscript.UI_ScoreChange.Inst.enable = !1), + view.DesktopMgr.Inst && view.DesktopMgr.Inst.active) { + if (this._desktop_model && (this._desktop_model.destroy(!0), + this._desktop_model = null), + t.EffectMgr.force_dispose_3d_res(this._desktop_model_path), + this._desktop_model_path) { + (n = Laya.loader.getRes(this._desktop_model_path)) && n.destroy(!0), + this._desktop_model_path = "" + } + for (i = 0; i < this._model_list.length; i++) { + var e = this._model_list[i].url; + t.EffectMgr.force_dispose_3d_res(e); + (n = Laya.loader.getRes(e)) && n.destroy(!0) + } + this.clearTexture_commont_texture2d(); + for (var i = 0; i < this._mjp_textures.length; i++) { + var n = Laya.loader.getRes(this._mjp_textures[i].url); + n && n.dispose() + } + } + } + , + i.prototype.GameEnd = function() { + app.Log.log("Scene_MJ GameEnd"), + this._on_quit(), + t.MJNetMgr.Inst.Close(), + GameMgr.Inst.ingame = !1, + GameMgr.Inst.EnterLobby() + } + , + i.prototype.ForceOut = function() { + app.Log.log("Scene_MJ ForceOut"), + this._on_quit(), + t.MJNetMgr.Inst.Close(), + GameMgr.Inst.EnterLobby() + } + , + i.Inst = null, + i.ui_effect_list = ["scene/effect_getstar.lh", "scene/effect_losestar.lh", "scene/effect_queshi_bang.lh", "scene/effect_juanzhou.lh", "scene/effect_yiman.lh", "scene/effect_yiman2.lh"], + i + }(t.SceneBase); + t.Scene_MJ = e +}(game || (game = {})); +var view; +!function(t) { + var e = function() { + function t() {} + return t.play = function(t) {} + , + t.fastplay = function(t, e) {} + , + t.record = function(t, e) { + return void 0 === e && (e = 0), + 0 + } + , + t.fastrecord = function(t, e) { + void 0 === e && (e = -1) + } + , + t + }(); + t.ActionBase = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = function(e) { + function i() { + return null !== e && e.apply(this, arguments) || this + } + return __extends(i, e), + i.play = function(e) { + app.Log.log("ActionAnGangAddGang play data:" + JSON.stringify(e)); + var i = e.seat + , n = t.DesktopMgr.Inst.seat2LocalPosition(i); + if (e.doras && t.DesktopMgr.Inst.WhenDoras(e.doras, !1), + e.type == mjcore.E_Ming.gang_ming) + t.DesktopMgr.Inst.players[n].PlaySound("act_kan"), + Laya.timer.once(500, this, function() { + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + t.DesktopMgr.Inst.players[n].AddGang(mjcore.MJPai.Create(e.tiles)), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0 + }); + else { + var a = new mjcore.MJMing; + a.type = mjcore.E_Ming.gang_an, + a.from = [i, i, i, i], + a.pais = this.getAngangTile(e.tiles); + for (var r = [], s = 0; s < a.pais.length; s++) + r.push(-1); + Laya.timer.once(500, this, function() { + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + t.DesktopMgr.Inst.players[n].AddMing(a, r), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0 + }), + t.DesktopMgr.Inst.players[n].PlaySound("act_kan") + } + e.operation && Laya.timer.once(600, this, function() { + t.ActionOperation.play(e.operation) + }), + void 0 != e.zhenting && uiscript.UI_TingPai.Inst.setZhengting(e.zhenting), + i == t.DesktopMgr.Inst.seat && uiscript.UI_TingPai.Inst.setData1(e, !1), + uiscript.UI_DesktopInfo.Inst.changeHeadEmo(i, "emoji_5", 2e3) + } + , + i.fastplay = function(e, i) { + app.Log.log("ActionAnGangAddGang fastplay data:" + JSON.stringify(e) + " usetime:" + i); + var n = e.seat + , a = t.DesktopMgr.Inst.seat2LocalPosition(n); + if (e.doras && t.DesktopMgr.Inst.WhenDoras(e.doras, !0), + e.type == mjcore.E_Ming.gang_ming) + t.DesktopMgr.Inst.players[a].AddGang(mjcore.MJPai.Create(e.tiles), !1); + else { + var r = new mjcore.MJMing; + r.type = mjcore.E_Ming.gang_an, + r.from = [n, n, n, n], + r.pais = this.getAngangTile(e.tiles); + for (var s = [], o = 0; o < r.pais.length; o++) + s.push(-1); + t.DesktopMgr.Inst.players[a].AddMing(r, s, !1) + } + e.operation && -1 != i && Laya.timer.once(500, this, function() { + t.ActionOperation.play(e.operation, i) + }), + void 0 != e.zhenting && uiscript.UI_TingPai.Inst.setZhengting(e.zhenting), + n == t.DesktopMgr.Inst.seat && uiscript.UI_TingPai.Inst.setData1(e, !0), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0 + } + , + i.record = function(e, i) { + void 0 === i && (i = 0), + app.Log.log("ActionAnGangAddGang record data:" + JSON.stringify(e)), + e.doras && t.DesktopMgr.Inst.WhenDoras(e.doras, !0); + var n = e.seat + , a = t.DesktopMgr.Inst.seat2LocalPosition(n); + if (e.type == mjcore.E_Ming.gang_ming) + t.DesktopMgr.Inst.players[a].PlaySound("act_kan"), + Laya.timer.once(500, this, function() { + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + t.DesktopMgr.Inst.players[a].AddGang(mjcore.MJPai.Create(e.tiles)), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0 + }); + else { + var r = new mjcore.MJMing; + r.type = mjcore.E_Ming.gang_an, + r.from = [n, n, n, n], + r.pais = this.getAngangTile(e.tiles); + for (var s = [], o = 0; o < r.pais.length; o++) + s.push(-1); + Laya.timer.once(500, this, function() { + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + t.DesktopMgr.Inst.players[a].AddMing(r, s), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0 + }), + t.DesktopMgr.Inst.players[a].PlaySound("act_kan") + } + if (uiscript.UI_DesktopInfo.Inst.changeHeadEmo(n, "emoji_5", 2e3), + t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play && e.operations) + for (o = 0; o < e.operations.length; o++) + t.ActionOperation.ob(e.operations[o], i, 450); + return 1700 + } + , + i.fastrecord = function(e, i) { + void 0 === i && (i = -1), + app.Log.log("ActionAnGangAddGang fastrecord data:" + JSON.stringify(e)), + e.doras && t.DesktopMgr.Inst.WhenDoras(e.doras, !0); + var n = e.seat + , a = t.DesktopMgr.Inst.seat2LocalPosition(n); + if (e.type == mjcore.E_Ming.gang_ming) + t.DesktopMgr.Inst.players[a].AddGang(mjcore.MJPai.Create(e.tiles), !1); + else { + var r = new mjcore.MJMing; + r.type = mjcore.E_Ming.gang_an, + r.from = [n, n, n, n], + r.pais = this.getAngangTile(e.tiles); + for (var s = [], o = 0; o < r.pais.length; o++) + s.push(-1); + t.DesktopMgr.Inst.players[a].AddMing(r, s, !1) + } + if (t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play && i >= 0 && e.operations) + for (o = 0; o < e.operations.length; o++) + t.ActionOperation.ob(e.operations[o], i, 450); + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0, + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1) + } + , + i.getAngangTile = function(e) { + var i = []; + if ("0" != e.charAt(0) && "5" != e.charAt(0) || "z" == e.charAt(1)) + for (s = 0; s < 4; s++) + i.push(mjcore.MJPai.Create(e)); + else { + var n = 1; + if (t.DesktopMgr.Inst.game_config) { + var a = t.DesktopMgr.Inst.game_config.mode; + if (a && a.extendinfo) { + var r = JSON.parse(a.extendinfo); + if (r && null != r.dora_count) + switch (r.dora_count) { + case 0: + n = 0; + break; + case 2: + case 3: + n = 1; + break; + case 4: + n = "p" == e.charAt(1) ? 2 : 1 + } + } + if (a && a.detail_rule && a.detail_rule && null != a.detail_rule.dora_count) + switch (a.detail_rule.dora_count) { + case 0: + n = 0; + break; + case 2: + case 3: + n = 1; + break; + case 4: + n = "p" == e.charAt(1) ? 2 : 1 + } + } + for (var s = 0; s < 4; s++) { + var o = mjcore.MJPai.Create(e); + o.dora = 0 != s && s <= n, + i.push(o) + } + } + return t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0, + i + } + , + i + }(t.ActionBase); + t.ActionAnGangAddGang = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = function(e) { + function i() { + return null !== e && e.apply(this, arguments) || this + } + return __extends(i, e), + i.play = function(e) { + app.Log.log("ActionBabei play data:" + JSON.stringify(e)), + e.doras && t.DesktopMgr.Inst.WhenDoras(e.doras, !1); + var i = e.seat + , n = mjcore.MJPai.Create("4z"); + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].AddBabei(n, e.moqie, !0), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].PlaySound("act_babei"); + var a = !1; + e.tile_state && e.tile_state > 0 && (a = !0), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + i == t.DesktopMgr.Inst.seat ? t.DesktopMgr.Inst.mainrole.onBabei(n, a, !1) : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].onBabei(e.moqie, a, !1), + e.operation && Laya.timer.once(500, this, function() { + t.ActionOperation.play(e.operation) + }), + void 0 != e.zhenting && void 0 == e.operation && (uiscript.UI_DesktopInfo.Inst.setZhenting(e.zhenting), + uiscript.UI_TingPai.Inst.setZhengting(e.zhenting)), + i == t.DesktopMgr.Inst.seat && uiscript.UI_TingPai.Inst.setData1(e, !1), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0 + } + , + i.fastplay = function(e, i) { + app.Log.log("ActionBabei fastplay data:" + JSON.stringify(e) + " usetime:" + i), + e.doras && t.DesktopMgr.Inst.WhenDoras(e.doras, !0); + var n = e.seat + , a = mjcore.MJPai.Create("4z"); + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].AddBabei(a, e.moqie, !1); + var r = !1; + e.tile_state && e.tile_state > 0 && (r = !0), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1), + n == t.DesktopMgr.Inst.seat ? t.DesktopMgr.Inst.mainrole.onBabei(a, r, !0) : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].onBabei(e.moqie, r, !0), + e.operation && -1 != i && Laya.timer.once(500, this, function() { + t.ActionOperation.play(e.operation, i) + }), + void 0 != e.zhenting && void 0 == e.operation && (uiscript.UI_DesktopInfo.Inst.setZhenting(e.zhenting), + uiscript.UI_TingPai.Inst.setZhengting(e.zhenting)), + n == t.DesktopMgr.Inst.seat && uiscript.UI_TingPai.Inst.setData1(e, !0), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0 + } + , + i.record = function(e, i) { + void 0 === i && (i = 0), + app.Log.log("ActionBabei record data:" + JSON.stringify(e)), + e.doras && t.DesktopMgr.Inst.WhenDoras(e.doras, !0); + var n = e.seat + , a = mjcore.MJPai.Create("4z"); + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].AddBabei(a, e.moqie, !0), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].PlaySound("act_babei"); + var r = !1; + if (e.tile_state && e.tile_state > 0 && (r = !0), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + n == t.DesktopMgr.Inst.seat ? t.DesktopMgr.Inst.mainrole.onBabei(a, r, !1) : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].recordBabei(a, e.moqie, r, !1), + e.tingpais && t.DesktopMgr.Inst.setTingpai(e.seat, e.tingpais), + t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play && e.operations) + for (var s = 0; s < e.operations.length; s++) + t.ActionOperation.ob(e.operations[s], i, 450); + return t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0, + 1e3 + } + , + i.fastrecord = function(e, i) { + void 0 === i && (i = -1), + app.Log.log("ActionBabei fastrecord data:" + JSON.stringify(e)), + e.doras && t.DesktopMgr.Inst.WhenDoras(e.doras, !0); + var n = e.seat + , a = mjcore.MJPai.Create("4z"); + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].AddBabei(a, e.moqie, !1); + var r = !1; + if (e.tile_state && e.tile_state > 0 && (r = !0), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1), + n == t.DesktopMgr.Inst.seat ? t.DesktopMgr.Inst.mainrole.onBabei(a, r, !0) : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].recordBabei(a, e.moqie, r, !0), + e.tingpais && t.DesktopMgr.Inst.setTingpai(e.seat, e.tingpais), + t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play && i >= 0 && e.operations) + for (var s = 0; s < e.operations.length; s++) + t.ActionOperation.ob(e.operations[s], i, 450); + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0 + } + , + i + }(t.ActionBase); + t.ActionBabei = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = function(e) { + function i() { + return null !== e && e.apply(this, arguments) || this + } + return __extends(i, e), + i.play = function(e) { + app.Log.log("ActionChiPengGang play data:" + JSON.stringify(e)); + var i = e.seat + , n = new mjcore.MJMing; + n.type = e.type, + n.from = e.froms, + n.pais = []; + for (r = 0; r < e.tiles.length; r++) + n.pais.push(mjcore.MJPai.Create(e.tiles[r])); + for (var a = [], r = 0; r < n.pais.length; r++) + !e.tile_states || e.tile_states.length <= r ? a.push(0) : a.push(e.tile_states[r]); + Laya.timer.once(600, this, function() { + try { + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(t.DesktopMgr.Inst.lastpai_seat)].QiPaiNoPass(), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].AddMing(n, a), + n.type == mjcore.E_Ming.gang_ming && (t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0) + } catch (t) { + var r = {}; + r.error = t.message, + r.stack = t.stack, + r.method = "addming600", + r.name = "ActionChiPengGang", + GameMgr.Inst.onFatalError(r) + } + }), + i != t.DesktopMgr.Inst.seat || n.type != mjcore.E_Ming.gang_an && n.type != mjcore.E_Ming.gang_ming || (t.DesktopMgr.Inst.last_gang = Laya.timer.currTimer); + var s = "" + , o = ""; + switch (n.type) { + case mjcore.E_Ming.kezi: + s = "emoji_4", + o = "emoji_3"; + break; + case mjcore.E_Ming.shunzi: + s = "emoji_2", + o = "emoji_1"; + break; + case mjcore.E_Ming.gang_ming: + s = "emoji_6", + o = "emoji_5" + } + uiscript.UI_DesktopInfo.Inst.changeHeadEmo(t.DesktopMgr.Inst.index_player, s, 2e3), + t.DesktopMgr.Inst.index_player = i, + uiscript.UI_DesktopInfo.Inst.changeHeadEmo(t.DesktopMgr.Inst.index_player, o, 2e3), + t.DesktopMgr.Inst.RefreshPlayerIndicator(), + e.liqi && t.ActionLiqi.play(e.liqi), + e.operation && Laya.timer.once(600, this, function() { + t.ActionOperation.play(e.operation) + }), + void 0 != e.zhenting && void 0 == e.operation && (uiscript.UI_DesktopInfo.Inst.setZhenting(e.zhenting), + uiscript.UI_TingPai.Inst.setZhengting(e.zhenting)); + var l = ""; + switch (n.type) { + case mjcore.E_Ming.shunzi: + l = "act_chi"; + break; + case mjcore.E_Ming.gang_ming: + case mjcore.E_Ming.gang_an: + l = "act_kan"; + break; + case mjcore.E_Ming.kezi: + l = "act_pon" + } + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].PlaySound(l), + i == t.DesktopMgr.Inst.seat && uiscript.UI_TingPai.Inst.setData0(e) + } + , + i.fastplay = function(e, i) { + app.Log.log("ActionChiPengGang fastplay data:" + JSON.stringify(e) + " usetime:" + i); + var n = e.seat + , a = new mjcore.MJMing; + a.type = e.type, + a.from = e.froms, + a.pais = []; + for (s = 0; s < e.tiles.length; s++) + a.pais.push(mjcore.MJPai.Create(e.tiles[s])); + for (var r = [], s = 0; s < a.pais.length; s++) + !e.tile_states || e.tile_states.length <= s ? r.push(0) : r.push(e.tile_states[s]); + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(t.DesktopMgr.Inst.lastpai_seat)].QiPaiNoPass(), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].AddMing(a, r, !1), + a.type == mjcore.E_Ming.gang_ming && (t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0), + n != t.DesktopMgr.Inst.seat || a.type != mjcore.E_Ming.gang_an && a.type != mjcore.E_Ming.gang_ming || (t.DesktopMgr.Inst.last_gang = Laya.timer.currTimer), + t.DesktopMgr.Inst.index_player = n, + t.DesktopMgr.Inst.RefreshPlayerIndicator(), + e.liqi && t.ActionLiqi.fastplay(e.liqi, 0), + e.operation && -1 != i && Laya.timer.once(600, this, function() { + t.ActionOperation.play(e.operation, i) + }), + void 0 != e.zhenting && void 0 == e.operation && (uiscript.UI_DesktopInfo.Inst.setZhenting(e.zhenting), + uiscript.UI_TingPai.Inst.setZhengting(e.zhenting)), + n == t.DesktopMgr.Inst.seat && uiscript.UI_TingPai.Inst.setData0(e) + } + , + i.record = function(e, i) { + void 0 === i && (i = 0), + app.Log.log("ActionChiPengGang record data:" + JSON.stringify(e)); + var n = e.seat + , a = new mjcore.MJMing; + a.type = e.type, + a.from = e.froms, + a.pais = []; + for (s = 0; s < e.tiles.length; s++) + a.pais.push(mjcore.MJPai.Create(e.tiles[s])); + for (var r = [], s = 0; s < a.pais.length; s++) + !e.tile_states || e.tile_states.length <= s ? r.push(0) : r.push(e.tile_states[s]); + Laya.timer.once(600, this, function() { + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(t.DesktopMgr.Inst.lastpai_seat)].QiPaiNoPass(), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].AddMing(a, r), + a.type == mjcore.E_Ming.gang_ming && (t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0) + }), + n != t.DesktopMgr.Inst.seat || a.type != mjcore.E_Ming.gang_an && a.type != mjcore.E_Ming.gang_ming || (t.DesktopMgr.Inst.last_gang = Laya.timer.currTimer); + var o = "" + , l = ""; + switch (a.type) { + case mjcore.E_Ming.kezi: + o = "emoji_4", + l = "emoji_3"; + break; + case mjcore.E_Ming.shunzi: + o = "emoji_2", + l = "emoji_1"; + break; + case mjcore.E_Ming.gang_ming: + o = "emoji_6", + l = "emoji_5" + } + uiscript.UI_DesktopInfo.Inst.changeHeadEmo(t.DesktopMgr.Inst.index_player, o, 2e3), + t.DesktopMgr.Inst.index_player = n, + uiscript.UI_DesktopInfo.Inst.changeHeadEmo(t.DesktopMgr.Inst.index_player, l, 2e3), + t.DesktopMgr.Inst.RefreshPlayerIndicator(), + e.liqi && t.ActionLiqi.record(e.liqi); + var h = ""; + switch (a.type) { + case mjcore.E_Ming.shunzi: + h = "act_chi"; + break; + case mjcore.E_Ming.gang_ming: + case mjcore.E_Ming.gang_an: + h = "act_kan"; + break; + case mjcore.E_Ming.kezi: + h = "act_pon" + } + return t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].PlaySound(h), + t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play && e.operation && t.ActionOperation.ob(e.operation, i, 500), + 1700 + } + , + i.fastrecord = function(e, i) { + void 0 === i && (i = -1), + app.Log.log("ActionChiPengGang fastrecord data:" + JSON.stringify(e)); + var n = e.seat + , a = new mjcore.MJMing; + a.type = e.type, + a.from = e.froms, + a.pais = []; + for (s = 0; s < e.tiles.length; s++) + a.pais.push(mjcore.MJPai.Create(e.tiles[s])); + for (var r = [], s = 0; s < a.pais.length; s++) + !e.tile_states || e.tile_states.length <= s ? r.push(0) : r.push(e.tile_states[s]); + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(t.DesktopMgr.Inst.lastpai_seat)].QiPaiNoPass(), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].AddMing(a, r, !1), + a.type == mjcore.E_Ming.gang_ming && (t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !0), + t.DesktopMgr.Inst.index_player = n, + t.DesktopMgr.Inst.RefreshPlayerIndicator(), + e.liqi && t.ActionLiqi.fastrecord(e.liqi), + t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play && i >= 0 && e.operation && t.ActionOperation.ob(e.operation, i, 500) + } + , + i + }(t.ActionBase); + t.ActionChiPengGang = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = function(e) { + function i() { + return null !== e && e.apply(this, arguments) || this + } + return __extends(i, e), + i.play = function(e) { + app.Log.log("ActionDealTile play data:" + JSON.stringify(e)); + var i = e.seat + , n = e.tile; + t.DesktopMgr.Inst.left_tile_count = e.left_tile_count, + 10 == t.DesktopMgr.Inst.left_tile_count && (t.DesktopMgr.Inst.addMindVoice(t.DesktopMgr.Inst.seat, "ingame_remain10"), + Laya.timer.once(1e3, this, function() { + t.DesktopMgr.Inst.playMindVoice() + })); + var a = !1; + if (e.tile_state && e.tile_state > 0 && (a = !0), + i == t.DesktopMgr.Inst.seat) { + var r = Laya.timer.currTimer - t.DesktopMgr.Inst.last_gang + , s = 0; + r < 650 && (s = 650 - r), + Laya.timer.once(s, this, function() { + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + t.DesktopMgr.Inst.mainrole.TakePai(mjcore.MJPai.Create(n), a), + t.DesktopMgr.Inst.ActionRunComplete() + }) + } else + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + a ? t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].TakePai(mjcore.MJPai.Create(n), a) : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].TakePai(mjcore.MJPai.Create("5z"), a), + t.DesktopMgr.Inst.ActionRunComplete(); + t.DesktopMgr.Inst.index_player = i, + t.DesktopMgr.Inst.RefreshPaiLeft(), + t.DesktopMgr.Inst.RefreshPlayerIndicator(), + e.liqi && t.ActionLiqi.play(e.liqi), + e.operation && t.ActionOperation.play(e.operation), + e.doras && e.doras.length > 0 && t.DesktopMgr.Inst.WhenDoras(e.doras, !1), + void 0 != e.zhenting && void 0 == e.operation && (uiscript.UI_DesktopInfo.Inst.setZhenting(e.zhenting), + uiscript.UI_TingPai.Inst.setZhengting(e.zhenting)), + i == t.DesktopMgr.Inst.seat && uiscript.UI_TingPai.Inst.setData0(e), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !1 + } + , + i.fastplay = function(e, i) { + app.Log.log("ActionDealTile fastplay data:" + JSON.stringify(e) + " usetime:" + i); + var n = e.seat + , a = e.tile; + t.DesktopMgr.Inst.left_tile_count = e.left_tile_count; + var r = !1; + e.tile_state && e.tile_state > 0 && (r = !0), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1), + n == t.DesktopMgr.Inst.seat ? t.DesktopMgr.Inst.mainrole.TakePai(mjcore.MJPai.Create(a), r, !1) : r ? t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].TakePai(mjcore.MJPai.Create(a), r) : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].TakePai(mjcore.MJPai.Create("5z"), r), + t.DesktopMgr.Inst.index_player = n, + t.DesktopMgr.Inst.RefreshPaiLeft(), + t.DesktopMgr.Inst.RefreshPlayerIndicator(), + e.liqi && t.ActionLiqi.fastplay(e.liqi, 0), + e.operation && -1 != i && t.ActionOperation.play(e.operation, i), + e.doras && e.doras.length > 0 && t.DesktopMgr.Inst.WhenDoras(e.doras, !0), + void 0 != e.zhenting && void 0 == e.operation && (uiscript.UI_DesktopInfo.Inst.setZhenting(e.zhenting), + uiscript.UI_TingPai.Inst.setZhengting(e.zhenting)), + n == t.DesktopMgr.Inst.seat && uiscript.UI_TingPai.Inst.setData0(e), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !1 + } + , + i.record = function(e, i) { + void 0 === i && (i = 0), + app.Log.log("ActionDealTile record data:" + JSON.stringify(e)); + var n = e.seat + , a = e.tile; + t.DesktopMgr.Inst.left_tile_count = e.left_tile_count; + var r = !1; + return e.tile_state && e.tile_state > 0 && (r = !0), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + n == t.DesktopMgr.Inst.seat ? t.DesktopMgr.Inst.mainrole.TakePai(mjcore.MJPai.Create(a), r) : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].recordTakePai(mjcore.MJPai.Create(a), r), + t.DesktopMgr.Inst.index_player = n, + t.DesktopMgr.Inst.RefreshPaiLeft(), + t.DesktopMgr.Inst.RefreshPlayerIndicator(), + e.liqi && t.ActionLiqi.record(e.liqi), + e.doras && e.doras.length > 0 && t.DesktopMgr.Inst.WhenDoras(e.doras, !0), + t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play && e.operation && t.ActionOperation.ob(e.operation, i), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !1, + 300 + } + , + i.fastrecord = function(e, i) { + void 0 === i && (i = -1), + app.Log.log("ActionDealTile fastrecord data:" + JSON.stringify(e)); + var n = e.seat + , a = e.tile; + t.DesktopMgr.Inst.left_tile_count = e.left_tile_count; + var r = !1; + e.tile_state && e.tile_state > 0 && (r = !0), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1), + n == t.DesktopMgr.Inst.seat ? t.DesktopMgr.Inst.mainrole.TakePai(mjcore.MJPai.Create(a), r, !1) : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].recordTakePai(mjcore.MJPai.Create(a), r), + t.DesktopMgr.Inst.index_player = n, + t.DesktopMgr.Inst.RefreshPaiLeft(), + t.DesktopMgr.Inst.RefreshPlayerIndicator(), + e.liqi && t.ActionLiqi.fastrecord(e.liqi), + e.doras && e.doras.length > 0 && t.DesktopMgr.Inst.WhenDoras(e.doras, !0), + t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play && i >= 0 && e.operation && t.ActionOperation.ob(e.operation, i), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !1 + } + , + i + }(t.ActionBase); + t.ActionDealTile = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = function(e) { + function i() { + return null !== e && e.apply(this, arguments) || this + } + return __extends(i, e), + i.play = function(e) { + app.Log.log("ActionDiscardTile play data:" + JSON.stringify(e)), + e.doras && t.DesktopMgr.Inst.WhenDoras(e.doras, !1); + var i = e.seat + , n = mjcore.MJPai.Create(e.tile) + , a = !(null == e.is_liqi || void 0 == e.is_liqi || !e.is_liqi); + if (e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].AddQiPai(n, a, e.moqie), + a) { + e.is_wliqi ? t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].PlaySound("act_drich") : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].PlaySound("act_rich"); + var r = t.DesktopMgr.Inst.player_effects[i][game.EView.lizhi_bgm]; + if (r && 0 != r) { + var s = cfg.item_definition.item.get(r).sargs[0]; + t.AudioMgr.lizhiMuted ? t.AudioMgr.PlayLiqiBgm(s, 300, !0) : (t.BgmListMgr.stopBgm(), + Laya.timer.once(1e3, this, function() { + t.DesktopMgr.Inst.gameing && (t.BgmListMgr.PlayMJBgm("", !0), + t.AudioMgr.PlayLiqiBgm(s, 300, !0)) + })) + } + } + var o = !1; + e.tile_state && e.tile_state > 0 && (o = !0), + i == t.DesktopMgr.Inst.seat ? t.DesktopMgr.Inst.mainrole.OnDiscardTile(n, o, !1) : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].onDiscardTile(e.moqie, e.tile, o, !1), + e.operation && Laya.timer.once(500, this, function() { + t.ActionOperation.play(e.operation) + }), + void 0 != e.zhenting && void 0 == e.operation && (uiscript.UI_DesktopInfo.Inst.setZhenting(e.zhenting), + uiscript.UI_TingPai.Inst.setZhengting(e.zhenting)), + i == t.DesktopMgr.Inst.seat && uiscript.UI_TingPai.Inst.setData1(e, !1), + Laya.timer.once(500, this, function() { + a ? t.DesktopMgr.Inst.clearMindVoice() : t.DesktopMgr.Inst.playMindVoice() + }) + } + , + i.fastplay = function(e, i) { + app.Log.log("ActionDiscardTile fastplay data:" + JSON.stringify(e) + " usetime:" + i), + e.doras && t.DesktopMgr.Inst.WhenDoras(e.doras, !0); + var n = e.seat + , a = mjcore.MJPai.Create(e.tile) + , r = !(null == e.is_liqi || void 0 == e.is_liqi || !e.is_liqi) + , s = !1; + e.tile_state && e.tile_state > 0 && (s = !0), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].AddQiPai(a, r, e.moqie, !1), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1), + n == t.DesktopMgr.Inst.seat ? t.DesktopMgr.Inst.mainrole.OnDiscardTile(a, s, !0) : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].onDiscardTile(e.moqie, e.tile, s, !0), + e.operation && -1 != i && Laya.timer.once(500, this, function() { + t.ActionOperation.play(e.operation, i) + }), + void 0 != e.zhenting && void 0 == e.operation && (uiscript.UI_DesktopInfo.Inst.setZhenting(e.zhenting), + uiscript.UI_TingPai.Inst.setZhengting(e.zhenting)), + n == t.DesktopMgr.Inst.seat && uiscript.UI_TingPai.Inst.setData1(e, !0) + } + , + i.record = function(e, i) { + void 0 === i && (i = 0), + app.Log.log("ActionDiscardTile record data:" + JSON.stringify(e)), + e.doras && t.DesktopMgr.Inst.WhenDoras(e.doras, !0); + var n = e.seat + , a = mjcore.MJPai.Create(e.tile) + , r = !(null == e.is_liqi || void 0 == e.is_liqi || !e.is_liqi) + , s = !1; + if (e.tile_state && e.tile_state > 0 && (s = !0), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].AddQiPai(a, r, e.moqie), + r && (e.is_wliqi ? t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].PlaySound("act_drich") : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].PlaySound("act_rich"), + uiscript.UI_DesktopInfo.Inst.changeHeadEmo(n, "emoji_9", 2e3)), + n == t.DesktopMgr.Inst.seat ? t.DesktopMgr.Inst.mainrole.OnDiscardTile(a, s, !1) : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].recordDiscardTile(a, e.moqie, s, !1), + e.tingpais && t.DesktopMgr.Inst.setTingpai(e.seat, e.tingpais), + t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play && e.operations) + for (var o = 0; o < e.operations.length; o++) + t.ActionOperation.ob(e.operations[o], i, 450); + return 500 + } + , + i.fastrecord = function(e, i) { + void 0 === i && (i = -1), + app.Log.log("ActionDiscardTile fastrecord data:" + JSON.stringify(e)), + e.doras && t.DesktopMgr.Inst.WhenDoras(e.doras, !0); + var n = e.seat + , a = mjcore.MJPai.Create(e.tile) + , r = !(null == e.is_liqi || void 0 == e.is_liqi || !e.is_liqi) + , s = !1; + if (e.tile_state && e.tile_state > 0 && (s = !0), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].AddQiPai(a, r, e.moqie, !1), + n == t.DesktopMgr.Inst.seat ? t.DesktopMgr.Inst.mainrole.OnDiscardTile(a, s, !0) : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].recordDiscardTile(a, e.moqie, s, !0), + e.tingpais && t.DesktopMgr.Inst.setTingpai(e.seat, e.tingpais), + t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play && i >= 0 && e.operations) + for (var o = 0; o < e.operations.length; o++) + t.ActionOperation.ob(e.operations[o], i, 450) + } + , + i + }(t.ActionBase); + t.ActionDiscardTile = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = function(e) { + function i() { + return null !== e && e.apply(this, arguments) || this + } + return __extends(i, e), + i.play = function(e) { + var i = this; + e.doras && t.DesktopMgr.Inst.WhenDoras(e.doras, !1), + t.DesktopMgr.Inst.gameing = !1, + uiscript.UI_OtherPlayerInfo.Inst.close(), + t.BgmListMgr.stopBgm(); + var n = !1; + Laya.timer.once(100, this, function() { + var a = e.hules + , r = 0; + if (a[0].zimo) { + for (var s = a[0].seat, o = [], l = 0; l < a[0].hand.length; l++) + o.push(mjcore.MJPai.Create(a[0].hand[l])); + o = o.sort(mjcore.MJPai.Distance), + uiscript.UI_Huleshow.Inst.showZimo([t.DesktopMgr.Inst.seat2LocalPosition(s)]), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + r += 1400, + (a[0].title && "" != a[0].title || a[0].title_id) && (Laya.timer.once(r, i, function() { + uiscript.UI_HuCutIn.show(t.DesktopMgr.Inst.player_datas[s].avatar_id), + n = !0 + }), + r += 2e3), + Laya.timer.once(r, i, function() { + s == t.DesktopMgr.Inst.seat && t.DesktopMgr.Inst.mainrole.HulePrepare(o, a[0].hu_tile, a[0].zimo), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(s)].Hule(o, a[0].hu_tile, a[0].zimo, n) + }), + r += 2800, + s == t.DesktopMgr.Inst.seat && (uiscript.UI_TingPai.Inst.reset(), + uiscript.UI_TingPai.Inst.setZhengting(!1)) + } else { + Laya.timer.once(r, i, function() { + for (var e = [], i = 0; i < a.length; i++) + e.push(t.DesktopMgr.Inst.seat2LocalPosition(a[i].seat)); + uiscript.UI_Huleshow.Inst.showRong(e) + }), + r += 1500; + for (var h = function(e) { + var s = a[e].seat; + (a[e].title && "" != a[e].title || a[e].title_id) && (Laya.timer.once(r, i, function() { + uiscript.UI_HuCutIn.show(t.DesktopMgr.Inst.player_datas[s].avatar_id), + n = !0 + }), + r += 2e3) + }, l = 0; l < a.length; l++) + h(l); + for (l = 0; l < a.length; l++) { + if (a[l].seat == t.DesktopMgr.Inst.seat) { + for (var c = [], _ = 0; _ < a[l].hand.length; _++) + c.push(mjcore.MJPai.Create(a[l].hand[_])); + c = c.sort(mjcore.MJPai.Distance), + t.DesktopMgr.Inst.mainrole.HulePrepare(c, a[l].hu_tile, a[l].zimo) + } + } + Laya.timer.once(r, i, function() { + for (var e = 0, i = -1, r = 0; r < a.length; r++) { + var s = a[r].seat; + if (-1 == i) + i = s; + else { + t.DesktopMgr.Inst.seat2LocalPosition(i) > t.DesktopMgr.Inst.seat2LocalPosition(s) && (i = s) + } + } + i >= 0 && (e = t.DesktopMgr.Inst.player_effects[i][game.EView.hupai_effect]), + t.DesktopMgr.Inst.ShowHuleEffect(t.DesktopMgr.Inst.lastqipai, t.DesktopMgr.Inst.lastqipai.model.transform.position, e); + for (r = 0; r < a.length; r++) { + for (var o = [], l = 0; l < a[r].hand.length; l++) + o.push(mjcore.MJPai.Create(a[r].hand[l])); + o = o.sort(mjcore.MJPai.Distance), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(a[r].seat)].Hule(o, a[r].hu_tile, a[r].zimo, n), + a[r].seat == t.DesktopMgr.Inst.seat && (uiscript.UI_TingPai.Inst.reset(), + uiscript.UI_TingPai.Inst.setZhengting(!1)) + } + }), + r += 2e3 + } + for (l = 0; l < e.delta_scores.length; l++) + e.delta_scores[l] > 0 ? (uiscript.UI_DesktopInfo.Inst.changeHeadEmo(l, "emoji_7", -1), + t.DesktopMgr.Inst.onRoundEnd(l, 1)) : e.delta_scores[l] < 0 && (uiscript.UI_DesktopInfo.Inst.changeHeadEmo(l, "emoji_8", -1), + t.DesktopMgr.Inst.onRoundEnd(l, 0)); + Laya.timer.once(r, i, function() { + uiscript.UIMgr.Inst.ShowWin(e, !1), + t.DesktopMgr.Inst.ActionRunComplete() + }) + }) + } + , + i.fastplay = function(e, i) { + app.Log.log("ActionHule fastplay data:" + JSON.stringify(e)), + t.BgmListMgr.stopBgm(), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1), + e.doras && t.DesktopMgr.Inst.WhenDoras(e.doras, !1), + t.DesktopMgr.Inst.gameing = !1, + uiscript.UIMgr.Inst.ShowWin(e, !1) + } + , + i.record = function(t) { + return this.play(t), + 1e5 + } + , + i.fastrecord = function(e) { + t.BgmListMgr.stopBgm(), + t.DesktopMgr.Inst.gameing = !1, + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1), + uiscript.UIMgr.Inst.ShowWin(e, !1) + } + , + i + }(t.ActionBase); + t.ActionHule = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = function(e) { + function i() { + return null !== e && e.apply(this, arguments) || this + } + return __extends(i, e), + i.play = function(e) { + app.Log.log("ActionLiqi play data:" + JSON.stringify(e)), + Laya.timer.once(300, this, function() { + var i = e.seat + , n = e.score; + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].ShowLiqi(), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].SetScore(n, t.DesktopMgr.Inst.mainrole.score), + uiscript.UI_DesktopInfo.Inst.setLiqibang(e.liqibang) + }) + } + , + i.fastplay = function(e, i) { + app.Log.log("ActionLiqi fastplay data:" + JSON.stringify(e)); + var n = e.seat + , a = e.score; + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].ShowLiqi(!1), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].SetScore(a, t.DesktopMgr.Inst.mainrole.score), + uiscript.UI_DesktopInfo.Inst.setLiqibang(e.liqibang) + } + , + i.record = function(t) { + return app.Log.log("ActionLiqi record data:" + JSON.stringify(t)), + this.play(t), + 0 + } + , + i.fastrecord = function(e) { + app.Log.log("ActionLiqi fastrecord data:" + JSON.stringify(e)); + var i = e.seat + , n = e.score; + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].ShowLiqi(!1), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].SetScore(n, t.DesktopMgr.Inst.mainrole.score), + uiscript.UI_DesktopInfo.Inst.setLiqibang(e.liqibang) + } + , + i + }(t.ActionBase); + t.ActionLiqi = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = function(e) { + function i() { + return null !== e && e.apply(this, arguments) || this + } + return __extends(i, e), + i.play = function(e) { + var i = this; + app.Log.log("ActionLiuJu play data:" + JSON.stringify(e)), + t.DesktopMgr.Inst.gameing = !1, + uiscript.UI_OtherPlayerInfo.Inst.close(); + var n = 0; + if (e.liqi ? (n = 1e3, + t.ActionLiqi.play(e.liqi)) : n = 500, + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + e.type == mjcore.E_LiuJu.sanjiahule) { + t.BgmListMgr.stopBgm(); + var a = e.seat; + Laya.timer.once(n, this, function() { + for (var e = [], i = 0; i < 4; i++) + t.DesktopMgr.Inst.localPosition2Seat(i) != a && e.push(i); + uiscript.UI_Huleshow.Inst.showRong(e) + }), + n += 1500, + Laya.timer.once(n, this, function() { + for (var i = 0; i < e.allplayertiles.length; i++) + if (i != a) { + for (var n = e.allplayertiles[i].split("|"), r = [], s = 0; s < n.length; s++) + r.push(mjcore.MJPai.Create(n[s])); + r = r.sort(mjcore.MJPai.Distance), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].Huangpai(!0, r, !1) + } + }), + n += 1e3, + Laya.timer.once(n, this, function() { + uiscript.UIMgr.Inst.ShowLiuJu(e), + t.DesktopMgr.Inst.ActionRunComplete() + }) + } else + Laya.timer.once(n, this, function() { + t.BgmListMgr.stopBgm(); + var n = 500; + if (e.type == mjcore.E_LiuJu.jiuzhongjiupai) { + for (var a = e.seat, r = e.tiles, s = [], o = 0; o < r.length; o++) + s.push(mjcore.MJPai.Create(r[o])); + s = s.sort(mjcore.MJPai.Distance), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(a)].Huangpai(!0, s, !1) + } + if (e.type == mjcore.E_LiuJu.sijializhi && e.allplayertiles && e.allplayertiles.length > 0) { + for (var l = 0; l < e.allplayertiles.length; l++) { + for (var h = e.allplayertiles[l].split("|"), s = [], o = 0; o < h.length; o++) + s.push(mjcore.MJPai.Create(h[o])); + s = s.sort(mjcore.MJPai.Distance), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(l)].Huangpai(!0, s, !1) + } + n = 1e3 + } + Laya.timer.once(n, i, function() { + uiscript.UIMgr.Inst.ShowLiuJu(e), + t.DesktopMgr.Inst.ActionRunComplete() + }) + }) + } + , + i.fastplay = function(e, i) { + app.Log.log("ActionLiuJu fastplay data:" + JSON.stringify(e)), + t.BgmListMgr.stopBgm(), + t.DesktopMgr.Inst.gameing = !1, + uiscript.UI_OtherPlayerInfo.Inst.close(), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1); + if (e.liqi && t.ActionLiqi.fastplay(e.liqi, 0), + e.type == mjcore.E_LiuJu.jiuzhongjiupai) { + for (var n = e.seat, a = e.tiles, r = [], s = 0; s < a.length; s++) + r.push(mjcore.MJPai.Create(a[s])); + r = r.sort(mjcore.MJPai.Distance), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(n)].Huangpai(!0, r, !0) + } + if (e.type == mjcore.E_LiuJu.sanjiahule) + for (var n = e.seat, o = 0; o < e.allplayertiles.length; o++) + if (o != n) { + for (var l = e.allplayertiles[o].split("|"), r = [], s = 0; s < l.length; s++) + r.push(mjcore.MJPai.Create(l[s])); + r = r.sort(mjcore.MJPai.Distance), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(o)].Huangpai(!0, r, !1) + } + uiscript.UIMgr.Inst.ShowLiuJu(e) + } + , + i.record = function(t) { + return app.Log.log("ActionLiuJu record data:" + JSON.stringify(t)), + this.play(t), + 4e3 + } + , + i.fastrecord = function(e) { + t.BgmListMgr.stopBgm(), + t.DesktopMgr.Inst.gameing = !1, + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1), + uiscript.UIMgr.Inst.ShowLiuJu(e) + } + , + i + }(t.ActionBase); + t.ActionLiuJu = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = function(e) { + function i() { + return null !== e && e.apply(this, arguments) || this + } + return __extends(i, e), + i.play = function(e) { + var i = this; + app.Log.log("ActionNewRound play data:" + JSON.stringify(e)), + t.BgmListMgr.PlayMJBgm(), + t.DesktopMgr.Inst.index_change = e.chang, + t.DesktopMgr.Inst.index_ju = e.ju, + t.DesktopMgr.Inst.index_ben = e.ben, + t.DesktopMgr.Inst.index_player = e.ju, + t.DesktopMgr.Inst.gameing = !0, + t.DesktopMgr.Inst.left_tile_count = 69, + t.DesktopMgr.Inst.rule_mode == t.ERuleMode.Liqi4 ? t.DesktopMgr.Inst.left_tile_count = 69 : (t.DesktopMgr.Inst.rule_mode = t.ERuleMode.Liqi3) && (t.DesktopMgr.Inst.left_tile_count = 50), + e.left_tile_count && (t.DesktopMgr.Inst.left_tile_count = e.left_tile_count), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !1, + t.DesktopMgr.Inst.setAutoHule(!1), + t.DesktopMgr.Inst.setAutoMoQie(!1), + t.DesktopMgr.Inst.setAutoNoFulu(!1), + uiscript.UI_DesktopInfo.Inst.resetFunc(), + uiscript.UI_TingPai.Inst.reset(), + t.DesktopMgr.Inst.SetChangJuShow(t.DesktopMgr.Inst.index_change, t.DesktopMgr.Inst.index_ju), + uiscript.UI_DesktopInfo.Inst.setBen(t.DesktopMgr.Inst.index_ben), + uiscript.UI_DesktopInfo.Inst.setZhenting(!1), + uiscript.UI_DesktopInfo.Inst.reset_rounds(), + uiscript.UI_DesktopInfo.Inst.setLiqibang(e.liqibang); + for (var n = 0; n < 4; n++) + t.DesktopMgr.Inst.players[n].Reset(), + t.DesktopMgr.Inst.players[n].setSeat(t.DesktopMgr.Inst.localPosition2Seat(n)); + t.DesktopMgr.Inst.RefreshPlayerIndicator(), + t.DesktopMgr.Inst.RefreshPaiLeft(), + t.DesktopMgr.Inst.setScores(e.scores), + t.DesktopMgr.Inst.md5 = e.md5, + t.DesktopMgr.Inst.choosed_pai = null, + t.DesktopMgr.Inst.dora = []; + var a = 0; + 0 == t.DesktopMgr.Inst.index_change && 0 == t.DesktopMgr.Inst.index_ju && 0 == t.DesktopMgr.Inst.index_ben && (t.DesktopMgr.Inst.is_dora3_mode() && !t.DesktopMgr.Inst.is_muyu_mode() && (uiscript.UI_DesktopInfo.Inst.openDora3BeginEffect(), + a = 1300), + t.DesktopMgr.Inst.is_peipai_open_mode() && (uiscript.UI_DesktopInfo.Inst.openPeipaiOpenBeginEffect(), + a = 1300), + t.DesktopMgr.Inst.is_muyu_mode() && (uiscript.UI_DesktopInfo.Inst.openMuyuOpenBeginEffect(), + a = 1300)); + var r = !1; + void 0 != e.al && null != e.al && (r = e.al), + r && (uiscript.UI_AL.Show(), + a = 1300), + Laya.timer.once(a, this, function() { + for (var n = [], a = 0; a < e.tiles.length; a++) + n.push(mjcore.MJPai.Create(e.tiles[a])); + var r = [] + , s = []; + if (e.opens) + for (a = 0; a < e.opens.length; a++) + if (e.opens[a].seat == t.DesktopMgr.Inst.seat) { + r = e.opens[a].tiles, + s = e.opens[a].count; + break + } + t.DesktopMgr.Inst.mainrole.NewGame(n, r, s, !1), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0); + for (a = 1; a < 4; a++) { + var o = t.DesktopMgr.Inst.localPosition2Seat(a); + if (-1 != o) { + var l = [] + , h = []; + if (e.opens) + for (var c = 0; c < e.opens.length; c++) + if (e.opens[c].seat == o) { + l = e.opens[c].tiles, + h = e.opens[c].count; + break + } + t.DesktopMgr.Inst.players[a].NewGame(13 + (o == t.DesktopMgr.Inst.index_ju ? 1 : 0), l, h, !1) + } + } + t.DesktopMgr.Inst.is_dora3_mode() && Laya.timer.once(1e3, i, function() { + uiscript.UI_DesktopInfo.Inst.openDora3BeginShine() + }), + Laya.timer.once(1200, i, function() { + if (e.doras && e.doras.length > 0) + for (i = 0; i < e.doras.length; i++) + t.DesktopMgr.Inst.dora.push(mjcore.MJPai.Create(e.doras[i])), + uiscript.UI_DesktopInfo.Inst.setDora(i, t.DesktopMgr.Inst.dora[i]); + for (var i = 0; i < 4; i++) + t.DesktopMgr.Inst.players[i].OnDoraRefresh(); + if (t.DesktopMgr.Inst.index_ju == t.DesktopMgr.Inst.seat) { + n = { + tingpais: e.tingpais0, + operation: e.operation + }; + uiscript.UI_TingPai.Inst.setData0(n) + } else { + var n = { + tingpais: e.tingpais1 + }; + uiscript.UI_TingPai.Inst.setData1(n, !1) + } + t.DesktopMgr.Inst.ActionRunComplete() + }), + void 0 != e.operation && Laya.timer.once(1e3, i, function() { + t.ActionOperation.play(e.operation) + }) + }), + t.DesktopMgr.Inst.fetchLinks() + } + , + i.fastplay = function(e, i) { + app.Log.log("ActionNewRound fastplay data:" + JSON.stringify(e) + " usetime:" + i), + t.DesktopMgr.Inst.index_change = e.chang, + t.DesktopMgr.Inst.index_ju = e.ju, + t.DesktopMgr.Inst.index_ben = e.ben, + t.DesktopMgr.Inst.index_player = e.ju, + t.DesktopMgr.Inst.gameing = !0, + t.DesktopMgr.Inst.left_tile_count = 69, + t.DesktopMgr.Inst.rule_mode == t.ERuleMode.Liqi4 ? t.DesktopMgr.Inst.left_tile_count = 69 : (t.DesktopMgr.Inst.rule_mode = t.ERuleMode.Liqi3) && (t.DesktopMgr.Inst.left_tile_count = 50), + e.left_tile_count && (t.DesktopMgr.Inst.left_tile_count = e.left_tile_count), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !1, + t.DesktopMgr.Inst.setAutoHule(!1), + t.DesktopMgr.Inst.setAutoMoQie(!1), + t.DesktopMgr.Inst.setAutoNoFulu(!1), + uiscript.UI_DesktopInfo.Inst.resetFunc(), + uiscript.UI_TingPai.Inst.reset(), + t.DesktopMgr.Inst.SetChangJuShow(t.DesktopMgr.Inst.index_change, t.DesktopMgr.Inst.index_ju), + uiscript.UI_DesktopInfo.Inst.setBen(t.DesktopMgr.Inst.index_ben), + uiscript.UI_DesktopInfo.Inst.setZhenting(!1), + uiscript.UI_DesktopInfo.Inst.reset_rounds(), + uiscript.UI_DesktopInfo.Inst.setLiqibang(e.liqibang), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1); + for (a = 0; a < 4; a++) + t.DesktopMgr.Inst.players[a].Reset(), + t.DesktopMgr.Inst.players[a].setSeat(t.DesktopMgr.Inst.localPosition2Seat(a)); + t.DesktopMgr.Inst.RefreshPlayerIndicator(), + t.DesktopMgr.Inst.RefreshPaiLeft(), + t.DesktopMgr.Inst.setScores(e.scores), + t.DesktopMgr.Inst.md5 = e.md5, + t.DesktopMgr.Inst.choosed_pai = null, + t.DesktopMgr.Inst.dora = []; + for (var n = [], a = 0; a < e.tiles.length; a++) + n.push(mjcore.MJPai.Create(e.tiles[a])); + var r = [] + , s = []; + if (e.opens) + for (a = 0; a < e.opens.length; a++) + if (e.opens[a].seat == t.DesktopMgr.Inst.seat) { + r = e.opens[a].tiles, + s = e.opens[a].count; + break + } + t.DesktopMgr.Inst.mainrole.NewGame(n, r, s, !0); + for (a = 1; a < 4; a++) { + var o = t.DesktopMgr.Inst.localPosition2Seat(a); + if (-1 != o) { + var l = [] + , h = []; + if (e.opens) + for (var c = 0; c < e.opens.length; c++) + if (e.opens[c].seat == o) { + l = e.opens[c].tiles, + h = e.opens[c].count; + break + } + t.DesktopMgr.Inst.players[a].NewGame(13 + (o == t.DesktopMgr.Inst.index_ju ? 1 : 0), l, h, !0) + } + } + if (e.doras && e.doras.length > 0) + for (a = 0; a < e.doras.length; a++) + t.DesktopMgr.Inst.dora.push(mjcore.MJPai.Create(e.doras[a])), + uiscript.UI_DesktopInfo.Inst.setDora(a, t.DesktopMgr.Inst.dora[a]); + for (a = 0; a < 4; a++) + t.DesktopMgr.Inst.players[a].OnDoraRefresh(); + if (t.DesktopMgr.Inst.index_ju == t.DesktopMgr.Inst.seat) { + _ = { + tingpais: e.tingpais0, + operation: e.operation + }; + uiscript.UI_TingPai.Inst.setData0(_) + } else { + var _ = { + tingpais: e.tingpais1 + }; + uiscript.UI_TingPai.Inst.setData1(_, !0) + } + e.operation && -1 != i && Laya.timer.once(100, this, function() { + t.ActionOperation.play(e.operation, i + 100) + }) + } + , + i.record = function(e, i) { + void 0 === i && (i = 0), + app.Log.log("ActionNewRound record data:" + JSON.stringify(e)), + t.DesktopMgr.Inst.ClearOperationShow(), + t.BgmListMgr.PlayMJBgm(), + t.DesktopMgr.Inst.index_change = e.chang, + t.DesktopMgr.Inst.index_ju = e.ju, + t.DesktopMgr.Inst.index_ben = e.ben, + t.DesktopMgr.Inst.index_player = e.ju, + t.DesktopMgr.Inst.gameing = !0, + t.DesktopMgr.Inst.left_tile_count = 69, + t.DesktopMgr.Inst.rule_mode == t.ERuleMode.Liqi4 ? t.DesktopMgr.Inst.left_tile_count = 69 : (t.DesktopMgr.Inst.rule_mode = t.ERuleMode.Liqi3) && (t.DesktopMgr.Inst.left_tile_count = 50), + e.left_tile_count && (t.DesktopMgr.Inst.left_tile_count = e.left_tile_count), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !1, + t.DesktopMgr.Inst.tingpais = [[], [], [], []], + uiscript.UI_TingPai.Inst.reset(), + uiscript.UI_Replay.Inst.reset(), + t.DesktopMgr.Inst.SetChangJuShow(t.DesktopMgr.Inst.index_change, t.DesktopMgr.Inst.index_ju), + uiscript.UI_DesktopInfo.Inst.setBen(t.DesktopMgr.Inst.index_ben), + uiscript.UI_DesktopInfo.Inst.setZhenting(!1), + uiscript.UI_DesktopInfo.Inst.setLiqibang(e.liqibang); + for (l = 0; l < 4; l++) + t.DesktopMgr.Inst.players[l].setSeat(t.DesktopMgr.Inst.localPosition2Seat(l)); + t.DesktopMgr.Inst.RefreshPlayerIndicator(), + t.DesktopMgr.Inst.RefreshPaiLeft(), + t.DesktopMgr.Inst.choosed_pai = null, + t.DesktopMgr.Inst.dora = [], + t.AudioMgr.PlayAudio(216); + for (l = 0; l < 4; l++) { + var n = [] + , a = "tiles" + l.toString(); + if (e[a] && e[a].length > 0) { + for (o = 0; o < e[a].length; o++) + n.push(mjcore.MJPai.Create(e[a][o])); + var r = [] + , s = []; + if (e.opens) + for (var o = 0; o < e.opens.length; o++) + if (e.opens[o].seat == l) { + r = e.opens[o].tiles, + s = e.opens[o].count; + break + } + l == t.DesktopMgr.Inst.seat ? t.DesktopMgr.Inst.mainrole.RecordNewGame(n, r, s) : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(l)].RecordNewGame(n, r, s) + } + } + if (t.DesktopMgr.Inst.setScores(e.scores), + t.DesktopMgr.Inst.md5 = e.md5, + uiscript.UI_DesktopInfo.Inst.reset_rounds(), + e.doras && e.doras.length > 0) + for (l = 0; l < e.doras.length; l++) + t.DesktopMgr.Inst.dora.push(mjcore.MJPai.Create(e.doras[l])), + uiscript.UI_DesktopInfo.Inst.setDora(l, t.DesktopMgr.Inst.dora[l]); + else + e.dora && "" != e.dora && (t.DesktopMgr.Inst.dora.push(mjcore.MJPai.Create(e.dora)), + uiscript.UI_DesktopInfo.Inst.setDora(0, t.DesktopMgr.Inst.dora[0])); + for (l = 0; l < 4; l++) + t.DesktopMgr.Inst.players[l].OnDoraRefresh(); + if (e.tingpai) + for (var l = 0; l < e.tingpai.length; l++) + e.tingpai[l].seat != t.DesktopMgr.Inst.index_ju && t.DesktopMgr.Inst.setTingpai(e.tingpai[l].seat, e.tingpai[l].tingpais1); + return t.DesktopMgr.Inst.mode == t.EMJMode.paipu && (e.paishan ? (uiscript.UI_Replay.Inst.page_paishan.setTiles(e.paishan), + uiscript.UI_Replay.Inst.page_paishan.refresh()) : uiscript.UI_Replay.Inst.page_paishan.setNoInfo()), + t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play && e.operation && t.ActionOperation.ob(e.operation, i, 1e3), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0), + 300 + } + , + i.fastrecord = function(e, i) { + void 0 === i && (i = -1), + app.Log.log("ActionNewRound fastrecord data:" + JSON.stringify(e)), + t.BgmListMgr.PlayMJBgm(), + t.DesktopMgr.Inst.ClearOperationShow(), + t.DesktopMgr.Inst.index_change = e.chang, + t.DesktopMgr.Inst.index_ju = e.ju, + t.DesktopMgr.Inst.index_ben = e.ben, + t.DesktopMgr.Inst.index_player = e.ju, + t.DesktopMgr.Inst.gameing = !0, + t.DesktopMgr.Inst.left_tile_count = 69, + t.DesktopMgr.Inst.rule_mode == t.ERuleMode.Liqi4 ? t.DesktopMgr.Inst.left_tile_count = 69 : (t.DesktopMgr.Inst.rule_mode = t.ERuleMode.Liqi3) && (t.DesktopMgr.Inst.left_tile_count = 50), + e.left_tile_count && (t.DesktopMgr.Inst.left_tile_count = e.left_tile_count), + t.DesktopMgr.Inst.waiting_lingshang_deal_tile = !1, + t.DesktopMgr.Inst.tingpais = [[], [], [], []], + uiscript.UI_TingPai.Inst.reset(), + uiscript.UI_Replay.Inst.reset(), + t.DesktopMgr.Inst.SetChangJuShow(t.DesktopMgr.Inst.index_change, t.DesktopMgr.Inst.index_ju), + uiscript.UI_DesktopInfo.Inst.setBen(t.DesktopMgr.Inst.index_ben), + uiscript.UI_DesktopInfo.Inst.setZhenting(!1), + uiscript.UI_DesktopInfo.Inst.setLiqibang(e.liqibang); + for (l = 0; l < 4; l++) + t.DesktopMgr.Inst.players[l].setSeat(t.DesktopMgr.Inst.localPosition2Seat(l)); + t.DesktopMgr.Inst.RefreshPlayerIndicator(), + t.DesktopMgr.Inst.RefreshPaiLeft(), + t.DesktopMgr.Inst.choosed_pai = null, + t.DesktopMgr.Inst.dora = []; + for (l = 0; l < 4; l++) { + var n = [] + , a = "tiles" + l.toString(); + if (e[a] && e[a].length > 0) { + for (o = 0; o < e[a].length; o++) + n.push(mjcore.MJPai.Create(e[a][o])); + var r = [] + , s = []; + if (e.opens) + for (var o = 0; o < e.opens.length; o++) + if (e.opens[o].seat == l) { + r = e.opens[o].tiles, + s = e.opens[o].count; + break + } + l == t.DesktopMgr.Inst.seat ? t.DesktopMgr.Inst.mainrole.RecordNewGame(n, r, s) : t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(l)].RecordNewGame(n, r, s) + } + } + if (t.DesktopMgr.Inst.setScores(e.scores), + t.DesktopMgr.Inst.md5 = e.md5, + uiscript.UI_DesktopInfo.Inst.reset_rounds(), + e.doras && e.doras.length > 0) + for (l = 0; l < e.doras.length; l++) + t.DesktopMgr.Inst.dora.push(mjcore.MJPai.Create(e.doras[l])), + uiscript.UI_DesktopInfo.Inst.setDora(l, t.DesktopMgr.Inst.dora[l]); + else + e.dora && "" != e.dora && (t.DesktopMgr.Inst.dora.push(mjcore.MJPai.Create(e.dora)), + uiscript.UI_DesktopInfo.Inst.setDora(0, t.DesktopMgr.Inst.dora[0])); + for (l = 0; l < 4; l++) + t.DesktopMgr.Inst.players[l].OnDoraRefresh(); + if (e.tingpai) + for (var l = 0; l < e.tingpai.length; l++) + e.tingpai[l].seat != t.DesktopMgr.Inst.index_ju && t.DesktopMgr.Inst.setTingpai(e.tingpai[l].seat, e.tingpai[l].tingpais1); + t.DesktopMgr.Inst.mode == t.EMJMode.paipu && (e.paishan ? (uiscript.UI_Replay.Inst.page_paishan.setTiles(e.paishan), + uiscript.UI_Replay.Inst.page_paishan.refresh()) : uiscript.UI_Replay.Inst.page_paishan.setNoInfo()), + t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play && i >= 0 && e.operation && t.ActionOperation.ob(e.operation, i, 1e3), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1) + } + , + i + }(t.ActionBase); + t.ActionNewRound = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = function(e) { + function i() { + return null !== e && e.apply(this, arguments) || this + } + return __extends(i, e), + i.play = function(e) { + var i = this; + app.Log.log("ActionNewRound play data:" + JSON.stringify(e)); + for (var n = 0, a = 1; a < 4; a++) { + var r = t.DesktopMgr.Inst.players[a].discardcd - Laya.timer.currTimer; + r > n && (n = r) + } + Laya.timer.once(n, this, function() { + t.BgmListMgr.stopBgm(); + var n = e.players; + t.DesktopMgr.Inst.gameing = !1, + uiscript.UI_OtherPlayerInfo.Inst.close(), + uiscript.UI_TingPai.Inst.reset(), + uiscript.UI_TingPai.Inst.setZhengting(!1), + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !0); + for (var a = 0; a < n.length; a++) { + for (var r = [], s = 0; s < n[a].hand.length; s++) + r.push(mjcore.MJPai.Create(n[a].hand[s])); + r = r.sort(mjcore.MJPai.Distance), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(a)].Huangpai(n[a].tingpai, r, !1) + } + Laya.timer.once(1e3, i, function() { + uiscript.UI_Huleshow.Inst.showLiuJu(n) + }), + Laya.timer.once(6e3, i, function() { + if (e.liujumanguan) + uiscript.UIMgr.Inst.ShowWin(e.scores, !0); + else { + var i = []; + if (e.scores && e.scores.length > 0) { + for (a = 0; a < t.DesktopMgr.Inst.player_count; a++) + i.push({ + old_score: e.scores[0].old_scores[a], + delta: 0 + }); + for (a = 0; a < e.scores.length; a++) + if (e.scores[a].hasOwnProperty("delta_scores")) + for (var n = 0; n < t.DesktopMgr.Inst.player_count && n < e.scores[a].delta_scores.length; n++) + i[n].delta += e.scores[a].delta_scores[n] + } else + for (var a = 0; a < t.DesktopMgr.Inst.player_count; a++) + i.push({ + old_score: t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(a)].score, + delta: 0 + }); + uiscript.UI_ScoreChange.Inst.show(i) + } + t.DesktopMgr.Inst.ActionRunComplete() + }) + }) + } + , + i.fastplay = function(e, i) { + app.Log.log("ActionNewRound fastplay data:" + JSON.stringify(e)); + t.BgmListMgr.stopBgm(); + var n = e.players; + t.DesktopMgr.Inst.gameing = !1, + uiscript.UI_OtherPlayerInfo.Inst.close(); + var a = [!1, !1, !1, !1]; + uiscript.UI_TingPai.Inst.reset(), + uiscript.UI_TingPai.Inst.setZhengting(!1); + for (l = 0; l < t.DesktopMgr.Inst.player_count; l++) { + for (var r = [], s = 0; s < n[l].hand.length; s++) + r.push(mjcore.MJPai.Create(n[l].hand[s])); + r = r.sort(mjcore.MJPai.Distance), + t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(l)].Huangpai(n[l].tingpai, r, !0), + a[t.DesktopMgr.Inst.seat2LocalPosition(l)] = n[l].tingpai + } + if (e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1), + e.liujumanguan) + uiscript.UIMgr.Inst.ShowWin(e.scores, !0); + else { + var o = []; + if (e.scores && e.scores.length > 0) { + for (l = 0; l < t.DesktopMgr.Inst.player_count; l++) + o.push({ + old_score: e.scores[0].old_scores[l], + delta: 0 + }); + for (l = 0; l < e.scores.length; l++) + if (e.scores[l].hasOwnProperty("delta_scores")) + for (s = 0; s < t.DesktopMgr.Inst.player_count && s < e.scores[l].delta_scores.length; s++) + o[s].delta += e.scores[l].delta_scores[s] + } else + for (var l = 0; l < t.DesktopMgr.Inst.player_count; l++) + o.push({ + old_score: t.DesktopMgr.Inst.players[t.DesktopMgr.Inst.seat2LocalPosition(l)].score, + delta: 0 + }); + uiscript.UI_ScoreChange.Inst.show(o) + } + } + , + i.record = function(t) { + return app.Log.log("ActionNewRound record data:" + JSON.stringify(t)), + this.play(t), + 8e3 + } + , + i.fastrecord = function(e) { + t.BgmListMgr.stopBgm(), + t.DesktopMgr.Inst.gameing = !1; + for (var i = [], n = 0; n < e.players.length; n++) + i.push({ + seat: n + }); + e.muyu && t.DesktopMgr.Inst.onMuyuChange(e.muyu, !1), + uiscript.UI_Huleshow.Inst.showLiuJu(i) + } + , + i + }(t.ActionBase); + t.ActionNoTile = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = function(e) { + function i() { + return null !== e && e.apply(this, arguments) || this + } + return __extends(i, e), + i.play = function(e, i) { + void 0 === i && (i = 0), + app.Log.log("ActionOperation play data:" + JSON.stringify(e) + " usetime:" + i); + try { + if (e) { + t.DesktopMgr.Inst.mainrole.can_discard = !1; + var n = e.operation_list; + if (null == n || 0 == n.length) + return; + t.DesktopMgr.Inst.oplist = n; + var a = e.time_fixed + , r = e.time_add; + (a -= i) < 0 && (r += a, + a = 0, + r < 0 && (r = 0)), + app.Log.log("ActionOperation time_fixed:" + a + " time_add:" + r), + a + r >= 2e3 && t.DesktopMgr.Inst._PendingAuto() && uiscript.UI_DesktopInfo.Inst.showCountDown(a, r) + } + } catch (t) { + var s = {}; + s.error = t.message, + s.stack = t.stack, + s.method = "play", + s.name = "ActionOperation", + GameMgr.Inst.onFatalError(s) + } + } + , + i.ob = function(e, i, n) { + void 0 === i && (i = 0), + void 0 === n && (n = 0), + app.Log.log("ActionOperation ob data:" + JSON.stringify(e) + " usetime:" + i); + e.seat == t.DesktopMgr.Inst.seat && Laya.timer.once(n, this, function() { + var t = e.time_fixed + , n = e.time_add; + if ((i -= 300) < 0 && (i = 0), + (t -= i) < 0 && (n += t, + t = 0, + n < 0 && (n = 0)), + t + n >= 2e3) { + for (var a = !1, r = !1, s = !1, o = e.operation_list, l = 0; l < o.length; l++) { + switch (o[l].type) { + case mjcore.E_PlayOperation.eat: + case mjcore.E_PlayOperation.peng: + case mjcore.E_PlayOperation.ming_gang: + case mjcore.E_PlayOperation.rong: + a = !0; + break; + case mjcore.E_PlayOperation.an_gang: + case mjcore.E_PlayOperation.add_gang: + case mjcore.E_PlayOperation.liqi: + case mjcore.E_PlayOperation.zimo: + r = !0; + case mjcore.E_PlayOperation.jiuzhongjiupai: + r = !0 + } + o[l].type != mjcore.E_PlayOperation.dapai && o[l].type != mjcore.E_PlayOperation.liqi || (s = !0) + } + r && uiscript.UIMgr.Inst.ShowLiqiZimo(o), + a && uiscript.UIMgr.Inst.ShowChipenghu(o), + (a || r || s) && uiscript.UI_DesktopInfo.Inst.showCountDown(t, n) + } + }) + } + , + i + }(t.ActionBase); + t.ActionOperation = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + t.PAIMODEL_HEIGHT = .043225 * .94, + t.PAIMODEL_WIDTH = .032775 * .94, + t.PAIMODEL_THICKNESS = .0235 * .95 * .94, + t.PAI_COUNT = 136; + var e; + !function(t) { + t[t.NULL = 0] = "NULL", + t[t.AUTH = 1] = "AUTH", + t[t.SYNCING = 2] = "SYNCING", + t[t.READY = 3] = "READY" + }(e = t.ELink_State || (t.ELink_State = {})); + var i; + !function(t) { + t[t.Liqi4 = 0] = "Liqi4", + t[t.Liqi3 = 1] = "Liqi3" + }(i = t.ERuleMode || (t.ERuleMode = {})); + var n; + !function(t) { + t[t.play = 0] = "play", + t[t.paipu = 1] = "paipu", + t[t.live_broadcast = 2] = "live_broadcast" + }(n = t.EMJMode || (t.EMJMode = {})); + var a = function(a) { + function r() { + var e = a.call(this) || this; + return e.rule_mode = i.Liqi4, + e.mode = n.play, + e.active = !1, + e.game_config = null, + e.seat = 0, + e.dora = [], + e.players = null, + e.mainrole = null, + e.num_left_show = new Array, + e.plane_chang = null, + e.plane_ju = null, + e.trans_container_effect = null, + e.effect_pai_canchi = null, + e.effect_dora3D = null, + e.effect_doraPlane = null, + e.effect_shadow = null, + e.auto_hule = !1, + e.auto_nofulu = !1, + e.auto_moqie = !1, + e.auto_liqi = !0, + e.duringReconnect = !1, + e.gameing = !1, + e.lastpai_seat = 0, + e.lastqipai = null, + e.oplist = [], + e.liqi_select = [], + e.operation_showing = !1, + e.myaccountid = 0, + e.player_datas = [], + e.player_effects = [], + e.mjp_res_name = "", + e.last_gang = 0, + e.gameEndResult = null, + e.levelchangeinfo = null, + e.activity_reward = null, + e.rewardinfo = null, + e.choosed_pai = null, + e.muyu_info = null, + e.muyu_effect = null, + e.actionList = [], + e.action_index = 0, + e.current_step = 0, + e.actionMap = null, + e.tingpais = [], + e.record_show_hand = !1, + e.record_show_paopai = !1, + e.record_show_anim = !0, + e.ptchange = 0, + e.waiting_lingshang_deal_tile = !1, + e.md5 = "", + e.paipu_config = 0, + e.ai_level = 1, + e.timestoped = !1, + e.handles_after_timerun = [], + e.doactioncd = 0, + e.dochain_fast = !1, + e.action_running = !1, + e.hangupCount = 0, + e.state_cache = {}, + e.mind_voice_seat = -1, + e.mind_voice_type = "", + e.during_playing_mind_voice = !1, + r.Inst = e, + e.actionMap = {}, + e.actionMap.ActionMJStart = new Laya.Handler(e,function(t) { + t.msg; + return app.Log.log("ActionMJStart begin"), + e.ClearOperationShow(), + GameMgr.Inst.EnterMJ(), + uiscript.UI_FightBegin.show(Laya.Handler.create(e, function() { + uiscript.UI_Loading.Inst.close(), + e.ActionRunComplete() + })), + 2e3 + } + ,null,!1), + e.actionMap.ActionNewRound = new Laya.Handler(e,function(i) { + app.Log.log("ActionNewRound begin"); + var n = i.msg + , a = i.fast; + if (e.ClearOperationShow(), + uiscript.UI_Loading.Inst.close(), + GameMgr.Inst.EnterMJ(), + a) + return uiscript.UI_FightBegin.hide(), + t.ActionNewRound.fastplay(n, -1), + 0; + var r = uiscript.UI_FightBegin.hide(); + return Laya.timer.once(r + 200, e, function() { + t.ActionNewRound.play(n) + }), + n.al && (r += 1300), + r + 200 + 1200 + 400 + } + ,null,!1), + e.actionMap.ActionDiscardTile = new Laya.Handler(e,function(i) { + e.ClearOperationShow(); + var n = i.msg; + return i.fast ? (t.ActionDiscardTile.fastplay(n, -1), + 0) : (t.ActionDiscardTile.play(n), + Laya.timer.once(500, e, e.ActionRunComplete), + 500) + } + ,null,!1), + e.actionMap.ActionDealTile = new Laya.Handler(e,function(i) { + e.ClearOperationShow(); + var n = i.msg; + return i.fast ? (t.ActionDealTile.fastplay(n, -1), + 0) : (t.ActionDealTile.play(n), + 500) + } + ,null,!1), + e.actionMap.ActionChiPengGang = new Laya.Handler(e,function(i) { + e.ClearOperationShow(); + var n = i.msg; + return i.fast ? (t.ActionChiPengGang.fastplay(n, -1), + 0) : (t.ActionChiPengGang.play(n), + 1100) + } + ,null,!1), + e.actionMap.ActionAnGangAddGang = new Laya.Handler(e,function(i) { + e.ClearOperationShow(); + var n = i.msg; + return i.fast ? (t.ActionAnGangAddGang.fastplay(n, -1), + 0) : (t.ActionAnGangAddGang.play(n), + 1100) + } + ,null,!1), + e.actionMap.ActionHule = new Laya.Handler(e,function(i) { + e.ClearOperationShow(); + var n = i.msg; + return t.ActionHule.play(n), + 5e3 + } + ,null,!1), + e.actionMap.ActionNoTile = new Laya.Handler(e,function(i) { + e.ClearOperationShow(); + var n = i.msg; + return t.ActionNoTile.play(n), + 5e3 + } + ,null,!1), + e.actionMap.ActionLiuJu = new Laya.Handler(e,function(i) { + e.ClearOperationShow(); + var n = i.msg; + return t.ActionLiuJu.play(n), + 5e3 + } + ,null,!1), + e.actionMap.ActionBaBei = new Laya.Handler(e,function(i) { + e.ClearOperationShow(); + var n = i.msg; + return i.fast ? (t.ActionBabei.fastplay(n, -1), + 0) : (t.ActionBabei.play(n), + 1e3) + } + ,null,!1), + app.NetAgent.AddListener2MJ("NotifyGameEndResult", Laya.Handler.create(e, function(t) { + e.gameEndResult = t.result, + uiscript.UI_Hangup_Warn.Inst.enable && uiscript.UI_Hangup_Warn.Inst.close() + })), + app.NetAgent.AddListener2MJ("ActionPrototype", Laya.Handler.create(e, function(t) { + if (e.duringReconnect) + e.actionList.push(t); + else if (e.actionList.length > 0) + e.actionList.push(t); + else { + e.actionList.push(t); + var i = e.doactioncd - Laya.timer.currTimer; + i < 0 && (i = 0), + e.StartChainAction(i) + } + })), + app.NetAgent.AddListener2MJ("NotifyGameFinishReward", Laya.Handler.create(e, function(t) { + app.Log.log("NotifyGameFinishReward: " + JSON.stringify(t)), + e.levelchangeinfo = t.level_change, + e.rewardinfo = t + })), + app.NetAgent.AddListener2MJ("NotifyActivityReward", Laya.Handler.create(e, function(t) { + app.Log.log("NotifyActivityReward: " + JSON.stringify(t)), + e.activity_reward = t + })), + app.NetAgent.AddListener2MJ("NotifyGameTerminate", Laya.Handler.create(e, function(t) { + app.Log.log("NotifyGameTerminate:" + JSON.stringify(t)), + "user-manual-terminate" != t.reason && uiscript.UI_SecondConfirm.Inst.show_only_confirm(game.Tools.strOfLocalization(2227), Laya.Handler.create(e, function() { + e.Reset(), + game.Scene_MJ.Inst.GameEnd() + })), + uiscript.UI_VoteProgress.Inst.enable && uiscript.UI_VoteProgress.Inst.close() + })), + t.ModelAnimationController.init_data(), + app.NetAgent.AddListener2MJ("NotifyGamePause", Laya.Handler.create(e, function(t) { + app.Log.log("NotifyGamePause:" + JSON.stringify(t)); + var i = t.paused; + e.setGameStop(i) + })), + app.NetAgent.AddListener2MJ("NotifyActivityPoint", Laya.Handler.create(e, function(t) { + for (var e = t.activity_points, i = 0; i < e.length; i++) { + var n = e[i]; + n.activity_id == uiscript.UI_Activity_DuanWu_Point.activity_id && (uiscript.UI_Activity_DuanWu_Point.point = n.point) + } + })), + app.NetAgent.AddListener2MJ("NotifyLeaderboardPoint", Laya.Handler.create(e, function(t) { + for (var e = t.leaderboard_points, i = 0; i < e.length; i++) { + var n = e[i]; + n.leaderboard_id == uiscript.UI_Activity_DuanWu_Rank.activity_id && (uiscript.UI_Activity_DuanWu_Rank.point = n.point) + } + })), + app.NetAgent.AddListener2MJ("PlayerLeaving", Laya.Handler.create(e, function(t) { + t && t.seat == e.seat && uiscript.UI_Hangup_Warn.Inst.show() + })), + e + } + return __extends(r, a), + Object.defineProperty(r.prototype, "round_id", { + get: function() { + return this.index_change + "-" + this.index_ju + "-" + this.index_ben + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(r.prototype, "main_role_character_info", { + get: function() { + return this.player_datas[this.seat].character + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(r.prototype, "player_count", { + get: function() { + return this.rule_mode == i.Liqi3 ? 3 : 4 + }, + enumerable: !0, + configurable: !0 + }), + r.prototype.seat2LocalPosition = function(t) { + if (this.rule_mode == i.Liqi3) { + for (var e = this.seat, n = 0; n < 4; n++) { + if (t == e) + return n; + ++e >= 3 && (e = -1) + } + return 0 + } + return (t - this.seat + 4) % 4 + } + , + r.prototype.localPosition2Seat = function(t) { + if (this.rule_mode == i.Liqi3) { + for (var e = this.seat, n = 0; n < t; n++) + ++e >= 3 && (e = -1); + return e + } + return (this.seat + t) % 4 + } + , + r.prototype.getPlayerName = function(t) { + var e = this.player_datas[t].account_id; + if (this.mode == n.paipu && uiscript.UI_Replay.Inst.hide_name) { + switch (this.seat2LocalPosition(t)) { + case 0: + return { + account_id: e, + nickname: game.Tools.strOfLocalization(3076), + verified: 0 + }; + case 1: + return { + account_id: e, + nickname: game.Tools.strOfLocalization(3073), + verified: 0 + }; + case 2: + return { + account_id: e, + nickname: game.Tools.strOfLocalization(3074), + verified: 0 + }; + case 3: + return { + account_id: e, + nickname: game.Tools.strOfLocalization(3075), + verified: 0 + } + } + return { + account_id: e, + nickname: "", + verified: 0 + } + } + var i = this.player_datas[t].nickname; + return e && !game.Tools.is_same_zone(GameMgr.Inst.account_id, e) && null != app.Taboo.test(i) && (i = game.Tools.strOfLocalization(3060)), + { + account_id: e, + nickname: i, + verified: this.player_datas[t].verified + } + } + , + Object.defineProperty(r.prototype, "showingPaopai", { + get: function() { + return this.mode != n.play + }, + enumerable: !0, + configurable: !0 + }), + r.prototype.is_dora3_mode = function() { + return !!(this.game_config && this.game_config.mode && this.game_config.mode.detail_rule && this.game_config.mode.detail_rule.dora3_mode) + } + , + r.prototype.is_peipai_open_mode = function() { + return !!(this.game_config && this.game_config.mode && this.game_config.mode.detail_rule && this.game_config.mode.detail_rule.begin_open_mode) + } + , + r.prototype.is_muyu_mode = function() { + return !!(this.game_config && this.game_config.mode && this.game_config.mode.detail_rule && this.game_config.mode.detail_rule.muyu_mode) + } + , + r.prototype.is_open_hand = function() { + return !!(this.game_config && this.game_config.mode && this.game_config.mode.detail_rule && this.game_config.mode.detail_rule.open_hand) + } + , + r.prototype.ActionRunComplete = function() { + this.action_running = !1 + } + , + r.prototype.StartChainAction = function(t) { + this.doactioncd = Laya.timer.currTimer + t, + Laya.timer.frameLoop(1, this, this.DoChainAction) + } + , + r.prototype.DoChainAction = function() { + var t = this; + if (this.action_index >= this.actionList.length) + this.action_index = 0, + this.actionList = [], + this.dochain_fast = !1, + Laya.timer.clear(this, this.DoChainAction), + this.duringReconnect && (app.Log.log("finishSyncGame0"), + app.NetAgent.sendReq2MJ("FastTest", "finishSyncGame", {}, function(t, e) {}), + this.duringReconnect = !1); + else { + if (!this.dochain_fast) { + if (this.action_running) + return; + if (Laya.timer.currTimer <= this.doactioncd - Laya.timer.delta) + return; + Laya.timer.clear(this, this.DoChainAction) + } + this.action_index == this.actionList.length - 1 && this.duringReconnect && (this.duringReconnect = !1, + app.Log.log("finishSyncGame1"), + app.NetAgent.sendReq2MJ("FastTest", "finishSyncGame", {}, function(t, e) {})), + this.dochain_fast ? this.action_index + 2 < this.actionList.length ? this.DoMJAction(this.actionList[this.action_index++], !0) : (this.dochain_fast = !1, + this.DoMJAction(this.actionList[this.action_index++], !1)) : (this.dochain_fast = !1, + this.action_index + 4 < this.actionList.length && (this.dochain_fast = !0), + this.dochain_fast ? Laya.timer.once(800, this, function() { + for (var e = t.actionList.length - 1; e >= t.action_index; e--) + if ("ActionNewRound" == t.actionList[e].name) { + t.action_index = e; + break + } + t.DoMJAction(t.actionList[t.action_index++], !0) + }) : this.DoMJAction(this.actionList[this.action_index++], !1)) + } + } + , + r.prototype.DoMJAction = function(t, e) { + var i = this; + if (this.active) { + var n = net.ProtobufManager.lookupType("lq." + t.name); + if (!n) + throw new Error("ERR_CANNOT_FIND_MESSAGE_TYPE, lq." + t.name); + var a = t.step + , r = n.decode(t.data); + if (app.Log.log("DoMJAction step:" + a + " [" + t.name + "]: " + JSON.stringify(r) + " fast:" + e), + a > 1 && a != this.current_step + 1) + return app.Log.log("step 不对 强制触发全数据重连 step:" + a + " current_step:" + this.current_step), + void this.trySyncGame(); + var s = 0; + if (this.current_step = a, + this.actionMap.hasOwnProperty(t.name)) + try { + e || (this.action_running = !0), + s = this.actionMap[t.name].runWith({ + msg: r, + fast: e + }) + } catch (e) { + var o = {}; + return o.error = e.message, + o.stack = e.stack, + o.method = "DoMJAction", + o.name = t.name, + o.data = t, + o.step = a, + void GameMgr.Inst.onFatalError(o) + } + else + app.Log.Error("没有监听操作:" + t.name); + e ? this.DoChainAction() : Laya.timer.frameOnce(1, this, function() { + i.StartChainAction(s) + }) + } + } + , + r.prototype._load = function(e) { + this.desktop3D = e, + this.desktop3D.getChildByName("all").active = !1; + var i = this.desktop3D.getChildByName("poss"); + this.players = new Array, + this.mainrole = i.getChildByName("man_1").addComponent(t.ViewPlayer_Me), + this.mainrole.Init(this, 0, game.Scene_MJ.Inst.root2.getChildByName("hands"), i.getChildByName("ming_1").getChildAt(0), i.getChildByName("hai_1").getChildAt(0), i.getChildByName("man_1"), i.getChildByName("babei_1").getChildAt(0)), + this.mainrole.trans_hand3D = i.getChildByName("pai_1"), + this.mainrole.trans_hand3D.getChildAt(0).active = !1, + this.mainrole.trans_hand3D.active = !1, + this.mainrole.trans_hand3DCover = i.getChildByName("pai_1_cover"), + this.mainrole.trans_hand3DCover.getChildAt(0).active = !1, + this.mainrole.trans_hand3DCover.active = !1, + this.players.push(this.mainrole); + for (var n = 2; n <= 4; n++) { + var a = i.getChildByName("man_" + n).addComponent(t.ViewPlayer_Other); + a.Init(this, n - 1, i.getChildByName("pai_" + n).getChildAt(0), i.getChildByName("ming_" + n).getChildAt(0), i.getChildByName("hai_" + n).getChildAt(0), i.getChildByName("man_" + n), i.getChildByName("babei_" + n).getChildAt(0)), + this.players.push(a) + } + var r = this.desktop3D.getChildByName("other") + , s = r.getChildByName("left"); + this.num_left_show.push(s.getChildByName("0")), + this.num_left_show.push(s.getChildByName("1")), + this.SetLeftPaiShow(0); + var o = r.getChildByName("chang"); + this.plane_chang = o.getChildByName("chang"), + this.plane_ju = o.getChildByName("ju"), + this.SetChangJuShow(0, 0), + this.trans_container_effect = this.desktop3D.getChildByName("effect"), + this.effect_dora3D = this.trans_container_effect.getChildByName("effect_dora"), + this.effect_shadow = this.trans_container_effect.getChildByName("effect_shadow"), + this.effect_dora3D.active = !0, + this.effect_shadow.active = !0, + this.effect_doraPlane = game.Scene_MJ.Inst.root2.getChildByName("hands").getChildByName("effect_dora"), + this.effect_doraPlane.active = !1 + } + , + r.prototype.initRoom = function(e, a, s, o, l) { + var h = this; + uiscript.UI_WaitingRoom.Inst.resetData(), + this.game_config = e, + this.rule_mode = i.Liqi4, + e.mode.mode && (e.mode.mode < 10 ? this.rule_mode = i.Liqi4 : this.rule_mode = i.Liqi3), + this.mode = o, + this.seat = -1, + this.player_datas = a, + this.gameEndResult = null, + this.levelchangeinfo = null, + this.activity_reward = null, + this.rewardinfo = null, + this.active = !0, + this.ptchange = 0, + this.timestoped = !1, + this.action_running = !1, + this.hangupCount = 0, + this.handles_after_timerun = [], + this.muyu_info = null, + this.muyu_effect && (this.muyu_effect.destroy(), + this.muyu_effect = null), + uiscript.UI_GameStop.Inst.close(), + this.record_show_anim = !0, + this.mode == n.paipu ? this.record_show_hand = this.record_show_paopai = !0 : this.record_show_hand = this.record_show_paopai = !1, + this.mode == n.play ? (uiscript.UI_Invite.Inst.enable = !1, + 4 == e.category && (GameMgr.Inst.custom_match_id = e.meta.contest_uid)) : uiscript.UI_Invite.Inst.enable = !0, + this.myaccountid = s; + for (var c = {}, _ = 0; _ < a.length; _++) + for (var u = cfg.item_definition.skin.get(a[_].avatar_id), d = cfg.item_definition.character.get(u.character_id), f = cfg.voice.sound.getGroup(d.sound), p = 0; p < f.length; p++) + if (a[_].character && 2 == f[p].category && f[p].level_limit <= a[_].character.level) { + var m = f[p].path + t.AudioMgr.suffix; + c.hasOwnProperty(m) || (c[m] = 1) + } + for (var g in c) + Laya.loader.load(g, null, null, null, 3); + for (_ = 0; _ < this.player_datas.length; _++) + this.player_datas[_].account_id == s && (this.seat = _); + if (-1 == this.seat) { + if (this.mode == n.play) + return uiscript.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2228)), + void app.Log.Error(JSON.stringify(a)); + this.seat = 0 + } + if (uiscript.UI_Replay.Inst.enable = this.mode == n.paipu, + uiscript.UI_Ob_Replay.Inst.enable = !1, + r.bianjietishi = !0, + o == n.play) { + if (e.mode && e.mode.detail_rule) { + var y = e.mode.detail_rule; + null != y.bianjietishi && (r.bianjietishi = y.bianjietishi) + } + if (2 == e.category && e.meta) { + var v = cfg.desktop.matchmode.get(e.meta.mode_id); + v && 6 == v.room && (r.bianjietishi = !1) + } + uiscript.UI_MJTask_Progress.record() + } + this.mjp_res_name = game.GameUtility.get_view_res_name(game.EView.mjp), + this.player_effects = []; + for (var b = game.EView.liqibang, w = game.EView.lobby_bg, _ = 0; _ < this.player_datas.length; _++) { + for (var x = this.player_datas[_].character, I = {}, C = b; C <= w; C++) { + var S = game.GameUtility.get_view_default_item_id(C); + I[C] = S + } + if (x) { + var M = this.player_datas[_].views + , L = cfg.item_definition.character.get(x.charid); + if (L && (I[game.EView.hand_model] = L.hand), + M) + for (p = 0; p < M.length; p++) { + var T = M[p].slot + , E = M[p].item_id; + E && (I[T] = E) + } + } else + this.player_datas[_].character = { + charid: game.GameUtility.get_default_ai_character(), + level: 0, + exp: 0, + views: [], + skin: game.GameUtility.get_default_ai_skin(), + is_upgraded: !1 + }; + this.player_effects.push(I) + } + uiscript.UI_DesktopInfo.Inst.initRoom(), + uiscript.UI_DesktopInfo.Inst.refreshSeat(), + uiscript.UI_Hangup_Warn.Inst.enable = !1, + uiscript.UI_TingPai.Inst.enable = !0, + this.index_change = 0, + this.index_ju = 0, + this.index_ben = 0, + this.index_player = 0, + this.gameing = !0, + this.left_tile_count = 69, + this.duringReconnect = !1, + this.current_step = 0, + this.action_index = 0, + this.dochain_fast = !1, + this.actionList = [], + this.setAutoHule(!1), + this.setAutoMoQie(!1), + this.setAutoNoFulu(!1), + uiscript.UI_DesktopInfo.Inst.resetFunc(), + this.SetChangJuShow(this.index_change, this.index_ju), + uiscript.UI_DesktopInfo.Inst.setBen(this.index_ben), + uiscript.UI_DesktopInfo.Inst.setZhenting(!1); + for (_ = 0; _ < 4; _++) + this.players[_].onInitRoom(this.localPosition2Seat(_)), + this.players[_].SetScore(0, 0), + this.players[_].trans_ind.active = !1, + this.players[_].RefreshDir(); + if (this.RefreshPaiLeft(), + uiscript.UI_GameEnd.Inst.forceclose(), + uiscript.UI_RankChange.Inst.close(), + uiscript.UI_MJReward.Inst.close(), + Laya.timer.frameOnce(6, this, function() { + h.Reset(), + app.Log.log("场景init结束:" + Laya.Stat.currentMemorySize / 1024 / 1024 + " MB"), + l && l.run() + }), + this.state_cache = {}, + uiscript.UI_Activity.activity_is_running(uiscript.UI_Activity_DuanWu_Point.activity_id) && (this.state_cache.duanwu_point = uiscript.UI_Activity_DuanWu_Point.point, + this.state_cache.duanwu_rank = uiscript.UI_Activity_DuanWu_Rank.point), + this.is_muyu_mode()) { + var D = "scene/effect_muyu_" + GameMgr.client_language + ".lh"; + this.muyu_effect = new game.EffectBase(D), + this.muyu_effect.root.active = !1, + this.trans_container_effect.addChild(this.muyu_effect.root) + } + } + , + r.prototype.changeMainbody = function(t) { + if (this.mode != n.play) { + this.seat = t, + uiscript.UI_DesktopInfo.Inst.refreshSeat(!0); + for (var e = 0; e < 4; e++) + this.players[e].onInitRoom(this.localPosition2Seat(e)), + this.players[e].trans_ind.active = !1, + this.players[e].RefreshDir(); + this.Reset(), + this.mode == n.paipu && uiscript.UI_Replay.Inst.onChangeMainBody(), + this.mode == n.live_broadcast && uiscript.UI_Live_Broadcast.Inst.onChangeMainbody() + } + } + , + r.prototype.trySyncGame = function() { + var t = this; + this.Reset(), + this.duringReconnect = !0, + this.hangupCount = 0, + app.NetAgent.sendReq2MJ("FastTest", "syncGame", { + round_id: this.round_id, + step: 0 + }, function(e, i) { + e || i.error ? (uiscript.UIMgr.Inst.showNetReqError("syncGame", e, i), + game.Scene_MJ.Inst.ForceOut()) : (app.Log.log("[syncGame2] " + JSON.stringify(i)), + i.isEnd ? (uiscript.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2229)), + game.Scene_MJ.Inst.GameEnd()) : (t.fetchLinks(), + t.Reset(), + t.duringReconnect = !0, + t.syncGameByStep(i.game_restore))) + }) + } + , + r.prototype.syncGameByStep = function(e) { + var i = this + , n = !1; + if (this.timestoped = !1, + this.handles_after_timerun = [], + this.action_running = !1, + uiscript.UI_GameStop.Inst.close(), + this.hangupCount = 0, + uiscript.UI_Hangup_Warn.Inst.enable = !1, + e && 5 === e.game_state && (this.timestoped = !0), + GameMgr.Inst.EnterMJ(), + e && e.actions && e.actions.length > 0) { + this.actionList = []; + var a = -1; + null != e.passed_waiting_time && void 0 != e.passed_waiting_time && (a = 1e3 * e.passed_waiting_time); + for (var s = 0; s < e.actions.length; s++) { + var o = e.actions[s] + , l = s == e.actions.length - 1 ? a : -1 + , h = net.ProtobufManager.lookupType("lq." + o.name); + if (!h) + throw new Error("ERR_CANNOT_FIND_MESSAGE_TYPE, lq." + o.name); + var c = h.decode(o.data); + this.current_step = o.step; + try { + switch (o.name) { + case "ActionNewRound": + t.ActionNewRound.fastplay(c, l); + break; + case "ActionDiscardTile": + t.ActionDiscardTile.fastplay(c, l); + break; + case "ActionDealTile": + t.ActionDealTile.fastplay(c, l); + break; + case "ActionChiPengGang": + t.ActionChiPengGang.fastplay(c, l); + break; + case "ActionAnGangAddGang": + t.ActionAnGangAddGang.fastplay(c, l); + break; + case "ActionHule": + t.ActionHule.fastplay(c, l), + n = !0; + break; + case "ActionLiuJu": + t.ActionLiuJu.fastplay(c, l), + n = !0; + break; + case "ActionNoTile": + t.ActionNoTile.fastplay(c, l), + n = !0; + break; + case "ActionBaBei": + t.ActionBabei.fastplay(c, l) + } + } catch (t) { + var _ = {}; + _.error = t.message, + _.stack = t.stack, + _.method = "syncGameByStep", + _.name = o.name, + _.data = o, + _.step = s, + GameMgr.Inst.onFatalError(_); + break + } + } + Laya.timer.once(1e3, this, function() { + i.duringReconnect = !1, + uiscript.UI_Loading.Inst.close(), + n || t.BgmListMgr.PlayMJBgm(), + i.DoChainAction() + }) + } else + this.duringReconnect = !1, + this.timestoped ? this.handles_after_timerun.push(Laya.Handler.create(this, function() { + app.NetAgent.sendReq2MJ("FastTest", "confirmNewRound", {}, function(t, e) {}) + })) : app.NetAgent.sendReq2MJ("FastTest", "confirmNewRound", {}, function(t, e) {}); + app.Log.log("finishSyncGame11"), + app.NetAgent.sendReq2MJ("FastTest", "finishSyncGame", {}, function(t, e) {}), + r.Inst.fetchLinks(), + this.timestoped && uiscript.UI_GameStop.Inst.show() + } + , + r.prototype.setGameStop = function(t) { + if (t != this.timestoped) + if (this.timestoped = t, + this.timestoped) + this.handles_after_timerun = [], + uiscript.UI_GameStop.Inst.show(); + else { + if (uiscript.UI_GameStop.Inst.close(), + this.handles_after_timerun) + for (var e = 0; e < this.handles_after_timerun.length; e++) + this.handles_after_timerun[e].run(); + this.handles_after_timerun = [], + this.hangupCount = 0 + } + } + , + r.prototype.CreatePai3D = function(t) { + var e = this.desktop3D.getChildByName("all").getChildByName("mjp").getChildByName(t.toString()).clone() + , i = this.desktop3D.getChildByName("all").getChildByName("maque_outline").clone() + , n = e + , a = new caps.BaseMaterial(caps.Cartoon.filename) + , r = "scene/Assets/Resource/mjpai/"; + "en" == GameMgr.client_language && (r += "en/"), + r += this.mjp_res_name + "/mjp.png", + a.setTexture(caps.Cartoon.TEXTURE, Laya.loader.getRes(r)), + a.setNumber(caps.Cartoon.SPLIT, .4), + a.setColor(caps.Cartoon.COLOR_LIGHT, new Laya.Vector3(1,1,1)), + a.setColor(caps.Cartoon.COLOR_UNLIGHT, new Laya.Vector3(.788,.788,.8235)), + a.setColor(caps.Cartoon.COLOR, new Laya.Vector3(1,1,1)), + n.meshRender.sharedMaterial = a; + var s = i; + e.addChild(s), + s.transform.localPosition = new Laya.Vector3(0,0,0), + s.transform.localScale = new Laya.Vector3(1,1,1), + s.transform.localRotation = new Laya.Quaternion(0,0,0,0); + var o = s + , l = new caps.Material_Outline(caps.Outline.filename); + return l.setColor(caps.Outline.OUTLINE_COLOR, new Laya.Vector3(.165,.192,.204)), + l.setNumber(caps.Outline.OUTLINE_ALPHA, .6), + l.setNumber(caps.Outline.OUTLINE, .0012), + o.meshRender.sharedMaterial = l, + e + } + , + r.prototype.RefreshPlayerIndicator = function() { + for (var t = 0; t < 4; t++) + this.players[t].trans_ind.active = t == this.seat2LocalPosition(this.index_player), + this.players[t].RefreshScore(this.mainrole.score) + } + , + r.prototype.setAutoHule = function(t) { + this.auto_hule = t, + this._PendingAuto() + } + , + r.prototype.setAutoNoFulu = function(t) { + this.auto_nofulu = t, + this._PendingAuto() + } + , + r.prototype.setAutoMoQie = function(t) { + this.auto_moqie = t, + this._PendingAuto() + } + , + r.prototype.setAutoLiPai = function(t) { + this.auto_liqi = t, + t && this.gameing && this.mainrole && this.mainrole.LiPai() + } + , + r.prototype.setScoreDelta = function(t) { + for (var e = 1; e < 4; e++) + this.players[e].duringShowDetla = t, + this.players[e].RefreshScore(this.mainrole.score) + } + , + r.prototype.SetChangJuShow = function(t, e) { + var i = new Laya.Vector4(.2,1,t % 4 * .2,0); + "en" == GameMgr.client_language && (i = new Laya.Vector4(1,.25,0,.25 * (t % 4 - 3))), + this.plane_chang.meshRender.material.tilingOffset = i; + var n = new Laya.Vector4(.25,1,.25 * e,0); + this.plane_ju.meshRender.material.tilingOffset = n + } + , + r.prototype.SetLeftPaiShow = function(t) { + t >= 100 ? t = 99 : t < 0 && (t = 0); + for (var e = [t % 10, Math.floor(t / 10)], i = 0; i < e.length; i++) { + var n = new Laya.Vector4(.1,1,.1 * e[i],0); + this.num_left_show[i].meshRender.material.tilingOffset = n + } + } + , + r.prototype.RefreshPaiLeft = function() { + this.SetLeftPaiShow(this.left_tile_count) + } + , + r.prototype.Reset = function() { + app.Log.log("DesktopMgr.Reset"), + this.operation_showing = !1, + this.oplist = [], + Laya.timer.clearAll(t.ActionAnGangAddGang), + Laya.timer.clearAll(t.ActionChiPengGang), + Laya.timer.clearAll(t.ActionDealTile), + Laya.timer.clearAll(t.ActionDiscardTile), + Laya.timer.clearAll(t.ActionHule), + Laya.timer.clearAll(t.ActionLiqi), + Laya.timer.clearAll(t.ActionLiuJu), + Laya.timer.clearAll(t.ActionNewRound), + Laya.timer.clearAll(t.ActionNoTile), + Laya.timer.clearAll(t.ActionOperation), + Laya.timer.clearAll(this), + uiscript.UI_DesktopInfo.Inst.reset_rounds(), + uiscript.UI_Replay.Inst.reset(), + this.effect_pai_canchi && (this.effect_pai_canchi.destroy(), + this.effect_pai_canchi = null); + for (var e = 0; e < 4; e++) + this.players[e].Reset(); + this.tingpais = [[], [], [], []], + this.md5 = "", + this.current_step = -1, + this.muyu_info = null, + this.muyu_effect && (this.muyu_effect.root.active = !1, + Laya.timer.clearAll(this.muyu_effect)), + this.mind_voice_seat = -1, + this.mind_voice_type = "", + this.during_playing_mind_voice = !1 + } + , + r.prototype.setScores = function(e) { + for (var i = 0; i < e.length; i++) + this.players[t.DesktopMgr.Inst.seat2LocalPosition(i)].SetScore(e[i], e[this.seat]) + } + , + r.prototype._PendingAuto = function() { + if (null == this.oplist || 0 == this.oplist.length) + return !1; + app.Log.log("_PendingAuto"); + try { + var t = !1 + , e = !1 + , i = !1 + , n = !1 + , a = !1 + , r = this.operation_showing; + this.operation_showing = !0; + var s = null; + this.liqi_select = []; + for (u = 0; u < this.oplist.length; u++) { + switch (this.oplist[u].type) { + case mjcore.E_PlayOperation.eat: + case mjcore.E_PlayOperation.peng: + case mjcore.E_PlayOperation.ming_gang: + case mjcore.E_PlayOperation.rong: + t = !0; + break; + case mjcore.E_PlayOperation.an_gang: + case mjcore.E_PlayOperation.add_gang: + case mjcore.E_PlayOperation.liqi: + case mjcore.E_PlayOperation.zimo: + case mjcore.E_PlayOperation.babei: + e = !0; + case mjcore.E_PlayOperation.jiuzhongjiupai: + e = !0 + } + if (this.oplist[u].type == mjcore.E_PlayOperation.dapai && (a = !0, + s = this.oplist[u].combination), + this.oplist[u].type == mjcore.E_PlayOperation.liqi) { + a = !0, + this.liqi_select = []; + for (var o = 0; o < this.oplist[u].combination.length; o++) + this.liqi_select.push(mjcore.MJPai.Create(this.oplist[u].combination[o])) + } + this.oplist[u].type == mjcore.E_PlayOperation.rong && (i = !0), + this.oplist[u].type == mjcore.E_PlayOperation.zimo && (n = !0) + } + var l = this.auto_hule + , h = this.auto_nofulu + , c = this.auto_moqie; + if (l && (i || n)) + return Laya.timer.once(800, this, function() { + i ? app.NetAgent.sendReq2MJ("FastTest", "inputChiPengGang", { + type: mjcore.E_PlayOperation.rong, + index: 0 + }, function(t, e) {}) : n && app.NetAgent.sendReq2MJ("FastTest", "inputOperation", { + type: mjcore.E_PlayOperation.zimo, + index: 0 + }, function(t, e) {}) + }), + this.ClearOperationShow(), + !1; + if (t) { + if (h && !i && !n) + return app.NetAgent.sendReq2MJ("FastTest", "inputChiPengGang", { + cancel_operation: !0 + }, function(t, e) {}), + this.ClearOperationShow(), + !1; + r || uiscript.UIMgr.Inst.ShowChipenghu(this.oplist) + } else if (e && (r || uiscript.UIMgr.Inst.ShowLiqiZimo(this.oplist)), + a) { + if (c && !uiscript.UI_LiQiZiMo.Inst.enable && null != this.mainrole.last_tile) + return this.Action_QiPai(this.mainrole.last_tile.val, !0, !0, this.mainrole.last_tile.is_open), + !1; + if (!r && (this.mainrole.can_discard = !0, + s && s.length > 0)) { + for (var _ = [], u = 0; u < s.length; u++) + _.push(mjcore.MJPai.Create(s[u])); + this.mainrole.ChiTiSelect(_) + } + } else + this.mainrole.can_discard = !1 + } catch (t) { + var d = {}; + d.error = t.message, + d.stack = t.stack, + d.method = "_PendingAuto", + d.name = "DesktopMgr", + GameMgr.Inst.onFatalError(d) + } + return !0 + } + , + r.prototype.OperationTimeOut = function() { + if (null != this.oplist && 0 != this.oplist.length) { + var t = !1 + , e = !1 + , i = !1 + , n = !1 + , a = !1; + this.operation_showing; + this.operation_showing = !0; + for (s = 0; s < this.oplist.length; s++) { + switch (this.oplist[s].type) { + case mjcore.E_PlayOperation.eat: + case mjcore.E_PlayOperation.peng: + case mjcore.E_PlayOperation.ming_gang: + case mjcore.E_PlayOperation.rong: + t = !0; + break; + case mjcore.E_PlayOperation.an_gang: + case mjcore.E_PlayOperation.add_gang: + case mjcore.E_PlayOperation.liqi: + case mjcore.E_PlayOperation.zimo: + case mjcore.E_PlayOperation.babei: + e = !0 + } + this.oplist[s].type != mjcore.E_PlayOperation.dapai && this.oplist[s].type != mjcore.E_PlayOperation.liqi || (a = !0, + this.oplist[s].type == mjcore.E_PlayOperation.dapai && this.oplist[s].combination), + this.oplist[s].type == mjcore.E_PlayOperation.rong && (i = !0), + this.oplist[s].type == mjcore.E_PlayOperation.zimo && (n = !0) + } + if (t) + i ? app.NetAgent.sendReq2MJ("FastTest", "inputChiPengGang", { + type: mjcore.E_PlayOperation.rong, + index: 0, + timeuse: 1e6 + }, function(t, e) {}) : app.NetAgent.sendReq2MJ("FastTest", "inputChiPengGang", { + cancel_operation: !0, + timeuse: 1e6 + }, function(t, e) {}), + this.ClearOperationShow(); + else if (n) + app.NetAgent.sendReq2MJ("FastTest", "inputOperation", { + type: mjcore.E_PlayOperation.zimo, + index: 0, + timeuse: 1e6 + }, function(t, e) {}); + else if (a) + if (this.mainrole.during_liqi) { + for (var r = -1, s = 0; s < this.mainrole.hand.length; s++) + if (this.mainrole.hand[s].valid) { + r = s; + break + } + this.Action_LiQi(this.mainrole.hand[r].val, this.mainrole.hand[r] === this.mainrole.last_tile, this.mainrole.hand[r].is_open) + } else { + var o = null + , l = !1 + , h = !1; + if (null == o && this.mainrole.last_tile && this.mainrole.last_tile.valid && (o = this.mainrole.last_tile.val, + l = !0, + h = this.mainrole.last_tile.is_open), + null == o) + for (s = this.mainrole.hand.length - 1; s >= 0; s--) + if (this.mainrole.hand[s].valid) { + o = this.mainrole.hand[s].val, + l = !1, + h = this.mainrole.hand[s].is_open; + break + } + this.Action_QiPai(o, l, !0, h) + } + else + e && (app.NetAgent.sendReq2MJ("FastTest", "inputOperation", { + cancel_operation: !0, + timeuse: 1e6 + }, function(t, e) {}), + this.ClearOperationShow()) + } + } + , + r.prototype.WhenDoOperation = function() { + this.hangupCount = 0, + this.ClearOperationShow() + } + , + r.prototype.ClearOperationShow = function() { + this.operation_showing = !1, + this.oplist = [], + uiscript.UIMgr.Inst.CloseLiuJu(), + uiscript.UIMgr.Inst.CloseWin(), + uiscript.UIMgr.Inst.CloseChipenghu(), + uiscript.UIMgr.Inst.CloseLiqiZimo(), + Laya.timer.clearAll(t.ActionOperation), + uiscript.UI_ScoreChange.Inst.enable = !1, + this.mainrole.can_discard = !1, + uiscript.UI_DesktopInfo.Inst.closeCountDown() + } + , + r.prototype.WhenLiqiInfo = function(t) { + var e = this; + t && Laya.timer.once(300, this, function() { + var i = t.seat + , n = t.score; + e.players[e.seat2LocalPosition(i)].ShowLiqi(), + e.players[e.seat2LocalPosition(i)].SetScore(n, e.mainrole.score), + uiscript.UI_DesktopInfo.Inst.setLiqibang(t.liqibang) + }) + } + , + r.prototype.WhenDoras = function(e, i) { + var n = this; + if (!(null == e || void 0 == e || 0 == e.length || e.length <= this.dora.length) && e) { + for (var a = 0; a < e.length; a++) + this.dora.length > a ? this.dora[a] = mjcore.MJPai.Create(e[a]) : this.dora.push(mjcore.MJPai.Create(e[a])), + uiscript.UI_DesktopInfo.Inst.setDora(a, this.dora[a]); + Laya.timer.frameOnce(1, this, function() { + for (var t = 0; t < 4; t++) + n.players[t].OnDoraRefresh() + }), + i || t.AudioMgr.PlayAudio(215) + } + } + , + r.prototype.Action_QiPai = function(t, e, i, n) { + app.NetAgent.sendReq2MJ("FastTest", "inputOperation", { + type: mjcore.E_PlayOperation.dapai, + tile: t.toString(), + moqie: e, + timeuse: uiscript.UI_DesktopInfo.Inst._timecd.timeuse, + tile_state: n ? 1 : 0 + }, function(t, e) { + t ? app.Log.Error("Action_QiPai 失败") : app.Log.info("Action_QiPai 成功") + }), + i ? this.ClearOperationShow() : this.WhenDoOperation() + } + , + r.prototype.Action_LiQi = function(t, e, i) { + if (!this.liqi_select || 0 == this.liqi_select.length) + return !1; + for (var n = !1, a = 0; a < this.liqi_select.length; a++) + if (0 == mjcore.MJPai.Distance(this.liqi_select[a], t)) { + n = !0; + break + } + return !!n && (app.NetAgent.sendReq2MJ("FastTest", "inputOperation", { + type: mjcore.E_PlayOperation.liqi, + tile: t.toString(), + moqie: e, + timeuse: uiscript.UI_DesktopInfo.Inst._timecd.timeuse, + tile_state: i ? 1 : 0 + }, function(t, e) { + t ? app.Log.Error("Action_LiQi 失败") : app.Log.info("Action_LiQi 成功") + }), + this.WhenDoOperation(), + !0) + } + , + r.prototype.SetLastQiPai = function(t, e) { + this.lastqipai = e, + this.lastpai_seat = t, + this.effect_pai_canchi && (this.effect_pai_canchi.destroy(), + this.effect_pai_canchi = null) + } + , + r.prototype.ShowHuleEffect = function(e, i, n) { + var a = this; + if (null != e) { + i.y = 0; + var r = "scene/effect_hupai_default.lh" + , s = 213; + if (n) { + var o = cfg.item_definition.view.get(n); + o && (r = "scene/" + o.res_name + ".lh", + s = o.audio_id) + } + var l = new game.EffectBase(r); + this.trans_container_effect.addChild(l.root), + l.root.transform.position = i, + l.root.active = !0, + t.AudioMgr.PlayAudio(s), + "scene/effect_hupai_yanhua.lh" == r && Laya.timer.once(600, this, function() { + var t = new game.EffectBase("scene/effect_hupai_yanhua_bang.lh"); + a.desktop3D.addChild(t.root), + t.root.transform.position = new Laya.Vector3(0,0,0), + t.root.active = !0, + Laya.timer.once(2e3, a, function() { + t.destroy() + }) + }); + var h = !1 + , c = e.model.parent + , _ = e.model.transform.rotation.clone() + , u = e.model.transform.worldMatrix.clone(); + l.addLoadedListener(Laya.Handler.create(this, function() { + if (!h) { + var t = game.Tools.GetNodeByNameInChildren(l.root, "pai_anim"); + t && (t.addChild(e.model), + e.model.transform.rotation = _.clone(), + e.model.transform.worldMatrix = u.clone(), + Laya.timer.once(1800, a, function() { + if (!h) { + var t = e.model.transform.rotation.clone() + , i = e.model.transform.worldMatrix.clone(); + c.addChild(e.model), + e.model.transform.rotation = t.clone(), + e.model.transform.worldMatrix = i.clone() + } + })) + } + })), + Laya.timer.once(2e3, this, function() { + if (h = !0, + e && e.model) { + var t = e.model.transform.rotation.clone() + , i = e.model.transform.worldMatrix.clone(); + c.addChild(e.model), + e.model.transform.rotation = t.clone(), + e.model.transform.worldMatrix = i.clone() + } + l.destroy() + }) + } + } + , + r.prototype.ShowChiPengEffect = function() { + var t = this; + if (this.lastqipai.model && this.lastqipai.model.transform) { + this.effect_pai_canchi || (this.effect_pai_canchi = new game.EffectBase("scene/" + game.GameUtility.get_view_res_name(game.EView.mingpai_zhishi) + ".lh"), + this.trans_container_effect.addChild(this.effect_pai_canchi.root), + this.effect_pai_canchi.root.active = !0), + this.effect_pai_canchi.root.transform.worldMatrix = this.lastqipai.model.transform.worldMatrix.clone(); + var e = this.effect_pai_canchi + , i = this.lastqipai; + Laya.timer.frameLoop(1, this.effect_pai_canchi, function() { + i.model.activeInHierarchy && i.model.active && i.model.parent.active ? (e.root.transform.worldMatrix = i.model.transform.worldMatrix.clone(), + t.effect_pai_canchi.root.active = !0) : t.effect_pai_canchi.root.active = !1 + }) + } + } + , + r.prototype.CloseChiPngEffect = function() { + this.effect_pai_canchi && (Laya.timer.clearAll(this.effect_pai_canchi), + this.effect_pai_canchi.destroy(), + this.effect_pai_canchi = null) + } + , + r.prototype.setChoosedPai = function(t) { + var e = !1; + if (e || !t || this.choosed_pai || (e = !0), + e || t || !this.choosed_pai || (e = !0), + !e && t && this.choosed_pai && 0 != mjcore.MJPai.Distance(this.choosed_pai, t) && (e = !0), + e && (this.choosed_pai = t ? t.Clone() : null, + r.bianjietishi)) { + for (var i = 0; i < 4; i++) + this.players[i].OnChoosePai(); + uiscript.UI_TingPai.Inst.onChooseTile(t) + } + } + , + r.prototype.setTingpai = function(e, i) { + for (var n = !1, a = [], r = 0; r < i.length; r++) + a.push(mjcore.MJPai.Create(i[r].tile)); + this.tingpais[e].length != a.length && (n = !0); + for (r = 0; r < a.length && !n; r++) + 0 != mjcore.MJPai.Distance(a[r], this.tingpais[e][r]) && (n = !0); + if (n) { + this.tingpais[e] = a; + for (r = 0; r < t.DesktopMgr.Inst.players.length; r++) { + if (!(this.localPosition2Seat(r) < 0)) { + for (o = 0; o < t.DesktopMgr.Inst.players[r].container_qipai.pais.length; o++) { + (l = t.DesktopMgr.Inst.players[r].container_qipai.pais[o]).ispaopai = this.isPaoPai(l.val), + l.OnChoosedPai() + } + for (o = 0; o < t.DesktopMgr.Inst.players[r].container_ming.pais.length; o++) { + (l = t.DesktopMgr.Inst.players[r].container_ming.pais[o]).ispaopai = this.isPaoPai(l.val), + l.OnChoosedPai() + } + for (o = 0; o < t.DesktopMgr.Inst.players[r].container_babei.pais.length; o++) { + (l = t.DesktopMgr.Inst.players[r].container_babei.pais[o]).ispaopai = this.isPaoPai(l.val), + l.OnChoosedPai() + } + if ((l = t.DesktopMgr.Inst.players[r].container_qipai.last_pai) && (l.ispaopai = this.isPaoPai(l.val), + l.OnChoosedPai()), + 0 == r) + for (var s = t.DesktopMgr.Inst.players[r], o = 0; o < s.hand.length; o++) { + (l = s.hand[o]).ispaopai = this.isPaoPai(l.val), + l.RefreshPaoPai() + } + else + for (var s = t.DesktopMgr.Inst.players[r], o = 0; o < s.hand.length; o++) { + var l = s.hand[o].pai3D; + this.record_show_hand || l.is_open ? l.ispaopai = this.isPaoPai(l.val) : l.ispaopai = !1, + l.OnChoosedPai() + } + } + } + } + } + , + r.prototype.isPaoPai = function(t) { + if (!this.record_show_paopai) + return !1; + for (var e = 0; e < this.tingpais.length; e++) + for (var i = 0; i < this.tingpais[e].length; i++) + if (0 == mjcore.MJPai.Distance(this.tingpais[e][i], t)) + return !0; + return !1 + } + , + r.prototype.getPaiLeft = function(t) { + for (var e = 0, i = 0; i < 4; i++) { + for (var n = this.players[i], a = 0; a < n.container_babei.pais.length; a++) + 0 == mjcore.MJPai.Distance(n.container_babei.pais[a].val, t) && e++; + for (a = 0; a < n.container_ming.pais.length; a++) + 0 == mjcore.MJPai.Distance(n.container_ming.pais[a].val, t) && e++; + for (a = 0; a < n.container_qipai.pais.length; a++) + 0 == mjcore.MJPai.Distance(n.container_qipai.pais[a].val, t) && e++; + n.container_qipai.last_pai && 0 == mjcore.MJPai.Distance(n.container_qipai.last_pai.val, t) && e++ + } + for (i = 0; i < this.mainrole.hand.length; i++) + 0 == mjcore.MJPai.Distance(this.mainrole.hand[i].val, t) && e++; + for (i = 0; i < this.dora.length; i++) + this.dora[i] && 0 == mjcore.MJPai.Distance(this.dora[i], t) && e++; + var r = 4 - e; + return r < 0 ? 0 : r > 4 ? 4 : r + } + , + r.prototype.get_gang_count = function() { + for (var t = 0, e = 0; e < this.players.length; e++) { + if (this.localPosition2Seat(e) >= 0) + for (var i = this.players[e].container_ming.mings, n = 0; n < i.length; n++) + i[n].type != mjcore.E_Ming.gang_an && i[n].type != mjcore.E_Ming.gang_ming || t++ + } + return t + } + , + r.prototype.get_babei_count = function() { + for (var t = 0, e = 0; e < this.players.length; e++) { + this.localPosition2Seat(e) >= 0 && (t += this.players[e].container_babei.pais.length) + } + return t + } + , + r.prototype.fetchLinks = function() { + app.NetAgent.sendReq2MJ("FastTest", "fetchGamePlayerState", {}, function(t, e) { + if (t || e.error) + uiscript.UIMgr.Inst.showNetReqError("fetchGamePlayerState", t, e); + else { + app.Log.log(JSON.stringify(e)), + r.player_link_state = []; + for (var i = 0; i < e.state_list.length; i++) + r.player_link_state.push(e.state_list[i]); + uiscript.UI_DesktopInfo.Inst.refreshLinks() + } + }) + } + , + r.prototype.onShowHandChange = function(t) { + if (this.record_show_hand = t, + this.gameing) + for (var e = 1; e < 4; e++) + this.players[e].onShowHandChange(t) + } + , + r.prototype.onShowPaopaiChange = function(e) { + if (this.record_show_paopai = e, + this.gameing) { + this.mainrole.onShowPaopaiChange(); + for (i = 1; i < 4; i++) + this.players[i].onShowPaopaiChange(); + for (var i = 0; i < t.DesktopMgr.Inst.players.length; i++) { + if (!(this.localPosition2Seat(i) < 0)) { + for (n = 0; n < t.DesktopMgr.Inst.players[i].container_qipai.pais.length; n++) { + (a = t.DesktopMgr.Inst.players[i].container_qipai.pais[n]).ispaopai = this.isPaoPai(a.val), + a.OnChoosedPai() + } + for (n = 0; n < t.DesktopMgr.Inst.players[i].container_ming.pais.length; n++) { + (a = t.DesktopMgr.Inst.players[i].container_ming.pais[n]).ispaopai = this.isPaoPai(a.val), + a.OnChoosedPai() + } + for (var n = 0; n < t.DesktopMgr.Inst.players[i].container_babei.pais.length; n++) { + (a = t.DesktopMgr.Inst.players[i].container_babei.pais[n]).ispaopai = this.isPaoPai(a.val), + a.OnChoosedPai() + } + var a = t.DesktopMgr.Inst.players[i].container_qipai.last_pai; + a && (a.ispaopai = this.isPaoPai(a.val), + a.OnChoosedPai()) + } + } + } + } + , + r.prototype.onRoundEnd = function(e, i) { + var n = t.DesktopMgr.Inst.seat2LocalPosition(e); + this.players[n].OnRoundEnd(i) + } + , + r.prototype.onMuyuChange = function(e, i) { + var n = this; + if (void 0 === i && (i = !0), + this.is_muyu_mode()) { + var a = !1; + if (this.muyu_info && this.muyu_info.id == e.id || (a = !0), + this.muyu_effect && !this.muyu_effect.destroyed) + if (i) { + if (a) { + var r, s; + if (this.muyu_info ? (r = this.muyu_effect.clone(), + this.muyu_effect.root.parent.addChild(r.root), + s = this.muyu_effect, + this.muyu_effect = r) : r = this.muyu_effect, + this.muyu_info) { + s.effect_root.getChildByName("muyu_chuxian").active = !1; + var o = s.effect_root.getChildByName("muyu_xiaoshi"); + o.active = !0; + var l = o.getChildByName("mianpian").getChildByName("shuzi") + , h = l.meshRender.material; + h.renderQueue = 3001, + h.albedoTexture = Laya.loader.getRes("scene/Assets/Resource/effect/texture/muyu_shuzi_" + this.muyu_info.count + ".png"), + Laya.timer.once(1e3, null, function() { + s.destroy() + }) + } + r.addLoadedListener(Laya.Handler.create(this, function() { + var i = n.seat2LocalPosition(e.seat); + r.root.transform.worldMatrix = n.players[i].trans_muyu.transform.worldMatrix, + r.root.transform.rotation = n.players[i].trans_muyu.transform.rotation.clone(), + r.root.active = !0, + r.effect_root.getChildByName("muyu_xiaoshi").active = !1; + var a = r.effect_root.getChildByName("muyu_chuxian"); + a.active = !0, + a.getChildByName("baodian").active = !0; + var s = a.getChildByName("mianpian"); + s.active = !0, + s.getChildByName("shuzi_anim").active = !1; + var o = s.getChildByName("shuzi"); + o.active = !0; + var l = o.meshRender.material; + l.renderQueue = 3001, + l.albedoTexture = Laya.loader.getRes("scene/Assets/Resource/effect/texture/muyu_shuzi_" + e.count + ".png"), + t.AudioMgr.PlayAudio(246) + })), + this.muyu_info = e + } else if (e.count != this.muyu_info.count) { + var c = this.muyu_effect.effect_root; + c.getChildByName("muyu_xiaoshi").active = !1; + var _ = c.getChildByName("muyu_chuxian") + , u = _.getChildByName("mianpian"); + u.getChildByName("shuzi_anim").active = !1; + var d = u.getChildByName("shuzi") + , f = u.getChildByName("shuzi_anim") + , p = f.getChildByName("shuzi_up") + , m = f.getChildByName("shuzi_down"); + Laya.timer.clearAll(d), + d.active = !1; + var g = d.meshRender.material; + g.renderQueue = 3001, + g.albedoTexture = Laya.loader.getRes("scene/Assets/Resource/effect/texture/muyu_shuzi_" + e.count + ".png"); + var y = p.meshRender.material; + y.renderQueue = 3001, + y.albedoTexture = Laya.loader.getRes("scene/Assets/Resource/effect/texture/muyu_shuzi_" + this.muyu_info.count + ".png"); + var v = m.meshRender.material; + v.renderQueue = 3002, + v.albedoTexture = Laya.loader.getRes("scene/Assets/Resource/effect/texture/muyu_shuzi_" + e.count + ".png"), + m.active = !1, + f.active = !0, + this.muyu_info = e, + Laya.timer.once(210, d, function() { + d.active = !0, + f.active = !1 + }) + } + } else { + this.muyu_info = e; + var b = this.seat2LocalPosition(this.muyu_info.seat); + this.muyu_effect.root.active = !0, + this.muyu_effect.root.transform.worldMatrix = this.players[b].trans_muyu.transform.worldMatrix, + this.muyu_effect.root.transform.rotation = this.players[b].trans_muyu.transform.rotation.clone(), + this.muyu_effect.root.active = !0, + this.muyu_effect.effect_root.getChildByName("muyu_xiaoshi").active = !1; + (_ = this.muyu_effect.effect_root.getChildByName("muyu_chuxian")).active = !0, + _.getChildByName("baodian").active = !1; + (u = _.getChildByName("mianpian")).active = !0, + u.getChildByName("shuzi_anim").active = !1; + (l = u.getChildByName("shuzi")).active = !0; + (h = l.meshRender.material).renderQueue = 3001, + h.albedoTexture = Laya.loader.getRes("scene/Assets/Resource/effect/texture/muyu_shuzi_" + e.count + ".png") + } + } + } + , + r.prototype.getMindVoicePriority = function(t) { + switch (t) { + case "ingame_yiman": + return 100; + case "ingame_beiman": + return 90; + case "ingame_lianda": + return 50; + case "ingame_baopai": + return 30; + case "ingame_remain10": + return 20 + } + return 0 + } + , + r.prototype.addMindVoice = function(t, e) { + (!this.mind_voice_type || this.getMindVoicePriority(this.mind_voice_type) < this.getMindVoicePriority(e)) && (this.mind_voice_seat = t, + this.mind_voice_type = e) + } + , + r.prototype.playMindVoice = function() { + var e = this; + this.gameing && (this.mode == n.play || this.mode == n.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play) && this.mind_voice_type && !this.during_playing_mind_voice && (this.during_playing_mind_voice = !0, + t.AudioMgr.PlayCharactorSound_Teshu(this.player_datas[this.mind_voice_seat].character, this.mind_voice_type, Laya.Handler.create(this, function() { + e.during_playing_mind_voice = !1 + }))), + this.mind_voice_type = null, + this.mind_voice_seat = -1 + } + , + r.prototype.clearMindVoice = function() { + this.mind_voice_type = null, + this.mind_voice_seat = -1 + } + , + r.Inst = null, + r.player_link_state = [e.NULL, e.NULL, e.NULL, e.NULL], + r.click_prefer = 0, + r.double_click_pass = 0, + r.en_mjp = !1, + r.bianjietishi = !0, + r + }(Laya.Script); + t.DesktopMgr = a +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = new Laya.Vector4(1,1,1,1) + , i = new Laya.Vector4(1,.917,.663,1) + , n = new Laya.Vector4(.6,.6,.6,1) + , a = function(a) { + function r() { + var t = a.call(this) || this; + return t.mySelf = null, + t.acitve = !1, + t.val = null, + t.valid = !0, + t._clickeffect = null, + t.during_newgame = !1, + t.newgame_start = 0, + t.newgame_lifetime = 200, + t.during_hule = !1, + t.hule_start = 0, + t.hule_lifetime = 100, + t.isDora = !1, + t.ispaopai = !1, + t.is_open = !1, + t.index = -1, + t.pos_x = 0, + t.z = 0, + t.bedraged = !1, + t + } + return __extends(r, a), + r.prototype._load = function(t) { + this.mySelf = t, + this.mySelf.active = !1, + this.isDora = !1, + Laya.timer.frameLoop(1, this, this.Update) + } + , + r.prototype.Reset = function() { + this.val = null, + this.valid = !0, + this.index = -1, + this.is_open = !1, + this._SetColor(e), + this.mySelf.active = !1, + this.during_newgame = !1, + this.during_hule = !1, + this.bedraged = !1, + this.mySelf.transform.localPosition = new Laya.Vector3(0,0,0), + null != this._clickeffect && (this._clickeffect.destroy(), + this._clickeffect = null), + this.acitve = !1, + this.isDora = !1, + this.mySelf.numChildren > 0 && (this.mySelf.getChildAt(0).active = !1) + } + , + r.prototype.SetVal = function(n, a) { + this.val = n, + this.valid = !0, + this.is_open = a, + this._SetColor(a && !t.DesktopMgr.Inst.is_open_hand() ? i : e); + var r = n.type == mjcore.E_MJPai.z ? .1 * (n.index - 1) : n.dora ? 0 : .1 * n.index + , s = 0; + switch (n.type) { + case mjcore.E_MJPai.s: + s = -.75; + break; + case mjcore.E_MJPai.m: + s = -.5; + break; + case mjcore.E_MJPai.p: + s = -.25; + break; + default: + s = 0 + } + var o = this.mySelf.meshRender.material + , l = "scene/Assets/Resource/mjpai/"; + "en" == GameMgr.client_language && (l += "en/"), + l += t.DesktopMgr.Inst.mjp_res_name + "/hand_ui.png", + o.albedoTexture = Laya.loader.getRes(l), + o.tilingOffset = new Laya.Vector4(.1,.25,r,s), + this.mySelf.active = !0, + this.acitve = !0, + this.RefreshDora() + } + , + r.prototype.LiqiSelect = function(a) { + if (!this.mySelf.destroyed) { + for (var r = !1, s = 0; s < a.length; s++) + if (0 == mjcore.MJPai.Distance(this.val, a[s])) { + r = !0; + break + } + r ? (this._SetColor(this.is_open && !t.DesktopMgr.Inst.is_open_hand() ? i : e), + this.valid = !0) : (this._SetColor(n), + this.valid = !1) + } + } + , + r.prototype.ChiTiSelect = function(a) { + if (!this.mySelf.destroyed) { + for (var r = !1, s = 0; s < a.length; s++) + if (0 == mjcore.MJPai.Distance(this.val, a[s])) { + r = !0; + break + } + r ? (this._SetColor(n), + this.valid = !1) : (this._SetColor(this.is_open && !t.DesktopMgr.Inst.is_open_hand() ? i : e), + this.valid = !0) + } + } + , + r.prototype.RefreshPaoPai = function() { + this.ispaopai ? this._SetColor(new Laya.Vector4(1,.78,.78,1)) : this._SetColor(this.is_open && !t.DesktopMgr.Inst.is_open_hand() ? i : e) + } + , + r.prototype.SelectEnd = function() { + this.mySelf.destroyed || (this._SetColor(this.is_open && !t.DesktopMgr.Inst.is_open_hand() ? i : e), + this.valid = !0) + } + , + r.prototype._SetColor = function(t) { + if (!this.mySelf.destroyed) { + this.mySelf.meshRender.material.albedoColor = t + } + } + , + r.prototype.SetIndex = function(t, e, i) { + this.index = t, + this.pos_x = 2.55 * t + (e ? .8 : 0), + i || (this.mySelf.transform.localPosition = new Laya.Vector3(this.pos_x,this.mySelf.transform.localPosition.y,this.z)) + } + , + r.prototype.AddClickEffect = function(t) { + null != this._clickeffect && (this._clickeffect.destroy(), + this._clickeffect = null), + this.mySelf.addChild(t), + this._clickeffect = t, + t.transform.localPosition = new Laya.Vector3(0,0,2), + t.active = !0, + Laya.timer.once(300, this, this.RemoveClickEffect) + } + , + r.prototype.RemoveClickEffect = function() { + null != this._clickeffect && (this._clickeffect.destroy(), + this._clickeffect = null) + } + , + r.prototype.AnimNewTile = function() { + var t = this.mySelf.meshRender.material + , e = t.albedoColor.clone(); + e.w = 0, + t.albedoColor = e, + this.during_newgame = !0, + this.newgame_start = Laya.timer.currTimer + } + , + r.prototype.Hule = function() { + this.during_hule = !0, + this.hule_start = Laya.timer.currTimer, + this.acitve = !1, + this.mySelf.numChildren > 0 && (this.mySelf.getChildAt(0).active = !1) + } + , + r.prototype.Update = function() { + if (this.during_newgame) { + var t = Laya.timer.currTimer - this.newgame_start + , e = this.mySelf.transform.localPosition.clone() + , i = (n = this.mySelf.meshRender.material).albedoColor.clone(); + if (t >= this.newgame_lifetime) + e.y = 0, + this.mySelf.transform.localPosition = e, + i.w = 1, + n.albedoColor = i, + this.during_newgame = !1; + else { + a = t / this.newgame_lifetime; + e.y = .5 * (1 - a), + this.mySelf.transform.localPosition = e, + i.w = a, + n.albedoColor = i + } + } + if (this.during_hule) { + var t = Laya.timer.currTimer - this.hule_start + , n = this.mySelf.meshRender.material + , i = n.albedoColor.clone(); + if (t >= this.hule_lifetime) + i.w = 0, + n.albedoColor = i; + else { + var a = t / this.hule_lifetime; + i.w = 1 - a, + n.albedoColor = i + } + } + if (!this.bedraged) { + var r = this.mySelf.transform.localPosition + , s = Math.abs(r.x - this.pos_x); + if (s > 1e-5) { + var o = 2.55 * 25 * Laya.timer.delta / 1e3; + o >= s ? this.mySelf.transform.localPosition = new Laya.Vector3(this.pos_x,this.mySelf.transform.localPosition.y,this.z) : (this.pos_x < r.x && (o = -o), + this.mySelf.transform.localPosition = new Laya.Vector3(r.x + o,this.mySelf.transform.localPosition.y,this.z)) + } + } + } + , + r.prototype.RefreshDora = function() { + if (t.DesktopMgr.bianjietishi && !this.isDora) { + if (this.val.dora && (this.isDora = !0), + !this.isDora) + for (var e = 0; e < t.DesktopMgr.Inst.dora.length; e++) + if (mjcore.MJPai.DoraMet(this.val, t.DesktopMgr.Inst.dora[e])) { + this.isDora = !0; + break + } + if (this.isDora) + if (0 == this.mySelf.numChildren) { + var i = t.DesktopMgr.Inst.effect_doraPlane.clone(); + this.mySelf.addChild(i), + i.transform.localPosition = new Laya.Vector3(0,0,0), + i.transform.localScale = new Laya.Vector3(1,1,1), + i.transform.localRotationEuler = new Laya.Vector3(0,0,0), + i.active = !0; + i.getChildAt(0).addComponent(anim.RunUV) + } else + this.mySelf.getChildAt(0).active = !0 + } + } + , + r.Cmp = function(t, e) { + var i = 10 * (10 * t.val.numValue() + (t.val.dora ? 0 : 1)) + (t.is_open ? 0 : 1) + , n = 10 * (10 * e.val.numValue() + (e.val.dora ? 0 : 1)) + (e.is_open ? 0 : 1); + return i != n ? i - n : t.index - e.index + } + , + r + }(Laya.Script); + t.HandPaiPlane = a +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this) || this; + return t.desktop = null, + t.seat = 0, + t.trans_hand = null, + t.trans_paihai = null, + t.trans_ming = null, + t.trans_liqi = null, + t.trans_ind = null, + t.trans_dir = null, + t.trans_man = null, + t.trans_babei = null, + t.container_score = null, + t.trans_scores = null, + t.hand3d = null, + t._hand_models = [], + t._anim_hands = [], + t.trans_muyu = null, + t.container_qipai = null, + t.container_ming = null, + t.container_babei = null, + t.score = 0, + t.duringShowDetla = !1, + t.anim_id = 0, + t.trans_liqi_position = null, + t.trans_liqi_scale = null, + t.liqibang = null, + t.liqibang_effects = {}, + t.hand_type = "hand_human", + t + } + return __extends(i, e), + i.prototype.Init = function(e, i, n, a, r, s, o) { + this.desktop = e, + this.seat = i, + this.trans_hand = n, + this.trans_paihai = r, + this.trans_ming = a, + this.trans_man = s, + this.trans_babei = o; + for (h = 0; h < this.trans_hand.parent.numChildren; h++) + this.trans_hand.parent.getChildAt(h).active = !1; + for (h = 0; h < this.trans_ming.parent.numChildren; h++) + this.trans_ming.parent.getChildAt(h).active = !1; + for (h = 0; h < this.trans_paihai.parent.numChildren; h++) + this.trans_paihai.parent.getChildAt(h).active = !1; + for (h = 0; h < this.trans_babei.parent.numChildren; h++) + this.trans_babei.parent.getChildAt(h).active = !1; + this.container_qipai = new t.Block_QiPai(r,this), + this.container_ming = new t.Block_Ming(a,this), + this.container_babei = new t.Block_Babei(o,this), + this.trans_liqi = s.getChildByName("liqi"), + this.trans_liqi.active = !1, + this.trans_liqi_position = this.trans_liqi.transform.localPosition, + this.trans_liqi_scale = this.trans_liqi.transform.localScale, + this.trans_dir = s.getChildByName("dir"), + this.trans_ind = s.getChildByName("ind"), + this.trans_muyu = s.getChildByName("muyu"); + var l = s.getChildByName("score"); + this.container_score = l, + this.trans_scores = new Array; + for (var h = 0; h < 10; h++) + this.trans_scores.push(l.getChildByName(h.toString())); + this.hand3d = s.parent.getChildByName("hand_" + (i + 1).toString()), + this.hand3d.active = !1, + this.SetScore(25e3, 25e3), + this.RefreshDir() + } + , + i.prototype.onInitRoom = function(t) { + this.seat = t, + -1 != this.seat ? (this.trans_man.active = !0, + this.create_liqibang(), + this.create_hand()) : this.trans_man.active = !1 + } + , + i.prototype.create_liqibang = function() { + var e = this; + this.liqibang && (this.liqibang.destroy(!0), + this.liqibang = null); + var i = "scene/liqi_default.lh" + , n = t.DesktopMgr.Inst.player_effects[this.seat][game.EView.liqibang]; + if (n) { + var a = cfg.item_definition.view.get(n); + a && (i = "scene/" + a.res_name + ".lh") + } + this.liqibang = Laya.loader.getRes(i).clone(), + this.trans_liqi.addChild(this.liqibang), + this.liqibang.transform.localPosition = new Laya.Vector3(0,0,0), + this.liqibang.transform.localScale = new Laya.Vector3(1,1,1), + this.liqibang.transform.localRotationEuler = new Laya.Vector3(0,0,0), + this.liqibang.active = !0, + this.liqibang_effects = {}; + var r = function(t) { + if ("shadow" != t.name) { + var i = t.name; + if ("effect_" != i.substr(0, 7)) { + if (t instanceof Laya.MeshSprite3D) { + var n = t; + if (n.meshRender && n.meshRender.sharedMaterial) { + var a = new caps.BaseMaterial(caps.Cartoon.filename); + a.setTexture(caps.Cartoon.TEXTURE, n.meshRender.material.albedoTexture), + a.setNumber(caps.Cartoon.SPLIT, .4), + a.setColor(caps.Cartoon.COLOR_LIGHT, new Laya.Vector3(1,1,1)), + a.setColor(caps.Cartoon.COLOR_UNLIGHT, new Laya.Vector3(1,1,1)), + a.setColor(caps.Cartoon.COLOR, new Laya.Vector3(1,1,1)), + n.meshRender.sharedMaterial = a + } + } + for (var s = 0; s < t.numChildren; s++) + r(t.getChildAt(s)) + } else + e.liqibang_effects[i.substr(7)] = t + } + }; + r(this.liqibang.getChildAt(0)) + } + , + i.prototype.create_hand = function() { + var e = "" + , i = t.DesktopMgr.Inst.player_effects[this.seat][game.EView.hand_model]; + if (e = cfg.item_definition.view.get(i).res_name, + this.hand_type = e, + this._anim_hands = [], + this._hand_models) { + for (var n = 0; n < this._hand_models.length; n++) + this._hand_models[n].destroy(!0); + this._hand_models = [] + } + var a = "scene/" + e + ".lh" + , r = Laya.loader.getRes(a); + r.getChildAt(0).getChildByName("node_liqibang").getChildByName("p") && r.getChildAt(0).getChildByName("node_liqibang").getChildByName("p").destroy(!0), + r.getChildAt(0).getChildByName("node_tile").getChildByName("p") && r.getChildAt(0).getChildByName("node_tile").getChildByName("p").destroy(!0); + var s = r.getChildAt(0).clone(); + this.hand3d.addChild(s), + s.transform.localPosition = new Laya.Vector3(0,0,0), + s.transform.localScale = new Laya.Vector3(.9,.9,.9), + s.transform.localRotation = new Laya.Quaternion(0,0,0,0), + this._anim_hands = [s.getComponentByType(Laya.Animator)], + this._hand_models = [s]; + var o = new Laya.Vector3(.9725,.9137,.937); + "hand_cat_blue" == e && (o = new Laya.Vector3(216 / 255,210 / 255,206 / 255)); + var l = s.getChildByName("hand") + , h = new caps.BaseMaterial(caps.Cartoon.filename); + if (h.setTexture(caps.Cartoon.TEXTURE, l.skinnedMeshRender.sharedMaterials[0].albedoTexture), + h.setColor(caps.Cartoon.COLOR_LIGHT, new Laya.Vector3(1,1,1)), + h.setColor(caps.Cartoon.COLOR_UNLIGHT, o), + h.setColor(caps.Cartoon.COLOR, new Laya.Vector3(1,1,1)), + h.setNumber(caps.Cartoon.SPLIT, .4), + 2 == l.skinnedMeshRender.sharedMaterials.length) { + var c = new caps.BaseMaterial(caps.Cartoon.filename); + c.setTexture(caps.Cartoon.TEXTURE, l.skinnedMeshRender.sharedMaterials[1].albedoTexture), + c.setColor(caps.Cartoon.COLOR_LIGHT, new Laya.Vector3(1,1,1)), + c.setColor(caps.Cartoon.COLOR_UNLIGHT, o), + c.setColor(caps.Cartoon.COLOR, new Laya.Vector3(1,1,1)), + c.setNumber(caps.Cartoon.SPLIT, .4), + l.skinnedMeshRender.sharedMaterials = [h, c] + } else + l.skinnedMeshRender.sharedMaterials = [h]; + var _ = new Laya.Vector3(.6823,.447,.408) + , u = .6; + "hand_cat_blue" == e && (_ = new Laya.Vector3(83 / 255,65 / 255,63 / 255), + u = .9); + var d = s.clone(); + d.getChildByName("node_liqibang").destroy(!0), + d.getChildByName("node_tile").destroy(!0), + d.getChildByName("Dum_Shadow") && d.getChildByName("Dum_Shadow").destroy(!0), + d.getChildByName("Bone021") && d.getChildByName("Bone021").destroy(!0), + s.addChild(d), + d.transform.localPosition = new Laya.Vector3(0,0,0), + d.transform.localScale = new Laya.Vector3(1,1,1), + d.transform.localRotation = new Laya.Quaternion(0,0,0,0); + var f = d.getChildByName("hand") + , p = new caps.Material_Outline(caps.Outline.filename); + p.setColor(caps.Outline.OUTLINE_COLOR, _), + p.setNumber(caps.Outline.OUTLINE_ALPHA, u), + p.setNumber(caps.Outline.OUTLINE, .001); + var m = new caps.Material_Outline(caps.Outline.filename); + m.setColor(caps.Outline.OUTLINE_COLOR, _), + m.setNumber(caps.Outline.OUTLINE_ALPHA, u), + m.setNumber(caps.Outline.OUTLINE, .001), + f.skinnedMeshRender.sharedMaterials = [p, m], + this._anim_hands.push(d.getComponentByType(Laya.Animator)), + this._hand_models.push(d), + this.hand3d.active = !0, + this.hand3d.transform.position = new Laya.Vector3(0,0,0) + } + , + i.prototype.playHandAnimtion = function(t) { + var e = this; + this.hand3d.active = !0; + for (var i = 0; i < this._anim_hands.length; i++) + this._anim_hands[i].play(t.name, t.speed); + this.hand3d.transform.localScale = new Laya.Vector3(1e-4,1e-4,1), + Laya.timer.frameOnce(1, this, function() { + e.hand3d.transform.localScale = new Laya.Vector3(1,1,1) + }), + this.anim_id++; + var n = this.anim_id; + Laya.timer.once(t.lifetime, this, function() { + n == e.anim_id && (e.hand3d.active = !1) + }) + } + , + i.prototype.setSeat = function(t) { + this.seat = t + } + , + i.prototype.Reset = function() { + this.duringShowDetla = !1, + this.container_ming.Reset(), + this.container_qipai.Reset(), + this.container_babei.Reset(), + this.trans_liqi.active = !1, + this.hand3d && (this.hand3d.active = !1), + Laya.timer.clearAll(this), + this.anim_id = 0 + } + , + i.prototype.AddQiPai = function(t, e, i, n) { + void 0 === n && (n = !0), + this.container_qipai.AddQiPai(t, e, i, n) + } + , + i.prototype.QiPaiPass = function() { + this.container_qipai.QiPaiPass() + } + , + i.prototype.QiPaiNoPass = function() { + this.container_qipai.QiPaiNoPass() + } + , + i.prototype.AddMing = function(t, e, i) { + void 0 === i && (i = !0), + this.container_ming.AddMing(t, i) + } + , + i.prototype.AddGang = function(t, e) { + void 0 === e && (e = !0), + this.container_ming.AddGang(t, e) + } + , + i.prototype.AddBabei = function(t, e, i) { + void 0 === i && (i = !0), + this.container_babei.AddBabei(t, e, i) + } + , + i.prototype.ShowLiqi = function(e) { + var i = this; + if (void 0 === e && (e = !0), + e) { + this.hand3d.transform.position = this.trans_liqi.transform.position.clone(), + this.trans_liqi.active = !1, + this.hand3d.active = !0; + var n = t.ModelAnimationController.get_anim_config("LiZhi", this.hand_type); + this.playHandAnimtion(n), + Laya.timer.once(n.keypoint[0], this, function() { + i.trans_liqi.active = !0, + i.trans_man.addChild(i.trans_liqi), + i.trans_liqi.transform.localPosition = i.trans_liqi_position, + i.trans_liqi.transform.localScale = i.trans_liqi_scale, + i.trans_liqi.transform.localRotation = new Laya.Quaternion(0,0,0,1), + i.PlayLiqibangEffect("idle") + }) + } else + this.trans_liqi.transform.localPosition = this.trans_liqi_position, + this.trans_liqi.transform.localScale = this.trans_liqi_scale, + this.trans_liqi.active = !0, + this.PlayLiqibangEffect("idle") + } + , + i.prototype.SetScore = function(t, e) { + this.score = t, + this.RefreshScore(e) + } + , + i.prototype.RefreshDir = function() { + if (-1 != this.seat) { + var e = new Laya.Vector4 + , i = 0; + i = t.DesktopMgr.Inst.rule_mode == t.ERuleMode.Liqi3 ? (this.seat - t.DesktopMgr.Inst.index_ju + 3) % 3 : (this.seat - t.DesktopMgr.Inst.index_ju + 4) % 4, + e.z = .25 * i, + e.w = 0, + e.x = .25, + e.y = 1, + this.trans_dir.meshRender.material.tilingOffset = e + } + } + , + i.prototype.RefreshScore = function(t) { + if (-1 == this.seat) + this.container_score.active = !1; + else { + this.container_score.active = !0; + var e = "" + , i = 0; + if (this.duringShowDetla) { + var n = this.score - t; + n > 0 ? (e = "+" + n.toString(), + i = -.33333) : (e = n.toString(), + i = -.66667) + } else + e = this.score.toString(), + i = 0; + for (s = 0; s < e.length && s < this.trans_scores.length; s++) { + var a = 0; + switch (e[e.length - s - 1]) { + case "-": + a = 0; + break; + case "+": + a = 1; + break; + case "0": + a = 2; + break; + case "1": + a = 3; + break; + case "2": + a = 4; + break; + case "3": + a = 5; + break; + case "4": + a = 6; + break; + case "5": + a = 7; + break; + case "6": + a = 8; + break; + case "7": + a = 9; + break; + case "8": + a = 10; + break; + case "9": + a = 11 + } + a /= 12; + var r = new Laya.Vector4; + r.z = a, + r.w = i, + r.x = 1 / 12, + r.y = 1 / 3, + this.trans_scores[s].meshRender.material.tilingOffset = r, + this.trans_scores[s].active = !0 + } + for (var s = e.length; s < this.trans_scores.length; s++) + this.trans_scores[s].active = !1; + if (e.length <= 6) { + (o = this.container_score.transform.localPosition.clone()).x = .05355 * (.165 * (e.length - 1) / 2 - .5325), + this.container_score.transform.localPosition = o, + this.container_score.transform.localScale = new Laya.Vector3(.05355,.01512,1) + } else { + var o = this.container_score.transform.localPosition.clone(); + o.x = .05355 * -.12, + this.container_score.transform.localPosition = o; + var l = .56 + (10 - e.length) / 4 * (1 - .56) + , h = .9 + (10 - e.length) / 4 * (1 - .9); + this.container_score.transform.localScale = new Laya.Vector3(.05355 * l,.01512 * h,1) + } + } + } + , + i.prototype.Hule = function(t, e, i, n) {} + , + i.prototype.Huangpai = function(t, e, i) {} + , + i.prototype.OnDoraRefresh = function() { + this.container_qipai.OnDoraRefresh(), + this.container_ming.OnDoraRefresh(), + this.container_babei.OnDoraRefresh() + } + , + i.prototype.OnChoosePai = function() { + this.container_qipai.OnChoosedPai(), + this.container_ming.OnChoosedPai(), + this.container_babei.OnChoosedPai() + } + , + i.prototype.PlaySound = function(e) { + var i = ""; + switch (e) { + case "act_chi": + i = "chi"; + break; + case "act_drich": + case "act_rich": + i = "lizhi"; + break; + case "act_kan": + i = "gang"; + break; + case "act_pon": + i = "peng"; + break; + case "act_babei": + i = "babei" + } + "" != i && uiscript.UI_DesktopInfo.Inst.shout(t.DesktopMgr.Inst.seat2LocalPosition(this.seat), i, this.desktop.player_datas[this.seat]), + t.AudioMgr.PlayCharactorSound(this.desktop.player_datas[this.seat].character, e) + } + , + i.prototype.OnRoundEnd = function(t) { + 0 == t ? this.PlayLiqibangEffect("defeat") : 1 == t && this.PlayLiqibangEffect("win") + } + , + i.prototype.PlayLiqibangEffect = function(t) { + for (var e in this.liqibang_effects) + this.liqibang_effects[e].active = e == t + } + , + i + }(Laya.Script); + t.ViewPlayer = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this) || this; + return t._choose_pai = null, + t._mouse_in_pai = null, + t._mouse_in_start_time = -1, + t.handpool = [], + t.hand = [], + t.during_liqi = !1, + t.effect_click = null, + t.trans_hand3D = null, + t.trans_hand3DCover = null, + t._hand3d = [], + t.can_discard = !1, + t.last_tile = null, + t._prediscard_index = -1, + t.mouse_downx = 0, + t.mouse_downy = 0, + t.mouse_downed = !1, + t.during_drag = !1, + t.click_on_choosed = !1, + t.zd = 0, + t.xianggonged = !1, + t.screen_left = -7.2, + t.screen_right = 44.4, + t.screen_top = 16.6, + t.screen_bottom = -1.4, + t.handrange_top = 2.5, + t.handorigin_x = 0, + t.handwidth = 2.55, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.Init = function(i, n, a, r, s, o, l) { + e.prototype.Init.call(this, i, n, a, r, s, o, l); + var h = a.getChildByName("pai"); + this.effect_click = a.getChildByName("effect_dianji"), + a.active = !0, + h.active = !1; + for (var c = 0; c < 16; c++) { + var _ = h.clone(); + this.trans_hand.addChild(_), + _.transform.localPosition = new Laya.Vector3(0,0,0), + _.transform.localRotation = new Laya.Quaternion(0,0,0,1), + _.transform.localScale = new Laya.Vector3(1,1,1), + _.active = !1; + var u = _.addComponent(t.HandPaiPlane); + this.handpool.push(u) + } + this.ray = new Laya.Ray(new Laya.Vector3,new Laya.Vector3), + this.phasorSprite3D = new Laya.PhasorSpriter3D, + this.rayCastHit = new Laya.RaycastHit, + Laya.stage.on(Laya.Event.MOUSE_DOWN, this, this.onMouseDown), + Laya.stage.on(Laya.Event.MOUSE_UP, this, this.onMouseUp), + Laya.stage.on(Laya.Event.MOUSE_MOVE, this, this.onMouseMove), + Laya.stage.on(Laya.Event.MOUSE_OUT, this, this.onMouseOut) + } + , + i.prototype._AddHandPai = function(e, i) { + var n = this.handpool.pop(); + return n.Reset(), + n.SetVal(e, i), + n.z = this.zd, + this.zd -= .02, + t.DesktopMgr.Inst.mode != t.EMJMode.play && (n.ispaopai = t.DesktopMgr.Inst.isPaoPai(n.val), + n.RefreshPaoPai()), + this.hand.push(n), + n + } + , + i.prototype._OnRemovePai = function(t) { + t === this._choose_pai && (this._choose_pai = null, + this.resetMouseState()) + } + , + i.prototype._RemovePai = function(t) { + for (var e = 0; e < this.hand.length; e++) + if (this.hand[e] === t) { + for (var i = this.hand[e], n = e; n < this.hand.length - 1; n++) + this.hand[n] = this.hand[n + 1], + this.hand[n].SetIndex(n, !1, !0); + this.hand.pop(), + this._OnRemovePai(i), + i.Reset(), + this.handpool.push(i); + break + } + } + , + i.prototype._RemoveHandPai = function(e, i) { + var n = -1; + if (t.DesktopMgr.Inst.is_peipai_open_mode && (i = -1), + -1 == i || 1 == i) + for (a = this.hand.length - 1; a >= 0; a--) + if (mjcore.MJPai.isSame(e, this.hand[a].val) && this.hand[a].is_open) { + n = a; + break + } + if (-1 == n && (-1 == i || 0 == i)) + for (var a = this.hand.length - 1; a >= 0; a--) + if (mjcore.MJPai.isSame(e, this.hand[a].val) && !this.hand[a].is_open) { + n = a; + break + } + if (-1 != n) { + for (var r = this.hand[n], s = n; s < this.hand.length - 1; s++) + this.hand[s] = this.hand[s + 1], + this.hand[s].SetIndex(s, !1, !0); + this.hand.pop(), + this._OnRemovePai(r), + r.Reset(), + this.handpool.push(r) + } + } + , + i.prototype.Reset = function() { + e.prototype.Reset.call(this); + for (t = 0; t < this.hand.length; t++) + this.hand[t].Reset(), + this.handpool.push(this.hand[t]); + this.hand = []; + for (var t = 0; t < this._hand3d.length; t++) + this._hand3d[t].Destory(); + this._hand3d = [], + this.zd = 0, + this.during_liqi = !1, + this.trans_hand3D.active = !1, + this.trans_hand3DCover.active = !1, + this.last_tile = null, + this.can_discard = !1, + this._choose_pai = null, + this._mouse_in_pai = null, + this.xianggonged = !1, + this.resetMouseState(), + Laya.timer.clearAll(this) + } + , + i.prototype.NewGame = function(e, i, n, a) { + var r = this; + this.Reset(), + this.RefreshDir(); + for (var s = [], o = {}, l = 0; l < i.length; l++) + o[i[l]] = n[l]; + for (l = 0; l < e.length; l++) { + (c = {}).pai = e[l]; + var h = e[l].toString(); + o[h] ? (o[h]--, + c.is_open = !0) : c.is_open = !1, + s.push(c) + } + if (a) { + s = s.sort(function(t, e) { + return 10 * (10 * t.pai.numValue() + (t.pai.dora ? 0 : 1)) + (t.is_open ? 0 : 1) - (10 * (10 * e.pai.numValue() + (e.pai.dora ? 0 : 1)) + (e.is_open ? 0 : 1)) + }); + for (l = 0; l < s.length; l++) { + var c = this._AddHandPai(s[l].pai, s[l].is_open); + c.SetIndex(l, 14 == l, !1) + } + this.pendingXiangGong(14 == this.hand.length, "NewGame fast") + } else { + for (var _ = [], l = 0; l < s.length; l++) { + var u = Math.floor(Math.random() * l); + _.push(_[u]), + _[u] = s[l] + } + for (var d = 0, l = 0; l < 4; l++) + Laya.timer.once(300 * l, this, function() { + for (var e = 0; e < 4 && !(d >= _.length); e++) { + d++; + var i = r._AddHandPai(_[d - 1].pai, _[d - 1].is_open); + i.SetIndex(d - 1, !1, !1), + i.AnimNewTile() + } + t.AudioMgr.PlayAudio(216) + }); + Laya.timer.once(1200, this, function() { + r.LiPai(), + r.last_tile = r.hand[r.hand.length - 1], + 14 == r.hand.length && r.hand[r.hand.length - 1].SetIndex(r.hand.length - 1, !0, !1), + r.pendingXiangGong(14 == r.hand.length, "NewGame No fast") + }) + } + Laya.timer.frameLoop(1, this, this.update) + } + , + i.prototype.RecordNewGame = function(t, e, i) { + this.Reset(), + this.RefreshDir(); + for (var n = [], a = {}, r = 0; r < e.length; r++) + a[e[r]] = i[r]; + for (r = 0; r < t.length; r++) { + (o = {}).pai = t[r]; + var s = t[r].toString(); + a[s] ? (a[s]--, + o.is_open = !0) : o.is_open = !1, + n.push(o) + } + n = n.sort(function(t, e) { + return 10 * (10 * t.pai.numValue() + (t.pai.dora ? 0 : 1)) + (t.is_open ? 0 : 1) - (10 * (10 * e.pai.numValue() + (e.pai.dora ? 0 : 1)) + (e.is_open ? 0 : 1)) + }); + for (r = 0; r < n.length; r++) { + var o = this._AddHandPai(n[r].pai, n[r].is_open); + o.SetIndex(r, 14 == r, !1) + } + this.pendingXiangGong(14 == this.hand.length, "RecordNewGame"), + Laya.timer.frameLoop(1, this, this.update) + } + , + i.prototype.TakePai = function(t, e, i) { + void 0 === i && (i = !0), + app.Log.log("ViewPlayer_Me TakePai " + t.toString() + " doanim:" + i); + try { + var n = this._AddHandPai(t, e); + n.SetIndex(this.hand.length - 1, !0, !1), + i && n.AnimNewTile(), + this.last_tile = n, + this.pendingXiangGong(!0, "TakePai") + } catch (t) { + var a = {}; + a.error = t.message, + a.stack = t.stack, + a.method = "TakePai", + a.name = "ViewPlayer_Me", + GameMgr.Inst.onFatalError(a) + } + app.Log.log("ViewPlayer_Me TakePai end") + } + , + i.prototype.onBabei = function(t, e, i) { + this.OnDiscardTile(t, e, i) + } + , + i.prototype.OnDiscardTile = function(t, e, i) { + app.Log.log("ViewPlayer_Me OnDiscardTile " + t.toString() + " fast:" + i); + try { + if (this._prediscard_index >= 0 && this._prediscard_index < this.hand.length) { + this.hand[this._prediscard_index].val; + mjcore.MJPai.isSame(this.hand[this._prediscard_index].val, t) && this.hand[this._prediscard_index].is_open == e ? this._RemovePai(this.hand[this._prediscard_index]) : (this.hand[this._prediscard_index].mySelf.active = !0, + this._RemoveHandPai(t, e ? 1 : 0)) + } else + this._RemoveHandPai(t, e ? 1 : 0); + this.LiPai(i), + this.last_tile = null, + this._prediscard_index = -1, + this.pendingXiangGong(!1, "OnDiscardTile") + } catch (t) { + var n = {}; + n.error = t.message, + n.stack = t.stack, + n.method = "OnDiscardTile", + n.name = "ViewPlayer_Me OnDiscardTile", + GameMgr.Inst.onFatalError(n) + } + } + , + i.prototype.AddGang = function(t, i) { + void 0 === i && (i = !0), + app.Log.log("ViewPlayer_Me AddGang " + t.toString() + " doanim:" + i); + try { + e.prototype.AddGang.call(this, t, i); + for (var n = this.hand.length - 1; n >= 0; n--) + if (mjcore.MJPai.isSame(t, this.hand[n].val)) { + for (var a = this.hand[n], r = n; r < this.hand.length - 1; r++) + this.hand[r] = this.hand[r + 1], + this.hand[r].SetIndex(r, !1, !0); + this.hand.pop(), + this._OnRemovePai(a), + a.Reset(), + this.handpool.push(a); + break + } + this.LiPai(), + this.last_tile = null, + this.pendingXiangGong(!1, "AddGang") + } catch (t) { + var s = {}; + s.error = t.message, + s.stack = t.stack, + s.method = "AddGang", + s.class = "ViewPlayer_Me", + GameMgr.Inst.onFatalError(s) + } + } + , + i.prototype.LiPai = function(e) { + void 0 === e && (e = !1); + for (i = 0; i < this.hand.length; i++) + this.hand[i].SelectEnd(); + if (t.DesktopMgr.Inst.auto_liqi || t.DesktopMgr.Inst.mode != t.EMJMode.play) { + this.hand.sort(t.HandPaiPlane.Cmp); + for (var i = 0; i < this.hand.length; i++) + this.hand[i].SetIndex(i, !1, !e), + t.DesktopMgr.Inst.mode != t.EMJMode.play && this.hand[i].RefreshPaoPai() + } + } + , + i.prototype.AddMing = function(t, e, i) { + void 0 === i && (i = !0), + app.Log.log("ViewPlayer_Me AddMing " + t.toString() + " doanim:" + i); + try { + for (var n = 0; n < t.pais.length; n++) + t.from[n] == this.seat && this._RemoveHandPai(t.pais[n], e[n]); + this.container_ming.AddMing(t, i), + this.LiPai(), + this.last_tile = null, + this.pendingXiangGong(t.type == mjcore.E_Ming.kezi || t.type == mjcore.E_Ming.shunzi, "AddMing") + } catch (t) { + var a = {}; + a.error = t.message, + a.stack = t.stack, + a.method = "AddMing", + a.class = "ViewPlayer_Me", + GameMgr.Inst.onFatalError(a) + } + } + , + i.prototype.ChiTiSelect = function(t) { + for (var e = 0; e < this.hand.length; e++) + this.hand[e].ChiTiSelect(t) + } + , + i.prototype.LiQiSelect = function(t, e) { + this.during_liqi = e; + for (var i = 0; i < this.hand.length; i++) + e ? this.hand[i].LiqiSelect(t) : this.hand[i].SelectEnd() + } + , + i.prototype.HulePrepare = function(e, i, n) { + app.Log.log("ViewPlayer_Me HulePrepare " + i.toString() + " zimo:" + n); + try { + uiscript.UI_DesktopInfo.Inst.setZhenting(!1); + for (r = 0; r < this.hand.length; r++) + this.hand[r].Hule(); + for (var a = [], r = 0; r < e.length; r++) { + var s = new t.HandPai3D(this.trans_hand3D); + s.SetVal(e[r], !1), + s.SetIndex(r, !1), + s.Stand(), + a.push(s) + } + this._hand3d = a, + this.trans_hand3D.active = !0 + } catch (t) { + var o = {}; + o.error = t.message, + o.stack = t.stack, + o.method = "HulePrepare", + o.class = "ViewPlayer_Me", + GameMgr.Inst.onFatalError(o) + } + } + , + i.prototype.Hule = function(e, i, n, a) { + var r = this; + if (app.Log.log("ViewPlayer_Me Hule " + i.toString() + " zimo:" + n), + n) { + var s = new t.HandPai3D(this.trans_hand3D); + s.SetVal(i, !1), + s.SetIndex(this._hand3d.length, !0), + this._hand3d.push(s), + s.FullDown(), + s.shadow.active = !1, + s.model.transform.localPosition.z += .15 * t.PAIMODEL_HEIGHT; + var o = s.pai3D.model.transform.position.clone(); + this.hand3d.transform.position = o.clone(), + this.hand3d.getChildAt(0).getChildByName("node_tile").addChild(s.pai3D.model), + s.pai3D.model.transform.localPosition = new Laya.Vector3(0,0,0), + s.pai3D.model.transform.localScale = new Laya.Vector3(1.1111,1.1111,1.1111), + s.pai3D.model.transform.localRotationEuler = new Laya.Vector3(0,0,0); + var l = t.ModelAnimationController.get_anim_config("Zimo", this.hand_type); + this.playHandAnimtion(l), + Laya.timer.once(l.keypoint[0], this, function() { + t.AudioMgr.PlayAudio(227) + }), + Laya.timer.once(l.keypoint[1], this, function() { + s.contianer_pai.addChild(s.pai3D.model), + s.pai3D.model.transform.localScale = new Laya.Vector3(1,1,1), + s.pai3D.model.transform.localRotationEuler = new Laya.Vector3(0,180,0), + s.FullDown(), + Laya.timer.once(100, r, function() { + return t.DesktopMgr.Inst.ShowHuleEffect(s, s.pai3D.model.transform.position, t.DesktopMgr.Inst.player_effects[r.seat][game.EView.hupai_effect]) + }) + }) + } + var h = this._hand3d.length - (n ? 1 : 0) + , c = n ? 1100 : 200; + Laya.timer.once(c, this, function() { + if (0 != r._hand3d.length) { + t.AudioMgr.PlayAudio(223); + for (var e = 0; e < h; e++) + r._hand3d[e].DoAnim_FullDown() + } + }), + this.trans_hand3D.active = !0 + } + , + i.prototype.Huangpai = function(e, i, n) { + var a = this; + app.Log.log("ViewPlayer_Me Huangpai tingpai:" + e + " fast:" + n), + uiscript.UI_DesktopInfo.Inst.setZhenting(!1); + for (o = 0; o < this.hand.length; o++) + this.hand[o].Hule(); + for (var r = [], s = e ? this.trans_hand3D : this.trans_hand3DCover, o = 0; o < this.hand.length; o++) { + var l = new t.HandPai3D(s); + l.SetVal(this.hand[o].val, !1), + l.SetIndex(o, !1), + l.Stand(), + r.push(l) + } + var h = r.length; + if (n) + for (o = 0; o < h; o++) + e ? this._hand3d[o].FullDown() : this._hand3d[o].Cover(); + else + Laya.timer.once(500, this, function() { + for (var i = 0; i < h; i++) + e ? a._hand3d[i].DoAnim_FullDown() : a._hand3d[i].DoAnim_Cover(); + t.AudioMgr.PlayAudio(223) + }); + this._hand3d = r, + s.active = !0 + } + , + i.prototype.OnDoraRefresh = function() { + if (-1 != this.seat) { + e.prototype.OnDoraRefresh.call(this); + for (var t = 0; t < this.hand.length; t++) + this.hand[t].RefreshDora() + } + } + , + i.prototype.DoDiscardTile = function() { + if (app.Log.log("ViewPlayer_Me DoDiscardTile"), + this.during_liqi) { + if (!this.desktop.Action_LiQi(this._choose_pai.val, this._choose_pai === this.last_tile, this._choose_pai.is_open)) + return; + this.during_liqi = !1 + } else + this.desktop.Action_QiPai(this._choose_pai.val, this._choose_pai === this.last_tile, !1, this._choose_pai.is_open); + this._prediscard_index = this._choose_pai.index, + this._choose_pai.mySelf.active = !1, + this._choose_pai = null, + this.can_discard = !1 + } + , + i.prototype.onShowPaopaiChange = function() { + if (t.DesktopMgr.Inst.gameing) + for (var e = 0; e < this.hand.length; e++) + this.hand[e].ispaopai = t.DesktopMgr.Inst.isPaoPai(this.hand[e].val), + this.hand[e].RefreshPaoPai() + } + , + i.prototype.pendingXiangGong = function(t, e) { + if (!this.xianggonged) + try { + var i = 13 - 3 * this.container_ming.mings.length; + t && i++; + for (var n = !1, a = 0; a < this.hand.length; a++) + if (this.hand[a].index != a) { + n = !0; + break + } + for (var r = "", a = 0; a < this.hand.length; a++) + 0 != a && (r += ", "), + r += "[" + a + "|" + this.hand[a].index + "]" + this.hand[a].val.toString(); + if (app.Log.log("hands: " + r), + this.hand.length != i || n || this.hand.length + this.handpool.length != 16) { + this.xianggonged = !0; + var s = {}; + s.from = e, + s.need_discard = t, + s.ming_count = this.container_ming.mings.length, + s.tile_count = i, + s.hand_length = this.hand.length, + s.index_error = n, + s.hands = r, + s.handpool_count = this.handpool.length, + GameMgr.Inst.onXiangGongError(s) + } + } catch (t) {} + } + , + i.prototype.onDoubleClick = function() { + this.can_discard && (this.during_liqi || this.last_tile && (t.DesktopMgr.Inst.timestoped || (this.desktop.Action_QiPai(this.last_tile.val, !0, !1, this.last_tile.is_open), + this._prediscard_index = this.hand.length - 1, + this.last_tile.mySelf.active = !1, + this._choose_pai = null, + this.can_discard = !1))) + } + , + i.prototype.setChoosePai = function(e, i) { + if (this._choose_pai !== e) { + if (this._choose_pai && this._choose_pai != e) { + var n = this._choose_pai.mySelf.transform.localPosition.clone(); + n.y = 0, + this._choose_pai.mySelf.transform.localPosition = n, + this._choose_pai = null + } + this._choose_pai = e; + var a = this._choose_pai.mySelf.transform.localPosition.clone(); + a.y = .8, + this._choose_pai.mySelf.transform.localPosition = a, + i && e.AddClickEffect(this.effect_click.clone()), + t.DesktopMgr.Inst.setChoosedPai(this._choose_pai.val), + t.AudioMgr.PlayAudio(204) + } + } + , + i.prototype.resetMouseState = function() { + if (this._mouse_in_pai = null, + this.during_drag = !1, + this.mouse_downed = !1, + this.click_on_choosed = !1, + this._choose_pai) { + var e = this._choose_pai.mySelf.transform.localPosition.clone(); + e.y = 0, + this._choose_pai.mySelf.transform.localPosition = e, + this._choose_pai = null + } + t.DesktopMgr.Inst.setChoosedPai(null) + } + , + i.prototype.onMouseDown = function() { + if (t.DesktopMgr.Inst.gameing && !(t.DesktopMgr.Inst.mode == t.EMJMode.play && t.DesktopMgr.Inst.timestoped || uiscript.UI_Hangup_Warn.Inst.enable)) { + var e = this.getMouseInfo(); + e.pai ? (this._choose_pai === e.pai ? this.click_on_choosed = !0 : (this.setChoosePai(e.pai, !0), + this.click_on_choosed = !1), + this.mouse_downx = Laya.MouseManager.instance.mouseX, + this.mouse_downy = Laya.MouseManager.instance.mouseY, + this.mouse_downed = !0) : this.resetMouseState() + } + } + , + i.prototype.onMouseMove = function() { + if (t.DesktopMgr.Inst.mode == t.EMJMode.play && (t.DesktopMgr.Inst.mode != t.EMJMode.play || !t.DesktopMgr.Inst.timestoped) && !uiscript.UI_Hangup_Warn.Inst.enable && this._choose_pai && this.mouse_downed) { + var e = Laya.MouseManager.instance.mouseX + , i = Laya.MouseManager.instance.mouseY; + (e - this.mouse_downx) * (e - this.mouse_downx) + (i - this.mouse_downy) * (i - this.mouse_downy) > 400 && (this.during_drag = !0) + } + } + , + i.prototype.onMouseUp = function() { + if (t.DesktopMgr.Inst.gameing && !(t.DesktopMgr.Inst.mode == t.EMJMode.play && t.DesktopMgr.Inst.timestoped || uiscript.UI_Hangup_Warn.Inst.enable)) { + var e = this.getMouseInfo(); + this.mouse_downed = !1, + this.during_drag ? (this.during_drag = !1, + null == this._choose_pai ? this.resetMouseState() : this.can_discard && !e.inHandRange && this._choose_pai.valid ? (this.DoDiscardTile(), + this.resetMouseState()) : this.resetMouseState()) : this.click_on_choosed && this.can_discard && this._choose_pai.valid && (this.DoDiscardTile(), + this.resetMouseState()) + } + } + , + i.prototype.onMouseOut = function() { + this.mouse_downed = !1, + this.click_on_choosed = !1, + this.during_drag && (this.during_drag = !1, + this.resetMouseState()) + } + , + i.prototype.getMouseInfo = function() { + var e = Laya.MouseManager.instance.mouseX + , i = Laya.MouseManager.instance.mouseY + , n = 0 + , a = 0; + Laya.Browser.width / 1920 < Laya.Browser.height / 1080 ? a = (Laya.Browser.height - Laya.Browser.width / 1920 * 1080) / 2 : n = (Laya.Browser.width - Laya.Browser.height / 1080 * 1920) / 2; + var r = e / (Laya.Browser.width - 2 * n) * (this.screen_right - this.screen_left) + this.screen_left + , s = i / (Laya.Browser.height - 2 * a) * (this.screen_bottom - this.screen_top) + this.screen_top + , o = Math.floor((r - this.handorigin_x) / this.handwidth); + o < 0 && (o = 0), + o >= this.hand.length && (o = this.hand.length - 1); + var l = null; + return game.Scene_MJ.Inst.camera_hand.viewportPointToRay(new Laya.Vector2(e,i), this.ray), + Laya.Physics.rayCast(this.ray, this.rayCastHit, 300), + this.rayCastHit.sprite3D && (l = this.rayCastHit.sprite3D.getComponentByType(t.HandPaiPlane)), + { + inHandRange: s < this.handrange_top, + index: o, + x: r, + y: s, + pai: l + } + } + , + i.prototype.update = function() { + var e = this.getMouseInfo(); + if (this.during_drag) + if (!t.DesktopMgr.Inst.gameing || t.DesktopMgr.Inst.timestoped) + this.resetMouseState(); + else if (null == this._choose_pai) + this.resetMouseState(); + else { + if (!t.DesktopMgr.Inst.auto_liqi && e.inHandRange && e.index != this._choose_pai.index) { + if (e.index < this._choose_pai.index) { + for (i = e.index; i < this._choose_pai.index; i++) + this.hand[i].SetIndex(i + 1, !1, !0); + for (i = this._choose_pai.index; i > e.index; i--) + this.hand[i] = this.hand[i - 1], + this.hand[i].SetIndex(i, !1, !0) + } else + for (var i = this._choose_pai.index; i < e.index; i++) + this.hand[i] = this.hand[i + 1], + this.hand[i].SetIndex(i, !1, !0); + this.hand[e.index] = this._choose_pai, + this._choose_pai.SetIndex(e.index, !1, !0) + } + this._choose_pai.mySelf.parent.setChildIndex(this._choose_pai.mySelf, this._choose_pai.mySelf.parent.numChildren - 1), + this._choose_pai.mySelf.transform.localPosition = new Laya.Vector3(e.x,e.y,.5) + } + else if (!this.mouse_downed) { + if (t.DesktopMgr.Inst.mode == t.EMJMode.play && t.DesktopMgr.Inst.timestoped) + return; + if (uiscript.UI_Hangup_Warn.Inst.enable) + return; + if (Laya.Browser.onPC && !GameMgr.inConch && 0 == t.DesktopMgr.click_prefer && t.DesktopMgr.Inst.gameing) + if (null == e.pai) + this.resetMouseState(); + else if (this._mouse_in_pai && this._mouse_in_pai === e.pai) { + Laya.timer.currTimer - this._mouse_in_start_time > 10 && (this.setChoosePai(this._mouse_in_pai, !1), + this._mouse_in_pai = null) + } else + this._mouse_in_pai = e.pai, + this._mouse_in_start_time = Laya.timer.currTimer + } + } + , + i.Inst = null, + i + }(t.ViewPlayer); + t.ViewPlayer_Me = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), view; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this) || this; + return t.handnum = 0, + t.hand = null, + t.discardcd = 0, + t.debug_new_round_frame = -1, + t.debug_reset_frame = -1, + t.lipai_id = 0, + t + } + return __extends(i, e), + i.prototype.Reset = function() { + if (e.prototype.Reset.call(this), + null != this.hand) { + for (var t = 0; t < this.hand.length; t++) + this.hand[t].Destory(); + this.hand = null + } + Laya.timer.clearAll(this), + this.discardcd = 0, + this.debug_reset_frame = Laya.timer.currFrame + } + , + i.prototype.ForceSet = function(t) { + this.Reset(), + this.RefreshDir(), + this.hand = [], + this.SetNum(t) + } + , + i.prototype.NewGame = function(e, i, n, a) { + var r = this; + this.Reset(), + this.RefreshDir(), + this.handnum = e, + this.hand = []; + for (var s = [], o = 0; o < n.length; o++) + for (var l = 0; l < n[o]; l++) + s.push(mjcore.MJPai.Create(i[o])); + if (s = s.sort(function(t, e) { + return 10 * t.numValue() + (t.dora ? 0 : 1) - (10 * e.numValue() + (e.dora ? 0 : 1)) + }), + a) + for (o = 0; o < e; o++) { + var h = new t.HandPai3D(this.trans_hand.parent); + o < s.length ? (h.SetVal(s[o], !0), + h.FullDown(), + h.pai3D.OnChoosedPai()) : (h.SetVal(mjcore.MJPai.Create("5z"), !1), + h.Stand()), + h.SetIndex(o, 14 == o), + this.hand.push(h) + } + else { + for (var c = 0, o = 0; o < 4; o++) + Laya.timer.once(300 * o, this, function() { + for (var i = 0; i < 4 && !(c >= e); i++) { + var n = new t.HandPai3D(r.trans_hand.parent); + c < s.length ? n.SetVal(s[c], !0) : n.SetVal(mjcore.MJPai.Create("5z"), !1), + n.SetIndex(c, !1), + r.hand.push(n), + n.DoAnim_Stand(), + c++ + } + }); + Laya.timer.once(1200, this, function() { + 14 == e && r.hand[13].SetIndex(13, !0); + for (var t = 0; t < r.hand.length; t++) + r.hand[t].is_open && (r.hand[t].DoAnim_FullDown(), + r.hand[t].pai3D.OnChoosedPai()) + }) + } + } + , + i.prototype.RecordNewGame = function(e, i, n) { + this.Reset(), + this.RefreshDir(), + this.handnum = e.length, + this.hand = []; + for (var a = {}, r = 0; r < n.length; r++) + a[i[r]] = n[r]; + for (r = 0; r < e.length; r++) { + var s = new t.HandPai3D(this.trans_hand.parent) + , o = !1; + a[e[r].toString()] > 0 && (o = !0, + a[e[r].toString()]--), + s.SetVal(e[r], o), + s.SetIndex(r, 14 == r), + t.DesktopMgr.Inst.record_show_hand || o ? (s.FullDown(), + s.pai3D.OnChoosedPai()) : (s.Stand(), + s.pai3D.ResetShow()), + this.hand.push(s) + } + this.debug_new_round_frame = Laya.timer.currFrame + } + , + i.prototype._LiPai = function() { + this.hand.sort(function(t, e) { + var i = 10 * t.val.numValue() + (t.val.dora ? 0 : 1) + , n = 10 * e.val.numValue() + (e.val.dora ? 0 : 1); + return t.is_open || (i += 1e7), + e.is_open || (n += 1e7), + i - n + }); + for (var t = 0; t < this.hand.length; t++) + this.hand[t].SetIndex(t, !1), + this.hand[t].is_open ? this.hand[t].FullDown() : this.hand[t].Stand() + } + , + i.prototype.LiPai = function(t) { + var e = this; + if (this.lipai_id++, + t <= 0) + this._LiPai(); + else { + var i = this.lipai_id; + Laya.timer.once(t, this, function() { + i == e.lipai_id && e._LiPai() + }) + } + } + , + i.prototype.onBabei = function(t, e, i) { + this.onDiscardTile(t, e ? "4z" : "", e, i) + } + , + i.prototype.onDiscardTile = function(t, e, i, n) { + if (!(this.seat < 0)) { + app.Log.log("ViewPlayer_Other onDiscardTile moqie:" + t + " fast:" + n); + var a = mjcore.MJPai.Create(e); + n ? (this._PlayRemoveHandPai(a, i ? 1 : 0, !1), + this.LiPai(0)) : t ? (this.hand[this.hand.length - 1].Destory(), + this.hand.pop()) : (this._PlayRemoveHandPai(a, i ? 1 : 0, !0), + this.discardcd = 1200 + Laya.timer.currTimer, + this.LiPai(1e3)) + } + } + , + i.prototype._RecordRemoveHandPai = function(e, i, n) { + void 0 === n && (n = !0); + var a, r, s; + n ? (a = 0, + r = this.hand.length - 1, + s = 1) : (a = this.hand.length - 1, + r = 0, + s = -1), + t.DesktopMgr.Inst.is_peipai_open_mode && (i = -1); + var o = -1; + if (-1 == i || 1 == i) + for (l = a; l != r + s; l += s) + if (this.hand[l].is_open && mjcore.MJPai.isSame(e, this.hand[l].val)) { + o = l; + break + } + if (-1 == o && (-1 == i || 0 == i)) + for (l = a; l != r + s; l += s) + if (!this.hand[l].is_open && mjcore.MJPai.isSame(e, this.hand[l].val)) { + o = l; + break + } + if (-1 != o) { + this.hand[o].Destory(); + for (var l = o; l < this.hand.length - 1; l++) + this.hand[l] = this.hand[l + 1]; + this.hand.pop() + } + } + , + i.prototype._RecordLiPai = function() { + this.hand.sort(function(e, i) { + var n = 10 * e.val.numValue() + (e.val.dora ? 0 : 1) + , a = 10 * i.val.numValue() + (i.val.dora ? 0 : 1); + return t.DesktopMgr.Inst.record_show_hand || (e.is_open || (n += 1e7), + i.is_open || (a += 1e7)), + n - a + }); + for (var e = 0; e < this.hand.length; e++) + this.hand[e].SetIndex(e, !1), + this.hand[e].is_open || t.DesktopMgr.Inst.record_show_hand ? this.hand[e].FullDown() : this.hand[e].Stand() + } + , + i.prototype.RecordLiPai = function(t) { + var e = this; + if (this.lipai_id++, + t <= 0) + this._RecordLiPai(); + else { + var i = this.lipai_id; + Laya.timer.once(t, this, function() { + i == e.lipai_id && e._RecordLiPai() + }) + } + } + , + i.prototype.recordBabei = function(t, e, i, n) { + this.recordDiscardTile(t, e, i, n) + } + , + i.prototype.recordDiscardTile = function(e, i, n, a) { + this.seat < 0 || (i ? (this.hand[this.hand.length - 1].Destory(), + this.hand.pop()) : this._RecordRemoveHandPai(e, n ? 1 : 0), + t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast && uiscript.UI_Live_Broadcast.Inst.during_play && (a ? this.RecordLiPai(0) : this.RecordLiPai(1e3))) + } + , + i.prototype.SetNum = function(e) { + if (!(this.seat < 0)) { + for (app.Log.log("ViewPlayer_Other SetNum _num:" + e + " _oldnum:" + this.hand.length); this.hand.length < e; ) { + var i = new t.HandPai3D(this.trans_hand.parent); + i.SetVal(mjcore.MJPai.Create("5z"), !1), + i.SetIndex(this.hand.length, !1), + i.Stand(), + this.hand.push(i) + } + for (; this.hand.length > e; ) + this.hand[this.hand.length - 1].Destory(), + this.hand.pop(); + app.Log.log("ViewPlayer_Other SetNum _chandlength:" + this.hand.length), + this.LiPai(0) + } + } + , + i.prototype._PlayRemoveHandPai = function(e, i, n) { + t.DesktopMgr.Inst.is_peipai_open_mode && (i = -1); + var a = -1; + if (-1 == i || 1 == i) + for (s = 0; s < this.hand.length; s++) + if (this.hand[s].is_open && mjcore.MJPai.isSame(this.hand[s].val, e)) { + a = s; + break + } + if (-1 == a && (-1 == i || 0 == i)) { + for (s = 0; s < this.hand.length; s++) + if (!this.hand[s].is_open) { + a = s; + break + } + if (-1 != a) { + var r = this.hand.length - a; + n && r--, + a = Math.floor(Math.random() * r) + a + } + } + if (-1 != a) { + this.hand[a].Destory(); + for (var s = a; s < this.hand.length - 1; s++) + this.hand[s] = this.hand[s + 1]; + this.hand.pop() + } + } + , + i.prototype.AddMing = function(i, n, a) { + if (void 0 === a && (a = !0), + !(this.seat < 0)) { + app.Log.log("ViewPlayer_Other AddMing ming:" + i.toString() + " doanim:" + a); + try { + if (t.DesktopMgr.Inst.mode == t.EMJMode.play) { + for (r = 0; r < i.pais.length; r++) + i.from[r] == this.seat && this._PlayRemoveHandPai(i.pais[r], n[r], !1); + this.LiPai(0) + } else { + for (var r = 0; r < i.pais.length; r++) + i.from[r] == this.seat && this._RecordRemoveHandPai(i.pais[r], n[r]); + this.RecordLiPai(0) + } + e.prototype.AddMing.call(this, i, n, a) + } catch (t) { + var s = {}; + s.error = t.message, + s.stack = t.stack, + s.method = "AddMing", + s.class = "ViewPlayer_Other", + GameMgr.Inst.onFatalError(s) + } + } + } + , + i.prototype.AddGang = function(i, n) { + if (void 0 === n && (n = !0), + !(this.seat < 0)) { + app.Log.log("ViewPlayer_Other AddGang " + i.toString() + " doanim:" + n); + try { + e.prototype.AddGang.call(this, i, n), + t.DesktopMgr.Inst.mode == t.EMJMode.play ? (this._PlayRemoveHandPai(i, -1, !1), + this.LiPai(0)) : (this._RecordRemoveHandPai(i, -1), + this.RecordLiPai(0)) + } catch (t) { + var a = {}; + a.error = t.message, + a.stack = t.stack, + a.method = "TakePai", + a.class = "ViewPlayer_Other", + GameMgr.Inst.onFatalError(a) + } + } + } + , + i.prototype.OnDoraRefresh = function() { + if (!(this.seat < 0)) + if (e.prototype.OnDoraRefresh.call(this), + t.DesktopMgr.Inst.mode != t.EMJMode.play) + for (i = 0; i < this.hand.length; i++) + this.hand[i].pai3D.RefreshDora(); + else + for (var i = 0; i < this.hand.length; i++) + this.hand[i].is_open && this.hand[i].pai3D.RefreshDora() + } + , + i.prototype.TakePai = function(e, i) { + if (!(this.seat < 0)) { + app.Log.log("ViewPlayer_Other TakePai " + e.toString()); + try { + this.LiPai(0); + var n = new t.HandPai3D(this.trans_hand.parent); + n.SetVal(e, i), + n.SetIndex(this.hand.length, !0), + i ? (n.FullDown(), + n.pai3D.OnChoosedPai()) : (n.Stand(), + n.pai3D.ResetShow()), + this.hand.push(n) + } catch (t) { + var a = {}; + a.error = t.message, + a.stack = t.stack, + a.method = "TakePai", + a.class = "ViewPlayer_Other", + a.last_new_round_frame = this.debug_new_round_frame, + a.last_reset_frame = this.debug_reset_frame, + a.hand_is_null = null == this.hand, + GameMgr.Inst.onFatalError(a) + } + } + } + , + i.prototype.recordTakePai = function(e, i) { + if (!(this.seat < 0)) { + this.RecordLiPai(0); + var n = new t.HandPai3D(this.trans_hand.parent); + n.SetVal(e, i), + n.SetIndex(this.hand.length, !0), + t.DesktopMgr.Inst.record_show_hand || i ? (n.FullDown(), + n.pai3D.ispaopai = t.DesktopMgr.Inst.isPaoPai(n.pai3D.val), + n.pai3D.OnChoosedPai()) : (n.Stand(), + n.pai3D.ResetShow()), + this.hand.push(n) + } + } + , + i.prototype.Hule = function(e, i, n, a) { + var r = this; + if (!(this.seat < 0)) + if (app.Log.log("ViewPlayer_Other Hule " + i.toString() + " zimo:" + n), + t.DesktopMgr.Inst.mode == t.EMJMode.play) { + if (this.SetNum(e.length + (n ? 1 : 0)), + n) { + var s = this.hand[this.hand.length - 1]; + s.SetVal(i, !1), + s.SetIndex(this.hand.length - 1, !0), + s.FullDown(), + s.model.transform.localPosition.z += .2 * t.PAIMODEL_HEIGHT, + s.shadow.active = !1; + _ = s.pai3D.model.transform.position.clone(); + this.hand3d.transform.position = _.clone(), + this.hand3d.getChildAt(0).getChildByName("node_tile").addChild(s.pai3D.model), + s.pai3D.model.transform.localPosition = new Laya.Vector3(0,0,0), + s.pai3D.model.transform.localRotationEuler = new Laya.Vector3(0,0,0), + s.pai3D.model.transform.localScale = new Laya.Vector3(1.1111,1.1111,1.1111); + var o = t.ModelAnimationController.get_anim_config("Zimo", this.hand_type); + this.playHandAnimtion(o), + Laya.timer.once(o.keypoint[0], this, function() { + t.AudioMgr.PlayAudio(227) + }), + Laya.timer.once(o.keypoint[1], this, function() { + s.contianer_pai.addChild(s.pai3D.model), + s.pai3D.model.transform.localScale = new Laya.Vector3(1,1,1), + s.pai3D.model.transform.localRotationEuler = new Laya.Vector3(0,180,0), + s.FullDown(), + Laya.timer.once(100, r, function() { + return t.DesktopMgr.Inst.ShowHuleEffect(s, s.pai3D.model.transform.position, t.DesktopMgr.Inst.player_effects[r.seat][game.EView.hupai_effect]) + }) + }) + } + var l = e.length + , h = n ? 1100 : 200; + Laya.timer.once(h, this, function() { + t.AudioMgr.PlayAudio(223); + for (var i = 0; i < l; i++) + r.hand[i].SetVal(e[i], !1), + r.hand[i].DoAnim_FullDown() + }) + } else { + if (n) { + var c = this.hand[this.hand.length - 1]; + c.SetVal(i, !1), + c.SetIndex(this.hand.length - 1, !0), + c.FullDown(), + c.model.transform.localPosition.z += .2 * t.PAIMODEL_HEIGHT, + c.shadow.active = !1; + var _ = c.pai3D.model.transform.position.clone(); + this.hand3d.transform.position = _.clone(), + this.hand3d.getChildAt(0).getChildByName("node_tile").addChild(c.pai3D.model), + c.pai3D.model.transform.localPosition = new Laya.Vector3(0,0,0), + c.pai3D.model.transform.localRotationEuler = new Laya.Vector3(0,0,0), + c.pai3D.model.transform.localScale = new Laya.Vector3(1.1111,1.1111,1.1111); + var u = t.ModelAnimationController.get_anim_config("Zimo", this.hand_type); + this.playHandAnimtion(u), + Laya.timer.once(u.keypoint[0], this, function() { + t.AudioMgr.PlayAudio(227) + }), + Laya.timer.once(u.keypoint[1], this, function() { + c.contianer_pai.addChild(c.pai3D.model), + c.pai3D.model.transform.localScale = new Laya.Vector3(1,1,1), + c.pai3D.model.transform.localRotationEuler = new Laya.Vector3(0,180,0), + c.FullDown(), + Laya.timer.once(100, r, function() { + return t.DesktopMgr.Inst.ShowHuleEffect(c, c.pai3D.model.transform.position, t.DesktopMgr.Inst.player_effects[r.seat][game.EView.hupai_effect]) + }) + }) + } + if (t.DesktopMgr.Inst.record_show_hand) + ; + else { + var d = e.length + , h = n ? 1100 : 200; + Laya.timer.once(h, this, function() { + t.AudioMgr.PlayAudio(223); + for (var e = 0; e < d; e++) + r.hand[e].DoAnim_FullDown() + }) + } + } + } + , + i.prototype.Huangpai = function(e, i, n) { + var a = this; + if (!(this.seat < 0)) + if (app.Log.log("ViewPlayer_Other Huangpai tingpai:" + e + " fast:" + n), + t.DesktopMgr.Inst.mode == t.EMJMode.play) + if (n) + if (e) { + this.SetNum(i.length); + for (r = 0; r < i.length; r++) + this.hand[r].SetVal(i[r], !1), + this.hand[r].FullDown() + } else + for (var r = 0; r < this.hand.length; r++) + this.hand[r].Cover(); + else + Laya.timer.once(300, this, function() { + if (t.AudioMgr.PlayAudio(223), + e) { + a.SetNum(i.length); + for (n = 0; n < i.length; n++) + a.hand[n].SetVal(i[n], !1), + a.hand[n].DoAnim_FullDown() + } else + for (var n = 0; n < a.hand.length; n++) + a.hand[n].DoAnim_Cover() + }); + else + t.DesktopMgr.Inst.record_show_hand || Laya.timer.once(300, this, function() { + if (t.AudioMgr.PlayAudio(223), + e) + for (n = 0; n < i.length; n++) + a.hand[n].DoAnim_FullDown(); + else + for (var n = 0; n < a.hand.length; n++) + a.hand[n].DoAnim_Cover() + }) + } + , + i.prototype.onShowHandChange = function(e) { + if (!(this.seat < 0) && t.DesktopMgr.Inst.gameing) { + for (n = 0; n < this.hand.length; n++) { + e || this.hand[n].is_open ? (this.hand[n].FullDown(), + this.hand[n].pai3D.ispaopai = t.DesktopMgr.Inst.isPaoPai(this.hand[n].pai3D.val), + this.hand[n].pai3D.OnChoosedPai()) : (this.hand[n].Stand(), + this.hand[n].pai3D.ispaopai = !1, + this.hand[n].pai3D.ResetShow()) + } + for (var i = !1, n = 0; n < this.hand.length; n++) + if (this.hand[n].is_open) { + i = !0; + break + } + if (i) { + this.hand.sort(function(e, i) { + var n = 10 * e.val.numValue() + (e.val.dora ? 0 : 1) + , a = 10 * i.val.numValue() + (i.val.dora ? 0 : 1); + return t.DesktopMgr.Inst.record_show_hand || (e.is_open || (n += 1e7), + i.is_open || (a += 1e7)), + e.IsNew() && (n += 1e8), + i.IsNew() && (a += 1e8), + n - a + }); + for (n = 0; n < this.hand.length; n++) + this.hand[n].SetIndex(n, this.hand[n].IsNew()), + this.hand[n].is_open || t.DesktopMgr.Inst.record_show_hand ? this.hand[n].FullDown() : this.hand[n].Stand() + } + } + } + , + i.prototype.onShowPaopaiChange = function() { + if (!(this.seat < 0) && t.DesktopMgr.Inst.gameing) + for (var e = 0; e < this.hand.length; e++) { + var i = !1; + t.DesktopMgr.Inst.mode == t.EMJMode.paipu || t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast ? i = this.hand[e].is_open || t.DesktopMgr.Inst.record_show_hand : t.DesktopMgr.Inst.mode == t.EMJMode.play && (i = this.hand[e].is_open), + i ? (this.hand[e].pai3D.ispaopai = t.DesktopMgr.Inst.isPaoPai(this.hand[e].pai3D.val), + this.hand[e].pai3D.OnChoosedPai()) : this.hand[e].pai3D.ResetShow() + } + } + , + i.prototype.OnChoosePai = function() { + if (!(this.seat < 0)) { + e.prototype.OnChoosePai.call(this); + for (var i = 0; i < this.hand.length; i++) { + var n = !1; + t.DesktopMgr.Inst.mode == t.EMJMode.paipu || t.DesktopMgr.Inst.mode == t.EMJMode.live_broadcast ? n = this.hand[i].is_open || t.DesktopMgr.Inst.record_show_hand : t.DesktopMgr.Inst.mode == t.EMJMode.play && (n = this.hand[i].is_open), + n ? this.hand[i].pai3D.OnChoosedPai() : this.hand[i].pai3D.ResetShow() + } + } + } + , + i + }(t.ViewPlayer); + t.ViewPlayer_Other = e +}(view || (view = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), caps; +!function(t) { + var e = function(t) { + function e(e) { + var i = t.call(this) || this; + return "" != e && i.setShaderName(e), + i + } + return __extends(e, t), + e.prototype.setInt = function(t, e) { + this._setInt(t, e) + } + , + e.prototype.getInt = function(t) { + return this._getInt(t) + } + , + e.prototype.setNumber = function(t, e) { + this._setNumber(t, e) + } + , + e.prototype.getNumber = function(t) { + return this._getNumber(t) + } + , + e.prototype.setBool = function(t, e) { + this._setBool(t, e) + } + , + e.prototype.getBool = function(t) { + return this._getBool(t) + } + , + e.prototype.setVector2 = function(t, e) { + this._setVector2(t, e) + } + , + e.prototype.getVector2 = function(t) { + return this._getVector2(t) + } + , + e.prototype.setColor = function(t, e) { + this._setColor(t, e) + } + , + e.prototype.getColor = function(t) { + return this._getColor(t) + } + , + e.prototype.setTexture = function(t, e) { + this._setTexture(t, e) + } + , + e.prototype.getTexture = function(t) { + return this._getTexture(t) + } + , + e + }(Laya.BaseMaterial); + t.BaseMaterial = e +}(caps || (caps = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), caps; +!function(t) { + var e = function(t) { + function e(e) { + var i = t.call(this, e) || this; + return i.cull = 2, + i.blend = 1, + i.srcBlend = 770, + i.dstBlend = 771, + i.alphaTest = !0, + i.depthWrite = !0, + i.renderQueue = 2, + i + } + return __extends(e, t), + e + }(t.BaseMaterial); + t.Material_Clip = e +}(caps || (caps = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), caps; +!function(t) { + var e = function(e) { + function i(i) { + var n = e.call(this, i) || this; + return n.cull = t.BaseMaterial.CULL_FRONT, + n.blend = 1, + n.srcBlend = 770, + n.dstBlend = 771, + n.alphaTest = !0, + n.depthWrite = !0, + n.renderQueue = 2, + n + } + return __extends(i, e), + i + }(t.BaseMaterial); + t.Material_Outline = e +}(caps || (caps = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), View = laya.ui.View, Dialog = laya.ui.Dialog, EffectAnimation = laya.display.EffectAnimation, ui; +!function(t) { + !function(e) { + var i = function(e) { + function i() { + var i = e.call(this) || this; + return i.effectData = t.anim.alpha_inUI.uiView, + i + } + return __extends(i, e), + i.uiView = { + type: "View", + props: {}, + child: [{ + type: "Image", + props: { + y: -4, + x: 4, + skin: "myres/0p.png", + anchorY: .5, + anchorX: .5 + }, + compId: 2 + }], + animations: [{ + nodes: [{ + target: 2, + keyframes: { + y: [{ + value: -1, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "y", + index: 0 + }, { + value: 167, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "y", + index: 14 + }, { + value: 0, + tweenMethod: "backIn", + tween: !0, + target: 2, + key: "y", + index: 20 + }], + x: [{ + value: -1, + tweenMethod: "backIn", + tween: !0, + target: 2, + key: "x", + index: 0 + }, { + value: -360, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "x", + index: 14 + }, { + value: 0, + tweenMethod: "backIn", + tween: !0, + target: 2, + key: "x", + index: 20 + }], + scaleY: [{ + value: 1, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "scaleY", + index: 0 + }, { + value: .58, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "scaleY", + index: 7 + }, { + value: 2, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "scaleY", + index: 20 + }], + scaleX: [{ + value: 1, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "scaleX", + index: 0 + }, { + value: .5, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "scaleX", + index: 7 + }, { + value: 2, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "scaleX", + index: 20 + }, { + value: 1, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "scaleX", + index: 31 + }], + rotation: [{ + value: 0, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "rotation", + index: 0 + }, { + value: 0, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "rotation", + index: 14 + }], + alpha: [{ + value: 1, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "alpha", + index: 0 + }, { + value: 1, + tweenMethod: "backIn", + tween: !0, + target: 2, + key: "alpha", + index: 20 + }] + } + }], + name: "in", + id: 1, + frameRate: 60, + action: 0 + }, { + nodes: [{ + target: 2, + keyframes: { + y: [{ + value: 0, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "y", + index: 0 + }], + x: [{ + value: 0, + tweenMethod: "backIn", + tween: !0, + target: 2, + key: "x", + index: 0 + }, { + value: 100, + tweenMethod: "linearNone", + tween: !0, + target: 2, + key: "x", + index: 10 + }] + } + }], + name: "out", + id: 2, + frameRate: 24, + action: 0 + }] + }, + i + }(EffectAnimation); + e.alpha_inUI = i + }(t.anim || (t.anim = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("anim/animtest") + } + , + e + }(View); + t.animtestUI = e + }(t.anim || (t.anim = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/bind_mail0") + } + , + e + }(View); + t.bind_mail0UI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/bind_mail1") + } + , + e + }(View); + t.bind_mail1UI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/bind_yostar_mail") + } + , + e + }(View); + t.bind_yostar_mailUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/character_star_up") + } + , + e + }(View); + t.character_star_upUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/config") + } + , + e + }(View); + t.configUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.CLoading", capsui.CLoading), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/course") + } + , + e + }(View); + t.courseUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/dmm_buy_pop") + } + , + e + }(View); + t.dmm_buy_popUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("both_ui/dmm_kefu") + } + , + e + }(View); + t.dmm_kefuUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/fly_tips") + } + , + e + }(View); + t.fly_tipsUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("both_ui/getcharacter") + } + , + e + }(View); + t.getcharacterUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("both_ui/getreward") + } + , + e + }(View); + t.getrewardUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/getreward2") + } + , + e + }(View); + t.getreward2UI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("both_ui/gettitle") + } + , + e + }(View); + t.gettitleUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/gitfcode") + } + , + e + }(View); + t.gitfcodeUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/infolite") + } + , + e + }(View); + t.infoliteUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/infolite_title") + } + , + e + }(View); + t.infolite_titleUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/invite") + } + , + e + }(View); + t.inviteUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/itemdetail") + } + , + e + }(View); + t.itemdetailUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("both_ui/light_tips") + } + , + e + }(View); + t.light_tipsUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/mycard_pay_info") + } + , + e + }(View); + t.mycard_pay_infoUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/need_bind_mail") + } + , + e + }(View); + t.need_bind_mailUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.CScrollView_Heng", capsui.CScrollView_Heng), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/otherplayerinfo") + } + , + e + }(View); + t.otherplayerinfoUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.CScrollView_Heng", capsui.CScrollView_Heng), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/otherplayerinfo_en") + } + , + e + }(View); + t.otherplayerinfo_enUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/popwindow") + } + , + e + }(View); + t.popwindowUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/report_nickname") + } + , + e + }(View); + t.report_nicknameUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/report_success") + } + , + e + }(View); + t.report_successUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.CLoading", capsui.CLoading), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/rules") + } + , + e + }(View); + t.rulesUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.CLoading", capsui.CLoading), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/rules_en") + } + , + e + }(View); + t.rules_enUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/secondconfirm") + } + , + e + }(View); + t.secondconfirmUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/unbind_phone") + } + , + e + }(View); + t.unbind_phoneUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("both_ui/unbind_yostar_mail") + } + , + e + }(View); + t.unbind_yostar_mailUI = e + }(t.both_ui || (t.both_ui = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/android_change") + } + , + e + }(View); + t.android_changeUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/anotherlogin") + } + , + e + }(View); + t.anotherloginUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/bind_phone0") + } + , + e + }(View); + t.bind_phone0UI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/bind_phone1") + } + , + e + }(View); + t.bind_phone1UI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/bind_phone2") + } + , + e + }(View); + t.bind_phone2UI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/canot_create_phone_account") + } + , + e + }(View); + t.canot_create_phone_accountUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/closeapp") + } + , + e + }(View); + t.closeappUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("common/common") + } + , + e + }(View); + t.commonUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/create_phone_account") + } + , + e + }(View); + t.create_phone_accountUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/create_phone_account_success") + } + , + e + }(View); + t.create_phone_account_successUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("common/disconnect") + } + , + e + }(View); + t.disconnectUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/dmm_bgm_notice") + } + , + e + }(View); + t.dmm_bgm_noticeUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("Script", laya.display.Sprite), + t.prototype.createChildren.call(this), + this.loadUI("common/errorinfo") + } + , + e + }(View); + t.errorinfoUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/guajichenfa") + } + , + e + }(View); + t.guajichenfaUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/hangup_logout") + } + , + e + }(View); + t.hangup_logoutUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CLoading", capsui.CLoading), + t.prototype.createChildren.call(this), + this.loadUI("common/lite_loading") + } + , + e + }(View); + t.lite_loadingUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("common/loading") + } + , + e + }(View); + t.loadingUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("common/preventaddiction") + } + , + e + }(View); + t.preventaddictionUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/reconnect") + } + , + e + }(View); + t.reconnectUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("common/rollnotice") + } + , + e + }(View); + t.rollnoticeUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/shimingrenzheng") + } + , + e + }(View); + t.shimingrenzhengUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/user_xieyi") + } + , + e + }(View); + t.user_xieyiUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("common/user_xieyi_dmm") + } + , + e + }(View); + t.user_xieyi_dmmUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + t.prototype.createChildren.call(this), + this.loadUI("common/user_xieyi_enjp") + } + , + e + }(View); + t.user_xieyi_enjpUI = e + }(t.common || (t.common = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("entrance/account_prohibition") + } + , + e + }(View); + t.account_prohibitionUI = e + }(t.entrance || (t.entrance = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("entrance/add2desktop") + } + , + e + }(View); + t.add2desktopUI = e + }(t.entrance || (t.entrance = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("entrance/chooseserver") + } + , + e + }(View); + t.chooseserverUI = e + }(t.entrance || (t.entrance = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("entrance/choose_language") + } + , + e + }(View); + t.choose_languageUI = e + }(t.entrance || (t.entrance = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("entrance/choose_route") + } + , + e + }(View); + t.choose_routeUI = e + }(t.entrance || (t.entrance = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + t.prototype.createChildren.call(this), + this.loadUI("entrance/entrance") + } + , + e + }(View); + t.entranceUI = e + }(t.entrance || (t.entrance = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("entrance/error_info") + } + , + e + }(View); + t.error_infoUI = e + }(t.entrance || (t.entrance = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("entrance/ios_webview_update") + } + , + e + }(View); + t.ios_webview_updateUI = e + }(t.entrance || (t.entrance = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CLoading", capsui.CLoading), + t.prototype.createChildren.call(this), + this.loadUI("entrance/mail_regist") + } + , + e + }(View); + t.mail_registUI = e + }(t.entrance || (t.entrance = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("entrance/maintenance") + } + , + e + }(View); + t.maintenanceUI = e + }(t.entrance || (t.entrance = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("entrance/remind") + } + , + e + }(View); + t.remindUI = e + }(t.entrance || (t.entrance = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("entrance/remind_new") + } + , + e + }(View); + t.remind_newUI = e + }(t.entrance || (t.entrance = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("entrance/reset_password") + } + , + e + }(View); + t.reset_passwordUI = e + }(t.entrance || (t.entrance = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + t.prototype.createChildren.call(this), + this.loadUI("entrance/reset_password_phone2") + } + , + e + }(View); + t.reset_password_phone2UI = e + }(t.entrance || (t.entrance = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CScrollView_Heng", capsui.CScrollView_Heng), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activity") + } + , + e + }(View); + t.activityUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activitybase") + } + , + e + }(View); + t.activitybaseUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_duanwu_point") + } + , + e + }(View); + t.activity_duanwu_pointUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_duanwu_rank") + } + , + e + }(View); + t.activity_duanwu_rankUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_exchange") + } + , + e + }(View); + t.activity_exchangeUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_exchange_zhongxia") + } + , + e + }(View); + t.activity_exchange_zhongxiaUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_guoqing") + } + , + e + }(View); + t.activity_guoqingUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_jiuji") + } + , + e + }(View); + t.activity_jiujiUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_task") + } + , + e + }(View); + t.activity_taskUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_task_newyear") + } + , + e + }(View); + t.activity_task_newyearUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_task_zhongxia") + } + , + e + }(View); + t.activity_task_zhongxiaUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_tongbi_exchange") + } + , + e + }(View); + t.activity_tongbi_exchangeUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_wanxianggengxin") + } + , + e + }(View); + t.activity_wanxianggengxinUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_wuyi_exchange") + } + , + e + }(View); + t.activity_wuyi_exchangeUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_wuyi_task") + } + , + e + }(View); + t.activity_wuyi_taskUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_xuanshang") + } + , + e + }(View); + t.activity_xuanshangUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_yijidagong") + } + , + e + }(View); + t.activity_yijidagongUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/activity_yueka") + } + , + e + }(View); + t.activity_yuekaUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/guoqing_popout") + } + , + e + }(View); + t.guoqing_popoutUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("lobby/activitys/sign") + } + , + e + }(View); + t.signUI = e + }(t.activitys || (t.activitys = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/add_room") + } + , + e + }(View); + t.add_roomUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/ageconfirm") + } + , + e + }(View); + t.ageconfirmUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("lobby/agepending") + } + , + e + }(View); + t.agependingUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("lobby/agepending_chs") + } + , + e + }(View); + t.agepending_chsUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/agesuccess") + } + , + e + }(View); + t.agesuccessUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/agesuccess_chs") + } + , + e + }(View); + t.agesuccess_chsUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/agexiane") + } + , + e + }(View); + t.agexianeUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + t.prototype.createChildren.call(this), + this.loadUI("lobby/bag") + } + , + e + }(View); + t.bagUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/camera_mode") + } + , + e + }(View); + t.camera_modeUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/chang_nickname") + } + , + e + }(View); + t.chang_nicknameUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/checkhuiyu") + } + , + e + }(View); + t.checkhuiyuUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/checkpifuquan") + } + , + e + }(View); + t.checkpifuquanUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + t.prototype.createChildren.call(this), + this.loadUI("lobby/create_room") + } + , + e + }(View); + t.create_roomUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/diamond_less") + } + , + e + }(View); + t.diamond_lessUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/force_update") + } + , + e + }(View); + t.force_updateUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("lobby/freeze_ui") + } + , + e + }(View); + t.freeze_uiUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CLoading", capsui.CLoading), + View.regComponent("capsui.NoLimitList", capsui.NoLimitList), + t.prototype.createChildren.call(this), + this.loadUI("lobby/friend") + } + , + e + }(View); + t.friendUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationPosition", capsui.LabelLocalizationPosition), + t.prototype.createChildren.call(this), + this.loadUI("lobby/get_character") + } + , + e + }(View); + t.get_characterUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("Text", laya.display.Text), + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("lobby/info") + } + , + e + }(View); + t.infoUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("lobby/introduce") + } + , + e + }(View); + t.introduceUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + t.prototype.createChildren.call(this), + this.loadUI("lobby/lobby") + } + , + e + }(View); + t.lobbyUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("Text", laya.display.Text), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("lobby/lobbychat") + } + , + e + }(View); + t.lobbychatUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("lobby/lobby_overall") + } + , + e + }(View); + t.lobby_overallUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationPosition", capsui.LabelLocalizationPosition), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CLoading", capsui.CLoading), + View.regComponent("capsui.NoLimitList", capsui.NoLimitList), + t.prototype.createChildren.call(this), + this.loadUI("lobby/match_lobby") + } + , + e + }(View); + t.match_lobbyUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.CLoading", capsui.CLoading), + View.regComponent("capsui.NoLimitList", capsui.NoLimitList), + t.prototype.createChildren.call(this), + this.loadUI("lobby/match_room") + } + , + e + }(View); + t.match_roomUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("lobby/match_shilian") + } + , + e + }(View); + t.match_shilianUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("lobby/match_ticket") + } + , + e + }(View); + t.match_ticketUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + t.prototype.createChildren.call(this), + this.loadUI("lobby/nickname") + } + , + e + }(View); + t.nicknameUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/number_input") + } + , + e + }(View); + t.number_inputUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.CDropdown", capsui.CDropdown), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/ob") + } + , + e + }(View); + t.obUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("lobby/openbox") + } + , + e + }(View); + t.openboxUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/page_sign_chs") + } + , + e + }(View); + t.page_sign_chsUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/page_sign_chs_t") + } + , + e + }(View); + t.page_sign_chs_tUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/page_sign_en") + } + , + e + }(View); + t.page_sign_enUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/page_sign_jp") + } + , + e + }(View); + t.page_sign_jpUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.CLoading", capsui.CLoading), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("lobby/paipu") + } + , + e + }(View); + t.paipuUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/payment/buy_yueka_chs") + } + , + e + }(View); + t.buy_yueka_chsUI = e + }(t.payment || (t.payment = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("lobby/payment/buy_yueka_en") + } + , + e + }(View); + t.buy_yueka_enUI = e + }(t.payment || (t.payment = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/payment/choose_method_chs") + } + , + e + }(View); + t.choose_method_chsUI = e + }(t.payment || (t.payment = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/payment/choose_method_chs_t") + } + , + e + }(View); + t.choose_method_chs_tUI = e + }(t.payment || (t.payment = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("lobby/payment/choose_method_en") + } + , + e + }(View); + t.choose_method_enUI = e + }(t.payment || (t.payment = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("lobby/payment/creditcard") + } + , + e + }(View); + t.creditcardUI = e + }(t.payment || (t.payment = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CLoading", capsui.CLoading), + t.prototype.createChildren.call(this), + this.loadUI("lobby/payment/loading") + } + , + e + }(View); + t.loadingUI = e + }(t.payment || (t.payment = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.CLoading", capsui.CLoading), + t.prototype.createChildren.call(this), + this.loadUI("lobby/payment/wxcode") + } + , + e + }(View); + t.wxcodeUI = e + }(t.payment || (t.payment = {})) + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/pifuquan_less") + } + , + e + }(View); + t.pifuquan_lessUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/pipei") + } + , + e + }(View); + t.pipeiUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("lobby/pipeichenggong") + } + , + e + }(View); + t.pipeichenggongUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("lobby/pipeiyuyue") + } + , + e + }(View); + t.pipeiyuyueUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + t.prototype.createChildren.call(this), + this.loadUI("lobby/playerinfo") + } + , + e + }(View); + t.playerinfoUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + t.prototype.createChildren.call(this), + this.loadUI("lobby/playerinfo_en") + } + , + e + }(View); + t.playerinfo_enUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/pop_buy_multi") + } + , + e + }(View); + t.pop_buy_multiUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/pop_buy_single") + } + , + e + }(View); + t.pop_buy_singleUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.NoLimitList", capsui.NoLimitList), + View.regComponent("capsui.CLoading", capsui.CLoading), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + t.prototype.createChildren.call(this), + this.loadUI("lobby/rank") + } + , + e + }(View); + t.rankUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("lobby/recharge") + } + , + e + }(View); + t.rechargeUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.CScrollBar_Heng", capsui.CScrollBar_Heng), + View.regComponent("capsui.CScrollView_Heng", capsui.CScrollView_Heng), + t.prototype.createChildren.call(this), + this.loadUI("lobby/shop") + } + , + e + }(View); + t.shopUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/shop_lobby_yulan") + } + , + e + }(View); + t.shop_lobby_yulanUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("lobby/shop_pack_detail") + } + , + e + }(View); + t.shop_pack_detailUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/shop_skin_yulan") + } + , + e + }(View); + t.shop_skin_yulanUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + t.prototype.createChildren.call(this), + this.loadUI("lobby/sign") + } + , + e + }(View); + t.signUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + t.prototype.createChildren.call(this), + this.loadUI("lobby/skin_yulan") + } + , + e + }(View); + t.skin_yulanUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationPosition", capsui.LabelLocalizationPosition), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/sushe") + } + , + e + }(View); + t.susheUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + View.regComponent("capsui.CScrollView_Heng", capsui.CScrollView_Heng), + t.prototype.createChildren.call(this), + this.loadUI("lobby/sushe_select") + } + , + e + }(View); + t.sushe_selectUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + View.regComponent("capsui.CScrollView_Heng", capsui.CScrollView_Heng), + t.prototype.createChildren.call(this), + this.loadUI("lobby/sushe_select_en") + } + , + e + }(View); + t.sushe_select_enUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CLoading", capsui.CLoading), + t.prototype.createChildren.call(this), + this.loadUI("lobby/tanfang0") + } + , + e + }(View); + t.tanfang0UI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationPosition", capsui.LabelLocalizationPosition), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/tangfang1") + } + , + e + }(View); + t.tangfang1UI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/titlebook") + } + , + e + }(View); + t.titlebookUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + View.regComponent("capsui.LabelLocalizationPosition", capsui.LabelLocalizationPosition), + t.prototype.createChildren.call(this), + this.loadUI("lobby/treasure") + } + , + e + }(View); + t.treasureUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("lobby/visit") + } + , + e + }(View); + t.visitUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationPosition", capsui.LabelLocalizationPosition), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CScrollView_Heng", capsui.CScrollView_Heng), + t.prototype.createChildren.call(this), + this.loadUI("lobby/waitingroom") + } + , + e + }(View); + t.waitingroomUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("lobby/waitob") + } + , + e + }(View); + t.waitobUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.CLoading", capsui.CLoading), + t.prototype.createChildren.call(this), + this.loadUI("lobby/xinshouyindao") + } + , + e + }(View); + t.xinshouyindaoUI = e + }(t.lobby || (t.lobby = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("mj/activity_task") + } + , + e + }(View); + t.activity_taskUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("mj/al") + } + , + e + }(View); + t.alUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("mj/chipenghu") + } + , + e + }(View); + t.chipenghuUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.CScrollBar", capsui.CScrollBar), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("mj/desktopInfo") + } + , + e + }(View); + t.desktopInfoUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("mj/fightbegin") + } + , + e + }(View); + t.fightbeginUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("Text", laya.display.Text), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + t.prototype.createChildren.call(this), + this.loadUI("mj/gameend") + } + , + e + }(View); + t.gameendUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("mj/gamestop") + } + , + e + }(View); + t.gamestopUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("mj/hangup_warn") + } + , + e + }(View); + t.hangup_warnUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("mj/huleshow") + } + , + e + }(View); + t.huleshowUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("mj/hu_cutin") + } + , + e + }(View); + t.hu_cutinUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("mj/info_md5") + } + , + e + }(View); + t.info_md5UI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("mj/liuju") + } + , + e + }(View); + t.liujuUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("mj/live_broadcast") + } + , + e + }(View); + t.live_broadcastUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("mj/ob_replay") + } + , + e + }(View); + t.ob_replayUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("Text", laya.display.Text), + t.prototype.createChildren.call(this), + this.loadUI("mj/rankchange") + } + , + e + }(View); + t.rankchangeUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + View.regComponent("capsui.UICopy", capsui.UICopy), + View.regComponent("capsui.CScrollView", capsui.CScrollView), + t.prototype.createChildren.call(this), + this.loadUI("mj/replay") + } + , + e + }(View); + t.replayUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("mj/replay_whell") + } + , + e + }(View); + t.replay_whellUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("mj/rewardprogress") + } + , + e + }(View); + t.rewardprogressUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + t.prototype.createChildren.call(this), + this.loadUI("mj/scorechange") + } + , + e + }(View); + t.scorechangeUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("mj/task_progress") + } + , + e + }(View); + t.task_progressUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + t.prototype.createChildren.call(this), + this.loadUI("mj/tingpai") + } + , + e + }(View); + t.tingpaiUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("mj/vote") + } + , + e + }(View); + t.voteUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("mj/vote_cd") + } + , + e + }(View); + t.vote_cdUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + t.prototype.createChildren.call(this), + this.loadUI("mj/vote_progress") + } + , + e + }(View); + t.vote_progressUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})), +function(t) { + !function(t) { + var e = function(t) { + function e() { + return t.call(this) || this + } + return __extends(e, t), + e.prototype.createChildren = function() { + View.regComponent("capsui.CButton", capsui.CButton), + View.regComponent("capsui.LabelLocalizationSize", capsui.LabelLocalizationSize), + t.prototype.createChildren.call(this), + this.loadUI("mj/win") + } + , + e + }(View); + t.winUI = e + }(t.mj || (t.mj = {})) +}(ui || (ui = {})); +var uiscript; +!function(t) { + var e = function() { + function e(t) { + this._me = null, + this._enable = !1, + this._valid = !1, + this._enable = this._valid = !1, + t ? (this._me = t, + this._me.visible = !1, + this._me.frameOnce(4, this, this._onload)) : console.error("加载UI失败") + } + return Object.defineProperty(e.prototype, "me", { + get: function() { + return this._me + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(e.prototype, "enable", { + get: function() { + return this._valid && this._enable + }, + set: function(t) { + this._valid && this._enable != t && (this._enable = t, + this._me.visible = t, + t ? this._onEnable() : this._onDisable()) + }, + enumerable: !0, + configurable: !0 + }), + e.prototype._onload = function() { + this._valid = !0, + this.onCreate(), + this.me.frameLoop(1, this, this._update) + } + , + e.prototype._update = function() { + this.enable && this.update() + } + , + e.prototype._onEnable = function() { + this._valid && (this.me.event("onenable"), + this.onEnable()) + } + , + e.prototype._onDisable = function() { + this._valid && (this.me.event("ondisable"), + this.onDisable()) + } + , + e.prototype.destroy = function() { + this._valid && (Laya.timer.clearAll(this), + this.enable = !1, + this.onDestroy(), + this._valid = !1, + this._me.destroy(!0), + t.UIMgr.Inst.onUIDestory(this)) + } + , + e.prototype.onCreate = function() {} + , + e.prototype.onEnable = function() {} + , + e.prototype.update = function() {} + , + e.prototype.onDisable = function() {} + , + e.prototype.onDestroy = function() {} + , + e.anim_pop_out = function(t, e) { + t.alpha = 0; + var i = t.scaleX + , n = t.scaleY; + t.scaleX = .6 * i, + t.scaleY = .6 * n, + Laya.Tween.to(t, { + alpha: 1, + scaleX: i, + scaleY: n + }, 150, Laya.Ease.backOut, Laya.Handler.create(t, function() { + t.scaleX = i, + t.scaleY = n, + t.alpha = 1, + e && e.run() + })) + } + , + e.anim_pop_hide = function(t, e) { + t.alpha = 1; + var i = t.scaleX + , n = t.scaleY; + Laya.Tween.to(t, { + alpha: 0, + scaleX: .6 * i, + scaleY: .6 * n + }, 150, Laya.Ease.backOut, Laya.Handler.create(t, function() { + t.scaleX = i, + t.scaleY = n, + t.alpha = 0, + e && e.run() + })) + } + , + e.anim_alpha_in = function(t, e, i, n, a, r) { + void 0 === n && (n = 0), + void 0 === a && (a = null), + void 0 === r && (r = null); + var s = {}; + for (var o in e) + s[o] = t[o], + t[o] += e[o]; + t.alpha = 0, + s.alpha = 1, + Laya.Tween.to(t, s, i, r, a, n) + } + , + e.anim_alpha_out = function(t, e, i, n, a, r) { + void 0 === n && (n = 0), + void 0 === a && (a = null), + void 0 === r && (r = null); + var s = {}; + for (var o in e) + s[o] = t[o], + e[o] += t[o]; + e.alpha = 0, + Laya.Tween.to(t, e, i, r, Laya.Handler.create(t, function() { + for (var i in e) + t[i] = s[i]; + t.alpha = 0, + a && a.run() + }), n) + } + , + e + }(); + t.UIBase = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e(e, i) { + var n = t.call(this, i) || this; + return n.__activity_name = e, + n + } + return __extends(e, t), + Object.defineProperty(e.prototype, "activity_name", { + get: function() { + return this.__activity_name + }, + enumerable: !0, + configurable: !0 + }), + e.prototype.isopen = function() { + return !1 + } + , + e.prototype.haveRedPoint = function() { + return !1 + } + , + e.prototype.need_popout = function() { + return !1 + } + , + e.prototype.show = function() {} + , + e.prototype.hide = function() {} + , + e + }(t.UIBase); + t.UI_ActivityBase = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t, e, i, n, a, r, s) { + this.me = t, + this.id = e, + this.pre_score = i, + this.me_score = n, + this.next_score = a, + this.item_id = r, + this.item_count = s + } + return e.prototype.init = function() { + var e = this; + this.label_score = this.me.getChildByName("score"), + this.shine_point = this.me.getChildByName("shine_point"), + this.btn_reward = this.me.getChildByName("reward"), + this.reward_shine = this.btn_reward.getChildByName("shine"), + this.img_reward = this.btn_reward.getChildByName("item"), + this.label_count = this.btn_reward.getChildByName("num"), + this.flag_getted = this.btn_reward.getChildByName("getted"), + this.line_down = this.me.getChildByName("line_down"), + this.line_up = this.me.getChildByName("line_up"), + this.line_reward = this.me.getChildByName("line_reward"), + this.container_lock = this.me.getChildByName("lock"), + this.label_lock_time = this.container_lock.getChildByName("time"), + this.btn_reward.clickHandler = new Laya.Handler(this,function() { + e.game_score >= e.me_score && !e.getted ? (game.Tools.setGrayDisable(e.btn_reward, !0), + app.NetAgent.sendReq2Lobby("Lobby", "gainAccumulatedPointActivityReward", { + activity_id: i.activity_id, + reward_id: e.id + }, function(n, a) { + game.Tools.setGrayDisable(e.btn_reward, !1), + n || a.error ? t.UIMgr.Inst.showNetReqError("gainAccumulatedPointActivityReward", n, a) : (i.onGetReward(e.id), + e.onGetted()) + })) : t.UI_ItemDetail.Inst.show(e.item_id) + } + ) + } + , + e.prototype.show = function(t, e, i, n) { + this.game_score = t, + this.getted = e; + var a = game.GameUtility.get_item_view(this.item_id); + if (game.LoadMgr.setImgSkin(this.img_reward, a.icon), + this.label_score.text = this.me_score.toString(), + -1 == this.pre_score) + this.line_up.visible = !1; + else { + this.line_up.visible = !0; + (r = (t - (this.pre_score + this.me_score) / 2) / (this.me_score - this.pre_score) * 2) < 0 ? this.line_up.getChildByName("value").visible = !1 : (r > 1 && (r = 1), + this.line_up.getChildByName("value").visible = !0, + this.line_up.getChildByName("value").scaleY = r) + } + if (-1 == this.next_score) + this.line_down.visible = !1; + else { + this.line_down.visible = !0; + var r = (t - this.me_score) / (this.next_score - this.me_score) * 2; + r < 0 ? this.line_down.getChildByName("value").visible = !1 : (r > 1 && (r = 1), + this.line_down.getChildByName("value").visible = !0, + this.line_down.getChildByName("value").scaleY = r) + } + t < this.me_score ? (this.line_reward.getChildByName("value").visible = !1, + this.reward_shine.visible = !1, + this.shine_point.skin = game.Tools.localUISrc("myres/activity_duanwu/point_unshine.png"), + this.label_score.color = "#bababa") : (this.line_reward.getChildByName("value").visible = !0, + this.reward_shine.visible = !0, + this.shine_point.skin = game.Tools.localUISrc("myres/activity_duanwu/point_shine.png"), + this.label_score.color = "#ffd52b"), + this.flag_getted.visible = !!e, + game.Tools.setGrayDisable(this.btn_reward, !1), + this.item_count <= 1 ? this.label_count.visible = !1 : (this.label_count.visible = !0, + this.label_count.text = this.item_count.toString()); + var s = n - i + , o = 24 * cfg.activity.game_point.get(this.id).unlock_day * 3600 * 1e3; + if (s < o) { + this.container_lock.visible = !0; + var l = (i + o) / 1e3 + , h = game.Tools.time2YearMounthDate(l) + " " + game.Tools.time2HourMinute(l); + this.label_lock_time.text = game.Tools.strOfLocalization(2825, [h]) + } else + this.container_lock.visible = !1 + } + , + e.prototype.onGetted = function() { + this.getted = !0, + Laya.timer.clearAll(this), + this.flag_getted.visible = !0; + var e = this.flag_getted.getChildByName("bg"); + e.alpha = 0, + Laya.Tween.to(e, { + alpha: .5 + }, 150); + var i = this.flag_getted.getChildByName("gou"); + i.scaleX = i.scaleY = 0, + i.alpha = 0, + Laya.Tween.to(i, { + scaleX: 1, + scaleY: 1, + alpha: 1 + }, 200, Laya.Ease.backOut), + game.GameUtility.get_id_type(this.item_id) == game.EIDType.character ? t.UI_Get_Character.Inst.show(this.item_id) : game.Tools.showRewards({ + rewards: [{ + id: this.item_id, + count: this.item_count + }] + }, null), + t.UI_Lobby.Inst.top.refreshRedpoint(), + t.UI_Activity.Inst.refresh_redpoint() + } + , + e + }() + , i = function(i) { + function n() { + var t = i.call(this, cfg.activity.activity.get(n.activity_id)["name_" + GameMgr.client_language], new ui.lobby.activitys.activity_duanwu_pointUI) || this; + return n.Inst = t, + t.atlas_url = "res/atlas/", + "chs" != GameMgr.client_language && (t.atlas_url += GameMgr.client_language + "/"), + t.atlas_url += "myres/activity_duanwu.atlas", + t + } + return __extends(n, i), + n.init = function(t) { + if (this.point = 0, + this.getted_rewards = {}, + this.getted_rewards_count = 0, + t) + for (var e = t.accumulated_point_list, i = 0; i < e.length; i++) { + var n = e[i]; + if (n.activity_id == this.activity_id && (this.point = n.point, + n.gained_reward_list)) { + for (var a = 0; a < n.gained_reward_list.length; a++) + this.getted_rewards[n.gained_reward_list[a]] = 1; + this.getted_rewards_count = n.gained_reward_list.length + } + } + } + , + n.onGetReward = function(t) { + this.getted_rewards[t] || (this.getted_rewards[t] = 1, + this.getted_rewards_count++, + this.Inst && this.Inst.enable && this.Inst.refreshRewardsCount()) + } + , + n.max_point = function() { + var t = this + , e = Date.now() + , i = game.Tools.ParseTime(cfg.activity.activity.get(this.activity_id).start_time) + , n = Math.floor((e - i) / 24 / 3600 / 1e3) + , a = 0; + return cfg.activity.game_point.forEach(function(e) { + e.activity_id == t.activity_id && e.unlock_day <= n && (a = a > e.point ? a : e.point) + }), + a + } + , + n.prototype.onCreate = function() { + var t = this; + this.cells = []; + var i = this.me.getChildByName("root"); + this.content = i.getChildByName("content"), + this.head = this.content.getChildByName("head"), + this.label_score = this.head.getChildByName("score"), + this.label_reward_count = this.head.getChildByName("reward_count"); + var a = this.content.getChildByName("cells").getChildByName("task_templete"); + this.cells = []; + var r = []; + cfg.activity.game_point.forEach(function(t) { + t.activity_id == n.activity_id && r.push(t) + }); + for (var s = 0; s < r.length; s++) { + var o = null; + o = 0 == this.cells.length ? a : a.scriptMap["capsui.UICopy"].getNodeClone(), + this.cells.push(new e(o,r[s].id,s > 0 ? r[s - 1].point : -1,r[s].point,s + 1 < r.length ? r[s + 1].point : -1,r[s].res_id,r[s].res_count)) + } + Laya.timer.frameOnce(6, this, function() { + for (var e = 0; e < t.cells.length; e++) + t.cells[e].init(), + t.cells[e].me.y = t.cells[e].me.height * e + }), + this.content.vScrollBarSkin = "", + this.content.getChildByName("cells").height = r.length * a.height, + this.toth = this.content.getChildByName("cells").y + r.length * a.height, + this.scrollbar = i.getChildByName("scrollbar").scriptMap["capsui.CScrollBar"], + this.scrollbar.init(null), + this.content.vScrollBar.on("change", this, function() { + t.scrollbar.setVal(t.content.vScrollBar.value / t.content.vScrollBar.max, t.content.height / t.toth) + }), + Laya.timer.once(2e3, this, function() { + t.enable || Laya.loader.clearTextureRes(t.atlas_url) + }) + } + , + n.prototype.isopen = function() { + return t.UI_Activity.activities[n.activity_id] + } + , + n.prototype.haveRedPoint = function() { + var t = !1; + return cfg.activity.game_point.forEach(function(e) { + e.activity_id == n.activity_id && e.point < n.point && !n.getted_rewards[e.id] && (t = !0) + }), + t + } + , + n.prototype.need_popout = function() { + return 1 == cfg.activity.activity.get(n.activity_id).need_popout + } + , + n.prototype.show = function() { + this.enable = !0, + game.LoadMgr.setImgSkin(this.head, "myres2/treasurehead/quehunji_huodong.jpg"); + for (var t = Date.now(), e = cfg.activity.activity.get(n.activity_id), i = game.Tools.ParseTime(e.start_time), a = 0; a < this.cells.length; a++) + this.cells[a].show(n.point, n.getted_rewards[this.cells[a].id], i, t); + this.label_score.text = n.point.toString(), + this.refreshRewardsCount() + } + , + n.prototype.refreshRewardsCount = function() { + this.label_reward_count.text = n.getted_rewards_count.toString() + "/" + this.cells.length.toString(), + this.label_reward_count.x = "en" == GameMgr.client_language ? 747 : 686 + } + , + n.prototype.hide = function() { + this.enable = !1; + var t = game.Tools.localUISrc("myres2/treasurehead/quehunji_huodong.jpg"); + Laya.loader.clearTextureRes(t), + Laya.loader.clearTextureRes(this.atlas_url) + } + , + n.activity_id = 1014, + n.point = 0, + n.getted_rewards_count = 0, + n + }(t.UI_ActivityBase); + t.UI_Activity_DuanWu_Point = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, cfg.activity.activity.get(i.activity_id)["name_" + GameMgr.client_language], new ui.lobby.activitys.activity_duanwu_rankUI) || this; + return t.last_refresh_time = -1, + t.my_rank = -1, + t.datas = [], + t + } + return __extends(i, e), + i.init = function(t) { + if (this.point = 0, + this.reward_getted = !1, + t) + for (var e = t.rank_data_list, i = 0; i < e.length; i++) { + var n = e[i]; + n.leaderboard_id == this.activity_id && (this.point = n.point, + this.reward_getted = n.gained_reward) + } + } + , + i.prototype.onCreate = function() { + var e = this.me.getChildByName("root"); + this.head = e.getChildByName("head"); + var i = e.getChildByName("head"); + this.label_score = i.getChildByName("score"), + this.label_rank = i.getChildByName("rank"), + this.label_reward = i.getChildByName("reward"), + this.btn_info = i.getChildByName("what"), + this.btn_getreward = i.getChildByName("btn_get"), + this.label_alreadyget = i.getChildByName("alreadyget"), + this.scrollview = e.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_item)), + this.noinfo = e.getChildByName("noinfo"), + this.label_alreadyget.visible = !1, + this.noinfo.visible = !1, + this.scrollview.reset(), + this.btn_getreward.visible = !1, + this.label_rank.text = "--", + this.label_reward.text = "--", + this.label_score.text = "--", + i.getChildByName("what").clickHandler = new Laya.Handler(this,function() { + t.UI_InfoLite_Title.Inst.show(game.Tools.strOfLocalization(2776), game.Tools.strOfLocalization(2777)) + } + ) + } + , + i.prototype.render_item = function(e) { + var i = e.container + , n = e.index + , a = e.cache_data + , r = this.datas[n]; + i.getChildByName("rank").text = r.rank.toString(), + a.hasOwnProperty("head") || (a.head = new t.UI_Head(i.getChildByName("head"))), + a.hasOwnProperty("title") || (a.title = new t.UI_PlayerTitle(i.getChildByName("title"))), + r.account_id == GameMgr.Inst.account_id ? (a.head.id = GameMgr.Inst.account_data.avatar_id, + a.head.head_frame = GameMgr.Inst.account_data.avatar_frame, + a.title.id = game.Tools.titleLocalization(r.account_id, GameMgr.Inst.account_data.title), + i.getChildByName("name").text = GameMgr.Inst.account_data.nickname, + i.getChildByName("bg").skin = game.Tools.localUISrc("myres/activity_duanwu/rank_cell_me.png")) : (a.head.id = r.view.avatar_id, + a.head.id = r.view.avatar_frame, + a.title.id = game.Tools.titleLocalization(r.account_id, r.view.title), + i.getChildByName("name").text = r.view.nickname, + i.getChildByName("bg").skin = game.Tools.localUISrc("myres/activity_duanwu/rank_cell.png")), + i.getChildByName("btn_see").clickHandler = Laya.Handler.create(this, function() { + t.UI_OtherPlayerInfo.Inst.show(r.account_id) + }, null, !1), + i.getChildByName("score").text = r.point.toString() + } + , + i.prototype.isopen = function() { + return t.UI_Activity.activities[i.activity_id] + } + , + i.prototype.haveRedPoint = function() { + return !i.reward_getted && i.gainable_time > 0 && i.gainable_time < Date.now() / 1e3 + } + , + i.prototype.need_popout = function() { + return 1 == cfg.activity.activity.get(i.activity_id).need_popout + } + , + i.prototype.show = function() { + var e = this; + this.enable = !0, + game.LoadMgr.setImgSkin(this.head, "myres2/treasurehead/duanwu_rank.jpg"), + this.label_score.text = i.point.toString(), + this.refresh_my_rank(); + var n = Date.now() / 1e3 + , a = 60 + , r = cfg.leaderboard.leaderboard.get(i.activity_id); + r && (a = r.refresh_cd), + n < this.last_refresh_time + a && !(this.last_refresh_time < i.gainable_time && n < i.gainable_time) ? (this.scrollview.rate = 0, + this.noinfo.visible = 0 == this.datas.length) : (this.scrollview.reset(), + this.datas = [], + app.NetAgent.sendReq2Lobby("Lobby", "fetchRankPointLeaderboard", { + leaderboard_id: i.activity_id + }, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("fetchRankPointLeaderboard", i, n); + else { + e.last_refresh_time = n.last_refresh_time; + var a = n.items + , r = {}; + if (a) + for (s = 0; s < a.length; s++) + r[a[s].account_id] || (r[a[s].account_id] = 1, + e.datas.push(a[s])); + e.datas = e.datas.sort(function(t, e) { + return t.rank - e.rank + }), + e.scrollview.addItem(e.datas.length), + e.noinfo.visible = 0 == e.datas.length; + for (var s = 0; s < e.datas.length; s++) + if (e.datas[s].account_id == GameMgr.Inst.account_id) { + e.my_rank = e.datas[s].rank; + break + } + e.refresh_my_rank() + } + })) + } + , + i.prototype.refresh_my_rank = function() { + var e = this + , n = cfg.activity.rank_reward.findGroup(1010) + , a = -1 + , r = "(" + game.Tools.strOfLocalization(2782, [Math.floor((Date.now() / 1e3 - this.last_refresh_time) / 60).toString()]) + ")"; + if (Date.now() > i.gainable_time && (r = ""), + this.my_rank > 0) { + this.label_rank.text = this.my_rank.toString() + r; + for (l = n.length - 1; l >= 0; l--) + if (this.my_rank >= n[l].lower_rank_bound) { + a = l; + break + } + } else + this.label_rank.text = n[n.length - 1].lower_rank_bound.toString() + "+" + r; + if (a >= 0) { + for (var s = "", o = n[a].reward.split(","), l = 0; l < o.length; l++) { + var h = o[l].split("-"); + if (2 == h.length) { + var c = parseInt(h[0]) + , _ = parseInt(h[1]) + , u = game.GameUtility.get_item_view(c); + "" != s && (s += ","), + s += u.name + "x" + _ + } + } + this.label_reward.text = s, + this.btn_getreward.visible = !i.reward_getted, + this.label_alreadyget.visible = i.reward_getted, + game.Tools.setGrayDisable(this.btn_getreward, i.gainable_time > 0 && Date.now() / 1e3 < i.gainable_time), + this.btn_getreward.clickHandler = Laya.Handler.create(this, function() { + game.Tools.setGrayDisable(e.btn_getreward, !0), + app.NetAgent.sendReq2Lobby("Lobby", "gainRankPointReward", { + leaderboard_id: i.activity_id, + activity_id: i.activity_id + }, function(n, a) { + game.Tools.setGrayDisable(e.btn_getreward, !1), + n || a.error ? t.UIMgr.Inst.showNetReqError("gainRankPointReward", n, a) : (i.reward_getted = !0, + e.btn_getreward.visible = !1, + e.label_alreadyget.visible = !0, + t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2211))) + }) + }, null, !1) + } else + this.label_reward.text = game.Tools.strOfLocalization(2780), + this.btn_getreward.visible = !1, + this.label_alreadyget.visible = !1, + i.gainable_time > 0 && Date.now() / 1e3 > i.gainable_time && (i.reward_getted || (app.NetAgent.sendReq2Lobby("Lobby", "gainRankPointReward", { + leaderboard_id: i.activity_id, + activity_id: i.activity_id + }, function(t, e) {}), + i.reward_getted = !0)), + this.btn_getreward.clickHandler = null + } + , + i.prototype.hide = function() { + this.enable = !1; + var t = game.Tools.localUISrc("myres2/treasurehead/duanwu_rank.jpg"); + Laya.loader.clearTextureRes(t) + } + , + i.activity_id = 1010, + i.point = 0, + i.reward_getted = !1, + i.gainable_time = -1, + i + }(t.UI_ActivityBase); + t.UI_Activity_DuanWu_Rank = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(e, i) { + var n = this; + this.me = e, + this.father = i, + this.me.visible = !1, + this.container_info = e.getChildByName("info"), + this.item_icon = this.container_info.getChildByName("item"), + this.item_name = this.container_info.getChildByName("item_name"), + this.item_count = this.container_info.getChildByName("item_count"), + this.btn_exchange = this.container_info.getChildByName("btn_exchange"); + var a = this.container_info.getChildByName("count"); + this.currency_icon = a.getChildByName("icon"), + this.currency_count = a.getChildByName("need_count"), + this.left_count = a.getChildByName("left_count"), + this.btn_icon = this.container_info.getChildByName("btn_icon"), + this.btn_icon.clickHandler = Laya.Handler.create(this, function() { + var e = cfg.activity.exchange.get(n.id); + e && t.UI_ItemDetail.Inst.show(e.reward_id) + }, null, !1), + this.label_getted = this.container_info.getChildByName("getted") + } + return e.prototype.refresh = function() { + var e = this + , i = this.id + , n = cfg.activity.exchange.get(i); + this.container_info.visible = !0, + this.item_count.text = "x" + n.reward_count; + var a = cfg.item_definition.currency.get(n.reward_id); + a && (game.LoadMgr.setImgSkin(this.item_icon, a.icon), + this.item_name.text = a["name_" + GameMgr.client_language]); + var r = cfg.item_definition.item.get(n.reward_id); + r && (game.LoadMgr.setImgSkin(this.item_icon, r.icon), + this.item_name.text = r["name_" + GameMgr.client_language]); + var s = game.GameUtility.get_item_view(n.consume_id); + s && game.LoadMgr.setImgSkin(this.currency_icon, s.icon), + this.currency_count.text = n.consume_count.toString(), + this.item_count.x = this.item_name.textField.textWidth * this.item_name.scaleX + this.item_name.x + 40; + var o = this.count + , l = n.exchange_limit; + o = o >= l ? 0 : l - o, + this.left_count.text = o + "/" + l, + "en" == GameMgr.client_language ? this.left_count.x = this.left_count.parent.width - 143 : this.left_count.x = this.left_count.parent.width - 120, + this.label_getted.visible = !1, + this.btn_exchange.visible = !1, + 0 != o ? (this.left_count.color = "#37b625", + t.UI_Bag.get_item_count(n.consume_id) < n.consume_count ? this.btn_exchange.filters = [new Laya.ColorFilter(t.GRAY_FILTER)] : this.btn_exchange.filters = [], + this.btn_exchange.visible = !0, + this.btn_exchange.clickHandler = Laya.Handler.create(this, function() { + t.UI_Bag.get_item_count(n.consume_id) < n.consume_count ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2230, [s.name])) : (game.Tools.setGrayDisable(e.btn_exchange, !0), + app.NetAgent.sendReq2Lobby("Lobby", "exchangeActivityItem", { + exchange_id: i + }, function(n, a) { + if (i == e.id) + if (game.Tools.setGrayDisable(e.btn_exchange, !1), + n || a.error) + t.UIMgr.Inst.showNetReqError("exchangeActivityItem", n, a); + else { + if (e.count++, + e.father.refreshCurrencyCount(), + Laya.timer.once(500, e, function() { + e.father.refreshCurrencyCount() + }), + t.UI_Activity.onExchanged(i), + r && r.category == t.EItemCategory.fudai) { + if (a.execute_reward) { + for (var s = [], o = 0; o < a.execute_reward.length; o++) + s.push(a.execute_reward[o].reward); + game.Tools.showRewards({ + rewards: s + }, null) + } + } else + t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2231, [e.item_name.text + " " + e.item_count.text])); + e.father.refreshAll() + } + })) + }, null, !1)) : (this.left_count.color = "#e3283c", + this.btn_exchange.clickHandler = null, + this.label_getted.visible = !0, + game.Tools.setGrayDisable(this.btn_exchange, !0)) + } + , + e.prototype.show = function(t) { + this.id = t.exchange_id, + this.count = t.count, + this.refresh(), + this.me.visible = !0 + } + , + e + }() + , i = function(t) { + function i(e, i) { + return t.call(this, e, i) || this + } + return __extends(i, t), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.content = this.root.getChildByName("content"), + this.head = this.content.getChildByName("head"), + this.task_templete = this.content.getChildByName("task_templete"), + this.task_templete.visible = !1, + this.cells = []; + for (var i = 0; i < 30; i++) + this.cells.push(new e(this.task_templete.scriptMap["capsui.UICopy"].getNodeClone(),this)); + this.scrollbar = this.root.getChildByName("scrollbar"), + this.scrollpoint = this.scrollbar.getChildByName("scrollpoint"), + this.content.vScrollBarSkin = "", + this.content.vScrollBar.on("change", this, function() { + t.refresh_scrollbar() + }) + } + , + i.prototype.refreshCurrencyCount = function() {} + , + i.prototype.refreshView = function(t) { + for (var e = this.head.height + 15, i = 0; i < this.cells.length; i++) + i < t.length ? (this.cells[i].show(t[i]), + this.cells[i].me.y = e, + e += this.cells[i].me.height) : this.cells[i].me.visible = !1; + this.total_h = e, + this.content.refresh(), + this.refresh_scrollbar(), + this.refreshCurrencyCount() + } + , + i.prototype.refreshAll = function() { + for (var t = 0; t < this.cells.length; t++) + this.cells[t].me.visible && this.cells[t].refresh() + } + , + i.prototype.refresh_scrollbar = function() { + if (this.total_h > this.content.height) { + var t = this.content.vScrollBar.value / this.content.vScrollBar.max; + this.scrollpoint.height = this.scrollbar.height * this.content.height / this.total_h, + this.scrollpoint.y = t * this.scrollbar.height * (1 - this.content.height / this.total_h), + this.scrollbar.visible = !0 + } else + this.scrollbar.visible = !1 + } + , + i + }(t.UI_ActivityBase); + t.UI_Activity_Exchange = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, cfg.activity.activity.get(i.activity_id)["name_" + GameMgr.client_language], new ui.lobby.activitys.activity_guoqingUI) || this; + return t.btn_hs = [], + t.btn_vs = [], + t.btn_mids = [], + t.ids_mid = {}, + t.ids_h = {}, + t.ids_v = {}, + i.Inst = t, + t + } + return __extends(i, e), + i.Init = function() { + var t = this; + this.count = 0, + this.rewards = {}, + app.NetAgent.sendReq2Lobby("Lobby", "fetchActivityFlipInfo", { + activity_id: this.activity_id + }, function(e, i) { + if (e || i.error) + ; + else if (i.count && (t.count = i.count), + i.rewards) + for (var n = 0; n < i.rewards.length; n++) + t.rewards[i.rewards[n]] = 1 + }) + } + , + i.onTaskDataUpdate = function(t) { + if (t) { + for (var e = t, n = 0; n < e.length; n++) { + var a = e[n]; + this.task_data[a.id.toString()] = a + } + i.Inst && i.Inst.enable && i.Inst.refresh() + } + } + , + i.onRewardGet = function(t) { + var e = cfg.activity.flip_task.get(t); + 5 == e.matrix_x || 5 == e.matrix_y ? this.rewards[t] = 1 : this.task_data[t] && (this.task_data[t].rewarded = !0), + i.Inst && i.Inst.enable && i.Inst.refresh() + } + , + i.rewardState = function(t) { + var e = cfg.activity.flip_task.get(t); + if (5 == e.matrix_x && 5 == e.matrix_y) { + if (this.rewards[t.toString()]) + return 2; + var i = 0; + for (var n in this.task_data) { + if (!this.task_data[n].achieved) + break; + i++ + } + return 25 != i ? 0 : 1 + } + if (5 == e.matrix_x) { + if (this.rewards[t.toString()]) + return 2; + a = 0; + for (var n in this.task_data) + if (this.task_data[n].achieved) { + (r = cfg.activity.flip_task.get(parseInt(n))).matrix_y == e.matrix_y && (a |= 1 << r.matrix_x) + } + return 31 != a ? 0 : 1 + } + if (5 == e.matrix_y) { + if (this.rewards[t.toString()]) + return 2; + var a = 0; + for (var n in this.task_data) + if (this.task_data[n].achieved) { + (r = cfg.activity.flip_task.get(parseInt(n))).matrix_x == e.matrix_x && (a |= 1 << r.matrix_y) + } + return 31 != a ? 0 : 1 + } + var r = this.task_data[t.toString()]; + return r ? r.rewarded ? 2 : r.achieved ? 1 : 0 : 0 + } + , + i.prototype.isopen = function() { + return t.UI_Activity.activity_is_running(i.activity_id) + } + , + i.prototype.haveRedPoint = function() { + return !1 + } + , + i.prototype.need_popout = function() { + var t = cfg.activity.activity.get(i.activity_id); + return !(!t || !t.need_popout) + } + , + i.prototype.onCreate = function() { + var e = this; + cfg.activity.flip_task.forEach(function(t) { + t.activity_id == i.activity_id && (5 == t.matrix_x && 5 == t.matrix_y ? e.id_all = t.id : 5 == t.matrix_x ? e.ids_h[t.matrix_y.toString()] = t.id : 5 == t.matrix_y ? e.ids_v[t.matrix_x.toString()] = t.id : e.ids_mid[(5 * t.matrix_y + t.matrix_x).toString()] = t.id) + }), + this.root = this.me.getChildByName("root"), + this.content = this.root.getChildByName("content"), + this.scrollbar = this.root.getChildByName("scrollbar").scriptMap["capsui.CScrollBar"], + this.content.vScrollBarSkin = "", + this.scrollbar.init(null), + this.content.vScrollBar.on("change", this, function() { + e.scrollbar.setVal(e.content.vScrollBar.value / e.content.vScrollBar.max, e.content.height / e.bg.height) + }), + this.bg = this.content.getChildByName("bg"), + this.label_count_fan = this.content.getChildByName("count_fan"), + this.btn_hs = [], + this.btn_vs = []; + for (var n = function(n) { + a.btn_hs.push(a.content.getChildByName("btn_h" + n)), + a.btn_vs.push(a.content.getChildByName("btn_v" + n)), + a.btn_hs[n].clickHandler = new Laya.Handler(a,function() { + var a = e.ids_h[n.toString()]; + t.UI_Activity_Guoping_Pop.Inst.show(a, i.rewardState(a)) + } + ), + a.btn_vs[n].clickHandler = new Laya.Handler(a,function() { + var a = e.ids_v[n.toString()]; + t.UI_Activity_Guoping_Pop.Inst.show(a, i.rewardState(a)) + } + ) + }, a = this, r = 0; r < 5; r++) + n(r); + this.btn_all = this.content.getChildByName("btn_all"), + this.btn_all.clickHandler = new Laya.Handler(this,function() { + var n = e.id_all; + t.UI_Activity_Guoping_Pop.Inst.show(n, i.rewardState(n)) + } + ), + this.btn_mids = [], + this.container_mid = this.content.getChildByName("container_mid"); + var s = this.container_mid.getChildByName("btn_templete"); + s.visible = !1; + for (var o = function(n) { + for (var a = function(a) { + var r = s.scriptMap["capsui.UICopy"].getNodeClone(); + r.visible = !0, + r.x = 146.5 * a, + r.y = 146.5 * n, + l.btn_mids.push(r), + r.clickHandler = new Laya.Handler(l,function() { + var s = e.ids_mid[(5 * n + a).toString()]; + if (i.task_data[s]) { + var o = 0; + i.task_data[s] && (o = i.task_data[s].counter), + t.UI_Activity_Guoping_Pop.Inst.show(s, i.rewardState(s), o) + } else + i.count <= 0 ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2849)) : t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(2848), Laya.Handler.create(e, function() { + r.mouseEnabled = !1, + app.NetAgent.sendReq2Lobby("Lobby", "receiveActivityFlipTask", { + task_id: s + }, function(n, a) { + r.mouseEnabled = !0, + n || a.error ? t.UIMgr.Inst.showNetReqError("receiveActivityFlipTask", n, a) : (i.count = a.count, + i.task_data[s.toString()] = { + id: s, + counter: 0, + achieved: !1, + rewarded: !1 + }, + e.enable && (e.refresh(), + t.UI_Activity_Guoping_Pop.Inst.show(s, 0, 0))) + }) + })) + } + ); + var o = r.getChildByName("bmask"); + o.alpha = 0, + r.on("mousedown", l, function() { + o.alpha = 0, + Laya.Tween.to(o, { + alpha: .5 + }, 50, null, null, 0, !0, !0) + }), + r.on("mouseup", l, function() { + Laya.Tween.to(o, { + alpha: 0 + }, 50, null, null, 0, !0, !0) + }), + r.on("mouseout", l, function() { + Laya.Tween.to(o, { + alpha: 0 + }, 50, null, null, 0, !0, !0) + }) + }, r = 0; r < 5; r++) + a(r) + }, l = this, r = 0; r < 5; r++) + o(r) + } + , + i.prototype.show = function() { + this.enable = !0, + this.refresh(), + this.content.refresh(), + this.content.vScrollBar.value = 0, + this.content.vScrollBar.stopScroll(), + this.scrollbar.reset(), + this.scrollbar.setVal(0, this.content.height / this.bg.height), + game.LoadMgr.setImgSkin(this.bg, "myres/activity_fanpai/bg.jpg") + } + , + i.prototype.refresh = function() { + this.label_count_fan.text = i.count.toString(), + this.label_count_fan.x = "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? 336 : 320, + this.label_count_fan.y = "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? 430 : 426; + for (var t = 0; t < 5; t++) + for (var e = 0; e < 5; e++) { + var n = 5 * t + e + , a = this.ids_mid[n.toString()] + , r = i.task_data[a.toString()] + , s = (_ = this.btn_mids[n]).getChildByName("task"); + if (_.getChildByName("bmask").alpha = 0, + r) + if (r.rewarded) + _.visible = !1; + else if (r.achieved) + _.skin = game.Tools.localUISrc("myres/activity_fanpai/state2.png"), + s.visible = !1; + else { + _.skin = game.Tools.localUISrc("myres/activity_fanpai/state1.png"), + s.visible = !0; + var o = cfg.activity.flip_task.get(a).base_task_id + , l = cfg.events.base_task.get(o) + , h = r.counter + , c = l.target; + h > c && (h = c), + s.getChildByName("progress").getChildByName("va").scaleX = h / c, + s.getChildByName("count").text = h.toString(), + s.getChildByName("total").text = c.toString() + } + else + _.skin = game.Tools.localUISrc("myres/activity_fanpai/state0.png"), + s.visible = !1 + } + for (d = 0; d < 5; d++) { + var _ = this.btn_hs[d] + , a = this.ids_h[d] + , u = i.rewardState(a); + _.skin = 2 == u ? game.Tools.localUISrc("myres/activity_fanpai/getted0.png") : 1 == u ? game.Tools.localUISrc("myres/activity_fanpai/get0.png") : game.Tools.localUISrc("myres/activity_fanpai/look0.png") + } + for (var d = 0; d < 5; d++) { + var _ = this.btn_vs[d] + , a = this.ids_v[d] + , u = i.rewardState(a); + _.skin = 2 == u ? game.Tools.localUISrc("myres/activity_fanpai/getted0.png") : 1 == u ? game.Tools.localUISrc("myres/activity_fanpai/get0.png") : game.Tools.localUISrc("myres/activity_fanpai/look0.png") + } + var _ = this.btn_all + , a = this.id_all + , u = i.rewardState(a); + _.skin = 2 == u ? game.Tools.localUISrc("myres/activity_fanpai/getted1.png") : 1 == u ? game.Tools.localUISrc("myres/activity_fanpai/get1.png") : game.Tools.localUISrc("myres/activity_fanpai/look1.png") + } + , + i.prototype.hide = function() { + this.enable = !1 + } + , + i.prototype.onDisable = function() { + var t = "res/atlas/"; + "chs" != GameMgr.client_language && (t += GameMgr.client_language + "/"), + Laya.loader.clearTextureRes(t + "myres/activiy_fanpai.atlas"), + this.bg.skin && (Laya.loader.clearTextureRes(this.bg.skin), + game.LoadMgr.clearImgSkin(this.bg)) + } + , + i.Inst = null, + i.activity_id = 1070, + i.rewards = {}, + i.task_data = {}, + i + }(t.UI_ActivityBase); + t.UI_Activity_Fanpai = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.activitys.guoqing_popoutUI) || this; + return t.reward_state = 0, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.title = this.root.getChildByName("title"), + this.container_items = this.root.getChildByName("container_items"), + this.btn_get = this.root.getChildByName("btn_get"), + this.btn_get.clickHandler = new Laya.Handler(this,function() { + if (!e.locking && 1 == e.reward_state) { + e.hide(); + var i = e.task_id; + app.NetAgent.sendReq2Lobby("Lobby", "completeActivityFlipTask", { + task_id: i + }, function(e, n) { + if (e || n.error) + t.UIMgr.Inst.showNetReqError("completeActivityFlipTask", e, n); + else { + for (var a = cfg.activity.flip_task.get(i).reward.split(","), r = [], s = 0; s < a.length; s++) { + var o = a[s].split("-"); + r.push({ + id: parseInt(o[0]), + count: parseInt(o[1]) + }) + } + game.Tools.showRewards({ + rewards: r + }, null), + t.UI_Activity_Fanpai.onRewardGet(i) + } + }) + } + } + ), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_confirm.clickHandler = new Laya.Handler(this,function() { + e.locking || e.hide() + } + ), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + e.locking || e.hide() + } + ), + this.contianer_tasks = this.root.getChildByName("container_task"), + this.label_info = this.root.getChildByName("info") + } + , + i.prototype.show = function(e, i, n) { + var a = this; + void 0 === n && (n = 0), + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + a.locking = !1 + })), + this.task_id = e, + this.reward_state = i; + var r = cfg.activity.flip_task.get(e); + if (5 == r.matrix_x || 5 == r.matrix_y) { + this.contianer_tasks.visible = !1, + this.label_info.visible = !0; + var s = 0; + 5 == r.matrix_x && (s += 1), + 5 == r.matrix_y && (s += 2), + this.label_info.text = game.Tools.strOfLocalization(2851 + s), + this.container_items.y = 210, + this.title.text = game.Tools.strOfLocalization(2847) + } else { + this.contianer_tasks.visible = !0, + this.label_info.visible = !1, + this.container_items.y = 230; + var o = cfg.events.base_task.get(r.base_task_id); + this.contianer_tasks.getChildByName("task").text = o["desc_" + GameMgr.client_language], + n > o.target && (n = o.target), + this.contianer_tasks.getChildByName("progress").text = n.toString() + "/" + o.target.toString(), + this.contianer_tasks.getChildByName("bar").getChildByName("val").scaleX = n / o.target, + this.title.text = game.Tools.strOfLocalization(2846) + } + this.btn_confirm.visible = 1 != i, + this.btn_get.visible = 1 == i; + for (var l = r.reward.split(","), h = [], c = function(e) { + var i = _.container_items.getChildAt(e); + if (e < l.length) { + var n = l[e].split("-") + , a = parseInt(n[0]) + , r = parseInt(n[1]) + , s = i.getChildByName("count"); + s.text = r.toString(), + s.visible = r > 1; + var o = i.getChildByName("btn"); + o.clickHandler = Laya.Handler.create(_, function() { + t.UI_ItemDetail.Inst.show(a) + }, null, !1), + o.getChildByName("getted").visible = 2 == _.reward_state; + var c = game.GameUtility.get_item_view(a); + game.LoadMgr.setImgSkin(o.getChildByName("icon"), c.icon), + i.visible = !0, + i.y = 76, + h.push(30) + } else + i.visible = !1 + }, _ = this, u = 0; u < this.container_items.numChildren; u++) + c(u); + game.Tools.child_align_center(this.container_items, h) + } + , + i.prototype.hide = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Activity_Guoping_Pop = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, game.Tools.strOfLocalization(2232), new ui.lobby.activitys.activity_jiujiUI) || this; + return t.btn_cd = 0, + t + } + return __extends(i, e), + i.Init = function() { + var e = this; + app.NetAgent.sendReq2Lobby("Lobby", "fetchReviveCoinInfo", {}, function(i, n) { + i || n.error ? t.UIMgr.Inst.showNetReqError("fetchReviveCoinInfo", i, n) : e.has_gained = n.has_gained + }), + app.NetAgent.AddListener2Lobby("NotifyReviveCoinUpdate", Laya.Handler.create(this, function(t) { + e.has_gained = t.has_gained, + e.Inst && e.Inst.enable && e.Inst.refresh() + }, null, !1)) + } + , + i.prototype.isopen = function() { + return !0 + } + , + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.title = this.root.getChildByName("title"), + this.desc = this.root.getChildByName("desc"); + var n = this.root.getChildByName("task"); + this.task = { + container: n, + bg: n.getChildByName("bg"), + container_info: n.getChildByName("info"), + item_icon: n.getChildByName("info").getChildByName("item"), + item_count: n.getChildByName("info").getChildByName("item_count"), + item_name: n.getChildByName("info").getChildByName("item_name"), + btn_get: n.getChildByName("info").getChildByName("btn_get"), + getno: n.getChildByName("info").getChildByName("noget"), + alreadyget: n.getChildByName("info").getChildByName("alreadyget") + }, + this.task.btn_get.clickHandler = Laya.Handler.create(this, function() { + e.btn_cd > Laya.timer.currTimer || (e.btn_cd = Laya.timer.currTimer + 1e3, + app.NetAgent.sendReq2Lobby("Lobby", "gainReviveCoin", {}, function(n, a) { + e.btn_cd = 0, + n || a.error ? t.UIMgr.Inst.showNetReqError("gainReviveCoin", n, a) : (e.task.btn_get.visible = !1, + e.task.alreadyget.visible = !0, + i.has_gained = !0) + })) + }, null, !1) + } + , + i.prototype.show = function() { + this.me.visible = !0, + this.btn_cd = 0, + this.refresh() + } + , + i.prototype.hide = function() { + this.me.visible = !1 + } + , + i.prototype.findData = function() { + var t = 0; + return cfg.events.soscoin.forEach(function(e) { + e.level_limit == GameMgr.Inst.account_data.level.id && (t = e.id), + e.level3_limit == GameMgr.Inst.account_data.level3.id && (t = e.id) + }), + t + } + , + i.prototype.refresh = function() { + var t = cfg.events.soscoin.get(this.findData()); + if (t) + if (this.desc.text = t["desc_" + GameMgr.client_language], + t.gold_num < 1) + this.task.bg.skin = game.Tools.localUISrc("myres/lobby/bg_rules_no.png"), + this.task.container_info.visible = !1, + this.task.container.visible = !1; + else { + this.task.container.visible = !0, + this.task.bg.skin = game.Tools.localUISrc("myres/lobby/bg_rules.png"), + this.task.container_info.visible = !0, + this.task.getno.visible = !1, + this.task.btn_get.visible = !1, + this.task.alreadyget.visible = !1, + this.task.item_count.text = t.gold_num.toString(), + i.has_gained ? this.task.alreadyget.visible = !0 : GameMgr.Inst.account_data.gold < t.gold_limit ? this.task.btn_get.visible = !0 : this.task.getno.visible = !0; + var e = cfg.item_definition.currency.get(100002); + this.task.item_icon.skin = game.LoadMgr.getResImageSkin(e.icon), + this.task.item_name.text = e["name_" + GameMgr.client_language] + } + else + this.desc.text = game.Tools.strOfLocalization(2233), + this.task.container_info.visible = !1, + this.task.bg.skin = game.Tools.localUISrc("myres/lobby/bg_rules_no.png"), + this.task.container.visible = !1 + } + , + i.Inst = null, + i.has_gained = !1, + i + }(t.UI_ActivityBase); + t.UI_Activity_Jiuji = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, cfg.activity.activity.get(1004).name, new ui.lobby.activitys.activity_task_newyearUI) || this; + return t.activity_id = 1004, + t.toth = 0, + t + } + return __extends(i, e), + i.prototype.isopen = function() { + return t.UI_Activity.activities[1004] + } + , + i.prototype.need_popout = function() { + var t = cfg.activity.activity.get(1004); + return !(!t || !t.need_popout) + } + , + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.content = this.root.getChildByName("content"), + this.scrollbar = this.root.getChildByName("scrollbar").scriptMap["capsui.CScrollBar"], + this.content.vScrollBarSkin = "", + this.scrollbar.init(null), + this.toth = this.content.getChildByName("fu").y + this.content.getChildByName("fu").height, + this.content.vScrollBar.on("change", this, function() { + t.scrollbar.setVal(t.content.vScrollBar.value / t.content.vScrollBar.max, t.content.height / t.toth) + }) + } + , + i.prototype.show = function() { + this.enable = !0, + this.content.refresh(), + this.content.vScrollBar.value = 0, + this.content.vScrollBar.stopScroll(), + this.scrollbar.reset(), + this.scrollbar.setVal(0, this.content.height / this.toth), + game.LoadMgr.setImgSkin(this.root.getChildByName("content").getChildByName("head"), "myres2/treasurehead/newyear_task.jpg"), + game.LoadMgr.setImgSkin(this.content.getChildByName("denglong").getChildByName("info").getChildByName("item"), game.GameUtility.get_item_view(309003).icon), + game.LoadMgr.setImgSkin(this.content.getChildByName("baozhu").getChildByName("info").getChildByName("item"), game.GameUtility.get_item_view(309004).icon), + game.LoadMgr.setImgSkin(this.content.getChildByName("fu").getChildByName("info").getChildByName("item"), game.GameUtility.get_item_view(309005).icon) + } + , + i.prototype.hide = function() { + this.enable = !1 + } + , + i + }(t.UI_ActivityBase); + t.UI_Activity_NewYear = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, cfg.activity.activity.get(i.activity_id)["name_" + GameMgr.client_language], new ui.lobby.activitys.activity_shaiziUI) || this; + return t.cells = [], + t.location_index = 0, + t.during_anim = !1, + t.shaizi_count = 0, + t + } + return __extends(i, e), + i.init = function(t) { + if (t.richman_data && t.richman_data.length > 0) + for (var e = 0; e < t.richman_data.length; e++) + if (t.richman_data[e].activity_id == i.activity_id) { + this.location = t.richman_data[e].location, + this.finished_count = t.richman_data[e].finished_count; + break + } + } + , + i.prototype.isopen = function() { + return t.UI_Activity.activity_is_running(i.activity_id) + } + , + i.prototype.haveRedPoint = function() { + return !1 + } + , + i.prototype.need_popout = function() { + return !1 + } + , + i.prototype.get_cell_pos = function(t, e) { + return { + x: 60 + 107 * t, + y: 87 + 107 * e + } + } + , + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.label_time = this.root.getChildByName("time"), + this.label_next = this.root.getChildByName("next"), + this.label_next_word = this.root.getChildByName("next_word"), + this.label_lap = this.root.getChildByName("lap"); + var n = this.root.getChildByName("cells"); + this.cell_templete = n.getChildByName("cell_templete"), + this.cell_templete.visible = !1, + this.cells = []; + for (var a = cfg.activity.richman_info.get(i.activity_id).map_id, r = cfg.activity.richman_map.getGroup(a), s = this.cell_templete.scriptMap["capsui.UICopy"], o = 0; o < r.length; o++) + this.cells.push(s.getNodeClone()); + Laya.timer.once(200, this, function() { + for (var t = 0; t < e.cells.length; t++) { + var i = e.cells[t] + , n = e.get_cell_pos(r[t].pos_x, r[t].pos_y); + i.x = n.x, + i.y = n.y; + var a = i.getChildByName("img"); + if (a.skin = "", + 0 == r[t].type) + a.skin = game.Tools.localUISrc("myres/activity_shaizi/cell_begin.png"); + else if (1 == r[t].type) + switch (r[t].bonus_type) { + case 1: + a.skin = game.Tools.localUISrc("myres/activity_shaizi/cell_coin.png"); + break; + case 2: + a.skin = game.Tools.localUISrc("myres/activity_shaizi/cell_liwu.png"); + break; + case 3: + a.skin = game.Tools.localUISrc("myres/activity_shaizi/cell_shaizi.png"); + break; + case 4: + a.skin = game.Tools.localUISrc("myres/activity_shaizi/cell_baoyu.png") + } + else if (2 == r[t].type) { + var s = r[r[t].param].pos_x - r[t].pos_x + , o = r[r[t].param].pos_y - r[t].pos_y; + a.skin = 0 != s ? s > 0 ? game.Tools.localUISrc("myres/activity_shaizi/cell_right.png") : game.Tools.localUISrc("myres/activity_shaizi/cell_left.png") : o > 0 ? game.Tools.localUISrc("myres/activity_shaizi/cell_down.png") : game.Tools.localUISrc("myres/activity_shaizi/cell_up.png") + } else + 3 == r[t].type && (a.skin = game.Tools.localUISrc("myres/activity_shaizi/cell_shaizi.png")) + } + }), + this.btn_shaizi = this.root.getChildByName("btn_shaizi"), + this.btn_shaizi.clickHandler = new Laya.Handler(this,function() { + e.during_anim || t.UI_Bag.get_item_count(i.shaizi_item_id) <= 0 || e.on_click_shaizi() + } + ), + this.img_shaizi = this.btn_shaizi.getChildByName("shaizi"), + this.img_shaizi_start = this.btn_shaizi.getChildByName("word"), + this.root.getChildByName("btn_info").clickHandler = new Laya.Handler(this,function() { + t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(3059)) + } + ), + this.label_count = this.root.getChildByName("count"), + this.chess = this.root.getChildByName("chess") + } + , + i.prototype.show = function() { + this.shaizi_count = t.UI_Bag.get_item_count(i.shaizi_item_id), + this.refresh_btn_shaizi(), + this.enable = !0, + this.chess.x = this.cells[i.location].x, + this.chess.y = this.cells[i.location].y, + this.qizi = game.FrontEffect.Inst.create_ui_effect(this.chess, "scene/touzi_qizi.lh", new Laya.Point(54,54), 1), + this.chess.visible = !0, + this.qizi.effect.root.active = !1, + this.refresh() + } + , + i.prototype.refresh = function() { + this.label_time.text = game.Tools.strOfLocalization(3056); + for (var t = cfg.activity.richman_reward.getGroup(i.activity_id), e = "", n = 0; n < t.length; n++) + t[n].finish_count == i.finished_count + 1 && ("" != e && (e += ","), + e += game.GameUtility.get_item_view(t[n].resource_id).name + "x" + t[n].resource_count); + "" == e ? (this.label_time.y = 14, + this.label_lap.y = 14, + this.label_next_word.visible = !1, + this.label_next.visible = !1) : (this.label_time.y = 2, + this.label_lap.y = 2, + this.label_next_word.visible = !0, + this.label_next.visible = !0, + this.label_next.text = e, + game.Tools.sprite_align_center([this.label_next_word, this.label_next], 470)), + this.label_lap.text = (i.finished_count + 1).toString(), + game.Tools.sprite_align_center([this.label_time, this.label_lap], 470) + } + , + i.prototype.refresh_btn_shaizi = function() { + this.label_count.text = this.shaizi_count.toString(), + this.btn_shaizi.mouseEnabled = this.shaizi_count > 0, + this.img_shaizi_start.visible = !0 + } + , + i.prototype.on_click_shaizi = function() { + var e = this; + this.img_shaizi_start.visible = !1, + this.shaizi_count--, + this.label_count.text = this.shaizi_count.toString(); + var n = null; + this.during_anim = !0, + this.btn_shaizi.mouseEnabled = !1; + Laya.timer.currTimer; + t.UI_Freeze.Inst.Show(), + app.NetAgent.sendReq2Lobby("Lobby", "richmanActivityNextMove", { + activity_id: i.activity_id + }, function(a, r) { + if (a || r.error) + t.UIMgr.Inst.showNetReqError("richmanActivityNextMove", a, r), + e.shaizi_count++, + e.refresh_btn_shaizi(), + e.during_anim = !1, + t.UI_Freeze.Inst.Close(); + else { + n = r; + var s = game.FrontEffect.Inst.create_ui_effect(e.img_shaizi, "scene/touzi_touzi.lh", new Laya.Point(80,80), 1); + e.img_shaizi.skin = "", + Laya.timer.once(1e3, e, function() { + e.img_shaizi.skin = game.Tools.localUISrc("myres/activity_shaizi/shaizi" + n.dice + ".png") + }), + Laya.timer.once(1800, e, function() { + s.destory(), + e.jump(0, n.paths) + }), + i.finished_count = r.finished_count + } + }) + } + , + i.prototype.jump = function(e, n) { + var a = this; + if (e >= n.length) + return this.during_anim = !1, + this.refresh_btn_shaizi(), + void t.UI_Freeze.Inst.Close(); + if (i.location == n[e].location) + if (n[e].rewards && n[e].rewards.length > 0) { + var r = game.FrontEffect.Inst.create_ui_effect(this.chess, "scene/touzi_bang0.lh", new Laya.Point(54,54), 1); + Laya.timer.once(800, this, function() { + for (var t = [], r = 0; r < n[e].rewards.length; r++) + t.push({ + id: n[e].rewards[r].resource_id, + count: n[e].rewards[r].count + }); + game.Tools.showRewards({ + rewards: t + }, Laya.Handler.create(a, function() { + for (var r = 0; r < t.length; r++) + t[r].id == i.shaizi_item_id && (a.shaizi_count += t[r].count); + a.jump(e + 1, n), + a.refresh() + })) + }), + Laya.timer.once(1200, this, function() { + r.destory() + }) + } else if (e + 1 < n.length) { + var s = game.FrontEffect.Inst.create_ui_effect(this.chess, "scene/touzi_bang1.lh", new Laya.Point(54,54), 1); + Laya.timer.once(800, this, function() { + a.jump(e + 1, n) + }), + Laya.timer.once(1200, this, function() { + s.destory() + }) + } else + this.jump(e + 1, n); + else { + var o = (i.location + 1) % this.cells.length; + this.chess.visible = !1, + this.qizi.effect.root.active = !0, + Laya.Tween.to(this.chess, { + x: this.cells[o].x, + y: this.cells[o].y + }, 300, Laya.Ease.strongInOut, Laya.Handler.create(this, function() { + i.location = o, + a.chess.visible = !0, + a.qizi.effect.root.active = !1, + Laya.timer.once(100, a, function() { + a.jump(e, n) + }) + })) + } + } + , + i.prototype.hide = function() { + this.enable = !1, + this.qizi && (this.qizi.destory(), + this.qizi = null) + } + , + i.activity_id = 1060, + i.shaizi_item_id = 309018, + i.location = 0, + i.finished_count = 0, + i + }(t.UI_ActivityBase); + t.UI_Activity_Shaizi = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(e) { + var i = this; + this.id = 0, + this.item_id = 0, + this.me = e, + this.me.visible = !1, + this.container_info = e.getChildByName("info"), + this.plane_task_name = this.container_info.getChildByName("container_taskname"), + this.task_name = this.plane_task_name.getChildByName("taskname"), + this.item_icon = this.container_info.getChildByName("item"), + this.item_name = this.container_info.getChildByName("item_name"), + this.item_count = this.container_info.getChildByName("item_count"), + this.progress_bar = this.container_info.getChildByName("bar").getChildByName("val"), + this.progress_label = this.container_info.getChildByName("progress"), + this.btn_get = this.container_info.getChildByName("btn_get"), + this.flag_getted = this.container_info.getChildByName("alreadyget"), + this.container_info.getChildByName("btn_item").clickHandler = Laya.Handler.create(this, function() { + t.UI_ItemDetail.Inst.show(i.item_id) + }, null, !1) + } + return e.prototype.show = function(e) { + var i = this; + this.me.visible = !0; + var n = e.id; + this.id = n; + var a = cfg.activity.task.get(e.id) + , r = cfg.events.base_task.get(a.base_task_id); + if (this.container_info.visible = !0, + this.btn_get.visible = !1, + this.flag_getted.visible = !1, + e.rewarded ? this.flag_getted.visible = !0 : (this.btn_get.visible = !0, + e.achieved ? (game.Tools.setGrayDisable(this.btn_get, !1), + this.btn_get.clickHandler = Laya.Handler.create(this, function() { + game.Tools.setGrayDisable(i.btn_get, !0), + app.NetAgent.sendReq2Lobby("Lobby", "completeActivityTask", { + task_id: n + }, function(e, a) { + if (game.Tools.setGrayDisable(i.btn_get, !1), + e || a.error) + t.UIMgr.Inst.showNetReqError("completeActivityTask", e, a); + else { + if (i.id == n) { + i.btn_get.visible = !1, + i.flag_getted.visible = !0; + var r = game.Tools.strOfLocalization(2234) + (i.item_name.text + " ") + i.item_count.text; + t.UI_LightTips.Inst.show(r) + } + t.UI_Activity.onTaskRewarded(n) + } + }) + }, null, !1)) : (game.Tools.setGrayDisable(this.btn_get, !0), + this.btn_get.clickHandler = null)), + this.task_name.text = r["desc_" + GameMgr.client_language], + this.task_name.width = this.task_name.textField.textWidth, + this.task_name.x = 0, + this.task_name.width > this.plane_task_name.width) { + var s = this.plane_task_name.width - this.plane_task_name.width + 200 + , o = Laya.timer.currTimer + , l = s / .06; + Laya.timer.clearAll(this), + Laya.timer.frameLoop(1, this, function() { + var t = Laya.timer.currTimer - o; + (t -= Math.floor(t / (2e3 + l + 1e3)) * (2e3 + l + 1e3)) <= 2e3 ? i.task_name.x = 0 : t <= l + 2e3 && (i.task_name.x = -.06 * (t - 2e3)) + }) + } + this.item_id = a.reward_id, + this.item_count.text = "x" + a.reward_count; + var h = cfg.item_definition.currency.get(a.reward_id); + h && (game.LoadMgr.setImgSkin(this.item_icon, h.icon), + this.item_name.text = h["name_" + GameMgr.client_language]); + var c = cfg.item_definition.item.get(a.reward_id); + c && (game.LoadMgr.setImgSkin(this.item_icon, c.icon), + this.item_name.text = c["name_" + GameMgr.client_language]), + this.item_count.x = this.item_name.textField.textWidth + this.item_name.x + 50; + var _ = e.counter; + _ || (_ = 0), + _ > r.target && (_ = r.target), + this.progress_bar.scaleX = _ / r.target, + this.progress_label.text = _.toString() + "/" + r.target.toString() + } + , + e.prototype.stop_roll = function() { + Laya.timer.clearAll(this) + } + , + e + }() + , i = function(t) { + function i(e, i) { + return void 0 === i && (i = "activity_taskUI"), + t.call(this, e, new ui.lobby.activitys[i]) || this + } + return __extends(i, t), + i.prototype.setHead = function(t, e, i) { + this.head_url = t, + this.head_width = e, + this.head_height = i, + this.head_width != this.content.width && (this.head_height *= this.content.width / this.head_width, + this.head_width = this.content.width), + this.head.width = this.head_width, + this.head_height = this.head_height + } + , + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.content = this.root.getChildByName("content"), + this.head = this.content.getChildByName("head"), + this.task_templete = this.content.getChildByName("task_templete"), + this.task_templete.visible = !1, + this.task_cells = []; + for (var i = 0; i < 25; i++) + this.task_cells.push(new e(this.task_templete.scriptMap["capsui.UICopy"].getNodeClone())); + this.scrollbar = this.root.getChildByName("scrollbar"), + this.scrollpoint = this.scrollbar.getChildByName("scrollpoint"), + this.content.vScrollBarSkin = "", + this.content.vScrollBar.on("change", this, function() { + t.refresh_scrollbar() + }) + } + , + i.prototype.refreshView = function(t) { + game.LoadMgr.setImgSkin(this.head, this.head_url); + for (var e = this.head_height + 15, i = 0; i < this.task_cells.length; i++) + i < t.length ? (this.task_cells[i].show(t[i]), + this.task_cells[i].me.y = e, + e += this.task_cells[i].me.height) : this.task_cells[i].me.visible = !1; + this.total_h = e, + this.content.refresh(), + this.refresh_scrollbar() + } + , + i.prototype.refresh_scrollbar = function() { + if (this.total_h > this.content.height) { + var t = this.content.vScrollBar.value / this.content.vScrollBar.max; + this.scrollpoint.height = this.scrollbar.height * this.content.height / this.total_h, + this.scrollpoint.y = t * this.scrollbar.height * (1 - this.content.height / this.total_h), + this.scrollbar.visible = !0 + } else + this.scrollbar.visible = !1 + } + , + i.prototype.onDisable = function() { + for (var t = 0; t < this.task_cells.length; t++) + this.task_cells[t].stop_roll() + } + , + i + }(t.UI_ActivityBase); + t.UI_Activity_Task = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(e) { + var i = this; + this.id = 0, + this.item_id = 0, + this.me = e, + this.me.visible = !1, + this.container_info = e.getChildByName("info"), + this.plane_task_name = this.container_info.getChildByName("container_taskname"), + this.task_name = this.plane_task_name.getChildByName("taskname"), + this.item_icon = this.container_info.getChildByName("item"), + this.item_name = this.container_info.getChildByName("item_name"), + this.item_count = this.container_info.getChildByName("item_count"), + this.progress_bar = this.container_info.getChildByName("bar").getChildByName("val"), + this.progress_label = this.container_info.getChildByName("progress"), + this.btn_get = this.container_info.getChildByName("btn_get"), + this.flag_getted = this.container_info.getChildByName("alreadyget"), + this.container_info.getChildByName("btn_item").clickHandler = Laya.Handler.create(this, function() { + t.UI_ItemDetail.Inst.show(i.item_id) + }, null, !1) + } + return e.prototype.show = function(e) { + var i = this; + this.me.visible = !0; + var n = e.id; + this.id = n; + var a = cfg.activity.period_task.get(e.id) + , r = cfg.events.base_task.get(a.base_task_id); + if (this.container_info.visible = !0, + this.btn_get.visible = !1, + this.flag_getted.visible = !1, + e.rewarded ? this.flag_getted.visible = !0 : (this.btn_get.visible = !0, + e.achieved ? (game.Tools.setGrayDisable(this.btn_get, !1), + this.btn_get.clickHandler = Laya.Handler.create(this, function() { + game.Tools.setGrayDisable(i.btn_get, !0), + app.NetAgent.sendReq2Lobby("Lobby", "completePeriodActivityTask", { + task_id: n + }, function(e, a) { + if (game.Tools.setGrayDisable(i.btn_get, !1), + e || a.error) + t.UIMgr.Inst.showNetReqError("completePeriodActivityTask", e, a); + else { + if (i.id == n) { + i.btn_get.visible = !1, + i.flag_getted.visible = !0; + var r = game.Tools.strOfLocalization(2234) + (i.item_name.text + " ") + i.item_count.text; + t.UI_LightTips.Inst.show(r) + } + t.UI_Activity.onTaskRewarded(n) + } + }) + }, null, !1)) : (game.Tools.setGrayDisable(this.btn_get, !0), + this.btn_get.clickHandler = null)), + this.task_name.text = r["desc_" + GameMgr.client_language], + this.task_name.width = this.task_name.textField.textWidth, + this.task_name.x = 0, + this.task_name.width > this.plane_task_name.width) { + var s = this.plane_task_name.width - this.plane_task_name.width + 200 + , o = Laya.timer.currTimer + , l = s / .06; + Laya.timer.clearAll(this), + Laya.timer.frameLoop(1, this, function() { + var t = Laya.timer.currTimer - o; + (t -= Math.floor(t / (2e3 + l + 1e3)) * (2e3 + l + 1e3)) <= 2e3 ? i.task_name.x = 0 : t <= l + 2e3 && (i.task_name.x = -.06 * (t - 2e3)) + }) + } + var h = 0 + , c = 0 + , _ = a.reward.split("-"); + h = parseInt(_[0]), + c = parseInt(_[1]), + this.item_id = h, + this.item_count.text = "x" + c; + var u = cfg.item_definition.currency.get(h); + u && (game.LoadMgr.setImgSkin(this.item_icon, u.icon), + this.item_name.text = u["name_" + GameMgr.client_language]); + var d = cfg.item_definition.item.get(h); + d && (game.LoadMgr.setImgSkin(this.item_icon, d.icon), + this.item_name.text = d["name_" + GameMgr.client_language]), + this.item_count.x = this.item_name.textField.textWidth + this.item_name.x + 50; + var f = e.counter; + f || (f = 0), + f > r.target && (f = r.target), + this.progress_bar.scaleX = f / r.target, + this.progress_label.text = f.toString() + "/" + r.target.toString() + } + , + e.prototype.stop_roll = function() { + Laya.timer.clearAll(this) + } + , + e + }() + , i = function(t) { + function i(e, i) { + return void 0 === i && (i = "activity_taskUI"), + t.call(this, e, new ui.lobby.activitys[i]) || this + } + return __extends(i, t), + i.prototype.setHead = function(t, e, i) { + this.head_url = t, + this.head_width = e, + this.head_height = i, + this.head_width != this.content.width && (this.head_height *= this.content.width / this.head_width, + this.head_width = this.content.width), + this.head.width = this.head_width, + this.head_height = this.head_height + } + , + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.content = this.root.getChildByName("content"), + this.head = this.content.getChildByName("head"), + this.task_templete = this.content.getChildByName("task_templete"), + this.task_templete.visible = !1, + this.task_cells = []; + for (var i = 0; i < 25; i++) + this.task_cells.push(new e(this.task_templete.scriptMap["capsui.UICopy"].getNodeClone())); + this.scrollbar = this.root.getChildByName("scrollbar"), + this.scrollpoint = this.scrollbar.getChildByName("scrollpoint"), + this.content.vScrollBarSkin = "", + this.content.vScrollBar.on("change", this, function() { + t.refresh_scrollbar() + }) + } + , + i.prototype.refreshView = function(t) { + game.LoadMgr.setImgSkin(this.head, this.head_url); + for (var e = this.head_height + 15, i = 0; i < this.task_cells.length; i++) + i < t.length ? (this.task_cells[i].show(t[i]), + this.task_cells[i].me.y = e, + e += this.task_cells[i].me.height) : this.task_cells[i].me.visible = !1; + this.total_h = e, + this.content.refresh(), + this.refresh_scrollbar() + } + , + i.prototype.refresh_scrollbar = function() { + if (this.total_h > this.content.height) { + var t = this.content.vScrollBar.value / this.content.vScrollBar.max; + this.scrollpoint.height = this.scrollbar.height * this.content.height / this.total_h, + this.scrollpoint.y = t * this.scrollbar.height * (1 - this.content.height / this.total_h), + this.scrollbar.visible = !0 + } else + this.scrollbar.visible = !1 + } + , + i.prototype.onDisable = function() { + for (var t = 0; t < this.task_cells.length; t++) + this.task_cells[t].stop_roll() + } + , + i + }(t.UI_ActivityBase); + t.UI_Activity_Task_Period = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(e) { + var i = this; + this.id = 0, + this.item_id = 0, + this.me = e, + this.me.visible = !1, + this.container_info = e.getChildByName("info"), + this.plane_task_name = this.container_info.getChildByName("container_taskname"), + this.task_name = this.plane_task_name.getChildByName("taskname"), + this.item_icon = this.container_info.getChildByName("item"), + this.item_name = this.container_info.getChildByName("item_name"), + this.item_count = this.container_info.getChildByName("item_count"), + this.progress_bar = this.container_info.getChildByName("bar").getChildByName("val"), + this.progress_label = this.container_info.getChildByName("progress"), + this.btn_get = this.container_info.getChildByName("btn_get"), + this.flag_getted = this.container_info.getChildByName("alreadyget"), + this.container_info.getChildByName("btn_item").clickHandler = Laya.Handler.create(this, function() { + t.UI_ItemDetail.Inst.show(i.item_id) + }, null, !1) + } + return e.prototype.show = function(e) { + var n = this; + this.me.visible = !0; + var a = e.id; + this.id = a; + var r = i.FindTaskInfo(a) + , s = cfg.events.base_task.get(r.base_task_id); + if (this.container_info.visible = !0, + this.btn_get.visible = !1, + this.flag_getted.visible = !1, + e.rewarded ? this.flag_getted.visible = !0 : (this.btn_get.visible = !0, + e.achieved ? (game.Tools.setGrayDisable(this.btn_get, !1), + this.btn_get.clickHandler = Laya.Handler.create(this, function() { + game.Tools.setGrayDisable(n.btn_get, !0), + app.NetAgent.sendReq2Lobby("Lobby", "completeRandomActivityTask", { + task_id: a + }, function(e, i) { + if (game.Tools.setGrayDisable(n.btn_get, !1), + e || i.error) + t.UIMgr.Inst.showNetReqError("completeRandomActivityTask", e, i); + else { + if (n.id == a) { + n.btn_get.visible = !1, + n.flag_getted.visible = !0; + var r = game.Tools.strOfLocalization(2234) + (n.item_name.text + " ") + n.item_count.text; + t.UI_LightTips.Inst.show(r) + } + t.UI_Activity.onTaskRewarded(a) + } + }) + }, null, !1)) : (game.Tools.setGrayDisable(this.btn_get, !0), + this.btn_get.clickHandler = null)), + this.task_name.text = s["desc_" + GameMgr.client_language], + this.task_name.width = this.task_name.textField.textWidth, + this.task_name.x = 0, + this.task_name.width > this.plane_task_name.width) { + var o = this.plane_task_name.width - this.plane_task_name.width + 200 + , l = Laya.timer.currTimer + , h = o / .06; + Laya.timer.clearAll(this), + Laya.timer.frameLoop(1, this, function() { + var t = Laya.timer.currTimer - l; + (t -= Math.floor(t / (2e3 + h + 1e3)) * (2e3 + h + 1e3)) <= 2e3 ? n.task_name.x = 0 : t <= h + 2e3 && (n.task_name.x = -.06 * (t - 2e3)) + }) + } + this.item_id = r.reward_id, + this.item_count.text = "x" + r.reward_count; + var c = cfg.item_definition.currency.get(r.reward_id); + c && (game.LoadMgr.setImgSkin(this.item_icon, c.icon), + this.item_name.text = c["name_" + GameMgr.client_language]); + var _ = cfg.item_definition.item.get(r.reward_id); + _ && (game.LoadMgr.setImgSkin(this.item_icon, _.icon), + this.item_name.text = _["name_" + GameMgr.client_language]), + this.item_count.x = this.item_name.textField.textWidth + this.item_name.x + 50; + var u = e.counter; + u || (u = 0), + u > s.target && (u = s.target), + this.progress_bar.scaleX = u / s.target, + this.progress_label.text = u.toString() + "/" + s.target.toString() + } + , + e.prototype.stop_roll = function() { + Laya.timer.clearAll(this) + } + , + e + }() + , i = function(t) { + function i(e, i) { + return void 0 === i && (i = "activity_taskUI"), + t.call(this, e, new ui.lobby.activitys[i]) || this + } + return __extends(i, t), + i.FindTaskInfo = function(t) { + var e = this; + return this._task_infos || (this._task_infos = {}, + cfg.activity.random_task_pool.forEach(function(t) { + e._task_infos[t.task_id] = t + })), + this._task_infos[t] + } + , + i.prototype.setHead = function(t, e, i) { + this.head_url = t, + this.head_width = e, + this.head_height = i, + this.head_width != this.content.width && (this.head_height *= this.content.width / this.head_width, + this.head_width = this.content.width), + this.head.width = this.head_width, + this.head_height = this.head_height + } + , + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.content = this.root.getChildByName("content"), + this.head = this.content.getChildByName("head"), + this.task_templete = this.content.getChildByName("task_templete"), + this.task_templete.visible = !1, + this.task_cells = []; + for (var i = 0; i < 25; i++) + this.task_cells.push(new e(this.task_templete.scriptMap["capsui.UICopy"].getNodeClone())); + this.scrollbar = this.root.getChildByName("scrollbar"), + this.scrollpoint = this.scrollbar.getChildByName("scrollpoint"), + this.content.vScrollBarSkin = "", + this.content.vScrollBar.on("change", this, function() { + t.refresh_scrollbar() + }) + } + , + i.prototype.refreshView = function(t) { + game.LoadMgr.setImgSkin(this.head, this.head_url); + for (var e = this.head_height + 15, i = 0; i < this.task_cells.length; i++) + i < t.length ? (this.task_cells[i].show(t[i]), + this.task_cells[i].me.y = e, + e += this.task_cells[i].me.height) : this.task_cells[i].me.visible = !1; + this.total_h = e, + this.content.refresh(), + this.refresh_scrollbar() + } + , + i.prototype.refresh_scrollbar = function() { + if (this.total_h > this.content.height) { + var t = this.content.vScrollBar.value / this.content.vScrollBar.max; + this.scrollpoint.height = this.scrollbar.height * this.content.height / this.total_h, + this.scrollpoint.y = t * this.scrollbar.height * (1 - this.content.height / this.total_h), + this.scrollbar.visible = !0 + } else + this.scrollbar.visible = !1 + } + , + i.prototype.onDisable = function() { + for (var t = 0; t < this.task_cells.length; t++) + this.task_cells[t].stop_roll() + } + , + i._task_infos = null, + i + }(t.UI_ActivityBase); + t.UI_Activity_Task_Random = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = cfg.activity.activity.get(i.activity_id); + return e.call(this, t["name_" + GameMgr.client_language], new ui.lobby.activitys.activity_wanxianggengxinUI) || this + } + return __extends(i, e), + Object.defineProperty(i, "activity_id", { + get: function() { + return 1078 + }, + enumerable: !0, + configurable: !0 + }), + i.prototype.onCreate = function() { + this.btn = this.me.getChildByName("btn_get"), + this.btn_info = this.btn.getChildByName("info") + } + , + i.prototype.isopen = function() { + return t.UI_Activity.activities[i.activity_id] + } + , + i.prototype.haveRedPoint = function() { + var e = t.UI_Activity.getPeriodTaskList(i.activity_id); + if (e) + for (var n = 0; n < e.length; n++) + if (!e[n].rewarded && e[n].achieved) + return !0; + return !1 + } + , + i.prototype.need_popout = function() { + var t = cfg.activity.activity.get(i.activity_id); + return !(!t || !t.need_popout) + } + , + i.prototype.show = function() { + var e = this; + this.enable = !0; + var n = t.UI_Activity.getPeriodTaskList(i.activity_id); + if (this.btn.visible = !1, + n && !(n.length <= 0)) { + var a = n[0]; + if (1078001 == a.id) { + var r = cfg.activity.period_task.get(a.id); + cfg.events.base_task.get(r.base_task_id); + this.btn.visible = !0, + a.rewarded ? (this.btn.mouseEnabled = !1, + this.btn.skin = game.Tools.localUISrc("myres/wanxianggengxin/btn_gray.png"), + this.btn_info.text = game.Tools.strOfLocalization(2385), + this.btn_info.color = "#565150") : a.achieved ? (this.btn.mouseEnabled = !0, + this.btn.skin = game.Tools.localUISrc("myres/wanxianggengxin/btn.png"), + this.btn_info.text = game.Tools.strOfLocalization(2379), + this.btn_info.color = "#565150", + this.btn.clickHandler = Laya.Handler.create(this, function() { + e.btn.mouseEnabled = !1, + app.NetAgent.sendReq2Lobby("Lobby", "completePeriodActivityTask", { + task_id: a.id + }, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("completePeriodActivityTask", i, n), + e.btn.mouseEnabled = !0; + else { + e.btn.mouseEnabled = !1, + e.btn.skin = game.Tools.localUISrc("myres/wanxianggengxin/btn_gray.png"), + e.btn_info.text = game.Tools.strOfLocalization(2385), + e.btn_info.color = "#565150", + t.UI_Activity.onTaskRewarded(a.id); + var s = 0 + , o = 0 + , l = r.reward.split("-"); + s = parseInt(l[0]), + o = parseInt(l[1]), + game.Tools.showRewards({ + rewards: [{ + id: s, + count: o + }] + }, null) + } + }) + }, null, !1)) : (this.btn.mouseEnabled = !1, + this.btn.skin = game.Tools.localUISrc("myres/wanxianggengxin/btn_gray.png"), + this.btn_info.text = game.Tools.strOfLocalization(2379), + this.btn_info.color = "#565150") + } + } + } + , + i.prototype.hide = function() { + this.enable = !1 + } + , + i + }(t.UI_ActivityBase); + t.UI_Activity_Wanxianggengxin = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + return e.call(this, cfg.activity.activity.get(i.activity_id)["name_" + GameMgr.client_language], new ui.lobby.activitys.activity_wuyi_exchangeUI) || this + } + return __extends(i, e), + i.prototype.isopen = function() { + return t.UI_Activity.activities[i.activity_id] + } + , + i.prototype.onCreate = function() { + e.prototype.onCreate.call(this), + this.label_count_tool = this.head.getChildByName("count0"), + this.label_count_glasses = this.head.getChildByName("count1") + } + , + i.prototype.refreshCurrencyCount = function() { + this.label_count_tool.text = t.UI_Bag.get_item_count(309017).toString(), + this.label_count_glasses.text = t.UI_Bag.get_item_count(309016).toString() + } + , + i.prototype.show = function() { + this.enable = !0, + game.LoadMgr.setImgSkin(this.head, "myres2/treasurehead/banner_2020yuandan_shop.jpg"), + this.refreshView(t.UI_Activity.getExchangeList(i.activity_id)) + } + , + i.prototype.hide = function() { + this.enable = !1 + } + , + i.activity_id = 1032, + i + }(t.UI_Activity_Exchange); + t.UI_Activity_Wuyi_Reward = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + return e.call(this, cfg.activity.activity.get(i.activity_id)["name_" + GameMgr.client_language]) || this + } + return __extends(i, e), + i.prototype.onCreate = function() { + e.prototype.onCreate.call(this), + this.setHead("myres2/treasurehead/2020tachun.jpg", 974, 326) + } + , + i.prototype.isopen = function() { + return t.UI_Activity.activities[i.activity_id] + } + , + i.prototype.haveRedPoint = function() { + var e = t.UI_Activity.getTaskList(i.activity_id); + if (e) + for (var n = 0; n < e.length; n++) + if (!e[n].rewarded && e[n].achieved) + return !0; + return !1 + } + , + i.prototype.need_popout = function() { + var t = cfg.activity.activity.get(i.activity_id); + return !(!t || !t.need_popout) + } + , + i.prototype.show = function() { + this.enable = !0, + this.refreshView(t.UI_Activity.getTaskList(i.activity_id)) + } + , + i.prototype.hide = function() { + this.enable = !1 + } + , + i.activity_id = 1065, + i + }(t.UI_Activity_Task); + t.UI_Activity_Wuyi_Task = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + return e.call(this, cfg.activity.activity.get(i.activity_id)["name_" + GameMgr.client_language]) || this + } + return __extends(i, e), + i.prototype.onCreate = function() { + e.prototype.onCreate.call(this), + this.setHead("myres2/treasurehead/yijidagong_reward.jpg", 974, 326) + } + , + i.prototype.isopen = function() { + return t.UI_Activity.activities[i.activity_id] + } + , + i.prototype.haveRedPoint = function() { + var e = t.UI_Activity.getPeriodTaskList(i.activity_id); + if (e) + for (var n = 0; n < e.length; n++) + if (!e[n].rewarded && e[n].achieved) + return !0; + return !1 + } + , + i.prototype.need_popout = function() { + var t = cfg.activity.activity.get(i.activity_id); + return !(!t || !t.need_popout) + } + , + i.prototype.show = function() { + this.enable = !0, + this.refreshView(t.UI_Activity.getPeriodTaskList(i.activity_id)) + } + , + i.prototype.hide = function() { + this.enable = !1 + } + , + i.activity_id = 1075, + i + }(t.UI_Activity_Task_Period); + t.UI_Activity_Wuyi_Task_Period = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + return e.call(this, cfg.activity.activity.get(i.activity_id)["name_" + GameMgr.client_language]) || this + } + return __extends(i, e), + i.prototype.onCreate = function() { + e.prototype.onCreate.call(this), + this.setHead("myres2/treasurehead/yijidagong_task.jpg", 974, 326) + } + , + i.prototype.isopen = function() { + return t.UI_Activity.activities[i.activity_id] + } + , + i.prototype.haveRedPoint = function() { + var e = t.UI_Activity.getRandomTaskList(i.activity_id); + if (e) + for (var n = 0; n < e.length; n++) + if (!e[n].rewarded && e[n].achieved) + return !0; + return !1 + } + , + i.prototype.need_popout = function() { + var t = cfg.activity.activity.get(i.activity_id); + return !(!t || !t.need_popout) + } + , + i.prototype.show = function() { + this.enable = !0, + this.refreshView(t.UI_Activity.getRandomTaskList(i.activity_id)) + } + , + i.prototype.hide = function() { + this.enable = !1 + } + , + i.activity_id = 1074, + i + }(t.UI_Activity_Task_Random); + t.UI_Activity_Wuyi_Task_Random = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, game.Tools.strOfLocalization(2235), new ui.lobby.activitys.activity_xuanshangUI) || this; + return t.btn_cd = 0, + t + } + return __extends(i, e), + i.Init = function() { + var e = this; + app.NetAgent.sendReq2Lobby("Lobby", "fetchDailyTask", {}, function(i, n) { + i || n.error ? t.UIMgr.Inst.showNetReqError("fetchDailyTask", i, n) : (e.refresh_count = n.refresh_count, + e.datas = n.progresses, + e.max_daily_task_count = n.max_daily_task_count) + }), + app.NetAgent.AddListener2Lobby("NotifyDailyTaskUpdate", Laya.Handler.create(this, function(t) { + e.refresh_count = t.refresh_count, + e.datas = t.progresses, + e.max_daily_task_count = t.max_daily_task_count, + e.Inst && e.Inst.enable && e.Inst.refresh() + }, null, !1)) + } + , + i.dataUpdate = function(t) { + for (var e = 0; e < t.progresses.length; e++) + for (var i = t.progresses[e], n = 0; n < this.datas.length; n++) + if (!this.datas[n].achieved && this.datas[n].id == i.id) { + null != i.achieved && void 0 != i.achieved && (this.datas[n].achieved = i.achieved), + null != i.counter && void 0 != i.counter && (this.datas[n].counter = i.counter); + break + } + } + , + i.prototype.isopen = function() { + return !0 + } + , + i.prototype.onCreate = function() { + this.root = this.me.getChildByName("root"), + this.timerefresh = this.root.getChildByName("nochange"), + this.scrollview = this.root.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_item)), + this.scrollview.reset() + } + , + i.prototype.show = function() { + this.enable = !0, + this.btn_cd = 0, + this.refresh() + } + , + i.prototype.getLocalTime = function() { + var t = (new Date).getTime(); + return t = Math.ceil(t / 1e3), + t += 10800, + t %= 86400, + (t = 86400 - t) < 3600 ? (t = Math.ceil(t / 60), + game.Tools.strOfLocalization(2674, [t.toString()]) + game.Tools.strOfLocalization(2748)) : (t = Math.ceil(t / 3600), + game.Tools.strOfLocalization(2674, [t.toString()]) + game.Tools.strOfLocalization(2747)) + } + , + i.prototype.hide = function() { + this.enable = !1 + } + , + i.prototype.refresh = function() { + this.timerefresh.text = this.getLocalTime(), + this.scrollview.reset(); + var t = i.max_daily_task_count; + t < i.datas.length && (t = i.datas.length), + this.scrollview.addItem(t) + } + , + i.prototype.render_item = function(e) { + var n = this + , a = e.index + , r = e.container + , s = r.getChildByName("bg") + , o = r.getChildByName("info") + , l = r.getChildByName("info").getChildByName("item") + , h = r.getChildByName("info").getChildByName("item_name") + , c = r.getChildByName("info").getChildByName("item_count") + , _ = r.getChildByName("info").getChildByName("requirement") + , u = r.getChildByName("info").getChildByName("bar").getChildByName("val") + , d = r.getChildByName("info").getChildByName("progress") + , f = r.getChildByName("info").getChildByName("btn_change"); + if (a < i.datas.length) { + var p = i.datas[a] + , m = cfg.events.dailyevent.get(p.id); + if (p.achieved || !m) + o.visible = !1, + s.skin = game.Tools.localUISrc("myres/lobby/bg_rules_no.png"); + else { + o.visible = !0, + s.skin = game.Tools.localUISrc("myres/lobby/bg_rules.png"), + f.visible = i.refresh_count > 0, + _.text = m["desc_" + GameMgr.client_language], + c.text = "×" + m.reward_num.toString(), + c.parent.getChildAt(6).visible = !1; + var g = cfg.item_definition.currency.get(m.reward_type); + g && (l.skin = game.LoadMgr.getResImageSkin(g.icon), + h.text = g["name_" + GameMgr.client_language]); + var y = cfg.item_definition.item.get(m.reward_type); + y && (l.skin = game.LoadMgr.getResImageSkin(y.icon), + h.text = y["name_" + GameMgr.client_language]), + u.scaleX = p.counter / m.target, + d.text = p.counter.toString() + "/" + m.target.toString(), + f.clickHandler = Laya.Handler.create(this, function() { + n.btn_cd > Laya.timer.currTimer || (n.btn_cd = 1e3 + Laya.timer.currTimer, + app.NetAgent.sendReq2Lobby("Lobby", "refreshDailyTask", { + task_id: p.id + }, function(e, r) { + if (n.btn_cd = 0, + e || r.error) + t.UIMgr.Inst.showNetReqError("refreshDailyTask", e, r); + else { + i.refresh_count = r.refresh_count, + i.datas[a] = r.progress; + for (var s = [], o = 0; o < i.datas.length; o++) + i.datas[o].achieved || s.push(i.datas[o]); + i.datas = s, + n.scrollview.wantToRefreshAll() + } + })) + }, null, !1) + } + } else + o.visible = !1, + s.skin = game.Tools.localUISrc("myres/lobby/bg_rules_no.png") + } + , + i.refresh_count = 0, + i.datas = [], + i.max_daily_task_count = 0, + i + }(t.UI_ActivityBase); + t.UI_Activity_Xuanshang = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t) { + var e = this; + this.me = t, + this.me.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close(0) + } + ); + for (var i = function(t) { + n.me.getChildByName("d" + (t + 1)).clickHandler = new Laya.Handler(n,function() { + e.locking || e.close(t + 1) + } + ) + }, n = this, a = 0; a < 6; a++) + i(a) + } + return e.prototype.show = function(e) { + var i = this; + this.me.visible = !0, + this.locking = !0, + this.complete = e, + t.UIBase.anim_pop_out(this.me, Laya.Handler.create(this, function() { + i.locking = !1 + })), + s.Inst.black_mask.show() + } + , + e.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.me, Laya.Handler.create(this, function() { + i.me.visible = !1, + i.locking = !1, + i.complete && i.complete.runWith(e) + })), + s.Inst.black_mask.close() + } + , + e + }() + , i = function() { + function t(t) { + this.me = t + } + return t.prototype.show = function() { + this.me.visible = !0, + this.me.alpha = 0, + Laya.Tween.to(this.me, { + alpha: .5 + }, 150) + } + , + t.prototype.close = function() { + var t = this; + Laya.Tween.to(this.me, { + alpha: 0 + }, 150, null, Laya.Handler.create(this, function() { + t.me.visible = !1 + })) + } + , + t + }() + , n = function() { + function e(t) { + this.state = 0, + this.me = t, + this.table = this.me.getChildByName("table") + } + return e.prototype.show = function(e, i) { + var n = this; + this.target_rotation = e, + this.complete = i, + this.locking = !0, + this.me.visible = !0, + this.state = 0, + t.UI_Overall.Inst.show(Laya.Handler.create(this, function() { + n.locking || (0 == n.state ? n.runAnim() : 2 == n.state && n.close()) + }, null, !1)), + s.Inst.black_mask.show(), + t.UIBase.anim_pop_out(this.me, Laya.Handler.create(this, function() { + n.locking = !1 + })), + this.table.rotation = 0 + } + , + e.prototype.runAnim = function() { + var t = this; + this.state = 1; + var e = 2520 + this.target_rotation + , i = 2 * e / 6 + , n = Laya.timer.currTimer; + Laya.timer.frameLoop(1, this, function() { + var a = (Laya.timer.currTimer - n) / 1e3 + , r = 0; + a < 1 ? r = .5 * a * a * i : a < 6 ? r = e - (6 - a) / 5 * i * (6 - a) / 2 : (t.state = 2, + Laya.timer.clearAll(t), + r = e), + t.table.rotation = r + }) + } + , + e.prototype.close = function() { + var e = this; + this.locking = !0, + s.Inst.black_mask.close(), + t.UIBase.anim_pop_hide(this.me, Laya.Handler.create(this, function() { + e.me.visible = !1, + e.locking = !1, + t.UI_Overall.Inst.close(), + e.complete && e.complete.run() + })) + } + , + e + }() + , a = function() { + function e(e) { + var i = this; + this.me = e, + this.root = this.me.getChildByName("root"), + this.label_count = this.root.getChildByName("count"), + this.label_info = this.root.getChildByName("info"), + this.item = new t.UI_Item_Skin(this.root.getChildByName("item").getChildByName("icon")), + this.me.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + i.locking || i.close() + } + ) + } + return e.prototype.show = function(e, i, n, a) { + var r = this + , o = game.GameUtility.get_item_view(e); + this.item.setSkin(o.icon), + this.label_count.text = o.name + "x" + i, + this.label_info.text = n, + this.locking = !0, + this.me.visible = !0, + this.complete = a, + s.Inst.black_mask.show(), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + r.locking = !1 + })); + var l = this.label_info.textField.textHeight; + this.root.height = 220 + l + } + , + e.prototype.close = function() { + var e = this; + this.locking = !0, + s.Inst.black_mask.close(), + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1, + e.complete && e.complete.run() + })) + } + , + e + }() + , r = function() { + function e(e) { + var i = this; + this.origin_pos = new Laya.Vector2(484,159), + this.dir_x = new Laya.Vector2(66.5,38.5), + this.dir_y = new Laya.Vector2(-66.5,38.5), + this.id_dice_normal = 309022, + this.id_dice_red = 309023, + this.qizi_effect_offset = new Laya.Point(-3,7), + this.run_id = 0, + this.locking = !1, + this.location = 0, + this._effects = [], + this._jump_yiji = null, + this.exp = 0, + this.bank_save = 0, + this.buff = null, + this.me = e, + this.label_turn_count = this.me.getChildByName("turn_count"), + this.label_turn_count.x = "en" == GameMgr.client_language ? 580 : "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? 550 : 535, + this.exp_bar = this.me.getChildByName("exp").getChildByName("val").mask, + this.img_title = this.me.getChildByName("title"), + this.btn_dice_normal = this.me.getChildByName("btn_normal"), + this.btn_dice_normal.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + i.btn_dice_normal.mouseEnabled = !1, + i.btn_dice_red.mouseEnabled = !1; + var e = t.UI_Bag.get_item_count(i.id_dice_normal); + app.NetAgent.sendReq2Lobby("Lobby", "richmanActivityNextMove", { + activity_id: s.activity_id + }, function(n, a) { + n || a.error ? (t.UIMgr.Inst.showNetReqError("richmanActivityNextMove", n, a), + i.btn_dice_normal.mouseEnabled = !0, + i.btn_dice_red.mouseEnabled = !0) : (i.label_dice_normal.text = (e - 1).toString(), + i.onMove(!1, a)) + }) + } + } + ), + this.img_dice_normal = this.btn_dice_normal.getChildByName("img"), + this.label_dice_normal = this.me.getChildByName("count_normal"), + this.btn_dice_red = this.me.getChildByName("btn_red"), + this.btn_dice_red.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + i.btn_dice_normal.mouseEnabled = !1, + i.btn_dice_red.mouseEnabled = !1; + var e = t.UI_Bag.get_item_count(i.id_dice_red); + s.Inst.page_dice_red.show(Laya.Handler.create(i, function(n) { + n ? app.NetAgent.sendReq2Lobby("Lobby", "richmanAcitivitySpecialMove", { + activity_id: s.activity_id, + step: n + }, function(n, a) { + n || a.error ? (t.UIMgr.Inst.showNetReqError("richmanAcitivitySpecialMove", n, a), + i.btn_dice_normal.mouseEnabled = !0, + i.btn_dice_red.mouseEnabled = !0) : (i.label_dice_red.text = (e - 1).toString(), + i.onMove(!0, a)) + }) : (i.btn_dice_normal.mouseEnabled = !0, + i.btn_dice_red.mouseEnabled = !0) + })) + } + } + ), + this.img_dice_red = this.btn_dice_red.getChildByName("img"), + this.label_dice_red = this.me.getChildByName("count_red"), + this.container_cells = this.me.getChildByName("cells"), + this.build_map(), + this.label_bank_money = this.me.getChildByName("bank").getChildByName("val"), + this.sp_box = this.me.getChildByName("box"), + this.chess = this.me.getChildByName("chess"), + this.label_coin_buff_val = this.me.getChildByName("coin_buff_val"), + this.label_coin_buff_word = this.me.getChildByName("coin_buff"), + this.label_coin_buff_val.x = this.label_coin_buff_word.x + this.label_coin_buff_word.textField.textWidth + 10, + this.btn_buff = this.me.getChildByName("btn_buff"), + this.img_buff = this.btn_buff.getChildByName("img"), + this.btn_buff.clickHandler = new Laya.Handler(this,function() { + i.btn_buff_info.visible = !i.btn_buff_info.visible + } + ), + this.btn_buff_info = this.me.getChildByName("btn_buff_info"), + this.buff_info = this.btn_buff_info.getChildByName("info"), + this.btn_buff_info.clickHandler = new Laya.Handler(this,function() { + i.btn_buff_info.visible = !i.btn_buff_info.visible + } + ), + this.level_data = cfg.activity.richman_level.getGroup(s.activity_id), + this.contianer_buff_fly = this.chess.getChildByName("buff"), + this.me.getChildByName("btn_info").clickHandler = new Laya.Handler(this,function() { + i.locking || t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(3059)) + } + ) + } + return e.prototype.get_cell_position = function(t, e) { + var i = new Laya.Vector2; + return i.x = this.origin_pos.x + this.dir_x.x * t + this.dir_y.x * e, + i.y = this.origin_pos.y + this.dir_x.y * t + this.dir_y.y * e, + i + } + , + e.prototype.set_position = function(t, e, i) { + t.x = this.origin_pos.x + this.dir_x.x * e + this.dir_y.x * i, + t.y = this.origin_pos.y + this.dir_x.y * e + this.dir_y.y * i + } + , + e.prototype.build_map = function() { + var t = this + , e = this.container_cells.getChildByName("templete"); + e.visible = !1, + this.map_data = cfg.activity.richman_map.getGroup(107301); + for (var i = [], n = 0; n < this.map_data.length; n++) { + var a = e.scriptMap["capsui.UICopy"].getNodeClone(); + i.push(a) + } + Laya.timer.frameOnce(5, this, function() { + for (var e = 0; e < t.map_data.length; e++) { + var n = i[e] + , a = t.map_data[e]; + if (t.set_position(n, a.pos_x, a.pos_y), + n.skin = game.Tools.localUISrc("myres/activity_yijidagong/cell_" + a.bonus_type + ".png"), + 6 == a.bonus_type) { + var r = t.me.getChildByName("bank"); + r.x = n.x, + r.y = n.y + } + } + }) + } + , + e.prototype.calcu_exp = function(t) { + for (var e = 1; e < this.level_data.length; e++) + if (t < this.level_data[e].exp) + return { + level: e - 1, + rate: (t - this.level_data[e - 1].exp) / (this.level_data[e].exp - this.level_data[e - 1].exp) + }; + return { + level: this.level_data.length - 1, + rate: 1 + } + } + , + e.prototype.onShow = function() { + this.locking = !1, + this.run_id++; + var e = s.richman_data; + if (e) { + this.location = e.location, + this.set_position(this.chess, this.map_data[this.location].pos_x, this.map_data[this.location].pos_y), + this.set_position(this.sp_box, this.map_data[e.chest_position].pos_x, this.map_data[e.chest_position].pos_y), + this.sp_box.visible = !0, + this.chess.visible = !0, + this.btn_buff_info.visible = !1, + this.btn_buff.visible = !1, + this.btn_dice_normal.mouseEnabled = !0, + this.img_dice_normal.visible = !0, + this.btn_dice_red.mouseEnabled = !0, + this.img_dice_red.visible = !0, + this.exp = e.exp; + var i = this.calcu_exp(this.exp); + if (this.exp_bar.scaleX = i.rate, + this.img_title.skin = game.Tools.localUISrc("myres/activity_yijidagong/title" + i.level + ".png"), + this.label_coin_buff_val.text = "+" + this.level_data[i.level].buff + "%", + this.bank_save = e.bank_save, + this.label_bank_money.text = e.bank_save.toString(), + this.contianer_buff_fly.visible = !1, + this.label_turn_count.text = e.finished_count.toString(), + this.label_dice_normal.text = t.UI_Bag.get_item_count(this.id_dice_normal).toString(), + this.label_dice_red.text = t.UI_Bag.get_item_count(this.id_dice_red).toString(), + e.buff && e.buff.length > 0) { + var n = e.buff[0]; + 1 == n.type ? 200 == n.effect ? (this.buff_info.text = game.Tools.strOfLocalization(3061), + this.img_buff.skin = game.Tools.localUISrc("myres/activity_yijidagong/buff3.png")) : (this.buff_info.text = game.Tools.strOfLocalization(3062), + this.img_buff.skin = game.Tools.localUISrc("myres/activity_yijidagong/buff0.png")) : 200 == n.effect ? (this.buff_info.text = game.Tools.strOfLocalization(3063), + this.img_buff.skin = game.Tools.localUISrc("myres/activity_yijidagong/buff1.png")) : (this.buff_info.text = game.Tools.strOfLocalization(3064), + this.img_buff.skin = game.Tools.localUISrc("myres/activity_yijidagong/buff2.png")), + this.buff = n, + this.btn_buff.visible = !0 + } else + this.btn_buff.visible = !1, + this.btn_buff_info.visible = !1, + this.buff = null + } + } + , + e.prototype.onClose = function() { + this.run_id++, + Laya.timer.clearAll(this); + for (var t = 0; t < this._effects.length; t++) + this._effects[t].destory(); + this._effects = [], + this._jump_yiji && (this._jump_yiji.destory(), + this._jump_yiji = null) + } + , + e.prototype.onMove = function(t, e) { + var i = this + , n = this.run_id; + if (this.locking = !0, + t) { + this.img_dice_red.skin = game.Tools.localUISrc("myres/activity_yijidagong/rdice" + e.dice + ".png"), + this.img_dice_red.visible = !1; + var a = game.FrontEffect.Inst.create_ui_effect(this.btn_dice_red, "scene/touzi_touzi_red.lh", new Laya.Point(0,0), 1); + this._add_effect(a), + Laya.timer.once(900, this, function() { + i.img_dice_red.visible = !0 + }), + Laya.timer.once(1300, this, function() { + i._remove_effect(a), + a.destory() + }) + } else { + this.img_dice_normal.skin = game.Tools.localUISrc("myres/activity_yijidagong/dice" + e.dice + ".png"), + this.img_dice_normal.visible = !1; + var r = game.FrontEffect.Inst.create_ui_effect(this.btn_dice_normal, "scene/touzi_touzi.lh", new Laya.Point(0,0), 1.2); + this._add_effect(r), + Laya.timer.once(900, this, function() { + i.img_dice_normal.visible = !0 + }), + Laya.timer.once(1300, this, function() { + i._remove_effect(r), + r.destory() + }) + } + var o = s.richman_data + , l = o.bank_save; + o.bank_save = e.bank_save, + o.chest_position = e.chest_position, + o.exp = e.exp, + o.finished_count = e.finished_count, + o.buff = e.buff, + o.location = e.location, + Laya.timer.once(1500, this, function() { + i.run_id == n && (i._move(n, e, 0), + i.bank_save = l + e.bank_save_add, + i._bank_change(l, l + e.bank_save_add)) + }) + } + , + e.prototype._bank_change = function(t, e) { + var i = this; + this.label_bank_money.text = t.toString(); + var n; + e > t && (n = game.FrontEffect.Inst.create_ui_effect(this.label_bank_money, "scene/touzi_bank.lh", new Laya.Point(0,0), 1), + this._add_effect(n), + Laya.timer.once(500, this, function() { + i._remove_effect(n), + n.destoryed || n.destory() + })); + for (var a = function(n) { + Laya.timer.once(50 * n, r, function() { + var a = n / 5 + , r = Math.floor(t * (1 - a)) + Math.floor(e * a); + 5 == n && (r = e), + i.label_bank_money.text = r.toString() + }) + }, r = this, s = 1; s <= 5; s++) + a(s) + } + , + e.prototype._move = function(t, e, i) { + var n = this; + if (t == this.run_id) + if (i >= e.paths.length) + this._on_move_over(e); + else { + var a = (this.location + 1) % this.map_data.length; + this.location = a; + var r = this.get_cell_position(this.map_data[a].pos_x, this.map_data[a].pos_y); + this.chess.visible = !1, + this._jump_yiji || (this._jump_yiji = game.FrontEffect.Inst.create_ui_effect(this.chess, "scene/touzi_qizi.lh", this.qizi_effect_offset, 1)), + this._jump_yiji.effect.root.active = !0, + Laya.timer.once(60, this, function() { + Laya.Tween.to(n.chess, { + x: r.x, + y: r.y + }, 230, Laya.Ease.linearNone, Laya.Handler.create(n, function() { + Laya.timer.once(200, n, function() { + t == n.run_id && (n.chess.visible = !0, + n._jump_yiji.effect.root.active = !1, + 0 == n.location && (n.label_turn_count.text = s.richman_data.finished_count.toString()), + a == e.paths[i].location ? 0 == i ? n._pending_exp_change(t, e, i) : n._pending_chest_rewards(t, e, i) : n._move(t, e, i)) + }) + })) + }) + } + } + , + e.prototype._pending_exp_change = function(t, e, i) { + var n = this; + if (t == this.run_id) { + var a = this.exp + , r = e.exp; + if (this.exp = r, + a == r) + this._pending_chest_rewards(t, e, i); + else if (a >= r) { + var s = this.calcu_exp(this.exp); + this.exp_bar.scaleX = s.rate, + this.img_title.skin = game.Tools.localUISrc("myres/activity_yijidagong/title" + s.level + ".png"), + this.label_coin_buff_val.text = "+" + this.level_data[s.level].buff + "%", + this._pending_chest_rewards(t, e, i) + } else { + var o = this.calcu_exp(a) + , l = this.calcu_exp(r); + if (o.level < l.level) { + var h = (1 - o.rate) / .002 + , c = l.rate / .002; + Laya.Tween.to(this.exp_bar, { + scaleX: 1 + }, h, Laya.Ease.linearNone, Laya.Handler.create(this, function() { + if (t == n.run_id) { + var a = game.FrontEffect.Inst.create_ui_effect(n.chess, "scene/touzi_qizi_lvup.lh", n.qizi_effect_offset, 1); + n.exp_bar.scaleX = 0, + n.img_title.skin = game.Tools.localUISrc("myres/activity_yijidagong/title" + l.level + ".png"), + n.label_coin_buff_val.text = "+" + n.level_data[l.level].buff + "%", + Laya.Tween.to(n.exp_bar, { + scaleX: l.rate + }, c, null), + n._add_effect(a), + Laya.timer.once(500, n, function() { + t == n.run_id && (n._pending_chest_rewards(t, e, i), + n._remove_effect(a), + a.destory()) + }) + } + })) + } else + Laya.Tween.to(this.exp_bar, { + scaleX: l.rate + }, (l.rate - o.rate) / .002, Laya.Ease.linearNone, Laya.Handler.create(this, function() { + n.exp_bar.scaleX = l.rate, + n._pending_chest_rewards(t, e, i) + })) + } + } + } + , + e.prototype._pending_chest_rewards = function(t, e, i) { + var n = this; + if (t == this.run_id) { + var a = e.paths[i] + , r = a.rewards; + a.events; + if (r) + for (var o = function(a) { + if (r[a].is_chest) { + var o = r[a].resource_id + , h = r[a].count + , c = 0; + if (o >= 302005 && o <= 302012) + c = 1; + else if (304008 == o) + c = 6; + else if (304009 == o) + c = 3; + else { + var _ = r[a].origin_count; + c = 5e3 == _ ? 4 : 1e4 == _ ? 2 : 2e4 == _ ? 7 : 5 + } + var u = (360 / 7 - 10) * (.5 - Math.random()) + 360 * (c - 1) / 7 + 360 / 7 / 2; + return s.Inst.chest_table.show(u, Laya.Handler.create(l, function() { + if (n.run_id == t) { + var a = game.Tools.strOfLocalization(3089); + if (100002 == o) { + var r = n.calcu_exp(n.exp); + r.level > 0 && (a += "\n" + game.Tools.strOfLocalization(3093 + r.level)), + n.buff && 1 == n.buff.type && (a += "\n" + game.Tools.strOfLocalization(3092)) + } + s.Inst.reward_page.show(o, h, a, Laya.Handler.create(n, function() { + n._pending_chest_get_fly(t, e, i) + })) + } + })), + { + value: void 0 + } + } + }, l = this, h = 0; h < r.length; h++) { + var c = o(h); + if ("object" == typeof c) + return c.value + } + this._pending_events(t, e, i) + } + } + , + e.prototype._pending_chest_get_fly = function(t, e, i) { + var n = this; + if (t == this.run_id) { + var a = e.paths[i] + , r = (a.rewards, + a.events) + , s = e.chest_position; + r && r.length > 0 && 107305 == r[0] && (s = (this.location - Math.ceil(6 * Math.random()) + this.map_data.length) % this.map_data.length), + this.sp_box.visible = !1; + var o = game.FrontEffect.Inst.create_ui_effect(this.sp_box, "scene/touzi_chest_disappear.lh", new Laya.Point(0,-16.5), 1); + this._add_effect(o), + Laya.timer.once(600, this, function() { + if (t == n.run_id) { + n._remove_effect(o), + o.destory(), + n.set_position(n.sp_box, n.map_data[s].pos_x, n.map_data[s].pos_y); + var a = game.FrontEffect.Inst.create_ui_effect(n.sp_box, "scene/touzi_chest_appear.lh", new Laya.Point(0,-16.5), 1); + n._add_effect(a), + Laya.timer.once(500, n, function() { + t == n.run_id && (n._remove_effect(a), + a.destory(), + n.sp_box.visible = !0, + n._pending_events(t, e, i)) + }) + } + }) + } + } + , + e.prototype._pending_events = function(t, e, i) { + var n = this; + if (t == this.run_id) { + var a = e.paths[i] + , r = (a.rewards, + a.events); + if (r && r.length > 0) { + var o = r[0] + , l = 0; + switch (o) { + case 107301: + l = 4; + break; + case 107302: + l = 1; + break; + case 107303: + l = 0; + break; + case 107304: + l = 3; + break; + case 107305: + l = 5; + break; + case 107306: + l = 2 + } + s.Inst.kawei_table.show(50 * (.5 - Math.random()) + 60 * l, Laya.Handler.create(this, function() { + if (107305 != o) { + var a = "" + , r = "" + , s = ""; + if (107301 == o ? (a = "scene/touzi_qizi_buff.lh", + s = game.Tools.strOfLocalization(3061), + r = game.Tools.localUISrc("myres/activity_yijidagong/buff3.png")) : 107302 == o ? (a = "scene/touzi_qizi_debuff.lh", + s = game.Tools.strOfLocalization(3062), + r = game.Tools.localUISrc("myres/activity_yijidagong/buff0.png")) : 107303 == o ? (a = "scene/touzi_qizi_buff.lh", + s = game.Tools.strOfLocalization(3063), + r = game.Tools.localUISrc("myres/activity_yijidagong/buff1.png")) : 107304 == o && (a = "scene/touzi_qizi_debuff.lh", + s = game.Tools.strOfLocalization(3064), + r = game.Tools.localUISrc("myres/activity_yijidagong/buff2.png")), + a) { + var l = game.FrontEffect.Inst.create_ui_effect(n.chess, a, n.qizi_effect_offset, 1); + n._add_effect(l), + Laya.timer.once(600, n, function() { + n._remove_effect(l), + l.destory() + }), + n.contianer_buff_fly.getChildByName("img").skin = r, + n.img_buff.skin = r, + n.buff_info.text = s, + n.contianer_buff_fly.visible = !0, + n.contianer_buff_fly.alpha = 1, + n.contianer_buff_fly.y = -47, + Laya.Tween.to(n.contianer_buff_fly, { + y: -100, + alpha: 0 + }, 1500, null, Laya.Handler.create(n, function() { + n.contianer_buff_fly.visible = !1 + })), + Laya.timer.once(200, n, function() { + n.btn_buff.visible = !0, + n.btn_buff_info.visible = !1 + }), + Laya.timer.once(300, n, function() { + n._pending_cell_rewards(t, e, i) + }) + } else + n._pending_cell_rewards(t, e, i) + } else + n._pending_chest_kawei_fly(t, e, i) + })) + } else + this._pending_cell_rewards(t, e, i) + } + } + , + e.prototype._pending_chest_kawei_fly = function(t, e, i) { + var n = this; + if (t == this.run_id) { + var a = e.paths[i] + , r = (a.rewards, + a.events, + e.chest_position); + this.sp_box.visible = !1; + var s = game.FrontEffect.Inst.create_ui_effect(this.sp_box, "scene/touzi_chest_disappear.lh", new Laya.Point(0,-16.5), 1); + this._add_effect(s), + Laya.timer.once(600, this, function() { + if (t == n.run_id) { + n._remove_effect(s), + s.destory(), + n.set_position(n.sp_box, n.map_data[r].pos_x, n.map_data[r].pos_y); + var a = game.FrontEffect.Inst.create_ui_effect(n.sp_box, "scene/touzi_chest_appear.lh", new Laya.Point(0,-16.5), 1); + n._add_effect(a), + Laya.timer.once(500, n, function() { + t == n.run_id && (n._remove_effect(a), + a.destory(), + n.sp_box.visible = !0, + n._pending_cell_rewards(t, e, i)) + }) + } + }) + } + } + , + e.prototype._pending_cell_rewards = function(t, e, i) { + var n = this; + if (t == this.run_id) { + var a = e.paths[i] + , r = a.rewards; + a.events; + if (r) + for (var o = 0; o < r.length; o++) + if (!r[o].is_chest) { + var l = r[o].resource_id + , h = r[o].count + , c = this.map_data[this.location].bonus_type + , _ = ""; + if (1 == c) { + var u = r[o].origin_count; + _ = 5e3 == u ? game.Tools.strOfLocalization(3084) : 2e3 == u ? game.Tools.strOfLocalization(3083) : 1e3 == u ? game.Tools.strOfLocalization(3082) : game.Tools.strOfLocalization(3081); + (d = this.calcu_exp(this.exp)).level > 0 && (_ += "\n" + game.Tools.strOfLocalization(3093 + d.level)), + this.buff && 1 == this.buff.type && (_ += "\n" + game.Tools.strOfLocalization(3092)) + } else if (2 == c) + _ = game.Tools.strOfLocalization(3085); + else if (3 == c) + _ = game.Tools.strOfLocalization(3087); + else if (4 == c) + _ = game.Tools.strOfLocalization(3086); + else if (6 == c) { + _ = game.Tools.strOfLocalization(3088); + var d = this.calcu_exp(this.exp); + d.level > 0 && (_ += "\n" + game.Tools.strOfLocalization(3093 + d.level)), + this.buff && 1 == this.buff.type && (_ += "\n" + game.Tools.strOfLocalization(3092)) + } + return void s.Inst.reward_page.show(l, h, _, Laya.Handler.create(this, function() { + t == n.run_id && n._move(t, e, i + 1) + })) + } + this._move(t, e, i + 1) + } + } + , + e.prototype._on_move_over = function(e) { + if (e.buff && e.buff.length > 0) { + var i = e.buff[0]; + 1 == i.type ? 200 == i.effect ? (this.buff_info.text = game.Tools.strOfLocalization(3061), + this.img_buff.skin = game.Tools.localUISrc("myres/activity_yijidagong/buff3.png")) : (this.buff_info.text = game.Tools.strOfLocalization(3062), + this.img_buff.skin = game.Tools.localUISrc("myres/activity_yijidagong/buff0.png")) : 200 == i.effect ? (this.buff_info.text = game.Tools.strOfLocalization(3063), + this.img_buff.skin = game.Tools.localUISrc("myres/activity_yijidagong/buff1.png")) : (this.buff_info.text = game.Tools.strOfLocalization(3064), + this.img_buff.skin = game.Tools.localUISrc("myres/activity_yijidagong/buff2.png")), + this.btn_buff.visible = !0, + this.buff = i + } else + this.btn_buff.visible = !1, + this.btn_buff_info.visible = !1, + this.buff = null; + this.bank_save != e.bank_save && (this._bank_change(this.bank_save, e.bank_save), + this.bank_save = e.bank_save), + this.btn_dice_normal.mouseEnabled = !0, + this.btn_dice_red.mouseEnabled = !0, + this.locking = !1, + this.label_dice_normal.text = t.UI_Bag.get_item_count(this.id_dice_normal).toString() + } + , + e.prototype._add_effect = function(t) { + this._effects.push(t) + } + , + e.prototype._remove_effect = function(t) { + for (var e = [], i = 0; i < this._effects.length; i++) + this._effects[i] !== t && e.push(this._effects[i]); + this._effects = e + } + , + e + }() + , s = function(s) { + function o() { + var t = s.call(this, cfg.activity.activity.get(o.activity_id)["name_" + GameMgr.client_language], new ui.lobby.activitys.activity_yijidagongUI) || this; + return o.Inst = t, + t + } + return __extends(o, s), + o.init = function(t) { + if (t.richman_data) + for (var e = 0; e < t.richman_data.length; e++) + if (t.richman_data[e].activity_id == this.activity_id) { + this.richman_data = t.richman_data[e]; + break + } + } + , + o.prototype.onCreate = function() { + this.root = new r(this.me.getChildByName("root")), + this.page_dice_red = new e(this.me.getChildByName("rdice")), + this.black_mask = new i(this.me.getChildByName("bmask")), + this.kawei_table = new n(this.me.getChildByName("kaweitable")), + this.chest_table = new n(this.me.getChildByName("chesttable")), + this.reward_page = new a(this.me.getChildByName("reward")) + } + , + o.prototype.isopen = function() { + return t.UI_Activity.activity_is_running(o.activity_id) + } + , + o.prototype.haveRedPoint = function() { + return !1 + } + , + o.prototype.need_popout = function() { + return !0 + } + , + o.prototype.show = function() { + this.page_dice_red.me.visible = !1, + this.black_mask.me.visible = !1, + this.kawei_table.me.visible = !1, + this.chest_table.me.visible = !1, + this.reward_page.me.visible = !1, + this.root.onShow(), + this.enable = !0 + } + , + o.prototype.hide = function() { + this.root.onClose(), + this.enable = !1 + } + , + o.activity_id = 1073, + o + }(t.UI_ActivityBase); + t.UI_Activity_Yijidagong = s +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, game.Tools.strOfLocalization(2839), new ui.lobby.activitys.activity_yuekaUI) || this; + return t.yueka_id = 1010, + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? t.yueka_id = 1010 : "jp" == GameMgr.client_language ? t.yueka_id = 2010 : "en" == GameMgr.client_language && (t.yueka_id = 3010), + i.yueka_ui[t.yueka_id] = t, + t + } + return __extends(i, e), + i.Init = function() { + var e = this; + app.NetAgent.sendReq2Lobby("Lobby", "fetchMonthTicketInfo", {}, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("fetchMonthTicketInfo", i, n); + else if (n.month_ticket_info) + for (var a = 0; a < n.month_ticket_info.length; a++) { + var r = n.month_ticket_info[a]; + e.yueka_data[r.id] = r + } + }) + } + , + i.GetYuekaData = function(t) { + return this.yueka_data[t] + } + , + i.GetYuekaLeftDays = function(t) { + var e = this.yueka_data[t]; + return e ? e.end_time < Date.now() / 1e3 ? -2 : Math.floor((e.end_time - Date.now() / 1e3) / 24 / 3600) : -1 + } + , + i.OnBuyedYueka = function(t) { + this.GetYuekaLeftDays(t) < 0 && (this.yueka_data[t] = { + id: t, + last_pay_time: Date.now() / 1e3, + end_time: 24 * Math.floor((Date.now() / 1e3 + 10800) / 24 / 3600) * 3600 + }), + this.yueka_data[t].end_time += 2592e3, + this.yueka_ui[t] && this.yueka_ui[t].enable && this.yueka_ui[t].refresh() + } + , + i.YuekaCanGet = function(t) { + var e = this.GetYuekaData(t); + return !!e && (!(this.GetYuekaLeftDays(t) < 0) && !game.Tools.isPassedRefreshTime(e.last_pay_time)) + } + , + i.prototype.isopen = function() { + return !game.Tools.CannotPay() + } + , + i.prototype.haveRedPoint = function() { + return "1" != Laya.LocalStorage.getItem(game.Tools.eeesss("yueka_" + GameMgr.Inst.account_id)) || i.YuekaCanGet(this.yueka_id) + } + , + i.prototype.need_popout = function() { + return !1 + } + , + i.prototype.onCreate = function() { + var e = this; + this.container_buy = this.me.getChildByName("container_buy"), + this.container_buy.getChildByName("btn_buy").clickHandler = new Laya.Handler(this,function() { + t.UI_Recharge.on_want_2_buy(e.yueka_id) + } + ), + GameMgr.inDmm && game.LoadMgr.setImgSkin(this.container_buy.getChildByName("img_price"), "myres/yueka/price_dmm.png"), + this.container_get = this.me.getChildByName("container_get"), + this.btn_get = this.container_get.getChildByName("btn_get"), + this.btn_get.clickHandler = new Laya.Handler(this,function() { + e.btn_get.mouseEnabled = !1, + app.NetAgent.sendReq2Lobby("Lobby", "payMonthTicket", { + ticket_id: e.yueka_id + }, function(n, a) { + e.btn_get.mouseEnabled = !0, + n || a.error ? t.UIMgr.Inst.showNetReqError("payMonthTicket", n, a) : (game.Tools.showRewards({ + rewards: [{ + id: a.resource_id, + count: a.resource_count + }] + }, null), + i.yueka_data[e.yueka_id].last_pay_time = Date.now() / 1e3, + e.enable && e.refresh()) + }) + } + ), + this.img_getted = this.container_get.getChildByName("getted"), + this.label_days = this.container_get.getChildByName("left_day") + } + , + i.prototype.show = function() { + this.enable = !0, + this.refresh(), + this.btn_get.mouseEnabled = !0, + Laya.LocalStorage.setItem(game.Tools.eeesss("yueka_" + GameMgr.Inst.account_id), "1") + } + , + i.prototype.refresh = function() { + var e = i.GetYuekaData(this.yueka_id); + e && Date.now() / 1e3 < e.end_time ? (this.container_get.visible = !0, + this.container_buy.x = 194, + this.container_buy.visible = !0, + game.Tools.isPassedRefreshTime(e.last_pay_time) ? (this.btn_get.visible = !1, + this.img_getted.visible = !0) : (this.btn_get.visible = !0, + this.img_getted.visible = !1), + this.label_days.text = Math.floor((e.end_time - Date.now() / 1e3) / 24 / 3600).toString()) : (this.container_buy.x = 345, + this.container_get.visible = !1), + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? this.label_days.x = 111 : "en" == GameMgr.client_language ? this.label_days.x = 155 : "jp" == GameMgr.client_language && (this.label_days.x = 108), + t.UI_Activity.Inst.refresh_redpoint(), + t.UI_Lobby.Inst.top.refreshRedpoint() + } + , + i.prototype.hide = function() { + this.enable = !1 + } + , + i.prototype.onDisable = function() { + var t = "res/atlas/"; + "chs" != GameMgr.client_language && (t += GameMgr.client_language + "/"), + Laya.loader.clearTextureRes(t + "myres/yueka.atlas") + } + , + i.yueka_data = {}, + i.yueka_ui = {}, + i + }(t.UI_ActivityBase); + t.UI_Activity_Yueka = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + return e.call(this, cfg.activity.activity.get(1002).name, new ui.lobby.activitys.activity_exchangeUI) || this + } + return __extends(i, e), + i.prototype.isopen = function() { + return t.UI_Activity.activities[1002] + } + , + i.prototype.onCreate = function() { + e.prototype.onCreate.call(this), + this.label_count_bell = this.head.getChildByName("count0"), + this.label_count_socks = this.head.getChildByName("count1") + } + , + i.prototype.refreshCurrencyCount = function() { + this.label_count_bell.text = t.UI_Bag.get_item_count(309001).toString(), + this.label_count_socks.text = t.UI_Bag.get_item_count(309002).toString() + } + , + i.prototype.show = function() { + this.enable = !0, + game.LoadMgr.setImgSkin(this.head, "myres2/treasurehead/christmas_reward.jpg"), + this.refreshView(t.UI_Activity.getExchangeList(1002)) + } + , + i.prototype.hide = function() { + this.enable = !1 + } + , + i + }(t.UI_Activity_Exchange); + t.UI_Christmas_Exchange = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + return e.call(this, cfg.activity.activity.get(i.activity_id).name) || this + } + return __extends(i, e), + i.prototype.onCreate = function() { + e.prototype.onCreate.call(this), + this.setHead("myres2/treasurehead/christmas_task.jpg", 974, 326) + } + , + i.prototype.isopen = function() { + return t.UI_Activity.activities[i.activity_id] + } + , + i.prototype.haveRedPoint = function() { + var e = t.UI_Activity.getTaskList(i.activity_id); + if (e) + for (var n = 0; n < e.length; n++) + if (!e[n].rewarded && e[n].achieved) + return !0; + return !1 + } + , + i.prototype.need_popout = function() { + var t = cfg.activity.activity.get(i.activity_id); + return !(!t || !t.need_popout) + } + , + i.prototype.show = function() { + this.enable = !0, + this.refreshView(t.UI_Activity.getTaskList(i.activity_id)) + } + , + i.prototype.hide = function() { + this.enable = !1 + } + , + i.activity_id = 1001, + i + }(t.UI_Activity_Task); + t.UI_Christmas_Task = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + return e.call(this, cfg.activity.activity.get(i.activity_id)["name_" + GameMgr.client_language], new ui.lobby.activitys.activity_tongbi_exchangeUI) || this + } + return __extends(i, e), + i.prototype.isopen = function() { + return t.UI_Activity.activities[i.activity_id] + } + , + i.prototype.onCreate = function() { + e.prototype.onCreate.call(this), + this.label_count0 = this.head.getChildByName("count0") + } + , + i.prototype.refreshCurrencyCount = function() { + this.label_count0.text = game.Tools.money2Desc(t.UI_Bag.get_item_count(309005)) + } + , + i.prototype.show = function() { + this.enable = !0, + game.LoadMgr.setImgSkin(this.head, "myres2/treasurehead/activity_cj2020_exchange.jpg"), + this.refreshView(t.UI_Activity.getExchangeList(i.activity_id)) + } + , + i.prototype.hide = function() { + this.enable = !1 + } + , + i.activity_id = 1035, + i + }(t.UI_Activity_Exchange); + t.UI_Exchange_CJ2020 = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + return e.call(this, cfg.activity.activity.get(i.activity_id)["name_" + GameMgr.client_language], new ui.lobby.activitys.activity_exchange_zhongxiaUI) || this + } + return __extends(i, e), + i.prototype.isopen = function() { + return t.UI_Activity.activities[i.activity_id] + } + , + i.prototype.onCreate = function() { + e.prototype.onCreate.call(this), + this.label_count0 = this.head.getChildByName("count0"), + this.label_count1 = this.head.getChildByName("count1"), + this.label_count2 = this.head.getChildByName("count2") + } + , + i.prototype.refreshCurrencyCount = function() { + this.label_count0.text = t.UI_Bag.get_item_count(309021).toString(), + this.label_count1.text = t.UI_Bag.get_item_count(309020).toString(), + this.label_count2.text = t.UI_Bag.get_item_count(309019).toString() + } + , + i.prototype.show = function() { + this.enable = !0, + game.LoadMgr.setImgSkin(this.head, "myres2/treasurehead/activity_20chunji_kaixue.jpg"), + this.refreshView(t.UI_Activity.getExchangeList(i.activity_id)) + } + , + i.prototype.hide = function() { + this.enable = !1 + } + , + i.activity_id = 1063, + i + }(t.UI_Activity_Exchange); + t.UI_Exchange_ZhongXia = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + return e.call(this, cfg.activity.activity.get(1005).name, new ui.lobby.activitys.activity_exchangeUI) || this + } + return __extends(i, e), + i.prototype.isopen = function() { + return t.UI_Activity.activities[1005] + } + , + i.prototype.onCreate = function() { + e.prototype.onCreate.call(this), + this.label_count_0 = this.head.getChildByName("count0"), + this.label_count_1 = this.head.getChildByName("count1"), + this.label_count_2 = this.head.getChildByName("count2") + } + , + i.prototype.refreshCurrencyCount = function() { + this.label_count_0.text = t.UI_Bag.get_item_count(309003).toString(), + this.label_count_1.text = t.UI_Bag.get_item_count(309004).toString(), + this.label_count_2.text = t.UI_Bag.get_item_count(309005).toString() + } + , + i.prototype.show = function() { + this.enable = !0, + game.LoadMgr.setImgSkin(this.head, "myres2/treasurehead/newyear_reward.jpg"), + this.refreshView(t.UI_Activity.getExchangeList(1005)) + } + , + i.prototype.hide = function() { + this.enable = !1 + } + , + i + }(t.UI_Activity_Exchange); + t.UI_NewYear_Exchange = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t) { + this.me = t + } + return e.prototype.show = function(e, n, a) { + game.LoadMgr.setImgSkin(this.me.getChildByName("info").getChildByName("item"), cfg.item_definition.item.get(e).icon); + this.me.getChildByName("info").getChildByName("item_name").text = game.Tools.strOfLocalization(2811, [cfg.item_definition.item.get(e)["name_" + GameMgr.client_language]]), + this.me.getChildByName("info").getChildByName("count").text = t.UI_Bag.get_item_daily_record(10002, e).toString(), + this.me.getChildByName("info").getChildByName("count").color = "#cc66ff", + this.me.getChildByName("info").getChildByName("count_max").text = "/" + n.toString(), + this.me.getChildByName("info").getChildByName("label_count").text = game.Tools.strOfLocalization(2812) + ": ", + this.me.getChildByName("info").getChildByName("info").text = a, + this.me.getChildByName("info").getChildByName("btn_icon").clickHandler = Laya.Handler.create(this, function() { + t.UI_ItemDetail.Inst.show(e) + }, null, !1); + var r = {}; + cfg.activity.game_task.forEach(function(t) { + if (t.activity_id == i.activity_id && t.reward_id == e) { + var n = r[t.reward_count]; + n || (n = [], + r[t.reward_count] = n); + var a = t.base_task_id + , s = cfg.events.base_task.get(a).param[3]; + n.push(cfg.fan.fan.get(s)["name_" + GameMgr.client_language]) + } + }); + var s = 0 + , o = 146; + for (var l in r) { + var h = this.me.getChildByName("info").getChildByName("cell" + s) + , c = h.getChildByName("reward"); + c.text = cfg.item_definition.item.get(e)["name_" + GameMgr.client_language] + " x" + l, + c.color = "#cc66ff"; + for (var _ = h.getChildByName("info"), u = "", d = r[l], f = 0; f < d.length; f++) + 0 != f && (u += ","), + u += d[f]; + _.text = u; + var p = _.textField.textHeight; + _.height = p, + _.y = 20, + c.y = _.y + p / 2; + var m = h.getChildByName("shu"); + m.y = 5, + m.height = p + 30, + h.height = p + 40, + h.x = 16, + h.y = o, + o += h.height + 5, + s++ + } + return o += 10, + this.me.getChildByName("bg").height = o, + this.me.height = o, + o + } + , + e + }() + , i = function(i) { + function n() { + var t = i.call(this, cfg.activity.activity.get(n.activity_id)["name_" + GameMgr.client_language], new ui.lobby.activitys.activity_task_zhongxiaUI) || this; + return t.cells = [], + t.toth = 0, + t + } + return __extends(n, i), + n.prototype.isopen = function() { + return t.UI_Activity.activities[n.activity_id] + } + , + n.prototype.need_popout = function() { + var t = cfg.activity.activity.get(n.activity_id); + return !(!t || !t.need_popout) + } + , + n.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.content = this.root.getChildByName("content"), + this.scrollbar = this.root.getChildByName("scrollbar").scriptMap["capsui.CScrollBar"], + this.content.vScrollBarSkin = "", + this.scrollbar.init(null), + this.scrollbar.islong = !0, + this.content.vScrollBar.on("change", this, function() { + t.scrollbar.setVal(t.content.vScrollBar.value / t.content.vScrollBar.max, t.content.height / t.toth) + }), + this.cells = []; + for (var i = 0; i < 3; i++) + this.cells.push(new e(this.content.getChildByName("content" + i))) + } + , + n.prototype.show = function() { + this.enable = !0, + game.LoadMgr.setImgSkin(this.root.getChildByName("content").getChildByName("head"), "myres2/treasurehead/activity_20chunji_kaixue_exchange.jpg"); + for (var t = [309019, 309020, 309021], e = 332, i = function(i) { + var a = t[i] + , r = 0; + cfg.item_definition.source_limit.forEach(function(t) { + t.item_id == a && 10002 == t.id && (r = t.item_limit) + }), + n.cells[i].me.y = e, + n.cells[i].me.x = 1, + e += n.cells[i].show(t[i], r, game.Tools.strOfLocalization(2813, [cfg.item_definition.item.get(a)["name_" + GameMgr.client_language]])), + e += 10 + }, n = this, a = 0; a < t.length; a++) + i(a); + this.toth = e, + this.content.refresh(), + this.content.vScrollBar.value = 0, + this.content.vScrollBar.stopScroll(), + this.scrollbar.reset(), + this.scrollbar.setVal(0, this.content.height / this.toth) + } + , + n.prototype.hide = function() { + this.enable = !1 + } + , + n.activity_id = 1062, + n + }(t.UI_ActivityBase); + t.UI_Task_ZhongXia = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.entrance.choose_routeUI) || this; + return t.btns = [], + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("servers").getChildByName("container"), + this.me.visible = !1, + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.close() + }, null, !1); + for (var i = function(i) { + var a = n.root.getChildByName("btn" + i); + a.clickHandler = new Laya.Handler(n,function() { + game.LobbyNetMgr.Inst.changeIndex(i), + t.UI_Entrance.Inst.updateServer(), + e.close() + } + ), + n.btns.push(a) + }, n = this, a = 0; a < 3; a++) + i(a) + } + , + i.prototype.show = function() { + var e = this; + this.enable = !0, + t.UIBase.anim_pop_out(this.root, null); + for (o = 0; o < this.btns.length; o++) { + var i = this.btns[o]; + o < game.LobbyNetMgr.Inst.net_count ? (i.visible = !0, + i.getChildByName("info").text = game.Tools.strOfLocalization(3150) + (o + 1).toString()) : i.visible = !1 + } + game.LobbyNetMgr.Inst.OpenAllConnect(), + Laya.timer.clearAll(this); + for (var n = Laya.timer.currTimer, a = Laya.timer.currTimer, r = game.LobbyNetMgr.Inst.GetLinkInfos(), s = [], o = 0; o < r.length; o++) + s.push(-1); + Laya.timer.frameLoop(1, this, function() { + Laya.timer.currTimer - a > 100 && (r = game.LobbyNetMgr.Inst.GetLinkInfos(), + a = Laya.timer.currTimer); + for (var t = 0; t < r.length; t++) { + var i = e.btns[t] + , o = i.getChildByName("time") + , l = i.getChildByName("img") + , h = r[t]; + h.connect == game.EConnectState.connecting ? (l.visible = !1, + o.visible = !0, + h.delay < 1 ? o.text = "--" : o.text = Math.floor(h.delay / 2) + "ms", + o.fontSize = 30, + h.delay < 300 ? o.color = "#32dd5b" : h.delay < 800 ? o.color = "#ffe154" : o.color = "#e03737", + s[t] = h.delay) : h.connect == game.EConnectState.tryconnect ? (l.visible = !0, + o.visible = !1, + h.fetch == game.EFetchState.success ? l.skin = game.Tools.localUISrc("myres/entrance/connecting.png") : l.skin = game.Tools.localUISrc("myres/entrance/fetching.png"), + l.rotation = .5 * (Laya.timer.currTimer - n)) : -1 != s[t] ? (l.visible = !1, + o.visible = !0, + o.text = Math.floor(s[t] / 2) + "ms", + o.fontSize = 30, + s[t] < 300 ? o.color = "#32dd5b" : s[t] < 800 ? o.color = "#ffe154" : o.color = "#e03737") : (l.visible = !1, + o.visible = !0, + o.fontSize = 25, + o.color = "#7e818b", + h.in_maintenance ? o.text = game.Tools.strOfLocalization(3149) : h.fetch == game.EFetchState.error ? o.text = game.Tools.strOfLocalization(3147) : o.text = game.Tools.strOfLocalization(3148)) + } + }) + } + , + i.prototype.close = function() { + var e = this; + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Entrance_Choose_Route = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.entrance.error_infoUI) || this; + return t.locking = !1, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("error").getChildByName("container"), + this.info = this.root.getChildByName("text"), + this.me.visible = !1, + this.root.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1) + } + , + i.prototype.show = function(e, i) { + var n = this; + this.info.text = e, + this.root.getChildByName("einfo").text = i ? app.Log.getCacheLog() : "", + this.enable = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.enable = !1, + e.locking = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Entrance_Error = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e) { + var i = this; + this.me = t, + this.func_pending = e, + this.txtinput = t.getChildByName("txtinput"), + this.wrong = t.getChildByName("no"), + this.accept = t.getChildByName("yes"), + this.txtinput.on("focus", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1 + }), + this.txtinput.on("blur", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1, + "" != i.txtinput.text && (!i.func_pending || i.func_pending.run() ? i.accept.visible = !0 : i.wrong.visible = !0) + }), + this.reset() + } + return Object.defineProperty(t.prototype, "text", { + get: function() { + return this.txtinput.text + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "isOK", { + get: function() { + return !this.func_pending || this.func_pending.run() + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.showError = function() { + this.accept.visible = !1, + this.wrong.visible = !0 + } + , + t.prototype.reset = function() { + this.txtinput.text = "", + this.wrong.visible = !1, + this.accept.visible = !1 + } + , + t + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.entrance.mail_registUI) || this; + return t.during_send_cd = !1, + t.last_send_time = 0, + n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.root = this.me.getChildByName("page_mail_regist"), + this.connect_loading = this.me.getChildByName("loading"), + this.connect_loading.visible = !1, + this.content = this.root.getChildByName("root"), + this.account = new e(this.content.getChildByName("container_account"),new Laya.Handler(this,function() { + return game.Tools.pending_email_vaild(i.account.text) + } + )), + this.password0 = new e(this.content.getChildByName("container_mima"),new Laya.Handler(this,function() { + var t = i.password0.text; + return t.length >= 6 && t.length <= 20 + } + )), + this.password1 = new e(this.content.getChildByName("container_mima2"),new Laya.Handler(this,function() { + return i.password0.text == i.password1.text && (i.password1.text.length >= 6 && i.password1.text.length <= 20) + } + )), + this.code_input = new e(this.content.getChildByName("container_code"),new Laya.Handler(this,function() { + return 6 == i.code_input.text.length + } + )), + this.btn_close = this.content.getChildByName("btn_close"), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + i.locking || i.close() + }, null, !1), + this.btn_regist = this.content.getChildByName("btn_regist"), + this.btn_regist.clickHandler = Laya.Handler.create(this, function() { + i.locking || i.onRegist() + }, null, !1), + this.btn_send_code = this.content.getChildByName("btn_send_code"), + this.label_send_code = this.btn_send_code.getChildByName("info"), + this.btn_send_code.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) + if ("" != i.account.text) { + if (i.account.isOK) { + i.btn_send_code.mouseEnabled = !1, + i.during_send_cd = !0, + i.last_send_time = Laya.timer.currTimer, + i.refresh_send(); + var e = i.account.text + , n = ""; + game.Tools.pending_email_vaild(e) && (n = "email"); + var a = new Laya.HttpRequest; + a.once(Laya.Event.COMPLETE, i, function(e) { + var a = JSON.parse(e); + a.error && a.error.code ? (t.UI_Entrance.Inst.showError("", a.error.code), + i.last_send_time = 0) : "email" == n && t.UI_Entrance.Inst.showInfo(game.Tools.strOfLocalization(2810)) + }), + a.once(Laya.Event.ERROR, i, function(e) { + t.UI_Entrance_Error.Inst.show(game.Tools.strOfLocalization(2790), !1), + i.last_send_time = 0 + }), + "email" == n && a.send(GameMgr.config_data.system_email_url + "/api/user/sign_up_code", "type=email&email=" + e, "post") + } + } else + i.account.showError() + } + ), + this.root.visible = !1, + this.locking = !1, + this.container_social = this.content.getChildByName("social"), + this.social_btns = []; + for (s = 0; s < 4; s++) + this.social_btns.push(this.container_social.getChildByName("btn" + s)), + this.social_btns[s].visible = !1; + var n = []; + "chs" == GameMgr.client_type && (n = [{ + img: "myres/entrance/weibo.png", + type: 2 + }, { + img: "myres/entrance/QQ.png", + type: 3 + }, { + img: "myres/entrance/weixin.png", + type: 1 + }]), + "chs_t" == GameMgr.client_type && (n = [{ + img: "myres/entrance/facebook.png", + type: 13 + }]), + "jp" == GameMgr.client_type && (n = [{ + img: "myres/entrance/google.png", + type: 8 + }, { + img: "myres/entrance/tiwtter.png", + type: 10 + }]), + "en" == GameMgr.client_type && (n = [{ + img: "myres/entrance/google.png", + type: 8 + }, { + img: "myres/entrance/facebook.png", + type: 9 + }, { + img: "myres/entrance/tiwtter.png", + type: 10 + }]); + for (var a = function(e) { + var i = r.social_btns[e]; + e < n.length ? (i.visible = !0, + i.getChildAt(0).skin = game.Tools.localUISrc(n[e].img), + i.clickHandler = new Laya.Handler(r,function() { + t.UI_Entrance.trySocio(n[e].type) + } + ), + 1 == n.length ? i.x = 252.5 : i.x = 465 * e / (n.length - 1) - 40) : i.visible = !1 + }, r = this, s = 0; s < n.length; s++) + a(s); + 2 == n.length && (this.social_btns[0].x = 115, + this.social_btns[1].x = 270), + this.content.getChildByName("checkbox").visible = "chs" == GameMgr.client_type, + this.content.getChildByName("checkbox_chst").visible = "chs_t" == GameMgr.client_type, + "chs" == GameMgr.client_type ? (this.container_checkbox = this.content.getChildByName("checkbox"), + this.container_checkbox.visible = !0, + this.checkbox = this.container_checkbox.getChildByName("checkbox"), + this.container_checkbox.getChildByName("btn_lock").clickHandler = Laya.Handler.create(this, function() { + t.UI_User_Xieyi.Inst.show(Laya.Handler.create(i, function() { + i.onchangecheck(!0) + })) + }, null, !1), + this.container_checkbox.getChildByName("btn_check").clickHandler = Laya.Handler.create(this, function() { + i.onchangecheck(!i.checkbox.visible) + }, null, !1)) : "chs_t" == GameMgr.client_type && (this.container_checkbox = this.content.getChildByName("checkbox_chst"), + this.container_checkbox.visible = !0, + this.checkbox = this.container_checkbox.getChildByName("checkbox"), + this.container_checkbox.getChildByName("btn_lock0").clickHandler = Laya.Handler.create(this, function() { + t.UI_User_Xieyi_enjp.Inst.show("docs/chst_fuwuxieyi.txt") + }, null, !1), + this.container_checkbox.getChildByName("btn_lock1").clickHandler = Laya.Handler.create(this, function() { + t.UI_User_Xieyi_enjp.Inst.show("docs/chst_yinsitiaokuan.txt") + }, null, !1), + this.container_checkbox.getChildByName("btn_check").clickHandler = Laya.Handler.create(this, function() { + i.onchangecheck(!i.checkbox.visible) + }, null, !1)), + this.account.reset(), + this.password0.reset(), + this.password1.reset(), + this.last_send_time = 0 + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.content, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })), + Laya.timer.clearAll(this) + } + , + n.prototype.show = function() { + var e = this; + this.root.visible = !0, + this.locking = !0, + Laya.timer.clearAll(this), + this.enable = !0, + t.UIBase.anim_pop_out(this.content, Laya.Handler.create(this, function() { + e.locking = !1 + })), + this.connect_loading.visible = !1, + this.onchangecheck(!0), + this.during_send_cd ? this.refresh_send() : (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)), + Laya.timer.frameLoop(1, this, function() { + e.refresh_send() + }) + } + , + n.prototype.onRegist = function() { + var e = this + , i = this.account.text + , n = this.code_input.text + , a = this.password0.text + , r = this.password1.text; + if ("" == i && this.account.showError(), + "" == n && this.code_input.showError(), + "" == a && this.password0.showError(), + "" == r && this.password1.showError(), + this.account.isOK && this.code_input.isOK && this.password0.isOK && this.password1.isOK) { + var s = 0; + game.Tools.pending_email_vaild(i) && (s = 1), + game.Tools.pending_phonenumber_valid(i) && (s = 2), + game.LobbyNetMgr.Inst.isOK ? t.UI_Entrance.Inst._try_regist_account(i, n, a, s) : (this.connect_loading.visible = !0, + Laya.timer.once(500, this, function() { + game.LobbyNetMgr.Inst.OpenConnect(Laya.Handler.create(e, function(r) { + r.open ? t.UI_Entrance.Inst._try_regist_account(i, n, a, s) : r.maintenance ? t.UI_Entrance_Maintenance.Inst.show(r.maintenance) : t.UI_Entrance.Inst.showInfo(r.info), + e.connect_loading.visible = !1 + })) + })) + } + } + , + n.prototype.onchangecheck = function(t) { + this.checkbox.visible = t, + this.btn_regist.visible = t, + this.container_social.visible = t + } + , + n.prototype.refresh_send = function() { + if (this.during_send_cd) { + var t = Laya.timer.currTimer - this.last_send_time; + t >= 6e4 ? (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)) : this.label_send_code.text = game.Tools.strOfLocalization(2682, [Math.ceil(60 - t / 1e3).toString()]) + } + } + , + n + }(t.UIBase); + t.UI_Entrance_Mail_Regist = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.entrance.maintenanceUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("maintenance").getChildByName("container"), + this.info = this.root.getChildByName("text"), + this.me.visible = !1, + this.root.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + t.close() + }, null, !1) + } + , + i.prototype.show = function(e) { + this.info.text = e, + this.me.visible = !0, + t.UIBase.anim_pop_out(this.root, null) + } + , + i.prototype.close = function() { + var e = this; + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.me.visible = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Entrance_Maintenance = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.entrance.account_prohibitionUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("Prohibition").getChildByName("container"), + this.info = this.root.getChildByName("text"), + this.me.visible = !1, + this.root.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + t.close() + }, null, !1) + } + , + i.prototype.show = function(e) { + var i = 0; + if (e.u32_params && e.u32_params.length >= 1 && (i = e.u32_params[0]), + 1 == i) { + var n = {}; + return n.type = 2, + n.ban_end_time = e.u32_params[1] + e.u32_params[2], + void t.UI_Guajichenfa.Inst.show(n) + } + if (3 == i) + this.info.text = game.Tools.strOfLocalization(3121); + else { + var a = game.Tools.strOfLocalization(2064) + "\n"; + if (e.u32_params && e.u32_params.length >= 2) + if (0 == e.u32_params[2]) + a += game.Tools.strOfLocalization(2065) + "\n"; + else { + var r = e.u32_params[1] + e.u32_params[2]; + a += game.Tools.strOfLocalization(2066) + game.Tools.time2YearMounthDate(r) + " " + game.Tools.time2HourMinute(r) + "\n" + } + e.str_params && e.str_params.length > 0 && (a += game.Tools.strOfLocalization(2067) + e.str_params[0]), + this.info.text = a + } + this.me.visible = !0, + t.UIBase.anim_pop_out(this.root, null) + } + , + i.prototype.close = function() { + var e = this; + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.me.visible = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Entrance_Prohibition = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e) { + var i = this; + this.me = t, + this.func_pending = e, + this.txtinput = t.getChildByName("txtinput"), + this.wrong = t.getChildByName("no"), + this.accept = t.getChildByName("yes"), + this.txtinput.on("focus", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1 + }), + this.txtinput.on("blur", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1, + "" != i.txtinput.text && (i.isOK ? i.accept.visible = !0 : i.wrong.visible = !0) + }), + this.reset() + } + return Object.defineProperty(t.prototype, "text", { + get: function() { + return this.txtinput.text + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "isOK", { + get: function() { + return !this.func_pending || this.func_pending.run() + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.reset = function() { + this.txtinput.text = "", + this.wrong.visible = !1, + this.accept.visible = !1 + } + , + t + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.entrance.reset_passwordUI) || this; + return t.sended = !1, + n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.root = this.me.getChildByName("page_reset_password").getChildByName("root"), + this.container_input_mail = this.root.getChildByName("container_input_mail"), + this.btn_send = this.container_input_mail.getChildByName("btn_send"); + var n = !1 + , a = 0 + , r = 0 + , s = function() { + n || Laya.timer.currTimer < r || game.Tools.setGrayDisable(i.btn_send, !1) + }; + this.btn_send.clickHandler = new Laya.Handler(this,function() { + if (!i.locking && "" != i.input_email.text && i.input_email.isOK) { + if (game.Tools.pending_phonenumber_valid(i.input_email.text)) + return i.close(), + void t.UI_Entrance_Reset_PWD_Phone2.Inst.show(i.input_email.text); + if (!n) { + game.Tools.setGrayDisable(i.btn_send, !0), + n = !0, + a++, + r = Laya.timer.currTimer + 1300 * a, + Laya.timer.once(1300 * a, i, function() { + s() + }); + var e = i.input_email.text + , o = new Laya.HttpRequest; + o.once(Laya.Event.COMPLETE, i, function(a) { + var r = JSON.parse(a); + n = !1, + s(), + r.error && r.error.code ? t.UI_Entrance.Inst.showError("", r.error.code) : (i.sended = !0, + i.label_email.text = game.Tools.encode_email(e), + i.refresh_show()) + }), + o.once(Laya.Event.ERROR, i, function(e) { + n = !1, + s(), + t.UI_Entrance_Error.Inst.show(game.Tools.strOfLocalization(2790), !1) + }), + o.send(GameMgr.config_data.system_email_url + "/api/user/forget_password", "email=" + i.input_email.text, "post") + } + } + } + ), + this.input_email = new e(this.container_input_mail.getChildByName("container_account"),new Laya.Handler(this,function() { + return game.Tools.pending_email_vaild(i.input_email.text) + } + )), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + i.locking || i.close() + } + ), + this.root.getChildByName("btn_back").clickHandler = new Laya.Handler(this,function() { + i.locking || (i.sended ? (i.sended = !1, + i.refresh_show()) : i.close()) + } + ), + this.container_success = this.root.getChildByName("container_success"), + this.container_success.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + i.locking || i.close() + } + ), + this.label_email = this.container_success.getChildByName("mail") + } + , + n.prototype.show = function() { + var e = this; + this.sended = !1, + this.refresh_show(), + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + n.prototype.refresh_show = function() { + this.sended ? (this.container_input_mail.visible = !1, + this.container_success.visible = !0) : (this.container_input_mail.visible = !0, + this.container_success.visible = !1) + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + n + }(t.UIBase); + t.UI_Entrance_Reset_Password = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e) { + var i = this; + this.me = t, + this.func_pending = e, + this.txtinput = t.getChildByName("txtinput"), + this.wrong = t.getChildByName("no"), + this.accept = t.getChildByName("yes"), + this.txtinput.on("focus", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1 + }), + this.txtinput.on("blur", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1, + "" != i.txtinput.text && (!i.func_pending || i.func_pending.run() ? i.accept.visible = !0 : i.wrong.visible = !0) + }), + this.reset() + } + return Object.defineProperty(t.prototype, "text", { + get: function() { + return this.txtinput.text + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "isOK", { + get: function() { + return !this.func_pending || this.func_pending.run() + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.showError = function() { + this.accept.visible = !1, + this.wrong.visible = !0 + } + , + t.prototype.reset = function() { + this.txtinput.text = "", + this.wrong.visible = !1, + this.accept.visible = !1 + } + , + t + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.entrance.reset_password_phone2UI) || this; + return t.during_send_cd = !1, + t.last_send_time = 0, + n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.root = this.me.getChildByName("root"), + this.label_phonenumber = this.root.getChildByName("phonenumber"), + this.pwd0 = new e(this.root.getChildByName("container_mima"),new Laya.Handler(this,function() { + var t = i.pwd0.text; + return t.length >= 6 && t.length <= 20 + } + )), + this.pwd1 = new e(this.root.getChildByName("container_mima2"),new Laya.Handler(this,function() { + return i.pwd1.text == i.pwd0.text && (i.pwd1.text.length >= 6 && i.pwd1.text.length <= 20) + } + )), + this.input_code = new e(this.root.getChildByName("container_code"),new Laya.Handler(this,function() { + return 6 == i.input_code.text.length + } + )), + this.btn_send_code = this.root.getChildByName("btn_send_code"), + this.label_send_code = this.btn_send_code.getChildByName("info"), + this.btn_send_code.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + i.btn_send_code.mouseEnabled = !1, + i.during_send_cd = !0, + i.last_send_time = Laya.timer.currTimer, + i.refresh_send(); + var e = i.phonenumber + , n = new Laya.HttpRequest; + n.once(Laya.Event.COMPLETE, i, function(e) { + var n = JSON.parse(e); + n.error && n.error.code ? (t.UI_Entrance.Inst.showError("", n.error.code), + i.last_send_time = 0) : t.UI_Entrance.Inst.showInfo(game.Tools.strOfLocalization(2833)) + }), + n.once(Laya.Event.ERROR, i, function(e) { + t.UI_Entrance_Error.Inst.show(game.Tools.strOfLocalization(2790), !1), + i.last_send_time = 0 + }), + n.send(GameMgr.config_data.system_email_url + "/api/user/forget_password", "type=phone&phone=" + e, "post") + } + } + ), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_confirm.clickHandler = Laya.Handler.create(this, function() { + i.locking || i.onComfirm() + }, null, !1), + this.root.getChildByName("btn_back").clickHandler = new Laya.Handler(this,function() { + i.locking || (i.close(), + t.UI_Entrance_Reset_Password.Inst.show()) + } + ), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + i.locking || i.close() + } + ) + } + , + n.prototype.show = function(e) { + var i = this; + this.phonenumber = e, + this.label_phonenumber.text = e, + Laya.timer.clearAll(this), + this.during_send_cd ? this.refresh_send() : (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)), + Laya.timer.frameLoop(1, this, function() { + i.refresh_send() + }), + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })) + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + Laya.timer.clearAll(this), + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + n.prototype.refresh_send = function() { + if (this.during_send_cd) { + var t = Laya.timer.currTimer - this.last_send_time; + t >= 6e4 ? (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)) : this.label_send_code.text = game.Tools.strOfLocalization(2682, [Math.ceil(60 - t / 1e3).toString()]) + } + } + , + n.prototype.onComfirm = function() { + var e = this + , i = this.input_code.text + , n = this.pwd0.text + , a = this.pwd1.text; + if ("" == i && this.input_code.showError(), + "" == n && this.pwd0.showError(), + "" == a && this.pwd1.showError(), + this.input_code.isOK && this.pwd0.isOK && this.pwd1.isOK) { + var r = new Laya.HttpRequest; + r.once(Laya.Event.COMPLETE, this, function(i) { + var n = JSON.parse(i); + n.error && n.error.code ? (t.UI_Entrance.Inst.showError("", n.error.code), + e.last_send_time = 0) : (t.UI_Entrance.Inst.showInfo(game.Tools.strOfLocalization(2834)), + e.close()) + }), + r.once(Laya.Event.ERROR, this, function(i) { + t.UI_Entrance_Error.Inst.show(game.Tools.strOfLocalization(2790), !1), + e.last_send_time = 0 + }), + r.send(GameMgr.config_data.system_email_url + "/api/user/reset_password/phone", "phone=" + this.phonenumber + "&code=" + this.input_code.text + "&pass=" + GameMgr.encodeP(this.pwd0.text), "post") + } + } + , + n + }(t.UIBase); + t.UI_Entrance_Reset_PWD_Phone2 = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.payment.choose_method_chsUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.label_title = this.root.getChildByName("title"), + this.label_price = this.root.getChildByName("price"); + var i = this.root.getChildByName("lst") + , n = i.getChildByName("wx") + , a = i.getChildByName("alipay") + , r = i.getChildByName("alipay_code"); + n.clickHandler = Laya.Handler.create(this, function() { + e.locking || (e.close(null), + game.Tools.CannotPay() ? t.UIMgr.Inst.ShowErrorInfo("暂未开通") : GameMgr.inChina && (GameMgr.inConch ? (t.UI_Payment_Loading.Inst.enable = !0, + app.NetAgent.sendReq2Lobby("Lobby", "createWechatAppOrder", { + goods_id: e.goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id + }, function(e, i) { + if (t.UI_Payment_Loading.Inst.enable = !1, + e || i.error) + t.UIMgr.Inst.showNetReqError("createWechatAppOrder", e, i); + else { + var n = i.call_wechat_app_param; + Laya.PlatformClass.createClass("layaair.majsoul.mjmgr").call("onWechatAppOrder", n.appid, n.partnerid, n.prepayid, n.package, n.noncestr, n.timestamp, n.sign) + } + })) : GameMgr.iniOSWebview ? (t.UI_Payment_Loading.Inst.enable = !0, + app.NetAgent.sendReq2Lobby("Lobby", "createWechatAppOrder", { + goods_id: e.goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id + }, function(e, i) { + if (t.UI_Payment_Loading.Inst.enable = !1, + e || i.error) + t.UIMgr.Inst.showNetReqError("createWechatAppOrder", e, i); + else { + var n = i.call_wechat_app_param + , a = n.partnerid + "," + n.prepayid + "," + n.package + "," + n.noncestr + "," + n.timestamp + "," + n.sign; + Laya.Browser.window.wkbridge.callNative("wxpay", a, function() {}) + } + })) : t.UI_Payment_Wxcode.Inst.show(e.goods_id, !0))) + }, null, !1), + a.clickHandler = Laya.Handler.create(this, function() { + if (!e.locking) + if (e.close(null), + game.Tools.CannotPay()) + t.UIMgr.Inst.ShowErrorInfo("暂未开通"); + else if (GameMgr.inChina) { + t.UI_Payment_Loading.Inst.enable = !0; + var i = -1; + if (GameMgr.inConch || GameMgr.iniOSWebview ? 0 == t.UI_Recharge.alipay_type || 2 == t.UI_Recharge.alipay_type || 3 == t.UI_Recharge.alipay_type ? i = 0 : 1 == t.UI_Recharge.alipay_type && (i = 1) : 1 == t.UI_Recharge.alipay_type || 2 == t.UI_Recharge.alipay_type ? i = 1 : 0 == t.UI_Recharge.alipay_type && (i = 0), + 1 == i) + app.NetAgent.sendReq2Lobby("Lobby", "createAlipayScanOrder", { + goods_id: e.goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id + }, function(e, i) { + if (t.UI_Payment_Loading.Inst.enable = !1, + e || i.error) + t.UIMgr.Inst.showNetReqError("createAlipayScanOrder", e, i); + else { + var n = i.qr_code; + if (GameMgr.inConch) { + Laya.PlatformClass.createClass("layaair.majsoul.mjmgr").call("onAlipay_Brower", n) + } else + GameMgr.iniOSWebview ? Laya.Browser.window.wkbridge.callNative("alipay_brower", n, function() {}) : Laya.Browser.window.location.href = n + } + }); + else if (0 == i) { + var n = ""; + n = GameMgr.inConch || GameMgr.iniOSWebview ? "APP" : Laya.Browser.onPC ? "PC_WEB" : "MOBILE_WEB", + app.NetAgent.sendReq2Lobby("Lobby", "createAlipayOrder", { + goods_id: e.goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id, + alipay_trade_type: n, + return_url: GameMgr.Inst.link_url + }, function(e, i) { + if (t.UI_Payment_Loading.Inst.enable = !1, + e || i.error) + t.UIMgr.Inst.showNetReqError("createAlipayOrder", e, i); + else { + var n = i.alipay_url; + if (GameMgr.inConch) { + a = n.split("?"); + Laya.PlatformClass.createClass("layaair.majsoul.mjmgr").call("onAlipay", a[a.length - 1]) + } else if (GameMgr.iniOSWebview) { + var a = n.split("?"); + Laya.Browser.window.wkbridge.callNative("alipay", a[a.length - 1], function() {}) + } else + Laya.Browser.window.location.href = n + } + }) + } + } + }, null, !1), + r.clickHandler = Laya.Handler.create(this, function() { + e.locking || (e.close(null), + GameMgr.inChina && t.UI_Payment_Wxcode.Inst.show(e.goods_id, !1)) + }, null, !1), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close(null) + }, null, !1) + } + , + i.prototype.getShowedChoose = function() { + var e = this.root.getChildByName("lst") + , i = e.getChildByName("wx") + , n = e.getChildByName("alipay") + , a = e.getChildByName("alipay_code"); + if (game.Tools.CannotPay()) + return a.visible = !1, + n.visible = !0, + i.visible = !1, + [n]; + var r = []; + if (t.UI_Recharge.open_wx ? GameMgr.inConch || GameMgr.iniOSWebview || !Laya.Browser.onPC ? i.visible = !1 : (i.visible = !0, + r.push(i)) : i.visible = !1, + t.UI_Recharge.open_alipay) { + var s = -1; + GameMgr.inConch || GameMgr.iniOSWebview ? 0 == t.UI_Recharge.alipay_type || 2 == t.UI_Recharge.alipay_type || 3 == t.UI_Recharge.alipay_type ? s = 0 : 1 == t.UI_Recharge.alipay_type && (s = 1) : 1 == t.UI_Recharge.alipay_type || 2 == t.UI_Recharge.alipay_type ? s = 1 : 0 == t.UI_Recharge.alipay_type && (s = 0), + 1 == s ? GameMgr.inConch || GameMgr.iniOSWebview || !Laya.Browser.onPC ? (n.visible = !0, + r.push(n)) : n.visible = !1 : 0 == s ? (n.visible = !0, + r.push(n)) : n.visible = !1, + 1 == s ? (a.visible = !0, + r.push(a)) : a.visible = !1 + } else + n.visible = !1, + a.visible = !1; + return r + } + , + i.prototype.show = function(e, i) { + var n = this; + this.goods_id = e; + var a = cfg.mall.goods.get(e); + this.label_title.text = a.name, + this.label_price.text = a.price, + i || (i = ""), + this.root.getChildByName("extendinfo").text = i, + this.locking = !0, + this.me.visible = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })); + var r = this.root.getChildByName("lst") + , s = this.getShowedChoose(); + if (r.vScrollBarSkin = "", + s.length <= 2) + for (o = 0; o < s.length; o++) + s[o].y = 50 + 144 * o; + else + for (var o = 0; o < s.length; o++) + s[o].y = 144 * o; + r.vScrollBar.value = 0, + r.refresh() + } + , + i.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + i.locking = !1, + i.me.visible = !1, + e && e.run() + })) + } + , + i + }(t.UIBase); + t.UI_Payment_ChooseMethod_CHS = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.payment.choose_method_chs_tUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.label_title = this.root.getChildByName("title"), + this.label_price = this.root.getChildByName("price"); + this.root.getChildByName("lst").getChildByName("mycard").clickHandler = Laya.Handler.create(this, function() { + e.locking || (e.close(null), + t.UI_Lite_Loading.Inst.show(), + app.NetAgent.sendReq2Lobby("Lobby", "createMyCardWebOrder", { + goods_id: e.goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id + }, function(i, n) { + if (i || n.error) + t.UI_Lite_Loading.Inst.close(), + t.UIMgr.Inst.showNetReqError("createMyCardWebOrder", i, n); + else { + game.Tools.open_new_window("https://www.mycard520.com.tw/MyCardPay/?AuthCode=" + n.auth_code), + Laya.timer.once(1e3, e, function() { + t.UI_Lite_Loading.Inst.close(), + e.extendinfo && "" != e.extendinfo && t.UI_MyCard_Pay_Info.Inst.show(n.order_id, e.extendinfo) + }) + } + })) + }, null, !1), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close(null) + }, null, !1) + } + , + i.prototype.show = function(e, i) { + var n = this; + if (this.goods_id = e, + this.extendinfo = i, + 1010 == e || 2010 == e || 3010 == e) { + a = cfg.mall.month_ticket.get(e); + this.label_title.text = a["name_" + GameMgr.client_language] + } else { + var a = cfg.mall.goods.get(e); + this.label_title.text = a.name + } + cfg.mall.goods_shelves.getGroup("shelves_004").forEach(function(t) { + t.goods_id == e && (n.label_price.text = t.price) + }); + var r = this.root.getChildByName("extendinfo"); + i ? (r.visible = !0, + r.text = i) : r.visible = !1, + this.locking = !0, + this.me.visible = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })); + var s = this.root.getChildByName("lst"); + s.vScrollBarSkin = "", + s.vScrollBar.value = 0, + s.refresh() + } + , + i.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + i.locking = !1, + i.me.visible = !1, + e && e.run() + })) + } + , + i + }(t.UIBase); + t.UI_Payment_ChooseMethod_CHS_T = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.payment.choose_method_enUI) || this; + return t.pay_types = [], + t.current_goods_id = 0, + t._en_card_ = null, + t._adyen_date = {}, + t._adyen_btn_confirm = null, + t._adyen_btn_cancel = null, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.me.visible = !1, + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + t.locking || t.close() + } + ), + this.label_item_name = this.root.getChildByName("item_name"), + this.label_price = this.root.getChildByName("price"), + this.label_vip = this.root.getChildByName("vip"), + this.label_extendinfo = this.root.getChildByName("extendinfo"), + this.scroll_view = this.root.scriptMap["capsui.CScrollView"], + this.scroll_view.init_scrollview(new Laya.Handler(this,this.render_item)), + this.pay_types = [], + "jp" == GameMgr.client_type ? this.pay_types = ["CreditCard", "Paypal", "Docomo", "Au", "Softbank", "WebMoney"] : "en" == GameMgr.client_type && (this.pay_types = ["Paypal", "MasterCard", "Visa", "JCB", "Alipay"]) + } + , + i.prototype.show = function(e, i) { + var n = this; + if (this.current_goods_id = e, + 1010 == e || 2010 == e || 3010 == e) { + a = cfg.mall.month_ticket.get(e); + this.label_item_name.text = a["name_" + GameMgr.client_language], + this.label_vip.text = a.vip_exp.toString() + } else { + var a = cfg.mall.goods.get(e); + this.label_item_name.text = a.name, + this.label_vip.text = a.vip_exp.toString() + } + var r = "jp" == GameMgr.client_type ? "shelves_002" : "shelves_003"; + cfg.mall.goods_shelves.getGroup(r).forEach(function(t) { + t.goods_id == e && (n.label_price.text = t.price) + }), + i || (i = ""), + this.label_extendinfo.text = i, + this.scroll_view.reset(), + this.scroll_view.addItem(this.pay_types.length), + this.locking = !0, + this.me.visible = !0, + app.PlayerBehaviorStatistic.fb_trace_force(app.EBehaviorType.Purchase_Click), + app.PlayerBehaviorStatistic.google_trace_force(app.EBehaviorType.G_Purchase_click), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })) + } + , + i.prototype.render_item = function(t) { + var e = this + , i = t.index + , n = t.container; + n.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + e.onClickAtPay(e.pay_types[i]) + }, null, !1); + var a = this.pay_types[i]; + if ("jp" == GameMgr.client_type) + switch (a) { + case "CreditCard": + a = "クレジットカード"; + break; + case "Paypal": + a = "Paypal(ペイパル)"; + break; + case "Au": + a = "auかんたん決済"; + break; + case "Docomo": + a = "ドコモ払い"; + break; + case "Softbank": + a = "ソフトバンクまとめて支払い"; + break; + case "WebMoney": + a = "WebMoney" + } + n.getChildByName("btn").getChildByName("name").text = a + } + , + i.prototype.onClickAtPay = function(e) { + var i = this; + if ("jp" == GameMgr.client_type) + "CreditCard" == e ? (this.close(), + t.UI_Payment_Creditcard.Inst.show(this.current_goods_id)) : "Paypal" != e && "Au" != e && "Docomo" != e && "Softbank" != e && "WebMoney" != e || (t.UI_Payment_Loading.Inst.enable = !0, + app.NetAgent.sendReq2Lobby("Lobby", "createJP" + e + "Order", { + goods_id: this.current_goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id, + return_url: t.UI_Recharge.open_new_window() ? "Yo://CloseWindow" : GameMgr.Inst.link_url, + access_token: GameMgr.Inst.yostar_accessToken + }, function(n, a) { + if (n || a.error) { + if (n) + t.UIMgr.Inst.showNetReqError("createJP" + e + "Order", n, a); + else if (1991 == a.error.code) + t.UI_Agepending.Inst.show(); + else if (1992 == a.error.code) { + var r = JSON.parse(a.error.json_param); + t.UI_Agexiane.Inst.show(r.recharged, r.age) + } else + t.UIMgr.Inst.showNetReqError("createJP" + e + "Order", n, a); + t.UI_Payment_Loading.Inst.enable = !1 + } else { + var s = {}; + s.type = e, + s.lang = "ja", + s.accessToken = GameMgr.Inst.yostar_accessToken, + s.orderId = a.order_id, + "Paypal" == e || "WebMoney" == e ? s.itemName = cfg.mall.goods.get(i.current_goods_id).name : "Au" == e && (s.itemName = game.Tools.ToDBC(cfg.mall.goods.get(i.current_goods_id).name)), + s.openNewWindow = t.UI_Recharge.open_new_window(), + Yo.execOrder(s), + t.UI_Payment_Loading.Inst.enable = !1 + } + })); + else if ("Paypal" == e) + t.UI_Payment_Loading.Inst.enable = !0, + app.NetAgent.sendReq2Lobby("Lobby", "createENPaypalOrder", { + goods_id: this.current_goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id, + return_url: t.UI_Recharge.open_new_window() ? "Yo://CloseWindow" : GameMgr.Inst.link_url, + access_token: GameMgr.Inst.yostar_accessToken + }, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("createENPaypalOrder", i, n), + t.UI_Payment_Loading.Inst.enable = !1; + else { + var a = {}; + a.type = e, + a.lang = "en", + a.accessToken = GameMgr.Inst.yostar_accessToken, + a.orderId = n.order_id, + a.openNewWindow = t.UI_Recharge.open_new_window(), + Yo.execOrder(a), + t.UI_Payment_Loading.Inst.enable = !1 + } + }); + else if ("Alipay" == e) + t.UI_Payment_Loading.Inst.enable = !0, + app.NetAgent.sendReq2Lobby("Lobby", "createENAlipayOrder", { + goods_id: this.current_goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id, + return_url: t.UI_Recharge.open_new_window() ? "Yo://CloseWindow" : GameMgr.Inst.link_url, + access_token: GameMgr.Inst.yostar_accessToken + }, function(e, i) { + if (e || i.error) + t.UIMgr.Inst.showNetReqError("createENAlipayOrder", e, i), + t.UI_Payment_Loading.Inst.enable = !1; + else { + var n = {}; + n.type = "Adyen.Alipay", + n.lang = "en", + n.accessToken = GameMgr.Inst.yostar_accessToken, + n.orderId = i.order_id, + n.openNewWindow = t.UI_Recharge.open_new_window(), + Yo.execOrder(n), + t.UI_Payment_Loading.Inst.enable = !1 + } + }); + else if ("MasterCard" == e || "Visa" == e || "JCB" == e) { + if (t.UI_Payment_Loading.Inst.enable = !0, + null == this._en_card_) { + var n = GameMgr.Inst.link_url; + "/" == n[n.length - 1] && (n = n.substr(0, n.length - 1)); + var a = GameMgr.config_data.checkoutShopperUrl; + Yo.generateOriginKey({ + originDomain: n + }, function(t, e) { + if (t) + console.error(t); + else { + var r = { + locale: "en_US", + originKey: e.originKeys[n], + loadingContext: a + "/checkoutshopper/" + } + , s = new AdyenCheckout(r) + , o = i; + o._en_card_ = s.create("card", { + onChange: function(t, e) { + if (t.isValid) { + var i = t.data + , n = i.encryptedCardNumber + , a = i.encryptedExpiryMonth + , r = i.encryptedExpiryYear + , s = i.encryptedSecurityCode; + o._adyen_date.encryptedCardNumber = n, + o._adyen_date.encryptedExpiryMonth = a, + o._adyen_date.encryptedExpiryYear = r, + o._adyen_date.encryptedSecurityCode = s, + o._adyen_date.isValid = !0, + o._adyen_btn_confirm.hidden = !1 + } else + o._adyen_date.encryptedCardNumber = "", + o._adyen_date.encryptedExpiryMonth = "", + o._adyen_date.encryptedExpiryYear = "", + o._adyen_date.encryptedSecurityCode = "", + o._adyen_date.isValid = !1, + o._adyen_btn_confirm.hidden = !0 + } + }).mount("#card"), + document.getElementById("container_card").hidden = !1 + } + }) + } else + document.getElementById("container_card").hidden = !1; + if (null == this._adyen_btn_confirm) { + this._adyen_btn_confirm = document.getElementById("card_confirm"), + this._adyen_btn_cancel = document.getElementById("card_cancel"); + var r = this; + this._adyen_btn_cancel.innerText = "Cancel", + this._adyen_btn_cancel.onclick = function() { + document.getElementById("container_card").hidden = !0, + t.UI_Payment_Loading.Inst.enable = !1 + } + , + this._adyen_btn_confirm.innerText = "Ok", + this._adyen_btn_confirm.onclick = function() { + document.getElementById("container_card").hidden = !0, + r._adyen_date.isValid ? app.NetAgent.sendReq2Lobby("Lobby", "createEN" + e + "Order", { + goods_id: i.current_goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id, + return_url: t.UI_Recharge.open_new_window() ? "Yo://CloseWindow" : GameMgr.Inst.link_url, + access_token: GameMgr.Inst.yostar_accessToken + }, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("createEN" + e + "Order", i, n), + t.UI_Payment_Loading.Inst.enable = !1; + else { + var a = {}; + a.type = "Adyen.CreditCard", + a.lang = "en", + a.accessToken = GameMgr.Inst.yostar_accessToken, + a.orderId = n.order_id, + a.encryptedCardNumber = r._adyen_date.encryptedCardNumber, + a.encryptedExpiryMonth = r._adyen_date.encryptedExpiryMonth, + a.encryptedExpiryYear = r._adyen_date.encryptedExpiryYear, + a.encryptedSecurityCode = r._adyen_date.encryptedSecurityCode, + a.openNewWindow = t.UI_Recharge.open_new_window(), + Yo.execOrder(a), + t.UI_Payment_Loading.Inst.enable = !1 + } + }) : t.UI_Payment_Loading.Inst.enable = !1 + } + , + this._adyen_btn_confirm.hidden = !0 + } + } + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Payment_ChooseMethod_EN = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e, i, n, a) { + var r = this; + this.isopen = !1, + this.locking = !1, + this.showed = !1, + this.when_close = null, + this.when_choose = null, + this.datas = [], + this.start_rate = 0, + this.me = t, + t.visible = !1, + this.isopen = !1, + this.locking = !1, + this.when_close = e, + this.when_choose = i, + this.datas = n, + this.start_rate = a, + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.refresh_item)), + this.bg = this.me.getChildByName("bg"), + this.content = this.me.getChildByName("content"), + t.getChildByName("btn_open").clickHandler = new Laya.Handler(this,function() { + r.locking || (r.isopen ? r.close() : r.show()) + } + ) + } + return t.prototype.reset = function() { + this.isopen = !1, + this.locking = !1, + this.me.visible = !0, + this.bg.visible = !1, + this.content.visible = !1 + } + , + t.prototype.show = function() { + var t = this; + this.locking = !0, + this.isopen = !0, + this.bg.visible = !0, + this.bg.height = 10, + Laya.Tween.to(this.bg, { + height: 385 + }, 150, Laya.Ease.linearNone), + this.content.visible = !0, + this.content.alpha = 0, + Laya.Tween.to(this.content, { + alpha: 1 + }, 150, Laya.Ease.linearNone), + Laya.timer.once(150, this, function() { + t.locking = !1 + }), + this.showed || (this.scrollview.reset(), + this.scrollview.addItem(this.datas.length), + this.showed = !0, + this.scrollview.rate = this.start_rate) + } + , + t.prototype.refresh_item = function(t) { + var e = this + , i = t.index + , n = t.container; + n.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + e.locking || (e.close(), + e.when_choose && e.when_choose.runWith(e.datas[i])) + }, null, !1), + n.getChildByName("btn").getChildByName("txt").text = this.datas[i] + } + , + t.prototype.close = function() { + var t = this; + this.locking = !0, + Laya.Tween.to(this.content, { + alpha: 0 + }, 150, Laya.Ease.linearNone), + Laya.Tween.to(this.bg, { + height: 10 + }, 150, Laya.Ease.linearNone), + Laya.timer.once(150, this, function() { + t.locking = !1, + t.bg.visible = !1, + t.content.visible = !1, + t.isopen = !1, + t.when_close && t.when_close.run() + }) + } + , + t + }() + , i = function() { + function t(t, i, n) { + var a = this; + this.locking = !1, + this.me = t, + t.visible = !1, + this.me.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + a.dropdown_mouth.locking || a.dropdown_year.locking || (a.dropdown_mouth.isopen && a.dropdown_mouth.close(), + a.dropdown_year.isopen && a.dropdown_year.close()) + } + ); + this.dropdown_mouth = new e(this.me.getChildByName("container_month"),new Laya.Handler(this,function() { + a._OnStateChange(), + i.runWith("") + } + ),new Laya.Handler(this,function(t) { + return i.runWith(t) + } + ),["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"],0); + for (var r = new Date(Date.now()), s = [], o = 0; o < 120; o++) + s.push((r.getFullYear() + o - 30).toString()); + this.dropdown_year = new e(this.me.getChildByName("container_year"),new Laya.Handler(this,function() { + a._OnStateChange(), + n.runWith("") + } + ),new Laya.Handler(this,function(t) { + return n.runWith(t) + } + ),s,.262) + } + return t.prototype.show = function(t) { + this.dropdown_mouth.reset(), + this.dropdown_year.reset(), + this.me.visible = !0, + t ? this.dropdown_mouth.show() : this.dropdown_year.show() + } + , + t.prototype._OnStateChange = function() { + this.dropdown_year.isopen || this.dropdown_mouth.isopen || (this.me.visible = !1) + } + , + t + }() + , n = function() { + function e(t) { + var e = this; + this.locking = !1, + this.me = t, + t.visible = !1, + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close() + } + ), + this.root.getChildByName("confirm").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close() + } + ) + } + return e.prototype.show = function() { + var e = this; + this.locking = !0, + this.me.visible = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + e.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + e + }() + , a = function(e) { + function a() { + var t = e.call(this, new ui.lobby.payment.creditcardUI) || this; + return t.color_wrong = "#FF3030", + t.color_hint = "#5A82C8", + t.locking = !1, + t.current_goodsID = 0, + a.Inst = t, + t + } + return __extends(a, e), + a.prototype.onCreate = function() { + var t = this; + this.root_adyen = this.me.getChildByName("root_adyen"); + var e = this.root_adyen.getChildByName("card"); + this.input_cardno = e.getChildByName("input").getChildByName("txtinput"), + this.cardno_wrong = e.getChildByName("input").getChildByName("wrong"), + this.cardno_ac = e.getChildByName("input").getChildByName("ac"), + this.notice_cardno = e.getChildByName("notice"), + this.card_imgs = e.getChildByName("card_img"), + this.input_cardno.on("blur", this, function() { + t.pending_cardno() + }), + this.input_cardno.on("input", this, function() { + t.cardno_wrong.visible && (t.cardno_wrong.visible = !1), + t.code_ac.visible && (t.code_ac.visible = !1) + }); + var a = this.root_adyen.getChildByName("date"); + this.btn_month = a.getChildByName("month"), + this.btn_month.clickHandler = new Laya.Handler(this,function() { + t.locking || t.date_dropdown.show(!0) + } + ), + this.txt_month = this.btn_month.getChildByName("txt"), + this.notice_month = a.getChildByName("notice_month"), + this.btn_year = a.getChildByName("year"), + this.btn_year.clickHandler = new Laya.Handler(this,function() { + t.locking || t.date_dropdown.show(!1) + } + ), + this.txt_year = this.btn_year.getChildByName("txt"), + this.notice_year = a.getChildByName("notice_year"); + var r = this.root_adyen.getChildByName("code"); + this.input_code = r.getChildByName("input").getChildByName("txtinput"), + this.code_wrong = r.getChildByName("input").getChildByName("wrong"), + this.code_ac = r.getChildByName("input").getChildByName("ac"), + this.notice_code = r.getChildByName("notice"), + this.input_code.on("blur", this, function() { + t.pending_code() + }), + this.input_code.on("input", this, function() { + t.code_wrong.visible && (t.code_wrong.visible = !1), + t.code_ac.visible && (t.code_ac.visible = !1) + }), + r.getChildByName("btn_what").clickHandler = new Laya.Handler(this,function() { + t.locking || t.contianer_cardnumber_hint.show() + } + ), + this.root_adyen.getChildByName("paybutton").clickHandler = new Laya.Handler(this,function() { + t.locking || t.onClickConfirm() + } + ), + this.root_adyen.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + t.locking || t.close() + } + ), + this.contianer_cardnumber_hint = new n(this.me.getChildByName("container_cardnumber")), + this.date_dropdown = new i(this.me.getChildByName("container_dropdown"),new Laya.Handler(this,function(e) { + "" != e && (t.txt_month.text = e), + t.pending_month() + } + ),new Laya.Handler(this,function(e) { + "" != e && (t.txt_year.text = e), + t.pending_year() + } + )) + } + , + a.prototype.show = function(e) { + var i = this; + this.enable = !0, + this.locking = !0, + this.current_goodsID = e, + this.date_dropdown.me.visible = !1, + this.contianer_cardnumber_hint.me.visible = !1, + t.UIBase.anim_pop_out(this.root_adyen, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.txt_month.text = game.Tools.strOfLocalization(2729), + this.txt_year.text = game.Tools.strOfLocalization(2730), + this.input_cardno.text = "", + this.input_code.text = "", + this.notice_cardno.text = game.Tools.strOfLocalization(2726), + this.notice_cardno.color = this.color_hint, + this.notice_month.text = game.Tools.strOfLocalization(2731), + this.notice_month.color = this.color_hint, + this.notice_year.text = game.Tools.strOfLocalization(2732), + this.notice_year.color = this.color_hint, + this.notice_code.text = game.Tools.strOfLocalization(2736), + this.notice_code.color = this.color_hint, + this.cardno_wrong.visible = !1, + this.card_imgs.visible = !1, + this.cardno_ac.visible = !1, + this.code_wrong.visible = !1, + this.code_ac.visible = !1 + } + , + a.prototype.pending_Luhn = function(t) { + for (var e = 0, i = "0".charCodeAt(0), n = 0; n < t.length; n += 2) + e += t.charCodeAt(t.length - n - 1) - i; + for (n = 1; n < t.length; n += 2) { + var a = 2 * (t.charCodeAt(t.length - n - 1) - i); + e += a <= 9 ? a : a - 9 + } + return e % 10 == 0 + } + , + a.prototype.isValidCreditCard = function(t) { + var e = this.pending_Luhn(t) + , i = parseInt(t.substr(0, 2)) + , n = (parseInt(t.substr(0, 3)), + parseInt(t.substr(0, 4))) + , a = (parseInt(t.substr(0, 5)), + parseInt(t.substr(0, 6))); + if (15 == t.length && (34 == i || 37 == i) && e) + return "amex"; + if (16 == t.length && n >= 3528 && n <= 3589 && e) + return "jcb"; + if (16 == t.length) { + if (a >= 51e4 && a <= 559999 && e) + return "mastercard"; + if (n >= 2221 && n <= 2720 && e) + return "mastercard" + } + if (14 == t.length) { + if (a >= 3e5 && a <= 303574 && e) + return "diner"; + if (3095 == n) + return "diner"; + if (36 == i) + return "diner"; + if (i >= 38 && i <= 39) + return "diner" + } + return "4" != t.charAt(0) || 13 != t.length && 16 != t.length || !e ? "" : "visa" + } + , + a.prototype.pending_cardno = function() { + if (this.input_cardno.text.length >= 13 && this.input_cardno.text.length <= 19) { + var t = this.isValidCreditCard(this.input_cardno.text); + if ("" != t) { + this.cardno_wrong.visible = !1, + this.notice_cardno.text = "", + this.cardno_ac.visible = !0, + this.card_imgs.visible = !0; + for (var e = 0; e < this.card_imgs.numChildren; e++) { + var i = this.card_imgs.getChildAt(e); + i.visible = i.name == t + } + return !0 + } + return this.cardno_wrong.visible = !0, + this.cardno_ac.visible = !1, + this.notice_cardno.text = "", + this.notice_cardno.color = this.color_wrong, + this.card_imgs.visible = !1, + !1 + } + return this.cardno_wrong.visible = !0, + this.cardno_ac.visible = !1, + this.notice_cardno.text = game.Tools.strOfLocalization(2727), + this.notice_cardno.color = this.color_wrong, + this.card_imgs.visible = !1, + !1 + } + , + a.prototype.pending_month = function() { + return this.txt_month.text != game.Tools.strOfLocalization(2729) ? (this.notice_month.text = "", + !0) : (this.notice_month.text = game.Tools.strOfLocalization(2733), + this.notice_month.color = this.color_wrong, + !1) + } + , + a.prototype.pending_year = function() { + return this.txt_year.text != game.Tools.strOfLocalization(2730) ? (this.notice_year.text = "", + !0) : (this.notice_year.text = game.Tools.strOfLocalization(2734), + this.notice_year.color = this.color_wrong, + !1) + } + , + a.prototype.pending_code = function() { + return this.input_code.text.length >= 3 && this.input_code.text.length <= 4 ? (this.notice_code.text = "", + this.code_wrong.visible = !1, + this.code_ac.visible = !0, + !0) : (this.code_wrong.visible = !0, + this.code_ac.visible = !1, + this.notice_code.text = game.Tools.strOfLocalization(2737), + this.notice_code.color = this.color_wrong, + !1) + } + , + a.prototype.onClickConfirm = function() { + var e = !0; + if (this.pending_cardno() || (e = !1), + this.pending_month() || (e = !1), + this.pending_year() || (e = !1), + this.pending_code() || (e = !1), + e) { + this.close(), + t.UI_Payment_Loading.Inst.enable = !0; + var i = this.input_cardno.text + , n = this.current_goodsID; + window.Multipayment.init(GameMgr.config_data.jp_shop_id), + Multipayment.getToken({ + cardno: this.input_cardno.text, + expire: this.txt_year.text + this.txt_month.text, + securitycode: this.input_code.text + }, function(e) { + if ("000" != e.resultCode) + !function(e) { + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(e)), + t.UI_Payment_Loading.Inst.enable = !1 + }(2742); + else { + var a = e.tokenObject; + app.NetAgent.sendReq2Lobby("Lobby", "createJPCreditCardOrder", { + goods_id: n, + client_type: 0, + account_id: GameMgr.Inst.account_id, + return_url: t.UI_Recharge.open_new_window() ? "Yo://CloseWindow" : GameMgr.Inst.link_url, + access_token: GameMgr.Inst.yostar_accessToken + }, function(e, n) { + if (e || n.error) + if (e) + t.UIMgr.Inst.showNetReqError("createJPCreditCardOrder", e, n), + t.UI_Payment_Loading.Inst.enable = !1; + else if (1991 == n.error.code) + t.UI_Agepending.Inst.show(), + t.UI_Payment_Loading.Inst.enable = !1; + else if (1992 == n.error.code) { + var r = JSON.parse(n.error.json_param); + t.UI_Agexiane.Inst.show(r.recharged, r.age), + t.UI_Payment_Loading.Inst.enable = !1 + } else + t.UIMgr.Inst.showNetReqError("createJPCreditCardOrder", e, n), + t.UI_Payment_Loading.Inst.enable = !1; + else { + var s = {}; + s.type = "CreditCard", + s.lang = "ja", + s.accessToken = GameMgr.Inst.yostar_accessToken, + s.token = a.token, + s.orderId = n.order_id, + s.cardNo = i, + s.openNewWindow = t.UI_Recharge.open_new_window(), + Yo.execOrder(s), + t.UI_Payment_Loading.Inst.enable = !1 + } + }) + } + }) + } + } + , + a.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root_adyen, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + a + }(t.UIBase); + t.UI_Payment_Creditcard = a +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var i = t.call(this, new ui.lobby.payment.loadingUI) || this; + return e.Inst = i, + i + } + return __extends(e, t), + e + }(t.UIBase); + t.UI_Payment_Loading = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.payment.wxcodeUI) || this; + return t.root = null, + t.icon = null, + t.label_title = null, + t.label_price = null, + t.label_method = null, + t.loading = null, + t.locking = !1, + t.id = 0, + i.Inst = t, + t + } + return __extends(i, e), + i.onPayResult = function(t) { + this.Inst && this.Inst.enable && this.Inst.order_id == t.order_id && this.Inst.close() + } + , + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.icon = this.root.getChildByName("icon"), + this.icon.skin = "", + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1), + this.root.getChildByName("btn_close2").clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1), + this.label_price = this.root.getChildByName("price").getChildByName("v"), + this.label_title = this.root.getChildByName("title").getChildByName("v"), + this.label_method = this.root.getChildByName("method"), + this.loading = this.root.getChildByName("loading") + } + , + i.prototype.show = function(e, i) { + var n = this; + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })), + this.loading.visible = !0, + this.id++; + var a, r = this.id; + a = 1010 == e ? cfg.mall.month_ticket.get(e) : cfg.mall.goods.get(e), + this.label_title.text = a.name, + this.label_price.text = a.price; + var s = ""; + i ? (this.label_method.text = game.Tools.strOfLocalization(2163), + this.label_method.color = "#44b44c", + s = "createWechatNativeOrder") : (this.label_method.text = game.Tools.strOfLocalization(2164), + this.label_method.color = "#00a9ec", + s = "createAlipayScanOrder"), + app.NetAgent.sendReq2Lobby("Lobby", s, { + goods_id: e, + client_type: 0, + account_id: GameMgr.Inst.account_id + }, function(e, i) { + if (n.me.visible && r == n.id) + if (e || i.error) + t.UIMgr.Inst.showNetReqError(s, e, i), + n.close(); + else { + app.Log.log(s + " " + JSON.stringify(i)), + n.order_id = i.order_id; + var a = i.qrcode_buffer; + GameMgr.inConch, + Laya.loader.load(a, Laya.Handler.create(n, function() { + r == n.id && n.me.visible ? (n.icon.skin = a, + n.loading.visible = !1) : n.release_code(a) + })) + } + }) + } + , + i.prototype.release_code = function(t) { + var e = Laya.loader.getRes(t); + e && e.destroy() + } + , + i.prototype.close = function() { + var e = this; + app.Log.log("wxcode close"), + this.locking = !0, + this.order_id = "", + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.enable = !1, + e.locking = !1, + "" != e.icon.skin && (e.release_code(e.icon.skin), + e.icon.skin = "") + })) + } + , + i + }(t.UIBase); + t.UI_Payment_Wxcode = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.payment.buy_yueka_chsUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.label_title = this.root.getChildByName("name"), + this.label_desc = this.root.getChildByName("desc"), + this.label_price = this.root.getChildByName("price"); + var i = this.root.getChildByName("lst") + , n = i.getChildByName("wx") + , a = i.getChildByName("alipay") + , r = i.getChildByName("alipay_code"); + n.clickHandler = Laya.Handler.create(this, function() { + e.locking || (e.close(null), + game.Tools.CannotPay() ? t.UIMgr.Inst.ShowErrorInfo("暂未开通") : GameMgr.inChina && (GameMgr.inConch ? (t.UI_Payment_Loading.Inst.enable = !0, + app.NetAgent.sendReq2Lobby("Lobby", "createWechatAppOrder", { + goods_id: e.goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id + }, function(e, i) { + if (t.UI_Payment_Loading.Inst.enable = !1, + e || i.error) + t.UIMgr.Inst.showNetReqError("createWechatAppOrder", e, i); + else { + var n = i.call_wechat_app_param; + Laya.PlatformClass.createClass("layaair.majsoul.mjmgr").call("onWechatAppOrder", n.appid, n.partnerid, n.prepayid, n.package, n.noncestr, n.timestamp, n.sign) + } + })) : GameMgr.iniOSWebview ? (t.UI_Payment_Loading.Inst.enable = !0, + app.NetAgent.sendReq2Lobby("Lobby", "createWechatAppOrder", { + goods_id: e.goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id + }, function(e, i) { + if (t.UI_Payment_Loading.Inst.enable = !1, + e || i.error) + t.UIMgr.Inst.showNetReqError("createWechatAppOrder", e, i); + else { + var n = i.call_wechat_app_param + , a = n.partnerid + "," + n.prepayid + "," + n.package + "," + n.noncestr + "," + n.timestamp + "," + n.sign; + Laya.Browser.window.wkbridge.callNative("wxpay", a, function() {}) + } + })) : t.UI_Payment_Wxcode.Inst.show(e.goods_id, !0))) + }, null, !1), + a.clickHandler = Laya.Handler.create(this, function() { + if (!e.locking) + if (e.close(null), + game.Tools.CannotPay()) + t.UIMgr.Inst.ShowErrorInfo("暂未开通"); + else if (GameMgr.inChina) { + t.UI_Payment_Loading.Inst.enable = !0; + var i = -1; + if (GameMgr.inConch || GameMgr.iniOSWebview ? 0 == t.UI_Recharge.alipay_type || 2 == t.UI_Recharge.alipay_type || 3 == t.UI_Recharge.alipay_type ? i = 0 : 1 == t.UI_Recharge.alipay_type && (i = 1) : 1 == t.UI_Recharge.alipay_type || 2 == t.UI_Recharge.alipay_type ? i = 1 : 0 == t.UI_Recharge.alipay_type && (i = 0), + 1 == i) + app.NetAgent.sendReq2Lobby("Lobby", "createAlipayScanOrder", { + goods_id: e.goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id + }, function(e, i) { + if (t.UI_Payment_Loading.Inst.enable = !1, + e || i.error) + t.UIMgr.Inst.showNetReqError("createAlipayScanOrder", e, i); + else { + var n = i.qr_code; + if (GameMgr.inConch) { + Laya.PlatformClass.createClass("layaair.majsoul.mjmgr").call("onAlipay_Brower", n) + } else + GameMgr.iniOSWebview ? Laya.Browser.window.wkbridge.callNative("alipay_brower", n, function() {}) : Laya.Browser.window.location.href = n + } + }); + else if (0 == i) { + var n = ""; + n = GameMgr.inConch || GameMgr.iniOSWebview ? "APP" : Laya.Browser.onPC ? "PC_WEB" : "MOBILE_WEB", + app.NetAgent.sendReq2Lobby("Lobby", "createAlipayOrder", { + goods_id: e.goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id, + alipay_trade_type: n, + return_url: GameMgr.Inst.link_url + }, function(e, i) { + if (t.UI_Payment_Loading.Inst.enable = !1, + e || i.error) + t.UIMgr.Inst.showNetReqError("createAlipayOrder", e, i); + else { + var n = i.alipay_url; + if (GameMgr.inConch) { + a = n.split("?"); + Laya.PlatformClass.createClass("layaair.majsoul.mjmgr").call("onAlipay", a[a.length - 1]) + } else if (GameMgr.iniOSWebview) { + var a = n.split("?"); + Laya.Browser.window.wkbridge.callNative("alipay", a[a.length - 1], function() {}) + } else + Laya.Browser.window.location.href = n + } + }) + } + } + }, null, !1), + r.clickHandler = Laya.Handler.create(this, function() { + e.locking || (e.close(null), + GameMgr.inChina && t.UI_Payment_Wxcode.Inst.show(e.goods_id, !1)) + }, null, !1), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close(null) + }, null, !1) + } + , + i.prototype.getShowedChoose = function() { + var e = this.root.getChildByName("lst") + , i = e.getChildByName("wx") + , n = e.getChildByName("alipay") + , a = e.getChildByName("alipay_code"); + if (game.Tools.CannotPay()) + return a.visible = !1, + n.visible = !0, + i.visible = !0, + [i, n]; + var r = []; + if (t.UI_Recharge.open_wx ? GameMgr.inConch || GameMgr.iniOSWebview || !Laya.Browser.onPC ? i.visible = !1 : (i.visible = !0, + r.push(i)) : i.visible = !1, + t.UI_Recharge.open_alipay) { + var s = -1; + GameMgr.inConch || GameMgr.iniOSWebview ? 0 == t.UI_Recharge.alipay_type || 2 == t.UI_Recharge.alipay_type || 3 == t.UI_Recharge.alipay_type ? s = 0 : 1 == t.UI_Recharge.alipay_type && (s = 1) : 1 == t.UI_Recharge.alipay_type || 2 == t.UI_Recharge.alipay_type ? s = 1 : 0 == t.UI_Recharge.alipay_type && (s = 0), + 1 == s ? GameMgr.inConch || GameMgr.iniOSWebview || !Laya.Browser.onPC ? (n.visible = !0, + r.push(n)) : n.visible = !1 : 0 == s ? (n.visible = !0, + r.push(n)) : n.visible = !1, + 1 == s ? (a.visible = !0, + r.push(a)) : a.visible = !1 + } else + n.visible = !1, + a.visible = !1; + return r + } + , + i.prototype.show = function(e) { + var i = this; + this.goods_id = 1010; + var n = cfg.mall.month_ticket.get(this.goods_id); + this.label_title.text = n.name, + this.label_desc.text = t.UI_Activity_Yueka.GetYuekaLeftDays(this.goods_id) >= 0 ? n.desc_detail2 : n.desc_detail, + this.label_price.text = n.price, + e || (e = ""), + this.root.getChildByName("extendinfo").text = e, + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })); + var a = this.root.getChildByName("lst") + , r = this.getShowedChoose(); + if (a.vScrollBarSkin = "", + r.length <= 2) + for (s = 0; s < r.length; s++) + r[s].y = 50 + 144 * s; + else + for (var s = 0; s < r.length; s++) + r[s].y = 144 * s; + a.vScrollBar.value = 0, + a.refresh() + } + , + i.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + })) + } + , + i + }(t.UIBase); + t.UI_Payment_Yueka_CHS = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.payment.buy_yueka_enUI) || this; + return t.pay_types = [], + t.current_goods_id = 0, + t._en_card_ = null, + t._adyen_date = {}, + t._adyen_btn_confirm = null, + t._adyen_btn_cancel = null, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.me.visible = !1, + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + t.locking || t.close() + } + ), + this.label_item_name = this.root.getChildByName("name"), + this.label_desc = this.root.getChildByName("desc"), + this.label_price = this.root.getChildByName("price"), + this.label_vip_word = this.root.getChildByName("label_vip_exp"), + this.label_vip = this.root.getChildByName("vip_exp"), + this.label_extendinfo = this.root.getChildByName("extendinfo"), + this.scroll_view = this.root.scriptMap["capsui.CScrollView"], + this.scroll_view.init_scrollview(new Laya.Handler(this,this.render_item)), + this.pay_types = [], + "jp" == GameMgr.client_type ? this.pay_types = ["CreditCard", "Paypal", "Docomo", "Au", "Softbank", "WebMoney"] : "en" == GameMgr.client_type && (this.pay_types = ["Paypal", "MasterCard", "Visa", "JCB", "Alipay"]) + } + , + i.prototype.show = function(e) { + var i = this; + this.current_goods_id = 2010, + "jp" == GameMgr.client_type ? this.current_goods_id = 2010 : "en" == GameMgr.client_type && (this.current_goods_id = 3010); + var n = cfg.mall.month_ticket.get(this.current_goods_id); + if (n) { + this.label_item_name.text = n["name_" + GameMgr.client_language]; + var a = "jp" == GameMgr.client_type ? "shelves_002" : "shelves_003"; + cfg.mall.goods_shelves.getGroup(a).forEach(function(t) { + t.goods_id == i.current_goods_id && (i.label_price.text = t.price) + }), + this.label_desc.text = t.UI_Activity_Yueka.GetYuekaLeftDays(this.current_goods_id) >= 0 ? n["desc_detail2_" + GameMgr.client_language] : n["desc_detail_" + GameMgr.client_language], + this.label_vip.text = n.vip_exp.toString(), + this.label_vip.x = this.label_vip_word.x + this.label_vip_word.textField.textWidth + 10, + e || (e = ""), + this.label_extendinfo.text = e, + this.scroll_view.reset(), + this.scroll_view.addItem(this.pay_types.length), + this.locking = !0, + this.enable = !0, + app.PlayerBehaviorStatistic.fb_trace_force(app.EBehaviorType.Purchase_Click), + app.PlayerBehaviorStatistic.google_trace_force(app.EBehaviorType.G_Purchase_click), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })) + } + } + , + i.prototype.render_item = function(t) { + var e = this + , i = t.index + , n = t.container; + n.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + e.onClickAtPay(e.pay_types[i]) + }, null, !1); + var a = this.pay_types[i]; + if ("jp" == GameMgr.client_type) + switch (a) { + case "CreditCard": + a = "クレジットカード"; + break; + case "Paypal": + a = "Paypal(ペイパル)"; + break; + case "Au": + a = "auかんたん決済"; + break; + case "Docomo": + a = "ドコモ払い"; + break; + case "Softbank": + a = "ソフトバンクまとめて支払い"; + break; + case "WebMoney": + a = "WebMoney" + } + n.getChildByName("btn").getChildByName("name").text = a + } + , + i.prototype.onClickAtPay = function(e) { + var i = this; + if ("jp" == GameMgr.client_type) + "CreditCard" == e ? (this.close(), + t.UI_Payment_Creditcard.Inst.show(this.current_goods_id)) : "Paypal" != e && "Au" != e && "Docomo" != e && "Softbank" != e && "WebMoney" != e || (t.UI_Payment_Loading.Inst.enable = !0, + app.NetAgent.sendReq2Lobby("Lobby", "createJP" + e + "Order", { + goods_id: this.current_goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id, + return_url: t.UI_Recharge.open_new_window() ? "Yo://CloseWindow" : GameMgr.Inst.link_url, + access_token: GameMgr.Inst.yostar_accessToken + }, function(n, a) { + if (n || a.error) { + if (n) + t.UIMgr.Inst.showNetReqError("createJP" + e + "Order", n, a); + else if (1991 == a.error.code) + t.UI_Agepending.Inst.show(); + else if (1992 == a.error.code) { + var r = JSON.parse(a.error.json_param); + t.UI_Agexiane.Inst.show(r.recharged, r.age) + } else + t.UIMgr.Inst.showNetReqError("createJP" + e + "Order", n, a); + t.UI_Payment_Loading.Inst.enable = !1 + } else { + var s = {}; + s.type = e, + s.lang = "ja", + s.accessToken = GameMgr.Inst.yostar_accessToken, + s.orderId = a.order_id, + "Paypal" == e || "WebMoney" == e ? s.itemName = cfg.mall.month_ticket.get(i.current_goods_id)["name_" + GameMgr.client_language] : "Au" == e && (s.itemName = game.Tools.ToDBC(cfg.mall.month_ticket.get(i.current_goods_id)["name_" + GameMgr.client_language])), + s.openNewWindow = t.UI_Recharge.open_new_window(), + Yo.execOrder(s), + t.UI_Payment_Loading.Inst.enable = !1 + } + })); + else if ("Paypal" == e) + t.UI_Payment_Loading.Inst.enable = !0, + app.NetAgent.sendReq2Lobby("Lobby", "createENPaypalOrder", { + goods_id: this.current_goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id, + return_url: t.UI_Recharge.open_new_window() ? "Yo://CloseWindow" : GameMgr.Inst.link_url, + access_token: GameMgr.Inst.yostar_accessToken + }, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("createENPaypalOrder", i, n), + t.UI_Payment_Loading.Inst.enable = !1; + else { + var a = {}; + a.type = e, + a.lang = "en", + a.accessToken = GameMgr.Inst.yostar_accessToken, + a.orderId = n.order_id, + a.openNewWindow = t.UI_Recharge.open_new_window(), + Yo.execOrder(a), + t.UI_Payment_Loading.Inst.enable = !1 + } + }); + else if ("Alipay" == e) + t.UI_Payment_Loading.Inst.enable = !0, + app.NetAgent.sendReq2Lobby("Lobby", "createENAlipayOrder", { + goods_id: this.current_goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id, + return_url: t.UI_Recharge.open_new_window() ? "Yo://CloseWindow" : GameMgr.Inst.link_url, + access_token: GameMgr.Inst.yostar_accessToken + }, function(e, i) { + if (e || i.error) + t.UIMgr.Inst.showNetReqError("createENAlipayOrder", e, i), + t.UI_Payment_Loading.Inst.enable = !1; + else { + var n = {}; + n.type = "Adyen.Alipay", + n.lang = "en", + n.accessToken = GameMgr.Inst.yostar_accessToken, + n.orderId = i.order_id, + n.openNewWindow = t.UI_Recharge.open_new_window(), + Yo.execOrder(n), + t.UI_Payment_Loading.Inst.enable = !1 + } + }); + else if ("MasterCard" == e || "Visa" == e || "JCB" == e) { + if (t.UI_Payment_Loading.Inst.enable = !0, + null == this._en_card_) { + var n = GameMgr.Inst.link_url; + "/" == n[n.length - 1] && (n = n.substr(0, n.length - 1)); + var a = GameMgr.config_data.checkoutShopperUrl; + Yo.generateOriginKey({ + originDomain: n + }, function(t, e) { + if (t) + console.error(t); + else { + var r = { + locale: "en_US", + originKey: e.originKeys[n], + loadingContext: a + "/checkoutshopper/" + } + , s = new AdyenCheckout(r) + , o = i; + o._en_card_ = s.create("card", { + onChange: function(t, e) { + if (t.isValid) { + var i = t.data + , n = i.encryptedCardNumber + , a = i.encryptedExpiryMonth + , r = i.encryptedExpiryYear + , s = i.encryptedSecurityCode; + o._adyen_date.encryptedCardNumber = n, + o._adyen_date.encryptedExpiryMonth = a, + o._adyen_date.encryptedExpiryYear = r, + o._adyen_date.encryptedSecurityCode = s, + o._adyen_date.isValid = !0, + o._adyen_btn_confirm.hidden = !1 + } else + o._adyen_date.encryptedCardNumber = "", + o._adyen_date.encryptedExpiryMonth = "", + o._adyen_date.encryptedExpiryYear = "", + o._adyen_date.encryptedSecurityCode = "", + o._adyen_date.isValid = !1, + o._adyen_btn_confirm.hidden = !0 + } + }).mount("#card"), + document.getElementById("container_card").hidden = !1 + } + }) + } else + document.getElementById("container_card").hidden = !1; + if (null == this._adyen_btn_confirm) { + this._adyen_btn_confirm = document.getElementById("card_confirm"), + this._adyen_btn_cancel = document.getElementById("card_cancel"); + var r = this; + this._adyen_btn_cancel.innerText = "Cancel", + this._adyen_btn_cancel.onclick = function() { + document.getElementById("container_card").hidden = !0, + t.UI_Payment_Loading.Inst.enable = !1 + } + , + this._adyen_btn_confirm.innerText = "Ok", + this._adyen_btn_confirm.onclick = function() { + document.getElementById("container_card").hidden = !0, + r._adyen_date.isValid ? app.NetAgent.sendReq2Lobby("Lobby", "createEN" + e + "Order", { + goods_id: i.current_goods_id, + client_type: 0, + account_id: GameMgr.Inst.account_id, + return_url: t.UI_Recharge.open_new_window() ? "Yo://CloseWindow" : GameMgr.Inst.link_url, + access_token: GameMgr.Inst.yostar_accessToken + }, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("createEN" + e + "Order", i, n), + t.UI_Payment_Loading.Inst.enable = !1; + else { + var a = {}; + a.type = "Adyen.CreditCard", + a.lang = "en", + a.accessToken = GameMgr.Inst.yostar_accessToken, + a.orderId = n.order_id, + a.encryptedCardNumber = r._adyen_date.encryptedCardNumber, + a.encryptedExpiryMonth = r._adyen_date.encryptedExpiryMonth, + a.encryptedExpiryYear = r._adyen_date.encryptedExpiryYear, + a.encryptedSecurityCode = r._adyen_date.encryptedSecurityCode, + a.openNewWindow = t.UI_Recharge.open_new_window(), + Yo.execOrder(a), + t.UI_Payment_Loading.Inst.enable = !1 + } + }) : t.UI_Payment_Loading.Inst.enable = !1 + } + , + this._adyen_btn_confirm.hidden = !0 + } + } + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Payment_Yueka_EN = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(e) { + this.tasks = [], + this.left_scrollview = null, + this.panel_right = null, + this.select_index = 0, + this.notask = null, + this.opening_tasks = [], + this.me = e, + this.me.visible = !1, + this.notask = this.me.getChildByName("notask"), + this.left_scrollview = this.me.getChildByName("left").scriptMap["capsui.CScrollView"], + this.left_scrollview.init_scrollview(Laya.Handler.create(this, this.renderLeft, null, !1)), + this.panel_right = this.me.getChildByName("right"), + cfg.activity && cfg.activity.activity && ("chs_t" == GameMgr.client_language && cfg.activity.activity.get(t.UI_Activity_Yijidagong.activity_id) && this.addTask(new t.UI_Activity_Yijidagong), + "chs_t" == GameMgr.client_language && cfg.activity.activity.get(t.UI_Activity_Wuyi_Task_Random.activity_id) && this.addTask(new t.UI_Activity_Wuyi_Task_Random), + "chs_t" == GameMgr.client_language && cfg.activity.activity.get(t.UI_Activity_Wuyi_Task_Period.activity_id) && this.addTask(new t.UI_Activity_Wuyi_Task_Period), + "chs_t" == GameMgr.client_language && cfg.activity.activity.get(t.UI_Activity_Wanxianggengxin.activity_id) && this.addTask(new t.UI_Activity_Wanxianggengxin)), + this.addTask(new t.UI_Activity_Yueka), + this.addTask(new t.UI_Activity_Xuanshang), + this.addTask(new t.UI_Activity_Jiuji) + } + return e.prototype.haveRedPoint = function() { + for (var t = 0; t < this.tasks.length; t++) + if (this.tasks[t].isopen() && this.tasks[t].haveRedPoint()) + return !0; + return !1 + } + , + e.prototype.need_popout = function() { + if (game.Tools.CannotPay()) + return !1; + var t = 0 + , e = Laya.LocalStorage.getItem("activity_popout"); + e && "" != e && (t = parseInt(e)); + var i = Date.now(); + if (i < t + 864e5) + return !1; + for (var n = 0; n < this.tasks.length; n++) + if (this.tasks[n].isopen() && this.tasks[n].need_popout()) + return Laya.LocalStorage.setItem("activity_popout", i.toString()), + !0; + return !1 + } + , + e.prototype.addTask = function(t) { + this.panel_right.addChild(t.me), + this.tasks.push(t) + } + , + e.prototype.show = function() { + this.me.visible = !0, + this.left_scrollview.reset(), + this.select_index = 0, + this.opening_tasks = []; + for (var t = 0; t < this.tasks.length; t++) + this.tasks[t].isopen() && this.opening_tasks.push(t); + this.opening_tasks.length > 0 ? (this.left_scrollview.me.visible = !0, + this.panel_right.visible = !0, + this.notask.visible = !1, + this.left_scrollview.addItem(this.opening_tasks.length), + this.tasks[this.opening_tasks[this.select_index]].show()) : (this.left_scrollview.me.visible = !1, + this.panel_right.visible = !1, + this.notask.visible = !0) + } + , + e.prototype.hide = function() { + this.me.visible = !1, + this.select_index >= 0 && this.select_index < this.opening_tasks.length && (this.tasks[this.opening_tasks[this.select_index]].hide(), + this.left_scrollview.wantToRefreshItem(this.select_index)), + this.select_index = -1, + this.left_scrollview.reset() + } + , + e.prototype.renderLeft = function(t) { + var e = this + , i = t.index + , n = t.container + , a = n.getChildByName("bg"); + a.skin = game.Tools.localUISrc(this.select_index == i ? "myres/lobby/act_choosed.png" : "myres/lobby/act_unchoosen.png"), + n.clickHandler = Laya.Handler.create(this, function() { + if (e.select_index != i) { + var t = e.select_index; + e.select_index = i, + t >= 0 && t < e.opening_tasks.length && (e.tasks[e.opening_tasks[t]].hide(), + e.left_scrollview.wantToRefreshItem(t)), + a.skin = game.Tools.localUISrc("myres/lobby/act_choosed.png"), + e.select_index = i, + e.tasks[e.opening_tasks[e.select_index]].show() + } + }, null, !1), + n.getChildByName("title").text = this.tasks[this.opening_tasks[i]].activity_name, + n.getChildByName("title").fontSize = "en" == GameMgr.client_language ? 30 : 34, + n.getChildByName("redpoint").visible = this.tasks[this.opening_tasks[i]].haveRedPoint() + } + , + e.prototype.refreshAllLeft = function() { + this.left_scrollview.wantToRefreshAll() + } + , + e + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.lobby.activityUI) || this; + return t.root = null, + t.tabs = [], + t.redpoint = null, + t.page_huodong = null, + t.select_tab = -1, + t.locking = !1, + n.Inst = t, + t + } + return __extends(n, i), + Object.defineProperty(n, "haveRedPoint", { + get: function() { + return !(!this.Inst || !this.Inst.page_huodong.haveRedPoint()) + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(n, "need_popout", { + get: function() { + return !(!this.Inst || !this.Inst.page_huodong.need_popout()) + }, + enumerable: !0, + configurable: !0 + }), + n.init = function() { + var e = this; + this.activities = {}, + this.activity_tasks = {}, + this.activity_exchange = {}, + app.NetAgent.sendReq2Lobby("Lobby", "fetchActivityList", {}, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("fetchActivityList", i, n); + else { + if (n.activities) + for (var a = 0; a < n.activities.length; a++) + e.activities[n.activities[a].activity_id] = 1; + e.activity_is_running(t.UI_Activity_Fanpai.activity_id) && t.UI_Activity_Fanpai.Init() + } + }), + app.NetAgent.sendReq2Lobby("Lobby", "fetchAccountActivityData", {}, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("fetchAccountActivityData", i, n); + else { + if (n.exchange_records) + for (r = 0; r < n.exchange_records.length; r++) { + var a = n.exchange_records[r]; + e.activity_exchange[a.exchange_id] = a + } + if (n.task_progress_list) + for (r = 0; r < n.task_progress_list.length; r++) { + s = n.task_progress_list[r]; + e.activity_tasks[s.id] = s + } + if (n.period_task_progress_list) + for (r = 0; r < n.period_task_progress_list.length; r++) { + s = n.period_task_progress_list[r]; + e.activity_period_tasks[s.id] = s + } + if (n.random_task_progress_list) + for (var r = 0; r < n.random_task_progress_list.length; r++) { + var s = n.random_task_progress_list[r]; + e.activity_random_tasks[s.id] = s + } + t.UI_Activity_DuanWu_Point.init(n), + t.UI_Activity_DuanWu_Rank.init(n), + t.UI_Activity_Fanpai.onTaskDataUpdate(n.flip_task_progress_list), + t.UI_Activity_Sign.init(n), + t.UI_Activity_Yijidagong.init(n) + } + }), + app.NetAgent.AddListener2Lobby("NotifyActivityTaskUpdate", new Laya.Handler(this,function(t) { + if (e.activity_tasks = {}, + t.progresses) + for (var i = 0; i < t.progresses.length; i++) { + var n = t.progresses[i]; + e.activity_tasks[n.id] = n + } + } + )), + app.NetAgent.AddListener2Lobby("NotifyActivityPeriodTaskUpdate", new Laya.Handler(this,function(t) { + if (e.activity_period_tasks = {}, + t.progresses) + for (var i = 0; i < t.progresses.length; i++) { + var n = t.progresses[i]; + e.activity_period_tasks[n.id] = n + } + } + )), + app.NetAgent.AddListener2Lobby("NotifyAccountRandomTaskUpdate", new Laya.Handler(this,function(t) { + if (e.activity_random_tasks = {}, + t.progresses) + for (var i = 0; i < t.progresses.length; i++) { + var n = t.progresses[i]; + e.activity_random_tasks[n.id] = n + } + } + )), + app.NetAgent.AddListener2Lobby("NotifyActivityChange", new Laya.Handler(this,function(t) { + if (t.end_activities) + for (n = 0; n < t.end_activities.length; n++) { + var i = t.end_activities[n]; + e.activities[i] && delete e.activities[i] + } + if (t.new_activities) + for (var n = 0; n < t.new_activities.length; n++) { + var a = t.new_activities[n]; + e.activities[a.activity_id] = 1 + } + } + )) + } + , + n.accountUpdate = function(t) { + if (t.activity_task && t.activity_task.progresses) + for (e = 0; e < t.activity_task.progresses.length; e++) { + i = t.activity_task.progresses[e]; + this.activity_tasks[i.id] = i + } + if (t.activity_period_task && t.activity_period_task.progresses) + for (e = 0; e < t.activity_period_task.progresses.length; e++) { + i = t.activity_period_task.progresses[e]; + this.activity_period_tasks[i.id] = i + } + if (t.activity_random_task && t.activity_random_task.progresses) + for (var e = 0; e < t.activity_random_task.progresses.length; e++) { + var i = t.activity_random_task.progresses[e]; + this.activity_random_tasks[i.id] = i + } + } + , + n.activity_is_running = function(t) { + return !!this.activities[t] + } + , + n.getTaskList = function(t) { + var e = []; + for (var i in this.activity_tasks) { + var n = parseInt(i) + , a = cfg.activity.task.get(n); + a && a.activity_id === t && e.push(this.activity_tasks[i]) + } + return e + } + , + n.getRandomTaskList = function(e) { + var i = []; + for (var n in this.activity_random_tasks) { + var a = parseInt(n) + , r = t.UI_Activity_Task_Random.FindTaskInfo(a); + r && r.activity_id === e && i.push(this.activity_random_tasks[n]) + } + return i + } + , + n.getPeriodTaskList = function(t) { + var e = []; + for (var i in this.activity_period_tasks) { + var n = parseInt(i) + , a = cfg.activity.period_task.get(n); + a && a.activity_id === t && e.push(this.activity_period_tasks[i]) + } + return e + } + , + n.getExchangeList = function(t) { + var e = this + , i = []; + return cfg.activity.exchange.forEach(function(n) { + n.activity_id === t && (e.activity_exchange[n.id] ? i.push(e.activity_exchange[n.id]) : i.push({ + exchange_id: n.id, + count: 0 + })) + }), + i + } + , + n.onExchanged = function(t) { + this.activity_exchange[t] || (this.activity_exchange[t] = { + exchange_id: t, + count: 0 + }), + this.activity_exchange[t].count++ + } + , + n.onTaskRewarded = function(e) { + this.activity_tasks[e] && (this.activity_tasks[e].rewarded = !0), + this.Inst && this.Inst.page_huodong.refreshAllLeft(), + t.UI_Lobby.Inst.refreshInfo() + } + , + n.onTreasureRateUp = function(t) { + var e = ""; + for (var i in this.activities) { + var n = parseInt(i) + , a = cfg.activity.activity.get(n); + if (a && "chest_up" === a.type) { + var r = cfg.activity.chest_up.getGroup(n); + r && r.forEach(function(i) { + i.chest_id == t && (e = i.img) + }) + } + } + return e + } + , + n.onTreasureRateUpRetID = function(t) { + var e = 0; + for (var i in this.activities) { + var n = parseInt(i) + , a = cfg.activity.activity.get(n); + if (a && "chest_up" === a.type) { + var r = cfg.activity.chest_up.getGroup(n); + r && r.forEach(function(i) { + i.chest_id == t && (e = i.activity_id) + }) + } + } + return e + } + , + n.prototype.onCreate = function() { + var i = this; + this.root = this.me.getChildByName("root"); + for (var n = 0; n < 2; n++) + this.tabs.push(this.root.getChildByName("tabs").getChildByName("tab" + n.toString())), + this.tabs[n].clickHandler = Laya.Handler.create(this, this._switchTab, [n, !1], !1); + this.redpoint = this.tabs[1].getChildByName("redpoint"), + this.redpoint.visible = !1, + new t.UI_Mail(this.root.getChildByName("page_mail")), + this.page_huodong = new e(this.root.getChildByName("page_huodong")), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + i.close() + }, null, !1) + } + , + n.prototype.show = function() { + var e = this; + this.enable = !0, + this.locking = !0, + this._switchTab(0, !0), + this.refresh_redpoint(), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + n.prototype.onDisable = function() { + this.page_huodong.hide(), + t.UI_Mail.Inst.hide() + } + , + n.prototype._switchTab = function(e, i) { + (i || this.select_tab != e) && (this.select_tab = e, + this.tabs[0].getChildByName("img").skin = game.Tools.localUISrc(0 == e ? "myres/lobby/act_bright.png" : "myres/lobby/act_dark.png"), + this.tabs[1].getChildByName("img").skin = game.Tools.localUISrc(1 == e ? "myres/lobby/mail_bright.png" : "myres/lobby/mail_dark.png"), + 1 == this.select_tab ? (this.page_huodong.hide(), + t.UI_Mail.Inst.show()) : (this.page_huodong.show(), + t.UI_Mail.Inst.hide())) + } + , + n.prototype.refresh_redpoint = function() { + this.redpoint.visible = t.UI_Mail.haveRedPoint, + this.page_huodong.refreshAllLeft() + } + , + n.Inst = null, + n.activities = {}, + n.activity_tasks = {}, + n.activity_period_tasks = {}, + n.activity_random_tasks = {}, + n.activity_exchange = {}, + n + }(t.UIBase); + t.UI_Activity = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby["page_sign_" + GameMgr.client_language + "UI"]) || this; + return t.cells = [], + t.locking = !1, + t.scene_effect = null, + t.btn_effect = null, + t.bang_effect = null, + i.Inst = t, + t + } + return __extends(i, e), + i.init = function(t) { + if (this.sign_in_count = 0, + this.last_sign_in_time = 0, + t && t.sign_in_data) + for (var e = 0; e < t.sign_in_data.length; e++) { + var i = t.sign_in_data[e]; + i.activity_id == this.activity_id && (this.sign_in_count = i.sign_in_count, + this.last_sign_in_time = i.last_sign_in_time) + } + } + , + i.prototype.need_jump = function() { + if (!t.UI_Activity.activity_is_running(i.activity_id)) + return !1; + var e = cfg.activity.daily_sign.getGroup(i.activity_id); + if (i.sign_in_count > e[e.length - 1].day) + return !1; + return !game.Tools.isPassedRefreshTime(i.last_sign_in_time) + } + , + i.prototype.onCreate = function() { + var e = this; + this.dbg = this.me.getChildByName("dbg"), + this.root = this.me.getChildByName("root"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_confirm.clickHandler = new Laya.Handler(this,function() { + e.locking || e.close() + } + ), + this.btn_sign = this.root.getChildByName("btn_sign"), + this.btn_sign.clickHandler = new Laya.Handler(this,function() { + e.locking || (e.btn_sign.visible = !1, + e.btn_effect && (e.btn_effect.destory(), + e.btn_effect = null), + app.NetAgent.sendReq2Lobby("Lobby", "doActivitySignIn", { + activity_id: i.activity_id + }, function(i, n) { + i || n.error ? (t.UIMgr.Inst.showNetReqError("doActivitySignIn", i, n), + e.btn_confirm.visible = !0) : e.after_sign(n) + })) + } + ), + this.label_time = this.root.getChildByName("time"), + this.label_count = this.root.getChildByName("count"); + for (var n = 0; n < 5; n++) { + var a = this.root.getChildByName("c" + n); + this.cells.push({ + me: a, + day: a.getChildByName("day"), + icon: a.getChildByName("icon"), + container_count: a.getChildByName("count"), + count: a.getChildByName("count").getChildByName("val"), + mask: a.getChildByName("m"), + getted: a.getChildByName("getted"), + btn: a.getChildByName("btn") + }) + } + this.container_anim = this.root.getChildByName("container_anim"), + this.contianer_fly = this.me.getChildByName("fly") + } + , + i.prototype.show = function() { + var e = this; + this.enable = !0, + this.locking = !0, + this.dbg.alpha = 0, + Laya.Tween.to(this.dbg, { + alpha: .5 + }, 150); + var n = game.Tools.isPassedRefreshTime(i.last_sign_in_time) + , a = cfg.activity.daily_sign.getGroup(i.activity_id); + i.sign_in_count > a[a.length - 1].day && (n = !0), + this.btn_confirm.visible = !1, + this.btn_sign.visible = !1, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.scene_effect = game.FrontEffect.Inst.create_ui_effect(e.container_anim, "scene/sign_anim.lh", new Laya.Point(0,0), .92), + n ? (e.btn_confirm.visible = !0, + t.UIBase.anim_pop_out(e.btn_confirm, Laya.Handler.create(e, function() { + e.locking = !1, + e.btn_effect = game.FrontEffect.Inst.create_ui_effect(e.btn_confirm, "scene/sign_btn_confirm.lh", new Laya.Point(0,0), .92) + }))) : (e.btn_sign.visible = !0, + t.UIBase.anim_pop_out(e.btn_sign, Laya.Handler.create(e, function() { + e.locking = !1, + e.btn_effect = game.FrontEffect.Inst.create_ui_effect(e.btn_sign, "scene/sign_btn_confirm.lh", new Laya.Point(0,0), .92) + }))) + })), + this.label_count.text = i.sign_in_count.toString(); + for (var r = function(n) { + var r = s.cells[n]; + n < a.length ? (r.me.visible = !0, + r.day.text = (a[n].day + 1).toString(), + game.LoadMgr.setImgSkin(r.icon, game.GameUtility.get_item_view(a[n].reward_id).icon), + a[n].reward_count > 1 ? (r.container_count.visible = !0, + r.count.text = a[n].reward_count.toString()) : r.container_count.visible = !1, + a[n].day < i.sign_in_count ? (r.me.skin = game.Tools.localUISrc("myres/activity_sign/cell1.png"), + r.mask.visible = !0, + r.getted.visible = !0, + r.day.visible = !1) : (r.me.skin = game.Tools.localUISrc("myres/activity_sign/cell0.png"), + r.mask.visible = !1, + r.getted.visible = !1, + r.day.visible = !0), + r.btn.clickHandler = Laya.Handler.create(s, function() { + e.locking || t.UI_ItemDetail.Inst.show(a[n].reward_id) + }, null, !1)) : r.me.visible = !1 + }, s = this, o = 0; o < this.cells.length; o++) + r(o); + this.contianer_fly.visible = !1 + } + , + i.prototype.after_sign = function(t) { + var e = this; + i.sign_in_count = t.sign_in_count, + this.label_count.text = i.sign_in_count.toString(), + i.last_sign_in_time = Date.now() / 1e3; + var n = 0; + if (t.rewards && t.rewards.length > 0) { + for (var a = t.rewards[0].resource_id, r = t.rewards[0].count, s = 0, o = cfg.activity.daily_sign.getGroup(i.activity_id), l = 0; l < this.cells.length && o[l].day < i.sign_in_count; l++) + s = l; + this.bang_effect = game.FrontEffect.Inst.create_ui_effect(this.cells[s].icon, "scene/sign_bang.lh", new Laya.Point(50,50), 1), + Laya.Tween.to(this.cells[s].me, { + scaleX: 1.1, + scaleY: 1.1 + }, 150, Laya.Ease.strongOut, Laya.Handler.create(this, function() { + e.cells[s].mask.visible = !0, + e.cells[s].me.skin = game.Tools.localUISrc("myres/activity_sign/cell1.png"), + e.cells[s].mask.visible = !0, + e.cells[s].getted.visible = !0, + e.cells[s].day.visible = !1, + Laya.Tween.to(e.cells[s].me, { + scaleX: 1, + scaleY: 1 + }, 150, Laya.Ease.strongIn) + })), + Laya.timer.once(150, this, function() { + e.fly(s, a, r) + }), + n += 1200 - 100 * s + } + Laya.timer.once(n, this, function() { + e.btn_confirm.visible = !0, + e.btn_confirm.alpha = 0, + e.btn_confirm.scaleX = .3, + e.btn_confirm.scaleY = .3, + Laya.Tween.to(e.btn_confirm, { + alpha: 1, + scaleX: 1, + scaleY: 1 + }, 300, Laya.Ease.backOut, Laya.Handler.create(e, function() { + e.locking = !1, + e.btn_effect = game.FrontEffect.Inst.create_ui_effect(e.btn_confirm, "scene/sign_btn_confirm.lh", new Laya.Point(0,0), .92) + })) + }) + } + , + i.prototype.fly = function(t, e, i) { + var n = this + , a = [] + , r = [] + , s = 602 + 180 * t + , o = 1516 - s; + 0 == t ? (a = [.03839144176983065, .08075083371928198, .12677809146845762, .17612483396671413, .2283969297056089, .283157480886999, .3399302237326345, .3982033196112767, .45743350834292495, .5170505919200503, .5764622140107303, .6350588979813836, .6922193038348968, .7473156624081786, .7997193434407075, .848806512718124, .8939638324297688, .9345941581630198, .9701221856021484, 1], + r = [1.05486031622015, 1.1025014876540495, 1.1419186222670503, 1.172166328325407, 1.1923688734075806, 1.2017298330120236, 1.1995411430754468, 1.185191475051153, 1.1581738571915925, 1.1180924712970854, 1.0646685603929245, .9977453895348641, .9172922091688747, .8234071781320085, .7163192114206646, .5963887262108871, .46410726823041987, .3200960093896508, .16510311651235937, 0]) : 1 == t ? (a = [.04723788579137449, .09746084645237137, .15032891016852976, .2054657846293835, .26246148737805847, .32087530534184944, .3802390626355255, .44006067309420704, .4998279515287618, .5590126554102042, .6170747266186001, .6734667010299171, .727638252095524, .7790408332023884, .8271323824837878, .8713820529229818, .911274930026759, .9463166990746035, .97603822396657, 1], + r = [1.032846013109562, 1.0588804776205825, 1.0775019085468838, 1.0881599790863188, 1.0903615986909767, 1.0836765880741932, 1.0677428999207725, 1.0422713372772845, 1.007049725203436, .9619464952380509, .9069136465458488, .8419890522332127, .7672980842191094, .6830545351858196, .5895608214756582, .48720745630528706, .37647178829799877, .25791600604477544, .1321844151545615, 0]) : 2 == t ? (a = [.06219309888665577, .12570968865850096, .19014236644205387, .255067654997636, .3200487753038433, .3846385644365765, .4483825193677477, .5108219461457295, .5714971929048396, .6299509442734683, .6857315540294893, .7383963922947736, .787515183160727, .832673308415723, .873475052993927, .9095467678844423, .9405399265437158, .9661340513264172, .9860394870960626, 1], + r = [1.0108317099989739, 1.0152594675871152, 1.013085194826717, 1.0041536298472304, .988354323974373, .965623343136363, .9359446567660984, .8993511995034158, .8559255932152794, .8058005191790164, .7491587326987733, .6862327149315613, .617303959269344, .5427018922396307, .4628024315306518, .37802618639968705, .28883630836557783, .1957360026999001, .09926571379676351, 0]) : (t = 3) ? (a = [.09292127555173313, .1837520186719537, .2719462772414337, .35698362409166245, .43837222183646257, .5156516551719209, .5883955144158353, .6562137159277155, .7187545470094764, .7757064248969908, .8267993615241047, .871806127837017, .9105431135703715, .9428708805169715, .9686944094492825, .987963042948389, 1.0006701284576172, 1.006852367886271, 1.0065888820369433, 1], + r = [.9888174068883858, .9716384575536477, .9486684811065507, .920147280608142, .8863470492577691, .8475700981985328, .8041464136114239, .7564310617295474, .7048014612271225, .6496545431199819, .591403818851698, .5304763776299101, .46730983431957895, .40234924929344157, .33604404158564555, .26884491649408704, .20120082843315673, .13355599935502485, .06634701243896553, 0]) : (a = [.19227950976257466, .3714293899145193, .536455695327166, .6865245154161713, .8209659839480091, .9392768346208134, 1.041121496373269, 1.1263317340475216, 1.194904851588979, 1.2470004863389106, 1.2829360340419496, 1.3031807549220464, 1.3083486214357474, 1.2991899780522072, 1.2765820925723104, 1.2415186869623387, 1.1950985434584933, 1.138513288659109, 1.073034464463419, 1], + r = [.9667963900531529, .9280041443759188, .8842321221549966, .8361153118663884, .7843086652777567, .7294808504412643, .6723079758110787, .6134673374543755, .553631240757115, .4934609470621494, .4336007943264137, .37467253915799303, .31726996550737085, .26195380285748554, .20924699400418142, .15963034946439264, .11353862221835313, .07135703291062376, .03341827183098214, 0]), + this.contianer_fly.visible = !0; + var l = this.contianer_fly.getChildByName("icon") + , h = game.GameUtility.get_item_view(e); + game.LoadMgr.setImgSkin(l, h.icon), + i > 1 ? (l.getChildByName("count").visible = !0, + l.getChildByName("count").getChildByName("val").text = i.toString()) : l.getChildByName("count").visible = !1; + var c = this.contianer_fly.getChildByName("btn_bag"); + c.visible = !1, + l.x = s, + l.y = 617, + l.alpha = 1, + l.scaleX = 1, + l.scaleY = 1, + l.visible = !0; + var _ = 800 - 100 * t + , u = Laya.timer.currTimer + , d = function() { + var t = Laya.timer.currTimer - u; + if (t >= _) + l.visible = !1, + Laya.timer.clear(n, d); + else { + _ - t < 100 && (c.visible = !0, + Laya.Tween.to(c, { + scaleX: 1.1, + scaleY: 1.1 + }, 100, Laya.Ease.strongOut, Laya.Handler.create(n, function() { + Laya.Tween.to(c, { + scaleX: 1, + scaleY: 1 + }, 100, Laya.Ease.strongIn, Laya.Handler.create(n, function() { + c.visible = !1 + })) + }))); + var e = Math.min(a.length, r.length) + , i = t / _ + , h = Math.floor((e - 1) * i) + , f = (e - 1) * i - h + , p = a[h] * (1 - f) + a[h + 1] * f + , m = r[h] * (1 - f) + r[h + 1] * f; + l.x = s + o * p, + l.y = 617 + 321 * (1 - m); + if (i > .6) { + var g = (i - .6) / .4 + , y = 1 * (1 - g) + .5 * g; + l.scaleX = y, + l.scaleY = y + } else + l.scaleX = 1, + l.scaleY = 1 + } + }; + Laya.timer.frameLoop(1, this, d) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + this.btn_effect && (this.btn_effect.destory(), + this.btn_effect = null), + this.bang_effect && (this.bang_effect.destory(), + this.bang_effect = null), + this.scene_effect && (this.scene_effect.destory(), + this.scene_effect = null), + Laya.Tween.to(this.dbg, { + alpha: 0 + }, 150), + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.enable = !1, + e.locking = !1 + })) + } + , + i.prototype.onDisable = function() { + this.btn_effect && (this.btn_effect.destory(), + this.btn_effect = null), + this.bang_effect && (this.bang_effect.destory(), + this.bang_effect = null), + this.scene_effect && (this.scene_effect.destory(), + this.scene_effect = null) + } + , + i.activity_id = 1038, + i.sign_in_count = 0, + i.last_sign_in_time = 0, + i + }(t.UIBase); + t.UI_Activity_Sign = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.entrance.add2desktopUI) || this; + return t.skin = "", + t.loaded = !1, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.img = this.root.getChildByName("img"), + Laya.Browser.onAndroid || Laya.Browser.onAndriod || GameMgr.inConch ? this.skin = game.Tools.localUISrc("myres2/treasurehead/add2desktop_android.png") : (Laya.Browser.onIOS || GameMgr.iniOSWebview) && (this.skin = game.Tools.localUISrc("myres2/treasurehead/add2desktop_ios.png")), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + t.close() + } + ) + } + , + i.prototype.show = function() { + var e = this; + this.enable = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })), + this.loaded = !1, + this.img.skin = "", + "" != this.skin && Laya.loader.load(this.skin, Laya.Handler.create(this, function() { + e.loaded = !0, + e.enable ? e.img.skin = e.skin : (e.loaded = !1, + Laya.loader.clearTextureRes(e.skin)) + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + e.loaded && (e.loaded = !1, + Laya.loader.clearTextureRes(e.skin)) + })) + } + , + i + }(t.UIBase); + t.UI_Add2Desktop = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.add_roomUI) || this; + return t.txtinput = null, + t.locking = !1, + t.root = null, + i.Inst = t, + t + } + return __extends(i, e), + i.Show = function() { + this.Inst._show() + } + , + i.Close = function() { + null != this.Inst && this.Inst._hide() + } + , + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_cancel").clickHandler = Laya.Handler.create(this, function() { + t.locking || t._hide() + }, null, !1), + this.root.getChildByName("btn_create").clickHandler = Laya.Handler.create(this, this._btnAddRoom, null, !1), + this.txtinput = this.root.getChildByName("input").getChildByName("txtinput"); + for (var e = this.root.getChildByName("numpad"), i = function(i) { + var a = e.getChildByName("n" + i) + , r = a.getChildByName("s"); + r.alpha = 0; + var s = !1; + a.on("mousedown", n, function() { + r.alpha = 0, + s = !0, + Laya.Tween.to(r, { + alpha: 1 + }, 50, null, null, 0, !0, !0) + }), + a.on("mouseup", n, function() { + Laya.Tween.to(r, { + alpha: 0 + }, 50, null, null, 0, !0, !0), + s && t.txtinput.text.length < t.txtinput.maxChars && (t.txtinput.text = t.txtinput.text + i.toString()), + s = !1 + }), + a.on("mouseout", n, function() { + Laya.Tween.to(r, { + alpha: 0 + }, 50, null, null, 0, !0, !0), + s = !1 + }) + }, n = this, a = 0; a < 10; a++) + i(a); + var r = (o = e.getChildByName("clear")).getChildByName("s"); + r.alpha = 0; + var s = !1; + o.on("mousedown", this, function() { + r.alpha = 0, + s = !0, + Laya.Tween.to(r, { + alpha: 1 + }, 50, null, null, 0, !0, !0) + }), + o.on("mouseup", this, function() { + Laya.Tween.to(r, { + alpha: 0 + }, 50, null, null, 0, !0, !0), + s && (t.txtinput.text = ""), + s = !1 + }), + o.on("mouseout", this, function() { + Laya.Tween.to(r, { + alpha: 0 + }, 50, null, null, 0, !0, !0), + s = !1 + }); + var o = e.getChildByName("del") + , l = o.getChildByName("s"); + l.alpha = 0; + var h = !1; + o.on("mousedown", this, function() { + l.alpha = 0, + h = !0, + Laya.Tween.to(l, { + alpha: 1 + }, 50, null, null, 0, !0, !0) + }), + o.on("mouseup", this, function() { + if (Laya.Tween.to(l, { + alpha: 0 + }, 50, null, null, 0, !0, !0), + h) { + var e = t.txtinput.text; + e.length > 0 && (e = e.substr(0, e.length - 1)), + t.txtinput.text = e + } + h = !1 + }), + o.on("mouseout", this, function() { + Laya.Tween.to(l, { + alpha: 0 + }, 50, null, null, 0, !0, !0), + h = !1 + }) + } + , + i.prototype._show = function() { + var e = this; + this.enable = !0, + this.txtinput.text = "", + this.locking || (this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + }))) + } + , + i.prototype._hide = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i.prototype._btnAddRoom = function() { + var e = this; + this.locking || (this._hide(), + app.NetAgent.sendReq2Lobby("Lobby", "joinRoom", { + room_id: parseInt(this.txtinput.text) + }, function(i, n) { + i || n.error ? t.UIMgr.Inst.showNetReqError("joinRoom", i, n) : (e.enable = !1, + t.UI_Lobby.Inst.enable = !1, + t.UI_WaitingRoom.Inst.updateData(n.room), + t.UIMgr.Inst.ShowWaitingRoom()) + })) + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_Add_Room = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.ageconfirmUI) || this; + return t.birth_day = 0, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("agepending").getChildByName("root"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_close = this.root.getChildByName("btn_close"), + this.nianling = this.root.getChildByName("sheding"), + this.shangxian = this.root.getChildByName("shangxian"), + this.btn_confirm.clickHandler = Laya.Handler.create(this, function() { + e.locking || (e.close(), + app.NetAgent.sendReq2Lobby("Lobby", "modifyBirthday", { + birthday: e.birth_day + }, function(i, n) { + i || n.error ? t.UIMgr.Inst.showNetReqError("modifyBirthday", i, n) : (GameMgr.Inst.account_data.birthday = e.birth_day, + t.UI_Agesuccess.Inst.show()) + })) + }, null, !1), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1) + } + , + i.prototype.show = function(e, i, n) { + var a = this; + this.enable = !0, + this.locking = !0; + var r = "生年月日を" + e + "年" + i + "月に設定しますか?"; + this.nianling.text = r; + var s = new Date; + s.setFullYear(parseInt(e), parseInt(i) - 1, 1), + s.setHours(1, 0, 0, 0), + this.birth_day = Math.floor(s.getTime() / 1e3), + n < 0 ? (this.shangxian.visible = !1, + this.root.getChildByName("xiaofei1").visible = !1, + this.root.getChildByName("xiaofei0").visible = !1) : (this.shangxian.text = n.toString(), + this.shangxian.visible = !0, + this.root.getChildByName("xiaofei1").visible = !0, + this.root.getChildByName("xiaofei0").visible = !0), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + a.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Ageconfirm = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e, i, n, a) { + var r = this; + this.isopen = !1, + this.locking = !1, + this.showed = !1, + this.when_close = null, + this.when_choose = null, + this.datas = [], + this.start_rate = 0, + this.me = t, + t.visible = !1, + this.isopen = !1, + this.locking = !1, + this.when_close = e, + this.when_choose = i, + this.datas = n, + this.start_rate = a, + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.refresh_item)), + this.bg = this.me.getChildByName("bg"), + this.content = this.me.getChildByName("content"), + t.getChildByName("btn_open").clickHandler = new Laya.Handler(this,function() { + r.locking || (r.isopen ? r.close() : r.show()) + } + ) + } + return t.prototype.reset = function() { + this.isopen = !1, + this.locking = !1, + this.me.visible = !0, + this.bg.visible = !1, + this.content.visible = !1 + } + , + t.prototype.show = function() { + var t = this; + this.locking = !0, + this.isopen = !0, + this.bg.visible = !0, + this.bg.height = 10, + Laya.Tween.to(this.bg, { + height: 285 + }, 150, Laya.Ease.linearNone), + this.content.visible = !0, + this.content.alpha = 0, + Laya.Tween.to(this.content, { + alpha: 1 + }, 150, Laya.Ease.linearNone), + Laya.timer.once(150, this, function() { + t.locking = !1 + }), + this.showed || (this.scrollview.reset(), + this.scrollview.addItem(this.datas.length), + this.showed = !0, + this.scrollview.rate = this.start_rate) + } + , + t.prototype.refresh_item = function(t) { + var e = this + , i = t.index + , n = t.container; + n.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + e.locking || (e.close(), + e.when_choose && e.when_choose.runWith(e.datas[i])) + }, null, !1), + n.getChildByName("btn").getChildByName("txt").text = this.datas[i] + } + , + t.prototype.close = function() { + var t = this; + this.locking = !0, + Laya.Tween.to(this.content, { + alpha: 0 + }, 150, Laya.Ease.linearNone), + Laya.Tween.to(this.bg, { + height: 10 + }, 150, Laya.Ease.linearNone), + Laya.timer.once(150, this, function() { + t.locking = !1, + t.bg.visible = !1, + t.content.visible = !1, + t.isopen = !1, + t.when_close && t.when_close.run() + }) + } + , + t + }() + , i = function() { + function t(t, i, n) { + var a = this; + this.locking = !1, + this.me = t, + t.visible = !1, + this.me.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + a.dropdown_mouth.locking || a.dropdown_year.locking || (a.dropdown_mouth.isopen && a.dropdown_mouth.close(), + a.dropdown_year.isopen && a.dropdown_year.close()) + } + ); + this.dropdown_mouth = new e(this.me.getChildByName("container_month"),new Laya.Handler(this,function() { + a._OnStateChange(), + i.runWith("") + } + ),new Laya.Handler(this,function(t) { + return i.runWith(t) + } + ),["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"],0); + for (var r = new Date(Date.now()), s = [], o = 0; o < 120; o++) + s.push((r.getFullYear() - 120 + o).toString()); + this.dropdown_year = new e(this.me.getChildByName("container_year"),new Laya.Handler(this,function() { + a._OnStateChange(), + n.runWith("") + } + ),new Laya.Handler(this,function(t) { + return n.runWith(t) + } + ),s,1) + } + return t.prototype.show = function(t) { + this.dropdown_mouth.reset(), + this.dropdown_year.reset(), + this.me.visible = !0, + t ? this.dropdown_mouth.show() : this.dropdown_year.show() + } + , + t.prototype._OnStateChange = function() { + this.dropdown_year.isopen || this.dropdown_mouth.isopen || (this.me.visible = !1) + } + , + t + }() + , n = function(e) { + function n() { + var t = e.call(this, new ui.lobby.agependingUI) || this; + return t.color_hint = "#5A82C8", + t.color_wrong = "#FF3030", + n.Inst = t, + t + } + return __extends(n, e), + n.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("agepending").getChildByName("root"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_close = this.root.getChildByName("btn_close"); + var e = this.me.getChildByName("agepending").getChildByName("root"); + this.btn_month = e.getChildByName("month"), + this.btn_month.clickHandler = new Laya.Handler(this,function() { + t.locking || t.date_dropdown.show(!0) + } + ), + this.txt_month = this.btn_month.getChildByName("txt"), + this.btn_year = e.getChildByName("year"), + this.btn_year.clickHandler = new Laya.Handler(this,function() { + t.locking || t.date_dropdown.show(!1) + } + ), + this.txt_year = this.btn_year.getChildByName("txt"), + this.notice_month = e.getChildByName("notice_month"), + this.notice_year = e.getChildByName("notice_year"), + this.date_dropdown = new i(this.me.getChildByName("agepending").getChildByName("container_dropdown"),new Laya.Handler(this,function(e) { + "" != e && (t.txt_month.text = e), + t.pending_month() + } + ),new Laya.Handler(this,function(e) { + "" != e && (t.txt_year.text = e), + t.pending_year() + } + )), + this.btn_confirm.clickHandler = Laya.Handler.create(this, function() { + t.locking || t.onClickConfirm() + }, null, !1), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1) + } + , + n.prototype.onClickConfirm = function() { + var e = !0 + , i = "0" + , n = "0"; + if (this.pending_month() || (e = !1), + this.pending_year() || (e = !1), + i = this.txt_year.text, + n = this.txt_month.text, + e) { + var a = parseInt(i) + , r = parseInt(n) + , s = new Date + , o = 12 * s.getFullYear() + s.getMonth() - 12 * a - r + , l = Math.floor(o / 12) + , h = 0; + h = l < 16 ? 5e3 : l < 20 ? 2e4 : -1, + t.UI_Ageconfirm.Inst.show(i, n, h), + this.close() + } + } + , + n.prototype.pending_month = function() { + return this.txt_month.text != game.Tools.strOfLocalization(2729) ? (this.notice_month.text = "", + !0) : (this.notice_month.text = game.Tools.strOfLocalization(2733), + this.notice_month.color = this.color_wrong, + !1) + } + , + n.prototype.pending_year = function() { + return this.txt_year.text != game.Tools.strOfLocalization(2730) ? (this.notice_year.text = "", + !0) : (this.notice_year.text = game.Tools.strOfLocalization(2734), + this.notice_year.color = this.color_wrong, + !1) + } + , + n.prototype.show = function() { + var e = this; + this.enable = !0, + this.locking = !0, + this.confirmflag = 0, + this.date_dropdown.me.visible = !1, + this.notice_month.text = game.Tools.strOfLocalization(2731), + this.notice_month.color = this.color_hint, + this.notice_year.text = game.Tools.strOfLocalization(2732), + this.notice_year.color = this.color_hint, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + n + }(t.UIBase); + t.UI_Agepending = n +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e, i, n, a) { + var r = this; + this.isopen = !1, + this.locking = !1, + this.showed = !1, + this.when_close = null, + this.when_choose = null, + this.datas = [], + this.start_rate = 0, + this.me = t, + t.visible = !1, + this.isopen = !1, + this.locking = !1, + this.when_close = e, + this.when_choose = i, + this.datas = n, + this.start_rate = a, + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.refresh_item)), + this.bg = this.me.getChildByName("bg"), + this.content = this.me.getChildByName("content"), + t.getChildByName("btn_open").clickHandler = new Laya.Handler(this,function() { + r.locking || (r.isopen ? r.close() : r.show()) + } + ) + } + return t.prototype.reset = function() { + this.isopen = !1, + this.locking = !1, + this.me.visible = !0, + this.bg.visible = !1, + this.content.visible = !1 + } + , + t.prototype.show = function() { + var t = this; + this.locking = !0, + this.isopen = !0, + this.bg.visible = !0, + this.bg.height = 10, + Laya.Tween.to(this.bg, { + height: 285 + }, 150, Laya.Ease.linearNone), + this.content.visible = !0, + this.content.alpha = 0, + Laya.Tween.to(this.content, { + alpha: 1 + }, 150, Laya.Ease.linearNone), + Laya.timer.once(150, this, function() { + t.locking = !1 + }), + this.showed || (this.scrollview.reset(), + this.scrollview.addItem(this.datas.length), + this.showed = !0, + this.scrollview.rate = this.start_rate) + } + , + t.prototype.refresh_item = function(t) { + var e = this + , i = t.index + , n = t.container; + n.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + e.locking || (e.close(), + e.when_choose && e.when_choose.runWith(e.datas[i])) + }, null, !1), + n.getChildByName("btn").getChildByName("txt").text = this.datas[i] + } + , + t.prototype.close = function() { + var t = this; + this.locking = !0, + Laya.Tween.to(this.content, { + alpha: 0 + }, 150, Laya.Ease.linearNone), + Laya.Tween.to(this.bg, { + height: 10 + }, 150, Laya.Ease.linearNone), + Laya.timer.once(150, this, function() { + t.locking = !1, + t.bg.visible = !1, + t.content.visible = !1, + t.isopen = !1, + t.when_close && t.when_close.run() + }) + } + , + t + }() + , i = function() { + function t(t, i, n) { + var a = this; + this.locking = !1, + this.me = t, + t.visible = !1, + this.me.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + a.dropdown_mouth.locking || a.dropdown_year.locking || (a.dropdown_mouth.isopen && a.dropdown_mouth.close(), + a.dropdown_year.isopen && a.dropdown_year.close()) + } + ); + this.dropdown_mouth = new e(this.me.getChildByName("container_month"),new Laya.Handler(this,function() { + a._OnStateChange(), + i.runWith("") + } + ),new Laya.Handler(this,function(t) { + return i.runWith(t) + } + ),["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"],0); + for (var r = new Date(Date.now()), s = [], o = 0; o < 120; o++) + s.push((r.getFullYear() - 120 + o).toString()); + this.dropdown_year = new e(this.me.getChildByName("container_year"),new Laya.Handler(this,function() { + a._OnStateChange(), + n.runWith("") + } + ),new Laya.Handler(this,function(t) { + return n.runWith(t) + } + ),s,1) + } + return t.prototype.show = function(t) { + this.dropdown_mouth.reset(), + this.dropdown_year.reset(), + this.me.visible = !0, + t ? this.dropdown_mouth.show() : this.dropdown_year.show() + } + , + t.prototype._OnStateChange = function() { + this.dropdown_year.isopen || this.dropdown_mouth.isopen || (this.me.visible = !1) + } + , + t + }() + , n = function(e) { + function n() { + var t = e.call(this, new ui.lobby.agepending_chsUI) || this; + return t.color_hint = "#5A82C8", + t.color_wrong = "#FF3030", + n.Inst = t, + t + } + return __extends(n, e), + n.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("agepending").getChildByName("root"), + this.btn_confirm = this.root.getChildByName("btn_confirm"); + var e = this.me.getChildByName("agepending").getChildByName("root"); + this.btn_month = e.getChildByName("month"), + this.btn_month.clickHandler = new Laya.Handler(this,function() { + t.locking || t.date_dropdown.show(!0) + } + ), + this.txt_month = this.btn_month.getChildByName("txt"), + this.btn_year = e.getChildByName("year"), + this.btn_year.clickHandler = new Laya.Handler(this,function() { + t.locking || t.date_dropdown.show(!1) + } + ), + this.txt_year = this.btn_year.getChildByName("txt"), + this.notice_month = e.getChildByName("notice_month"), + this.notice_year = e.getChildByName("notice_year"), + this.date_dropdown = new i(this.me.getChildByName("agepending").getChildByName("container_dropdown"),new Laya.Handler(this,function(e) { + "" != e && (t.txt_month.text = e), + t.pending_month() + } + ),new Laya.Handler(this,function(e) { + "" != e && (t.txt_year.text = e), + t.pending_year() + } + )), + this.btn_confirm.clickHandler = Laya.Handler.create(this, function() { + t.locking || t.onClickConfirm() + }, null, !1) + } + , + n.prototype.onClickConfirm = function() { + var e = this + , i = !0 + , n = "0" + , a = "0"; + if (this.pending_month() || (i = !1), + this.pending_year() || (i = !1), + n = this.txt_year.text, + a = this.txt_month.text, + i) { + var r = parseInt(n) + , s = parseInt(a) + , o = new Date + , l = 12 * o.getFullYear() + o.getMonth() - 12 * r - s + , h = Math.floor(l / 12); + h < 16 ? 5e3 : h < 20 ? 2e4 : -1; + var c = new Date; + c.setFullYear(parseInt(n), parseInt(a) - 1, 1), + c.setHours(1, 0, 0, 0); + var _ = Math.floor(c.getTime() / 1e3); + this.btn_confirm.mouseEnabled = !1, + app.NetAgent.sendReq2Lobby("Lobby", "modifyBirthday", { + birthday: _ + }, function(i, n) { + e.btn_confirm.mouseEnabled = !0, + i || n.error ? t.UIMgr.Inst.showNetReqError("modifyBirthday", i, n) : (GameMgr.Inst.account_data.birthday = _, + e.close(), + t.UI_AgeSuccess_Chs.Inst.show(e.complete)) + }) + } + } + , + n.prototype.pending_month = function() { + return this.txt_month.text != game.Tools.strOfLocalization(2729) ? (this.notice_month.text = "", + !0) : (this.notice_month.text = game.Tools.strOfLocalization(2733), + this.notice_month.color = this.color_wrong, + !1) + } + , + n.prototype.pending_year = function() { + return this.txt_year.text != game.Tools.strOfLocalization(2730) ? (this.notice_year.text = "", + !0) : (this.notice_year.text = game.Tools.strOfLocalization(2734), + this.notice_year.color = this.color_wrong, + !1) + } + , + n.prototype.show = function(e) { + var i = this; + this.enable = !0, + this.locking = !0, + this.confirmflag = 0, + this.date_dropdown.me.visible = !1, + this.notice_month.text = game.Tools.strOfLocalization(2731), + this.notice_month.color = this.color_hint, + this.notice_year.text = game.Tools.strOfLocalization(2732), + this.notice_year.color = this.color_hint, + this.complete = e, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })) + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + n + }(t.UIBase); + t.UI_Agepending_Chs = n +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.agesuccessUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("agepending").getChildByName("root"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_close = this.root.getChildByName("btn_close"), + this.btn_confirm.clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1) + } + , + i.prototype.show = function() { + var e = this; + this.enable = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Agesuccess = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.agesuccess_chsUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.desc = this.root.getChildByName("info"), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + t.locking || t.close() + } + ), + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + t.locking || t.close() + } + ) + } + , + i.prototype.set_desc = function() { + var t = new Date(Date.now()) + , e = new Date(GameMgr.Inst.account_data.birthday) + , i = t.getUTCFullYear() - e.getUTCFullYear(); + 100 * t.getMonth() + t.getDate() < 100 * e.getMonth() + e.getDate() && i--, + i < 8 ? (this.desc.text = "您已通过认证。\n根据《关于防止未成年人沉迷网络游戏的通知》,未成年人用户每日22时到次日8时无法进行游戏,工作日每日游戏时长不能超过1.5小时,法定节假日每日游戏时长不能超过3小时。\n您不能使用充值服务。", + this.desc.align = "left") : i < 16 ? (this.desc.text = "您已通过认证。\n根据《关于防止未成年人沉迷网络游戏的通知》,未成年人用户每日22时到次日8时无法进行游戏,工作日每日游戏时长不能超过1.5小时,法定节假日每日游戏时长不能超过3小时。\n您的单次充值金额不能超过50元人民币,每月充值金额累计不能超过200元人民币。", + this.desc.align = "left") : i < 18 ? (this.desc.text = "您已通过认证。\n根据《关于防止未成年人沉迷网络游戏的通知》,未成年人用户每日22时到次日8时无法进行游戏,工作日每日游戏时长不能超过1.5小时,法定节假日每日游戏时长不能超过3小时。\n您的单次充值金额不能超过100元人民币,每月充值金额累计不能超过400元人民币。", + this.desc.align = "left") : (this.desc.text = "您已通过认证。", + this.desc.align = "center") + } + , + i.prototype.show = function(e) { + var i = this; + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.set_desc(), + this.complete = e + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + e.complete && e.complete.run() + })) + } + , + i + }(t.UIBase); + t.UI_AgeSuccess_Chs = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.agexianeUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("agepending").getChildByName("root"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_close = this.root.getChildByName("btn_close"), + this.xiaofei = this.root.getChildByName("xiaofei"), + this.shangxian = this.root.getChildByName("shangxian"), + this.btn_confirm.clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1) + } + , + i.prototype.show = function(e, i) { + var n = this; + this.enable = !0, + this.locking = !0, + this.xiaofei.text = (e / 1e3).toString(); + var a = 0; + a = i < 16 ? 5e3 : 2e4, + this.shangxian.text = a.toString(), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Agexiane = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + return e.call(this, new ui.mj.alUI) || this + } + return __extends(i, e), + i.Show = function() { + var e = new i; + t.UIMgr.Inst.AddMJUI(e), + Laya.timer.frameOnce(5, this, function() { + e.show() + }) + } + , + i.prototype.show = function() { + var t = this; + this.me.visible = !0, + this.me.start.play(0, !1), + Laya.timer.once(1300, this, function() { + t.me.visible = !1, + t.me.destroy(!0) + }) + } + , + i + }(t.UIBase); + t.UI_AL = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.android_changeUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + if (!t.locking && (t.hide(null), + GameMgr.inConch)) { + Laya.PlatformClass.createClass("layaair.majsoul.mjmgr").call("onAlipay_Brower", "https://www.majsoul.com/#/android_download") + } + } + ), + this.root.getChildByName("btn_cancel").clickHandler = new Laya.Handler(this,function() { + t.locking || t.hide(Laya.Handler.create(t, function() { + t.complete && t.complete.run() + })) + } + ) + } + , + i.prototype.show = function(e) { + var i = this; + this.complete = e, + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.root.getChildByName("btn_cancel").gray = !1, + Laya.timer.frameOnce(1, this, function() { + i.root.getChildByName("btn_cancel").gray = !0 + }) + } + , + i.prototype.hide = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + i.enable = !1, + i.locking = !1, + e && e.run() + })) + } + , + i + }(t.UIBase); + t.UI_Android_Change = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.anotherloginUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn").clickHandler = Laya.Handler.create(this, this.hide, null, !1) + } + , + i.prototype.show = function() { + this.me.visible = !0, + Laya.LocalStorage.setItem("_pre_sociotype", ""), + app.Log.info_net("UI_AnotherLogin close net"), + game.LobbyNetMgr.Inst.Close(), + game.MJNetMgr.Inst && game.MJNetMgr.Inst.Close(), + t.UIBase.anim_pop_out(this.root, null) + } + , + i.prototype.hide = function() { + Laya.LocalStorage.setItem("_pre_sociotype", ""), + Laya.Browser.window.conch ? Laya.Browser.window.conch && Laya.Browser.window.conch.exit && Laya.Browser.window.conch.exit() : Laya.Browser.window.location.href = GameMgr.Inst.link_url + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_AnotherLogin = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e; + !function(t) { + t[t.none = 0] = "none", + t[t.daoju = 1] = "daoju", + t[t.gift = 2] = "gift", + t[t.fudai = 3] = "fudai", + t[t.view = 5] = "view" + }(e = t.EItemCategory || (t.EItemCategory = {})); + var i = function(i) { + function n() { + var t = i.call(this, new ui.lobby.bagUI) || this; + return t.container_top = null, + t.container_content = null, + t.locking = !1, + t.tabs = [], + t.page_item = null, + t.page_gift = null, + t.page_skin = null, + t.select_index = 0, + n.Inst = t, + t + } + return __extends(n, i), + n.init = function() { + var t = this; + app.NetAgent.AddListener2Lobby("NotifyAccountUpdate", Laya.Handler.create(this, function(e) { + var i = e.update; + i && i.bag && (t.update_data(i.bag.update_items), + t.update_daily_gain_data(i.bag)) + }, null, !1)), + this.fetch() + } + , + n.fetch = function() { + var e = this; + this._item_map = {}, + this._daily_gain_record = {}, + app.NetAgent.sendReq2Lobby("Lobby", "fetchBagInfo", {}, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("fetchBagInfo", i, n); + else { + app.Log.log("背包信息:" + JSON.stringify(n)); + var a = n.bag; + if (a) { + if (a.items) + for (h = 0; h < a.items.length; h++) { + var r = a.items[h].item_id + , s = a.items[h].stack + , o = cfg.item_definition.item.get(r); + o && (e._item_map[r] = { + item_id: r, + count: s, + category: o.category + }) + } + if (a.daily_gain_record) + for (var l = a.daily_gain_record, h = 0; h < l.length; h++) { + var c = l[h].limit_source_id; + e._daily_gain_record[c] = {}; + var _ = l[h].record_time; + e._daily_gain_record[c].record_time = _; + var u = l[h].records; + if (u) + for (var d = 0; d < u.length; d++) + e._daily_gain_record[c][u[d].item_id] = u[d].count + } + } + } + }) + } + , + n.find_item = function(t) { + var e = this._item_map[t]; + return e ? { + item_id: e.item_id, + category: e.category, + count: e.count + } : null + } + , + n.get_item_count = function(t) { + var e = this.find_item(t); + if (e) + return e.count; + if (100001 == t) { + var i = 0; + return GameMgr.Inst.account_numerical_resource[100001] && (i += GameMgr.Inst.account_numerical_resource[100001]), + GameMgr.inGooglePlay && GameMgr.Inst.account_numerical_resource[101001] && (i += GameMgr.Inst.account_numerical_resource[101001]), + GameMgr.inChina && GameMgr.Inst.account_numerical_resource[101002] && (i += GameMgr.Inst.account_numerical_resource[101002]), + GameMgr.inChina && GameMgr.Inst.account_numerical_resource[101004] && (i += GameMgr.Inst.account_numerical_resource[101004]), + GameMgr.inChina && GameMgr.Inst.account_numerical_resource[101005] && (i += GameMgr.Inst.account_numerical_resource[101005]), + GameMgr.inDmm && GameMgr.Inst.account_numerical_resource[101006] && (i += GameMgr.Inst.account_numerical_resource[101006]), + i + } + if (100004 == t) { + var n = 0; + return GameMgr.Inst.account_numerical_resource[100004] && (n += GameMgr.Inst.account_numerical_resource[100004]), + GameMgr.inGooglePlay && GameMgr.Inst.account_numerical_resource[102003] && (n += GameMgr.Inst.account_numerical_resource[102003]), + GameMgr.inChina && GameMgr.Inst.account_numerical_resource[102002] && (n += GameMgr.Inst.account_numerical_resource[102002]), + GameMgr.inChina && GameMgr.Inst.account_numerical_resource[102004] && (n += GameMgr.Inst.account_numerical_resource[102004]), + GameMgr.inChina && GameMgr.Inst.account_numerical_resource[102005] && (n += GameMgr.Inst.account_numerical_resource[102005]), + GameMgr.inDmm && GameMgr.Inst.account_numerical_resource[102006] && (n += GameMgr.Inst.account_numerical_resource[102006]), + n + } + return 100002 == t ? GameMgr.Inst.account_data.gold : 0 + } + , + n.find_items_by_category = function(t) { + var e = []; + for (var i in this._item_map) + this._item_map[i].category == t && e.push({ + item_id: this._item_map[i].item_id, + category: this._item_map[i].category, + count: this._item_map[i].count + }); + return e + } + , + n.update_data = function(e) { + for (o = 0; o < e.length; o++) { + var i = e[o].item_id + , n = e[o].stack; + if (n > 0) + this._item_map.hasOwnProperty(i.toString()) ? this._item_map[i].count = n : this._item_map[i] = { + item_id: i, + count: n, + category: cfg.item_definition.item.get(i).category + }; + else if (this._item_map.hasOwnProperty(i.toString())) { + var a = cfg.item_definition.item.get(i); + a && 5 == a.category && t.UI_Sushe.on_view_remove(i), + this._item_map[i] = 0, + delete this._item_map[i] + } + } + this.Inst && this.Inst.when_data_change(); + for (o = 0; o < e.length; o++) { + i = e[o].item_id; + if (this._item_listener.hasOwnProperty(i.toString())) + for (var r = this._item_listener[i], s = 0; s < r.length; s++) + r[s].run() + } + for (var o = 0; o < this._all_item_listener.length; o++) + this._all_item_listener[o].run() + } + , + n.update_daily_gain_data = function(t) { + var e = t.update_daily_gain_record; + if (e) + for (var i = 0; i < e.length; i++) { + var n = e[i].limit_source_id; + this._daily_gain_record[n] || (this._daily_gain_record[n] = {}); + var a = e[i].record_time; + this._daily_gain_record[n].record_time = a; + var r = e[i].records; + if (r) + for (var s = 0; s < r.length; s++) + this._daily_gain_record[n][r[s].item_id] = r[s].count + } + } + , + n.get_item_daily_record = function(t, e) { + return this._daily_gain_record[t] && this._daily_gain_record[t].record_time && game.Tools.isPassedRefreshTime(this._daily_gain_record[t].record_time) && this._daily_gain_record[t][e] ? this._daily_gain_record[t][e] : 0 + } + , + n.add_item_listener = function(t, e) { + this._item_listener.hasOwnProperty(t.toString()) || (this._item_listener[t] = []), + this._item_listener[t].push(e) + } + , + n.remove_item_listener = function(t, e) { + var i = this._item_listener[t]; + if (i) + for (var n = 0; n < i.length; n++) + if (i[n] === e) { + i[n] = i[i.length - 1], + i.pop(); + break + } + } + , + n.add_all_item_listener = function(t) { + this._all_item_listener.push(t) + } + , + n.remove_all_item_listener = function(t) { + for (var e = this._all_item_listener, i = 0; i < e.length; i++) + if (e[i] === t) { + e[i] = e[e.length - 1], + e.pop(); + break + } + } + , + n.prototype.have_red_point = function() { + return !1 + } + , + n.prototype.onCreate = function() { + var e = this; + this.container_top = this.me.getChildByName("top"), + this.container_top.getChildByName("btn_back").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.hide(Laya.Handler.create(e, function() { + t.UI_Lobby.Inst.enable = !0 + })) + }, null, !1), + this.container_content = this.me.getChildByName("content"); + for (var i = function(t) { + n.tabs.push(n.container_content.getChildByName("tabs").getChildByName("btn" + t)), + n.tabs[t].clickHandler = Laya.Handler.create(n, function() { + e.select_index != t && e.on_change_tab(t) + }, null, !1) + }, n = this, a = 0; a < 4; a++) + i(a); + this.page_item = new t.UI_Bag_PageItem(this.container_content.getChildByName("page_items")), + this.page_gift = new t.UI_Bag_PageGift(this.container_content.getChildByName("page_gift")), + this.page_skin = new t.UI_Bag_PageSkin(this.container_content.getChildByName("page_skin")) + } + , + n.prototype.show = function(e) { + var i = this; + void 0 === e && (e = 0), + this.enable = !0, + this.locking = !0, + t.UIBase.anim_alpha_in(this.container_top, { + y: -30 + }, 200), + t.UIBase.anim_alpha_in(this.container_content, { + y: 30 + }, 200), + Laya.timer.once(300, this, function() { + i.locking = !1 + }), + this.on_change_tab(e), + game.Scene_Lobby.Inst.change_bg("indoor", !1), + 3 != e && this.page_skin.when_update_data() + } + , + n.prototype.hide = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_alpha_out(this.container_top, { + y: -30 + }, 200), + t.UIBase.anim_alpha_out(this.container_content, { + y: 30 + }, 200), + Laya.timer.once(300, this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + }) + } + , + n.prototype.onDisable = function() { + this.page_skin.close() + } + , + n.prototype.on_change_tab = function(t) { + this.select_index = t; + for (var i = 0; i < this.tabs.length; i++) + this.tabs[i].skin = game.Tools.localUISrc(t == i ? "myres/shop/tab_choose.png" : "myres/shop/tab_unchoose.png"), + this.tabs[i].getChildAt(0).color = t == i ? "#d9b263" : "#8cb65f"; + switch (this.page_item.close(), + this.page_gift.close(), + this.page_skin.me.visible = !1, + t) { + case 0: + this.page_item.show(e.daoju); + break; + case 1: + this.page_gift.show(); + break; + case 2: + this.page_item.show(e.view); + break; + case 3: + this.page_skin.show() + } + } + , + n.prototype.when_data_change = function() { + this.page_item.me.visible && this.page_item.when_update_data(), + this.page_gift.me.visible && this.page_gift.when_update_data() + } + , + n.prototype.on_skin_change = function() { + this.page_skin.when_update_data() + } + , + n.prototype.clear_desktop_btn_redpoint = function() { + this.tabs[3].getChildByName("redpoint").visible = !1 + } + , + n._item_map = {}, + n._item_listener = {}, + n._all_item_listener = [], + n._daily_gain_record = {}, + n.Inst = null, + n + }(t.UIBase); + t.UI_Bag = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e) { + var i = this; + this.me = t, + this.func_pending = e, + this.txtinput = t.getChildByName("txtinput"), + this.wrong = t.getChildByName("wrong"), + this.accept = t.getChildByName("accept"), + this.txtinput.on("focus", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1 + }), + this.txtinput.on("blur", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1, + "" != i.txtinput.text && (!i.func_pending || i.func_pending.run() ? i.accept.visible = !0 : i.wrong.visible = !0) + }), + this.reset() + } + return Object.defineProperty(t.prototype, "text", { + get: function() { + return this.txtinput.text + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "isOK", { + get: function() { + return !this.func_pending || this.func_pending.run() + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.reset = function() { + this.txtinput.text = "", + this.wrong.visible = !1, + this.accept.visible = !1 + } + , + t + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.both_ui.bind_mail0UI) || this; + return n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.root = this.me.getChildByName("root"), + this.input_mail = new e(this.root.getChildByName("input_mail"),new Laya.Handler(this,function() { + return game.Tools.pending_email_vaild(i.input_mail.text) + } + )), + this.label_mail = this.root.getChildByName("label_email").getChildByName("info"), + this.input_code = this.root.getChildByName("input_code").getChildByName("txtinput"), + this.input_password0 = new e(this.root.getChildByName("input_password0"),new Laya.Handler(this,function() { + return i.input_password0.text.length >= 6 && i.input_password0.text.length <= 20 + } + )), + this.input_password1 = new e(this.root.getChildByName("input_password1"),new Laya.Handler(this,function() { + return i.input_password0.text == i.input_password1.text && i.input_password1.text.length >= 6 && i.input_password1.text.length <= 20 + } + )), + this.btn_send_code = this.root.getChildByName("btn_send_code"), + this.label_send_code = this.btn_send_code.getChildByName("info"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_confirm.clickHandler = new Laya.Handler(this,function() { + if (!i.locking && i.input_password0.text == i.input_password1.text) { + var e = ""; + if (!GameMgr.Inst.account_data.email) { + if (!i.input_mail.isOK) + return void t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2786)); + e = i.input_mail.text + } + app.NetAgent.sendReq2Lobby("Lobby", "bindEmail", { + email: e, + code: i.input_code.text, + password: GameMgr.encodeP(i.input_password0.text) + }, function(n, a) { + i.btn_confirm.mouseEnabled = !0, + n || a.error ? (t.UIMgr.Inst.showNetReqError("bindEmail", n, a), + i.last_send_time = 0) : (t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2785)), + GameMgr.Inst.account_data.email = game.Tools.encode_email(e), + GameMgr.Inst.account_data.email_verify = 1, + i.close()) + }) + } + } + ), + this.btn_send_code.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + var e = ""; + if (!GameMgr.Inst.account_data.email) { + if (!i.input_mail.isOK) + return void t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2786)); + e = i.input_mail.text + } + i.btn_send_code.mouseEnabled = !1, + i.during_send_cd = !0, + i.last_send_time = Laya.timer.currTimer, + i.refresh_send(), + app.NetAgent.sendReq2Lobby("Lobby", "createEmailVerifyCode", { + email: e, + usage: 1 + }, function(e, n) { + e || n.error ? (t.UIMgr.Inst.showNetReqError("createEmailVerifyCode", e, n), + i.last_send_time = 0) : t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2810)) + }) + } + } + ), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + i.locking || i.close() + } + ), + this.during_send_cd = !1, + this.last_send_time = 0 + } + , + n.prototype.show = function(e, i) { + var n = this; + void 0 === e && (e = !1), + void 0 === i && (i = null), + this.root.getChildByName("btn_close").visible = !e, + this.complete = i, + this.enable = !0, + this.locking = !0, + this.input_code.text = "", + this.input_password0.reset(), + this.input_password1.reset(), + GameMgr.Inst.account_data.email ? (this.input_mail.me.visible = !1, + this.label_mail.text = GameMgr.Inst.account_data.email, + this.label_mail.parent.visible = !0) : (this.input_mail.me.visible = !0, + this.input_mail.reset(), + this.label_mail.parent.visible = !1), + Laya.timer.clearAll(this), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })), + this.during_send_cd ? this.refresh_send() : (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)), + this.btn_confirm.mouseEnabled = !0, + this.root.getChildByName("chsinfo").visible = "chs_t" == GameMgr.client_language, + Laya.timer.frameLoop(1, this, function() { + n.refresh_send() + }) + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + Laya.timer.clearAll(e), + e.complete && e.complete.run() + })) + } + , + n.prototype.refresh_send = function() { + if (this.during_send_cd) { + var t = Laya.timer.currTimer - this.last_send_time; + t >= 6e4 ? (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)) : this.label_send_code.text = game.Tools.strOfLocalization(2682, [Math.ceil(60 - t / 1e3).toString()]) + } + } + , + n + }(t.UIBase); + t.UI_Bind_Mail0 = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e) { + var i = this; + this.me = t, + this.func_pending = e, + this.txtinput = t.getChildByName("txtinput"), + this.wrong = t.getChildByName("wrong"), + this.accept = t.getChildByName("accept"), + this.txtinput.on("focus", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1 + }), + this.txtinput.on("blur", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1, + "" != i.txtinput.text && (!i.func_pending || i.func_pending.run() ? i.accept.visible = !0 : i.wrong.visible = !0) + }), + this.reset() + } + return Object.defineProperty(t.prototype, "text", { + get: function() { + return this.txtinput.text + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "isOK", { + get: function() { + return !this.func_pending || this.func_pending.run() + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.reset = function() { + this.txtinput.text = "", + this.wrong.visible = !1, + this.accept.visible = !1 + } + , + t + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.both_ui.bind_mail1UI) || this; + return n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.root = this.me.getChildByName("root"), + this.input_mail = new e(this.root.getChildByName("input_mail"),new Laya.Handler(this,function() { + return game.Tools.pending_email_vaild(i.input_mail.text) + } + )), + this.label_mail = this.root.getChildByName("label_email").getChildByName("info"), + this.input_code = this.root.getChildByName("input_code").getChildByName("txtinput"), + this.btn_send_code = this.root.getChildByName("btn_send_code"), + this.label_send_code = this.btn_send_code.getChildByName("info"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_confirm.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + var e = ""; + if (!GameMgr.Inst.account_data.email) { + if (!i.input_mail.isOK) + return void t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2786)); + e = i.input_mail.text + } + app.NetAgent.sendReq2Lobby("Lobby", "bindEmail", { + email: e, + code: i.input_code.text, + password: GameMgr.encodeP(GameMgr.Inst.password) + }, function(n, a) { + i.btn_confirm.mouseEnabled = !0, + n || a.error ? (t.UIMgr.Inst.showNetReqError("bindEmail", n, a), + i.last_send_time = 0) : (t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2785)), + GameMgr.Inst.account_data.email = game.Tools.encode_email(e), + GameMgr.Inst.account_data.email_verify = 1, + i.close()) + }) + } + } + ), + this.btn_send_code.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + var e = ""; + if (!GameMgr.Inst.account_data.email) { + if (!i.input_mail.isOK) + return void t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2786)); + e = i.input_mail.text + } + i.btn_send_code.mouseEnabled = !1, + i.during_send_cd = !0, + i.last_send_time = Laya.timer.currTimer, + i.refresh_send(), + app.NetAgent.sendReq2Lobby("Lobby", "createEmailVerifyCode", { + email: e, + usage: 1 + }, function(e, n) { + e || n.error ? (t.UIMgr.Inst.showNetReqError("createEmailVerifyCode", e, n), + i.last_send_time = 0) : t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2810)) + }) + } + } + ), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + i.locking || i.close() + } + ), + this.during_send_cd = !1, + this.last_send_time = 0 + } + , + n.prototype.show = function(e, i) { + var n = this; + void 0 === e && (e = !1), + void 0 === i && (i = null), + this.enable = !0, + this.locking = !0, + this.input_code.text = "", + Laya.timer.clearAll(this), + this.root.getChildByName("btn_close").visible = !e, + this.complete = i, + GameMgr.Inst.account_data.email ? (this.input_mail.me.visible = !1, + this.label_mail.text = GameMgr.Inst.account_data.email, + this.label_mail.parent.visible = !0) : (this.input_mail.me.visible = !0, + this.input_mail.reset(), + this.label_mail.parent.visible = !1), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })), + this.during_send_cd ? this.refresh_send() : (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)), + this.btn_confirm.mouseEnabled = !0, + Laya.timer.frameLoop(1, this, function() { + n.refresh_send() + }) + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + Laya.timer.clearAll(e), + e.complete && e.complete.run() + })) + } + , + n.prototype.refresh_send = function() { + if (this.during_send_cd) { + var t = Laya.timer.currTimer - this.last_send_time; + t >= 6e4 ? (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)) : this.label_send_code.text = game.Tools.strOfLocalization(2682, [Math.ceil(60 - t / 1e3).toString()]) + } + } + , + n + }(t.UIBase); + t.UI_Bind_Mail1 = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e) { + var i = this; + this.me = t, + this.func_pending = e, + this.txtinput = t.getChildByName("txtinput"), + this.wrong = t.getChildByName("wrong"), + this.accept = t.getChildByName("accept"), + this.txtinput.on("focus", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1 + }), + this.txtinput.on("blur", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1, + "" != i.txtinput.text && (!i.func_pending || i.func_pending.run() ? i.accept.visible = !0 : i.wrong.visible = !0) + }), + this.reset() + } + return Object.defineProperty(t.prototype, "text", { + get: function() { + return this.txtinput.text + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "isOK", { + get: function() { + return !this.func_pending || this.func_pending.run() + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.reset = function() { + this.txtinput.text = "", + this.wrong.visible = !1, + this.accept.visible = !1 + } + , + t + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.common.bind_phone0UI) || this; + return n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.root = this.me.getChildByName("root"), + this.input_phone = new e(this.root.getChildByName("input_phone"),new Laya.Handler(this,function() { + return game.Tools.pending_phonenumber_valid(i.input_phone.text) + } + )), + this.label_phone = this.root.getChildByName("label_phone").getChildByName("info"), + this.input_code = this.root.getChildByName("input_code").getChildByName("txtinput"), + this.input_password0 = new e(this.root.getChildByName("input_password0"),new Laya.Handler(this,function() { + return i.input_password0.text.length >= 6 && i.input_password0.text.length <= 20 + } + )), + this.input_password1 = new e(this.root.getChildByName("input_password1"),new Laya.Handler(this,function() { + return i.input_password0.text == i.input_password1.text && i.input_password1.text.length >= 6 && i.input_password1.text.length <= 20 + } + )), + this.btn_send_code = this.root.getChildByName("btn_send_code"), + this.label_send_code = this.btn_send_code.getChildByName("info"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_confirm.clickHandler = new Laya.Handler(this,function() { + if (!i.locking && i.input_password0.text == i.input_password1.text) { + i.btn_confirm.mouseEnabled = !1; + var e = ""; + if (!GameMgr.Inst.account_data.phone) { + if (!i.input_phone.isOK) + return void t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2786)); + e = i.input_phone.text + } + app.NetAgent.sendReq2Lobby("Lobby", "bindPhoneNumber", { + phone: e, + code: i.input_code.text, + password: GameMgr.encodeP(i.input_password0.text) + }, function(n, a) { + i.btn_confirm.mouseEnabled = !0, + n || a.error ? (t.UIMgr.Inst.showNetReqError("bindPhoneNumber", n, a), + i.last_send_time = 0) : (t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2785)), + GameMgr.Inst.account_data.phone = game.Tools.encode_phonenumber(e), + GameMgr.Inst.account_data.phone_verify = 1, + i.close()) + }) + } + } + ), + this.btn_send_code.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + var e = ""; + if (!GameMgr.Inst.account_data.phone) { + if (!i.input_phone.isOK) + return void t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2838)); + e = i.input_phone.text + } + i.btn_send_code.mouseEnabled = !1, + i.during_send_cd = !0, + i.last_send_time = Laya.timer.currTimer, + i.refresh_send(), + app.NetAgent.sendReq2Lobby("Lobby", "createPhoneVerifyCode", { + phone: e, + usage: 6 + }, function(e, n) { + e || n.error ? (t.UIMgr.Inst.showNetReqError("createPhoneVerifyCode", e, n), + i.last_send_time = 0) : t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2833)) + }) + } + } + ), + this.during_send_cd = !1, + this.last_send_time = 0, + this.root.getChildByName("btn_cancel").clickHandler = new Laya.Handler(this,function() { + i.locking || (Laya.LocalStorage.setItem("_pre_sociotype", ""), + Laya.Browser.window.location.href = GameMgr.Inst.link_url) + } + ) + } + , + n.prototype.show = function(e) { + var i = this; + void 0 === e && (e = null), + this.complete = e, + this.enable = !0, + this.locking = !0, + this.input_code.text = "", + this.input_password0.reset(), + this.input_password1.reset(), + GameMgr.Inst.account_data.nickname && "" != GameMgr.Inst.account_data.nickname ? this.root.getChildByName("nickname").text = GameMgr.Inst.account_data.nickname : this.root.getChildByName("nickname").text = "暂无账号", + GameMgr.Inst.account_data.phone ? (this.input_phone.me.visible = !1, + this.label_phone.text = GameMgr.Inst.account_data.phone, + this.label_phone.parent.visible = !0) : (this.input_phone.me.visible = !0, + this.input_phone.reset(), + this.label_phone.parent.visible = !1), + Laya.timer.clearAll(this), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.during_send_cd ? this.refresh_send() : (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)), + this.btn_confirm.mouseEnabled = !0, + Laya.timer.frameLoop(1, this, function() { + i.refresh_send() + }) + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + Laya.timer.clearAll(e), + e.complete && e.complete.run() + })) + } + , + n.prototype.refresh_send = function() { + if (this.during_send_cd) { + var t = Laya.timer.currTimer - this.last_send_time; + t >= 6e4 ? (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)) : this.label_send_code.text = game.Tools.strOfLocalization(2682, [Math.ceil(60 - t / 1e3).toString()]) + } + } + , + n + }(t.UIBase); + t.UI_Bind_Phone0 = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e) { + var i = this; + this.me = t, + this.func_pending = e, + this.txtinput = t.getChildByName("txtinput"), + this.wrong = t.getChildByName("wrong"), + this.accept = t.getChildByName("accept"), + this.txtinput.on("focus", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1 + }), + this.txtinput.on("blur", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1, + "" != i.txtinput.text && (!i.func_pending || i.func_pending.run() ? i.accept.visible = !0 : i.wrong.visible = !0) + }), + this.reset() + } + return Object.defineProperty(t.prototype, "text", { + get: function() { + return this.txtinput.text + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "isOK", { + get: function() { + return !this.func_pending || this.func_pending.run() + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.reset = function() { + this.txtinput.text = "", + this.wrong.visible = !1, + this.accept.visible = !1 + } + , + t + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.common.bind_phone1UI) || this; + return n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.root = this.me.getChildByName("root"), + this.input_phone = new e(this.root.getChildByName("input_phone"),new Laya.Handler(this,function() { + return game.Tools.pending_phonenumber_valid(i.input_phone.text) + } + )), + this.label_phone = this.root.getChildByName("label_phone").getChildByName("info"), + this.input_code = this.root.getChildByName("input_code").getChildByName("txtinput"), + this.btn_send_code = this.root.getChildByName("btn_send_code"), + this.label_send_code = this.btn_send_code.getChildByName("info"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_confirm.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + i.btn_confirm.mouseEnabled = !1; + var e = ""; + if (!GameMgr.Inst.account_data.phone) { + if (!i.input_phone.isOK) + return void t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2838)); + e = i.input_phone.text + } + app.NetAgent.sendReq2Lobby("Lobby", "bindPhoneNumber", { + phone: e, + code: i.input_code.text, + password: GameMgr.encodeP(GameMgr.Inst.password), + multi_bind_version: !0 + }, function(n, a) { + i.btn_confirm.mouseEnabled = !0, + n || a.error ? (t.UIMgr.Inst.showNetReqError("bindPhoneNumber", n, a), + i.last_send_time = 0) : (GameMgr.Inst.account_data.phone = game.Tools.encode_phonenumber(e), + GameMgr.Inst.account_data.phone_verify = 1, + i.close()) + }) + } + } + ), + this.btn_send_code.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + var e = ""; + if (!GameMgr.Inst.account_data.phone) { + if (!i.input_phone.isOK) + return void t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2838)); + e = i.input_phone.text + } + i.btn_send_code.mouseEnabled = !1, + i.during_send_cd = !0, + i.last_send_time = Laya.timer.currTimer, + i.refresh_send(), + app.NetAgent.sendReq2Lobby("Lobby", "createPhoneVerifyCode", { + phone: e, + usage: 6 + }, function(e, n) { + e || n.error ? (t.UIMgr.Inst.showNetReqError("createPhoneVerifyCode", e, n), + i.last_send_time = 0) : t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2833)) + }) + } + } + ), + this.during_send_cd = !1, + this.last_send_time = 0, + this.root.getChildByName("btn_cancel").clickHandler = new Laya.Handler(this,function() { + i.locking || (Laya.LocalStorage.setItem("_pre_sociotype", ""), + Laya.Browser.window.location.href = GameMgr.Inst.link_url) + } + ) + } + , + n.prototype.show = function(e, i) { + var n = this; + void 0 === e && (e = !1), + void 0 === i && (i = null), + this.enable = !0, + this.locking = !0, + this.input_code.text = "", + this.complete = i, + Laya.timer.clearAll(this), + GameMgr.Inst.account_data.nickname && "" != GameMgr.Inst.account_data.nickname ? this.root.getChildByName("nickname").text = GameMgr.Inst.account_data.nickname : this.root.getChildByName("nickname").text = "暂无账号", + GameMgr.Inst.account_data.phone ? (this.input_phone.me.visible = !1, + this.label_phone.text = GameMgr.Inst.account_data.phone, + this.label_phone.parent.visible = !0) : (this.input_phone.me.visible = !0, + this.input_phone.reset(), + this.label_phone.parent.visible = !1), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })), + this.during_send_cd ? this.refresh_send() : (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)), + this.btn_confirm.mouseEnabled = !0, + Laya.timer.frameLoop(1, this, function() { + n.refresh_send() + }) + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + Laya.timer.clearAll(e), + e.complete && e.complete.run() + })) + } + , + n.prototype.refresh_send = function() { + if (this.during_send_cd) { + var t = Laya.timer.currTimer - this.last_send_time; + t >= 6e4 ? (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)) : this.label_send_code.text = game.Tools.strOfLocalization(2682, [Math.ceil(60 - t / 1e3).toString()]) + } + } + , + n + }(t.UIBase); + t.UI_Bind_Phone1 = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e) { + var i = this; + this.me = t, + this.func_pending = e, + this.txtinput = t.getChildByName("txtinput"), + this.wrong = t.getChildByName("wrong"), + this.accept = t.getChildByName("accept"), + this.txtinput.on("focus", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1 + }), + this.txtinput.on("blur", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1, + "" != i.txtinput.text && (!i.func_pending || i.func_pending.run() ? i.accept.visible = !0 : i.wrong.visible = !0) + }), + this.reset() + } + return Object.defineProperty(t.prototype, "text", { + get: function() { + return this.txtinput.text + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "isOK", { + get: function() { + return !this.func_pending || this.func_pending.run() + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.reset = function() { + this.txtinput.text = "", + this.wrong.visible = !1, + this.accept.visible = !1 + } + , + t + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.common.bind_phone2UI) || this; + return n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.root = this.me.getChildByName("root"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_confirm.clickHandler = new Laya.Handler(this,function() { + if (!i.locking && i.input_password0.text == i.input_password1.text) { + i.btn_confirm.mouseEnabled = !1; + GameMgr.Inst.account_data.phone; + app.NetAgent.sendReq2Lobby("Lobby", "createPhoneLoginBind", { + password: GameMgr.encodeP(i.input_password0.text) + }, function(e, n) { + i.btn_confirm.mouseEnabled = !0, + e || n.error ? t.UIMgr.Inst.showNetReqError("bindPhoneNumber", e, n) : i.close(Laya.Handler.create(i, function() { + t.UI_Create_Phone_Account_Success.Inst.show(!1, i.complete), + i.complete = null + })) + }) + } + } + ), + this.root.getChildByName("btn_cancel").clickHandler = new Laya.Handler(this,function() { + i.locking || i.close(Laya.Handler.create(i, function() { + i.complete && i.complete.run() + })) + } + ), + this.label_phone = this.root.getChildByName("label_phone").getChildByName("info"), + this.input_password0 = new e(this.root.getChildByName("input_password0"),new Laya.Handler(this,function() { + return i.input_password0.text.length >= 6 && i.input_password0.text.length <= 20 + } + )), + this.input_password1 = new e(this.root.getChildByName("input_password1"),new Laya.Handler(this,function() { + return i.input_password0.text == i.input_password1.text && i.input_password1.text.length >= 6 && i.input_password1.text.length <= 20 + } + )) + } + , + n.prototype.show = function(e) { + var i = this; + this.locking = !0, + this.enable = !0, + this.input_password0.reset(), + this.input_password1.reset(), + this.label_phone.text = GameMgr.Inst.account_data.phone, + this.complete = e, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.btn_confirm.mouseEnabled = !0 + } + , + n.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + })) + } + , + n + }(t.UIBase); + t.UI_Bind_Phone2 = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e) { + var i = this; + this.me = t, + this.func_pending = e, + this.txtinput = t.getChildByName("txtinput"), + this.wrong = t.getChildByName("wrong"), + this.accept = t.getChildByName("accept"), + this.txtinput.on("focus", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1 + }), + this.txtinput.on("blur", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1, + "" != i.txtinput.text && (!i.func_pending || i.func_pending.run() ? i.accept.visible = !0 : i.wrong.visible = !0) + }), + this.reset() + } + return Object.defineProperty(t.prototype, "text", { + get: function() { + return this.txtinput.text + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "isOK", { + get: function() { + return !this.func_pending || this.func_pending.run() + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.reset = function() { + this.txtinput.text = "", + this.wrong.visible = !1, + this.accept.visible = !1 + } + , + t + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.both_ui.bind_yostar_mailUI) || this; + return n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.root = this.me.getChildByName("root"), + this.input_mail = new e(this.root.getChildByName("input_mail"),new Laya.Handler(this,function() { + return game.Tools.pending_email_vaild(i.input_mail.text) + } + )), + this.input_code = this.root.getChildByName("input_code").getChildByName("txtinput"), + this.btn_send_code = this.root.getChildByName("btn_send_code"), + this.label_send_code = this.btn_send_code.getChildByName("info"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_confirm.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + var e = ""; + if (i.input_mail.isOK) { + e = i.input_mail.text; + if (/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(e)) { + i.btn_send_code.mouseEnabled = !1, + i.during_send_cd = !0, + i.last_send_time = Laya.timer.currTimer, + i.refresh_send(); + var n = i; + Yo.authSubmit({ + account: e, + code: i.input_code.text + }).then(function(e) { + e ? 0 === e.result ? Yo.linkYo({ + accessToken: GameMgr.Inst.yostar_accessToken, + yostar_uid: e.yostar_uid, + yostar_token: e.yostar_token, + yostar_username: e.yostar_account + }).then(function(i) { + 0 == i.result ? (n.close(), + t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2785)), + GameMgr.Inst.yostar_login_info || (GameMgr.Inst.yostar_login_info = {}), + GameMgr.Inst.yostar_login_info.yostar_username = e.yostar_account) : 1 == i.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2865)) : 2 == i.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2866)) : 1e3 == i.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2867)) : t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2063)) + }) : 50016 === e.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2676)) : 50009 === e.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2687)) : 50004 === e.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2685)) : t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2689)) : t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2689)) + }) + } else + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2786)) + } else + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2786)) + } + } + ), + this.btn_send_code.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + var e = ""; + if (i.input_mail.isOK) { + e = i.input_mail.text; + if (/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(e)) { + i.btn_send_code.mouseEnabled = !1, + i.during_send_cd = !0, + i.last_send_time = Laya.timer.currTimer, + i.refresh_send(); + var n = i; + Yo.request({ + account: e, + lang: "jp" == GameMgr.client_language ? "ja" : "en" + }).then(function(e) { + e ? 0 === e.result ? t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2688)) : 50003 === e.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2684)) : 50004 === e.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2685)) : (t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2683)), + n.btn_confirm.mouseEnabled = !0, + n.last_send_time = 0) : (t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2683)), + n.btn_confirm.mouseEnabled = !0, + n.last_send_time = 0) + }) + } else + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2786)) + } else + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2786)) + } + } + ), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + i.locking || i.close() + } + ), + this.during_send_cd = !1, + this.last_send_time = 0 + } + , + n.prototype.show = function() { + var e = this; + this.enable = !0, + this.locking = !0, + this.input_code.text = "", + Laya.timer.clearAll(this), + this.input_mail.reset(), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })), + this.during_send_cd ? this.refresh_send() : (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)), + this.btn_confirm.mouseEnabled = !0, + Laya.timer.frameLoop(1, this, function() { + e.refresh_send() + }) + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + Laya.timer.clearAll(e) + })) + } + , + n.prototype.refresh_send = function() { + if (this.during_send_cd) { + var t = Laya.timer.currTimer - this.last_send_time; + t >= 6e4 ? (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)) : this.label_send_code.text = game.Tools.strOfLocalization(2682, [Math.ceil(60 - t / 1e3).toString()]) + } + } + , + n.Inst = null, + n + }(t.UIBase); + t.UI_Bind_Yostar_Mail = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.camera_modeUI) || this; + return t.scale = 1, + t.during_move = !1, + t.mouse_x = 0, + t.mouse_y = 0, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.container_illust = this.me.getChildByName("illust"), + this.illust = new t.UI_Character_Skin(this.container_illust.getChildByName("illust")), + this.container_move = this.me.getChildByName("move"), + this.container_move.on("mousedown", this, function() { + e.locking || (e.during_move = !0, + e.mouse_x = e.container_move.mouseX, + e.mouse_y = e.container_move.mouseY) + }), + this.container_move.on("mousemove", this, function() { + if (!e.locking && e.during_move) { + var t = e.container_move.mouseX - e.mouse_x + , i = e.container_move.mouseY - e.mouse_y; + e.move(t, i), + e.mouse_x = e.container_move.mouseX, + e.mouse_y = e.container_move.mouseY + } + }), + this.container_move.on("mouseup", this, function() { + e.during_move = !1 + }), + this.container_move.on("mouseout", this, function() { + e.during_move = !1 + }), + this.btn_big = this.me.getChildByName("btn_big"), + this.btn_big.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.bigger() + }, null, !1), + this.btn_small = this.me.getChildByName("btn_small"), + this.btn_small.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.smaller() + }, null, !1), + this.btn_close = this.me.getChildByName("btn_close"), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.btn_camera = this.me.getChildByName("btn_camera"), + this.btn_camera.clickHandler = new Laya.Handler(this,function() { + e.locking || (e.during_move = !1, + e.btn_exit_hide.visible = !0, + e.locking = !0, + t.UIBase.anim_pop_hide(e.btn_big, null), + t.UIBase.anim_pop_hide(e.btn_close, null), + t.UIBase.anim_pop_hide(e.btn_camera, null), + t.UIBase.anim_pop_hide(e.btn_small, Laya.Handler.create(e, function() { + e.locking = !1 + }))) + } + ), + this.btn_exit_hide = this.me.getChildByName("btn_exit_hide"), + this.btn_exit_hide.clickHandler = new Laya.Handler(this,function() { + e.locking || (e.btn_exit_hide.visible = !1, + e.locking = !0, + e.during_move = !1, + t.UIBase.anim_pop_out(e.btn_big, null), + t.UIBase.anim_pop_out(e.btn_close, null), + t.UIBase.anim_pop_out(e.btn_camera, null), + t.UIBase.anim_pop_out(e.btn_small, Laya.Handler.create(e, function() { + e.locking = !1 + }))) + } + ) + } + , + i.prototype.show = function() { + var e = this; + this.illust_center_x = 998, + this.illust_center_y = 558, + this.illust.setSkin(GameMgr.Inst.account_data.avatar_id, "full"), + this.scale = 1, + this.enable = !0, + this.locking = !0, + this.during_move = !1, + this.btn_exit_hide.visible = !1, + this.container_illust.x = this.illust_center_x, + this.container_illust.y = this.illust_center_y, + this.container_illust.scaleX = this.container_illust.scaleY = 1, + t.UIBase.anim_alpha_in(this.container_illust, { + x: 0 + }, 150), + t.UIBase.anim_pop_out(this.btn_big, null), + t.UIBase.anim_pop_out(this.btn_small, null), + t.UIBase.anim_pop_out(this.btn_close, null), + t.UIBase.anim_pop_out(this.btn_camera, null), + Laya.timer.once(150, this, function() { + e.locking = !1 + }) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_alpha_out(this.container_illust, { + x: 0 + }, 150), + t.UIBase.anim_pop_hide(this.btn_big, null), + t.UIBase.anim_pop_hide(this.btn_small, null), + t.UIBase.anim_pop_hide(this.btn_close, null), + t.UIBase.anim_pop_hide(this.btn_camera, null), + Laya.timer.once(150, this, function() { + e.locking = !1, + e.enable = !1, + t.UI_Lobby.Inst.enable = !0 + }) + } + , + i.prototype.bigger = function() { + 1.1 * this.scale > 1.6 || (this.scale *= 1.1, + Laya.Tween.to(this.container_illust, { + scaleX: this.scale, + scaleY: this.scale + }, 100, null, null, 0, !0, !0)) + } + , + i.prototype.smaller = function() { + this.scale / 1.1 < .3 || (this.scale /= 1.1, + Laya.Tween.to(this.container_illust, { + scaleX: this.scale, + scaleY: this.scale + }, 100, null, null, 0, !0, !0)) + } + , + i.prototype.move = function(t, e) { + var i = this.container_illust.x + t + , n = this.container_illust.y + e; + i < this.illust_center_x - 600 ? i = this.illust_center_x - 600 : i > this.illust_center_x + 600 && (i = this.illust_center_x + 600), + n < this.illust_center_y - 1200 ? n = this.illust_center_y - 1200 : n > this.illust_center_y + 800 && (n = this.illust_center_y + 800), + this.container_illust.x = i, + this.container_illust.y = n + } + , + i + }(t.UIBase); + t.UI_Camera_Mode = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.canot_create_phone_accountUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + t.locking || t.close() + } + ) + } + , + i.prototype.show = function(e) { + var i = this; + this.locking = !0, + this.enable = !0, + this.complete = e, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + e.complete && e.complete.run() + })) + } + , + i + }(t.UIBase); + t.UI_Canot_Create_Phone_Account = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.chang_nicknameUI) || this; + return t.locking = !1, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.container_input = this.root.getChildByName("container_input"), + this.lb = this.container_input.getChildByName("lb"), + this.input = this.container_input.getChildByName("txtinput"), + this.input_no = this.container_input.getChildByName("no"), + this.btn_confirm = this.container_input.getChildByName("btn_confirm"), + this.notice = this.container_input.getChildByName("nochange"), + this.btn_confirm.clickHandler = Laya.Handler.create(this, this.onBtnConfrim, null, !1), + this.input.on("focus", this, function() { + t.lb.visible = !1, + t.input_no.visible = !1 + }), + this.input.on("blur", this, function() { + t.lb.visible = !t.input.text || "" == t.input.text + }), + this.input.on("input", this, function() { + t.input.text && t.input.text + }), + this.container_no = this.root.getChildByName("container_no"), + this.label_count = this.container_no.getChildByName("count"), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + t.close() + }, null, !1), + this.container_input.getChildByName("en_no_space").visible = "en" == GameMgr.client_language + } + , + i.prototype.show = function() { + var e = this + , i = Date.now() / 1e3 + , n = 30 - Math.floor((i - GameMgr.Inst.last_mod_name_time) / 3600 / 24); + if (n > 0) + this.container_no.visible = !0, + this.label_count.text = n.toString(), + this.container_input.visible = !1; + else { + this.container_input.visible = !0, + this.container_no.visible = !1, + this.input_no.visible = !1, + this.lb.visible = !0, + this.input.text = "", + this.notice.text = game.Tools.strOfLocalization(2675); + var a = this.container_input.getChildByName("price") + , r = cfg.item_definition.item.get(302013); + game.LoadMgr.setImgSkin(a.getChildByName("icon"), r.icon); + var s = a.getChildByName("count"); + s.text = "x1", + t.UI_Bag.get_item_count(302013) > 0 ? (s.color = "#00ff00", + game.Tools.setGrayDisable(this.btn_confirm, !1)) : (s.color = "#ff0000", + game.Tools.setGrayDisable(this.btn_confirm, !0)), + game.Tools.child_align_center(a, [10, 10, 10]) + } + this.enable = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + i.prototype.have_invalid_char = function(t) { + for (var e = 0; e < t.length; e++) { + var i = t.charCodeAt(e); + if (!(i >= "a".charCodeAt(0) && i <= "z".charCodeAt(0)) && !(i >= "A".charCodeAt(0) && i <= "Z".charCodeAt(0) || i >= "0".charCodeAt(0) && i <= "9".charCodeAt(0) || i >= 11904 && i <= 40959)) { + for (var n = !1, a = 0; a < "~@!#%&()_+={}:;<>".length; a++) + if ("~@!#%&()_+={}:;<>"[a] == t[e]) { + n = !0; + break + } + if (!n) + return !0 + } + } + return !1 + } + , + i.prototype.onBtnConfrim = function() { + var e = this; + if (!this.locking && "" != this.input.text) { + for (var i = this.input.text, n = 0, a = 0, r = 0; r < i.length; r++) { + if (i.charCodeAt(r) > 255) { + if (n + 2 > 14) + break; + n += 2 + } else { + if (n + 1 > 14) + break; + n += 1 + } + a++ + } + if (a == i.length) { + var s = this.input.text; + this.have_invalid_char(s) || app.Taboo.test(s) ? this.input_no.visible = !0 : (game.Tools.setGrayDisable(this.btn_confirm, !0), + app.NetAgent.sendReq2Lobby("Lobby", "modifyNickname", { + nickname: s, + use_item_id: 302013 + }, function(i, n) { + i || n.error ? (t.UIMgr.Inst.showNetReqError("modifyNickname", i, n), + game.Tools.setGrayDisable(e.btn_confirm, !1)) : (GameMgr.Inst.account_data.nickname = s, + GameMgr.Inst.last_mod_name_time = Date.now() / 1e3, + t.UI_PlayerInfo.Inst.refreshBaseInfo(), + t.UI_Lobby.Inst.top.refresh(), + e.close()) + })) + } else + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2750)) + } + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Change_Nickname = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.character_star_upUI) || this; + return t.ress = [], + t.effect_path = "scene/scene_shengjiban.ls", + t.locking = !1, + i.Inst = t, + t.ress = [], + t.ress.push(game.Tools.localUISrc("myres/star_up/levelup.png")), + t.ress.push(game.Tools.localUISrc("myres/star_up/bg.jpg")), + t.ress.push(game.Tools.localUISrc("myres/star_up/bang_heart.png")), + Laya.loader.load(t.ress, null, null, "image"), + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.blackbg = this.me.getChildByName("blackbg"), + this.btn_bigclose = this.me.getChildByName("bigclose"), + this.btn_bigclose.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.root = this.me.getChildByName("root"), + this.container_avatar = this.root.getChildByName("container_avatar"), + this.avatar0 = new t.UI_Character_Skin(this.container_avatar.getChildByName("avatar0")), + this.avatar1 = new t.UI_Character_Skin(this.container_avatar.getChildByName("avatar1")), + this.avatar1.me.visible = !1, + this.bg = this.root.getChildByName("bg"), + this.img_word = this.root.getChildByName("container_hearts").getChildByName("img_word"), + this.container_hearts = this.root.getChildByName("container_hearts"), + this.hearts = []; + for (i = 0; i < 5; i++) + this.hearts.push(this.container_hearts.getChildByName("heart" + i)); + this.bang = this.container_hearts.getChildByName("bang"), + this.bang_imgs = []; + for (var i = 0; i < 5; i++) + this.bang_imgs.push(this.bang.getChildAt(i)); + this.btn_close = this.root.getChildByName("btn_close"), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.block_chat = new t.UI_Character_Chat(this.me.getChildByName("chat")), + this.container_effect = this.me.getChildByName("container_effect") + } + , + i.prototype.show = function(t, e) { + var i = this; + this.locking = !0, + Laya.timer.once(2e3, this, function() { + i.locking = !1 + }), + this.reset(), + this.enable = !0, + this.chara_info = t, + this.back_func = e; + var n = cfg.item_definition.skin.get(this.chara_info.skin); + this.avatar1.me.visible = !1, + n && this.avatar0.setSkin(this.chara_info.skin, "full"); + for (var a = 0; a < this.hearts.length; a++) + if (a >= 5) + this.hearts[a].visible = !1, + this.bang_imgs[a].visible = !1; + else { + this.hearts[a].visible = !0, + this.hearts[a].x = 314 + 107 * a - 214, + this.bang_imgs[a].visible = !0; + var r = this.hearts[a].getChildByName("v").mask; + a < this.chara_info.level ? r.scaleY = 1 : r.scaleY = 0, + t.is_upgraded ? this.hearts[a].getChildByName("v").getChildByName("full").skin = game.Tools.localUISrc("myres/bothui/heart_gold.png") : this.hearts[a].getChildByName("v").getChildByName("full").skin = game.Tools.localUISrc("myres/bothui/bf_heart.png") + } + if (this.bang.visible = !1, + this.img_word.visible = !0, + this.container_hearts.visible = !0, + this.me.in.play(0, !1), + this.block_chat.me.visible = !1, + this.btn_bigclose.visible = !1, + view.AudioMgr.refresh_music_volume(!0), + Laya.loader.create(this.effect_path), + this.chara_info.is_upgraded) { + var s = cfg.item_definition.character.get(this.chara_info.charid).full_fetter_skin; + game.LoadMgr.loadResImage([cfg.item_definition.skin.get(s).path + "/full.png"]) + } + Laya.timer.once(1400, this, function() { + i.bang.visible = !0, + i.me.bang.play(0, !1), + Laya.timer.once(1550, i, function() { + i.bang.visible = !1, + i.chara_info.is_upgraded ? i.change_full_fetter_skin() : i.when_over() + }), + i.chara_info.is_upgraded || Laya.timer.once(500, i, function() { + var t = Laya.loader.getRes(i.effect_path); + t && (i.container_effect.addChild(t), + t.visible = !0), + view.AudioMgr.PlayAudio(113) + }) + }) + } + , + i.prototype.reset = function() { + this.bg.skin = "", + this.img_word.skin = "", + this.bg.skin = game.Tools.localUISrc("myres/star_up/bg.jpg"), + this.img_word.skin = game.Tools.localUISrc("myres/star_up/levelup.png"); + for (var t = 0; t < this.bang_imgs.length; t++) + this.bang_imgs[t].skin = "", + this.bang_imgs[t].skin = game.Tools.localUISrc("myres/star_up/bang_heart.png") + } + , + i.prototype.change_full_fetter_skin = function() { + var t = this; + if (this.enable) { + var e = cfg.item_definition.character.get(this.chara_info.charid); + if (e) { + cfg.item_definition.skin.get(e.full_fetter_skin) && (this.avatar1.setSkin(this.chara_info.skin, "full"), + this.avatar1.me.visible = !0, + this.avatar1.me.filters = [new Laya.ColorFilter([0, 0, 0, 0, 255, 0, 0, 0, 0, 255, 0, 0, 0, 0, 255, 0, 0, 0, 1, 0])], + this.avatar1.me.alpha = 0, + Laya.Tween.to(this.avatar1.me, { + alpha: 1 + }, 1e3, null, Laya.Handler.create(this, function() { + t.enable && (Laya.timer.once(1e3, t, function() { + t.avatar0.setSkin(e.full_fetter_skin, "full"), + t.avatar1.me.visible = !1, + Laya.timer.once(500, t, function() { + t.when_over() + }) + }), + Laya.timer.once(1e3, t, function() { + var e = Laya.loader.getRes(t.effect_path); + e && (t.container_effect.addChild(e), + e.visible = !0), + view.AudioMgr.PlayAudio(113) + })) + }))) + } + } + } + , + i.prototype.when_over = function() { + var t = this + , e = ""; + if (this.chara_info.is_upgraded) + e = "lobby_qiyue"; + else + switch (this.chara_info.level) { + case 1: + e = "lobby_levelup0"; + break; + case 2: + e = "lobby_levelup1"; + break; + case 3: + e = "lobby_levelup2"; + break; + case 4: + e = "lobby_levelup3"; + break; + case 5: + e = "lobby_levelmax" + } + var i = cfg.item_definition.character.get(this.chara_info.charid) + , n = cfg.voice.sound.getGroup(i.sound) + , a = 0; + if ("" != e) { + for (var r = "", s = "", o = 0; o < n.length; o++) + if (n[o].type == e) { + r = n[o]["words_" + GameMgr.client_language], + s = n[o].path, + a = n[o].time_length; + break + } + if ("" != s) { + this.block_chat.show(r); + var l = i.sound_volume; + view.AudioMgr.yuyinMuted ? l = 0 : l *= view.AudioMgr.yuyinVolume, + view.AudioMgr.getCVmute(i.id) ? l = 0 : l *= view.AudioMgr.getCVvolume(i.id), + this.sound_channel = view.AudioMgr.PlaySound(s, l), + this.img_word.visible = !1, + this.container_hearts.visible = !1 + } + } + Laya.timer.once(a + 2e3, this, function() { + t.btn_bigclose.visible = !0 + }) + } + , + i.prototype.onDisable = function() { + view.AudioMgr.refresh_music_volume(!1); + for (e = 0; e < this.ress.length; e++) + Laya.loader.clearTextureRes(this.ress[e]); + if (this.avatar0.clear(), + this.avatar1.clear(), + this.chara_info.is_upgraded) + for (var e = 0; e < t.UI_Sushe.characters.length; e++) + if (t.UI_Sushe.characters[e].charid == this.chara_info.charid) { + t.UI_Sushe.characters[e].level = 5, + t.UI_Sushe.characters[e].exp = 0, + t.UI_Sushe.characters[e].skin = cfg.item_definition.character.get(this.chara_info.charid).full_fetter_skin, + t.UI_Sushe.main_character_id == this.chara_info.charid && (GameMgr.Inst.account_data.avatar_id = t.UI_Sushe.characters[e].skin); + break + } + this.chara_info = null, + Laya.timer.clearAll(this), + this.sound_channel && (this.sound_channel.stop(), + Laya.SoundManager.removeChannel(this.sound_channel), + this.sound_channel = null); + var i = Laya.loader.getRes(this.effect_path); + i && i.destroy(!0) + } + , + i.prototype.close = function() { + this.locking = !0, + this.enable = !1, + this.back_func && this.back_func.run() + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_Character_star_up = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.checkhuiyuUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.btn_close = this.root.getChildByName("btn_close"), + this.btn_chongzhi = this.root.getChildByName("btn_buy"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.notice1 = this.root.getChildByName("notice1"), + this.notice2 = this.root.getChildByName("notice2"), + this.notice3 = this.root.getChildByName("notice3"), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + e.locking = !0, + t.UIBase.anim_pop_hide(e.root, Laya.Handler.create(e, function() { + e.locking = !1, + e.enable = !1 + })) + }, null, !1), + this.btn_confirm.clickHandler = Laya.Handler.create(this, function() { + e.locking = !0, + t.UIBase.anim_pop_hide(e.root, Laya.Handler.create(e, function() { + e.locking = !1, + e.enable = !1 + })) + }, null, !1), + this.btn_chongzhi.clickHandler = Laya.Handler.create(this, function() { + if (!e.func_locking || !e.func_locking.run()) + if (t.UI_PiPeiYuYue.Inst.enable) + t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null); + else { + var i = !1; + e.func_close && (i = !0, + e.func_close.runWith(Laya.Handler.create(e, function() { + t.UI_Recharge.Inst.enable ? t.UI_Recharge.Inst.refresh_info("huiyu") : t.UI_Recharge.Inst.show("huiyu", null) + }, null, !1))), + e.locking = !0, + t.UIBase.anim_pop_hide(e.root, Laya.Handler.create(e, function() { + e.locking = !1, + e.enable = !1, + i || (t.UI_Recharge.Inst.enable ? t.UI_Recharge.Inst.refresh_info("huiyu") : t.UI_Recharge.Inst.show("huiyu", null)) + })) + } + }, null, !1) + } + , + i.prototype.show = function(e, i, n) { + var a = this; + this.locking = !0, + this.func_close = i, + this.func_locking = n, + this.enable = !0, + this.root.visible = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + a.locking = !1 + })); + var r = 0; + GameMgr.Inst.account_numerical_resource[100001] && (r += GameMgr.Inst.account_numerical_resource[100001]), + GameMgr.inChina && GameMgr.Inst.account_numerical_resource[101005] && (r += GameMgr.Inst.account_numerical_resource[101005]); + var s = 0; + GameMgr.inGooglePlay && GameMgr.Inst.account_numerical_resource[101001] && (s += GameMgr.Inst.account_numerical_resource[101001]), + GameMgr.inChina && GameMgr.Inst.account_numerical_resource[101002] && (s += GameMgr.Inst.account_numerical_resource[101002]), + GameMgr.inChina && GameMgr.Inst.account_numerical_resource[101004] && (s += GameMgr.Inst.account_numerical_resource[101004]), + GameMgr.inDmm && GameMgr.Inst.account_numerical_resource[101006] && (s += GameMgr.Inst.account_numerical_resource[101006]), + this.notice2.text = r.toString(), + this.notice1.text = s.toString(), + this.notice3.text = (s + r).toString() + } + , + i.Inst = null, + i.first = !0, + i + }(t.UIBase); + t.UI_checkhuiyu = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.checkpifuquanUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.btn_close = this.root.getChildByName("btn_close"), + this.btn_chongzhi = this.root.getChildByName("btn_buy"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.notice1 = this.root.getChildByName("notice1"), + this.notice2 = this.root.getChildByName("notice2"), + this.notice3 = this.root.getChildByName("notice3"), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + e.locking = !0, + t.UIBase.anim_pop_hide(e.root, Laya.Handler.create(e, function() { + e.locking = !1, + e.enable = !1 + })) + }, null, !1), + this.btn_confirm.clickHandler = Laya.Handler.create(this, function() { + e.locking = !0, + t.UIBase.anim_pop_hide(e.root, Laya.Handler.create(e, function() { + e.locking = !1, + e.enable = !1 + })) + }, null, !1), + this.btn_chongzhi.clickHandler = Laya.Handler.create(this, function() { + if (!e.func_locking || !e.func_locking.run()) + if (t.UI_PiPeiYuYue.Inst.enable) + t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null); + else { + var i = !1; + e.func_close && (i = !0, + e.func_close.runWith(Laya.Handler.create(e, function() { + t.UI_Recharge.Inst.enable ? t.UI_Recharge.Inst.refresh_info("pifuquan") : t.UI_Recharge.Inst.show("pifuquan", null) + }, null, !1))), + e.locking = !0, + t.UIBase.anim_pop_hide(e.root, Laya.Handler.create(e, function() { + e.locking = !1, + e.enable = !1, + i || (t.UI_Recharge.Inst.enable ? t.UI_Recharge.Inst.refresh_info("pifuquan") : t.UI_Recharge.Inst.show("pifuquan", null)) + })) + } + }, null, !1) + } + , + i.prototype.show = function(e, i, n) { + var a = this; + this.locking = !0, + this.func_close = i, + this.func_locking = n, + this.enable = !0, + this.root.visible = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + a.locking = !1 + })); + var r = 0; + GameMgr.Inst.account_numerical_resource[100004] && (r = GameMgr.Inst.account_numerical_resource[100004]), + GameMgr.inChina && GameMgr.Inst.account_numerical_resource[102005] && (r += GameMgr.Inst.account_numerical_resource[102005]); + var s = 0; + GameMgr.inGooglePlay && GameMgr.Inst.account_numerical_resource[102001] && (s += GameMgr.Inst.account_numerical_resource[102001]), + GameMgr.inChina && GameMgr.Inst.account_numerical_resource[102002] && (s += GameMgr.Inst.account_numerical_resource[102002]), + GameMgr.inChina && GameMgr.Inst.account_numerical_resource[102004] && (s += GameMgr.Inst.account_numerical_resource[102004]), + GameMgr.inDmm && GameMgr.Inst.account_numerical_resource[102006] && (s += GameMgr.Inst.account_numerical_resource[102006]), + this.notice2.text = r.toString(), + this.notice1.text = s.toString(), + this.notice3.text = (s + r).toString() + } + , + i.Inst = null, + i.first = !0, + i + }(t.UIBase); + t.UI_checkpifuquan = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var e = t.call(this, new ui.mj.chipenghuUI) || this; + return e.container_Detail = null, + e.btn_cancel = null, + e.btn_detail_back = null, + e.label_title = null, + e.op_btns = new Object, + e + } + return __extends(e, t), + e.prototype.onCreate = function() { + var t = this.me.getChildByName("container_btns"); + this.container_btns = t; + for (i = 0; i < this.container_btns.numChildren; i++) { + var e = this.container_btns.getChildAt(i); + this.op_btns[e.name] = e, + e.visible = !1, + e.clickHandler = new Laya.Handler(this,this.onClickOpBtn,[e.name]) + } + this.container_Detail = this.me.getChildByName("container_detail"), + this.container_Detail.visible = !1; + for (var i = 0; i < 6; i++) { + var n = this.container_Detail.getChildByName("container_chooses").getChildByName("c" + i); + n.visible = !1, + n.clickHandler = laya.utils.Handler.create(this, this.onClickDetail, [i], !1) + } + this.btn_detail_back = this.container_Detail.getChildByName("btn_back"), + this.btn_detail_back.clickHandler = new Laya.Handler(this,this.onDetailBack,null,!1), + this.btn_cancel = this.me.getChildByName("btn_cancel"), + this.btn_cancel.visible = !1, + this.label_title = this.container_Detail.getChildByName("container_title").getChildByName("lab_title"), + this.label_title.text = "" + } + , + e.prototype.show = function(t) {} + , + e.prototype.onClickOpBtn = function(t) {} + , + e.prototype.onClickDetail = function(t) {} + , + e.prototype.onDetailBack = function() {} + , + e.prototype.showOp = function(t) { + this.container_Detail.visible = !1, + this.container_btns.visible = !0, + this.btn_cancel.visible = !1; + for (var e = this.container_btns.width, i = 0, n = 0, a = this.container_btns.numChildren - 1; a >= 0; a--) { + for (var r = !1, s = this.container_btns.getChildAt(a), o = 0; o < t.length; o++) + if (t[o] == s.name) { + r = !0; + break + } + r ? (s.visible = !0, + s.x = e - s.width, + s.y = i, + e -= s.width + 0, + 3 == ++n && (i -= 180, + e = this.container_btns.width, + n = 0)) : s.visible = !1 + } + Laya.Tween.from(this.container_btns, { + x: 940, + alpha: 0 + }, 160) + } + , + e.prototype.showDetail = function(t, e) { + this.container_btns.visible = !1, + this.btn_cancel.visible = !1; + var i = this.container_Detail.getChildByName("container_title") + , n = (i.getChildByName("lab_title"), + this.container_Detail.getChildByName("container_chooses")) + , a = 0 + , r = n.getChildByName("c0").getChildByName("img0").width + , s = .5 * r; + this.label_title.text = t; + for (var o = "myres2/mjp/" + GameMgr.Inst.mjp_view + "/ui/", l = 0; l < 6; l++) { + var h = n.getChildByName("c" + l); + if (l < e.length) { + for (var c = e[l].split("|"), _ = 0; _ < 4; _++) { + var u = h.getChildByName("img" + _); + _ < c.length ? (u.skin = game.Tools.localUISrc(o + c[_] + ".png"), + u.x = _ * r, + u.y = 0, + u.visible = !0) : u.visible = !1 + } + h.width = c.length * r, + 0 != l && (a += s), + h.x = a, + a += h.width, + h.y = -23, + h.visible = !0 + } else + h.visible = !1 + } + n.width = a, + this.container_Detail.width = a + 240, + i.x = .5 * this.container_Detail.width, + n.x = 120, + this.btn_detail_back.x = this.container_Detail.width - 56, + this.container_Detail.visible = !0, + this.container_Detail.x = 960 - this.container_Detail.width / 2 + } + , + e + }(t.UIBase); + t.UI_PlayerOperation = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this) || this; + return t._data = new Object, + t.choosed_op = mjcore.E_PlayOperation.eat, + t._oplist = [], + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.show = function(t) { + for (var e = [], i = 0; i < t.length; i++) + switch (t[i].type) { + case mjcore.E_PlayOperation.eat: + e.push("btn_chi"), + this._data.chi = t[i].combination; + break; + case mjcore.E_PlayOperation.peng: + e.push("btn_peng"), + this._data.peng = t[i].combination; + break; + case mjcore.E_PlayOperation.ming_gang: + e.push("btn_gang"); + break; + case mjcore.E_PlayOperation.rong: + e.push("btn_hu") + } + e.push("btn_cancel"), + this._oplist = e, + this.showOp(e), + this.enable = !0, + view.DesktopMgr.Inst.ShowChiPengEffect(), + view.AudioMgr.PlayAudio(202) + } + , + i.prototype.onClickOpBtn = function(t) { + if (view.DesktopMgr.Inst.mode == view.EMJMode.play) + switch (view.AudioMgr.PlayAudio(101), + t) { + case "btn_chi": + this.onBtn_Chi(); + break; + case "btn_peng": + this.onBtn_Peng(); + break; + case "btn_gang": + this.onBtn_Gang(); + break; + case "btn_hu": + this.onBtn_Hu(); + break; + case "btn_cancel": + this.onBtn_Cancel() + } + } + , + i.prototype.onClickDetail = function(t) { + view.DesktopMgr.Inst.mode == view.EMJMode.play && (view.AudioMgr.PlayAudio(101), + app.NetAgent.sendReq2MJ("FastTest", "inputChiPengGang", { + type: this.choosed_op, + index: t + }, function(t, e) {}), + view.DesktopMgr.Inst.WhenDoOperation()) + } + , + i.prototype.onDetailBack = function() { + this.showOp(this._oplist), + view.AudioMgr.PlayAudio(101) + } + , + i.prototype.onBtn_Chi = function() { + this._data.chi.length > 1 ? (this.choosed_op = mjcore.E_PlayOperation.eat, + this.showDetail(game.Tools.strOfLocalization(2038), this._data.chi)) : (app.NetAgent.sendReq2MJ("FastTest", "inputChiPengGang", { + type: mjcore.E_PlayOperation.eat, + index: 0, + timeuse: t.UI_DesktopInfo.Inst._timecd.timeuse + }, function(t, e) {}), + view.DesktopMgr.Inst.WhenDoOperation()) + } + , + i.prototype.onBtn_Peng = function() { + this._data.peng.length > 1 ? (this.choosed_op = mjcore.E_PlayOperation.peng, + this.showDetail(game.Tools.strOfLocalization(2039), this._data.peng)) : (app.NetAgent.sendReq2MJ("FastTest", "inputChiPengGang", { + type: mjcore.E_PlayOperation.peng, + index: 0, + timeuse: t.UI_DesktopInfo.Inst._timecd.timeuse + }, function(t, e) {}), + view.DesktopMgr.Inst.WhenDoOperation()) + } + , + i.prototype.onBtn_Gang = function() { + app.NetAgent.sendReq2MJ("FastTest", "inputChiPengGang", { + type: mjcore.E_PlayOperation.ming_gang, + index: 0, + timeuse: t.UI_DesktopInfo.Inst._timecd.timeuse + }, function(t, e) {}), + view.DesktopMgr.Inst.WhenDoOperation() + } + , + i.prototype.onBtn_Hu = function() { + app.NetAgent.sendReq2MJ("FastTest", "inputChiPengGang", { + type: mjcore.E_PlayOperation.rong, + index: 0, + timeuse: t.UI_DesktopInfo.Inst._timecd.timeuse + }, function(t, e) {}), + view.DesktopMgr.Inst.WhenDoOperation() + } + , + i.prototype.onBtn_Cancel = function() { + app.NetAgent.sendReq2MJ("FastTest", "inputChiPengGang", { + cancel_operation: !0, + timeuse: t.UI_DesktopInfo.Inst._timecd.timeuse + }, function(t, e) {}), + view.DesktopMgr.Inst.WhenDoOperation() + } + , + i.prototype.onDisable = function() { + view.DesktopMgr.Inst.CloseChiPngEffect(), + Laya.timer.clearAll(this) + } + , + i.prototype.onDoubleClick = function() { + this.onBtn_Cancel() + } + , + i.Inst = null, + i + }(t.UI_PlayerOperation); + t.UI_ChiPengHu = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + return e.call(this, new ui.entrance.choose_languageUI) || this + } + return __extends(i, e), + i.show = function(e) { + if (!this._inited) { + this._complete = e, + this._inited = !0; + var n = new i; + t.UIMgr.Inst.AddLobbyUI(n), + Laya.timer.frameOnce(5, this, function() { + n._show() + }) + } + } + , + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.scorllview = this.root.getChildByName("lst").scriptMap["capsui.CScrollView"], + this.lst = [], + this.lst.push({ + name: "简体中文", + language: "chs" + }), + this.lst.push({ + name: "繁体中文", + language: "chs_t" + }), + this.lst.push({ + name: "日文", + language: "jp" + }), + this.lst.push({ + name: "英文", + language: "en" + }), + this.scorllview.init_scrollview(Laya.Handler.create(this, function(e) { + var i = e.index + , n = e.container; + n.label = t.lst[i].name, + n.clickHandler = Laya.Handler.create(t, function() { + Laya.LocalStorage.setItem("lang", t.lst[i].language), + t.enable = !1, + t.me.destroy(!0), + Laya.Browser.window.conch || (Laya.Browser.window.location.href = GameMgr.Inst.link_url) + }, null, !1) + }, null, !1)), + this.me.getChildByName("jump").clickHandler = Laya.Handler.create(this, function() { + t.enable = !1, + t.me.destroy(!0), + i._complete && i._complete.run() + }, null, !1) + } + , + i.prototype._show = function() { + this.enable = !0, + this.scorllview.reset(), + this.scorllview.addItem(this.lst.length); + var t = "当前语言:"; + switch (GameMgr.client_language) { + case "chs": + t += "简体中文"; + break; + case "chs_t": + t += "繁体中文"; + break; + case "jp": + t += "日文"; + break; + case "en": + t += "英文"; + break; + default: + t += "未知" + } + this.me.getChildByName("now").text = t + } + , + i._ips = [], + i._inited = !1, + i._complete = null, + i + }(t.UIBase); + t.UI_ChooseLanguage = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + return e.call(this, new ui.entrance.chooseserverUI) || this + } + return __extends(i, e), + i.show = function(e) { + if (!this._inited) + if (this._complete = e, + this._inited = !0, + this._ips = GameMgr.config_data.ip, + 1 == this._ips.length) + this._linkLobby(0); + else { + var n = new i; + t.UIMgr.Inst.AddLobbyUI(n), + Laya.timer.frameOnce(5, this, function() { + n._show() + }) + } + } + , + i._linkLobby = function(t) { + var e = this._ips[t]; + game.LobbyNetMgr.Inst.init(e.name, e.region_urls), + GameMgr.Inst.need_test_ws ? game.LobbyNetMgr.Inst.OpenAllConnect() : game.LobbyNetMgr.Inst.OpenConnect(null), + this._complete.run() + } + , + i._linkLobbyStr = function(t) { + game.LocalStorage.setItem("test_server_url", t), + game.LobbyNetMgr.Inst.init("自选:" + t, ["http://" + t + "/api/v0/recommend_list"]), + game.LobbyNetMgr.Inst.OpenConnect(null), + this._complete.run() + } + , + i.do_guanzhan = function() { + var t = 0 + , e = [] + , i = function(t) { + var e = net.MessageWrapper.decodeMessage(t.action_data); + return { + timestamp: t.timestamp, + category: t.action_category, + name: e.$type.name, + data: e + } + } + , n = function() { + if (t > 35) + console.log(JSON.stringify(e)); + else { + var a = new Laya.HttpRequest; + a.once(Laya.Event.COMPLETE, this, function(a) { + e.push({ + index: t, + split: "===================================================" + }); + var r = new Laya.Byte; + r.writeArrayBuffer(a); + for (var s = net.MessageWrapper.decodeMessage(r.getUint8Array(0, r.length)), o = 0; o < s.actions.length; o++) + e.push(i(s.actions[o])); + t++, + n() + }), + a.once(Laya.Event.ERROR, this, function(t) {}); + a.send("guanzhan/" + t, "", "get", "arraybuffer", []) + } + }; + n() + } + , + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.scorllview = this.root.getChildByName("lst").scriptMap["capsui.CScrollView"], + this.scorllview.init_scrollview(Laya.Handler.create(this, function(e) { + var n = e.index + , a = e.container; + a.label = i._ips[n].name, + a.clickHandler = Laya.Handler.create(t, function() { + i._linkLobby(n), + t.enable = !1, + t.me.destroy(!0) + }, null, !1) + }, null, !1)), + this.input = this.root.getChildByName("input"), + this.root.getChildByName("enter").clickHandler = new Laya.Handler(this,function() { + i._linkLobbyStr(t.input.text), + t.enable = !1, + t.me.destroy(!0) + } + ) + } + , + i.prototype._show = function() { + this.enable = !0, + this.scorllview.reset(), + this.scorllview.addItem(i._ips.length); + var t = game.LocalStorage.getItem("test_server_url"); + t && (this.input.text = t) + } + , + i._ips = [], + i._inited = !1, + i._complete = null, + i + }(t.UIBase); + t.UI_ChooseServer = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.closeappUI) || this; + return t.locking = !1, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_confirm").clickHandler = Laya.Handler.create(this, function() { + e.locking || (e.close(), + Laya.Browser.window.conch && Laya.Browser.window.conch.exit && Laya.Browser.window.conch.exit()) + }, null, !1), + this.root.getChildByName("btn_cancel").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.root.getChildByName("btn_cancel").filters = [new Laya.ColorFilter([.3086, .6094, .082, 0, 0, .3086, .6094, .082, 0, 0, .3086, .6094, .082, 0, 0, 0, 0, 0, 1, 0])], + this.desc = this.root.getChildByName("desc"), + this.desc.text = game.Tools.strOfLocalization(22), + this.locking = !1, + GameMgr.inConch && Laya.Browser.window.conch.setOnBackPressedFunction && Laya.Browser.window.conch.setOnBackPressedFunction(function() { + e.locking || t.UI_CloseApp.Inst.show() + }) + } + , + i.prototype.show = function() { + var e = this; + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_CloseApp = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var i = t.call(this, new ui.common.commonUI) || this; + return i.label_net_lobby = null, + i.label_net_mj = null, + i.label_fps = null, + i._fps_count = 0, + i._last_time = 0, + e.Inst = i, + i + } + return __extends(e, t), + e.prototype.onCreate = function() { + var t = this.me.getChildByName("container_net"); + this.label_net_lobby = t.getChildByName("lobby"), + this.label_net_mj = t.getChildByName("mj"), + this.label_fps = t.getChildByName("fps"), + this.label_net_lobby.text = "", + this.label_net_mj.text = "", + this.label_fps.text = "" + } + , + e.prototype.onEnable = function() { + this._fps_count = 0, + this._last_time = Laya.timer.currTimer, + game.LobbyNetMgr.Inst.refreshCommonShow() + } + , + e.prototype.update = function() { + this._fps_count++; + var t = Laya.timer.currTimer - this._last_time; + t >= 500 && (this.label_fps.text = "fps:" + Math.floor(this._fps_count / t * 1e3), + this._fps_count = 0, + this._last_time = Laya.timer.currTimer) + } + , + e.Inst = null, + e + }(t.UIBase); + t.UI_Common = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e) { + var i = this; + this._during_drag = !1, + this.me = t, + this.bar = this.me.getChildByName("val"), + this.point = this.me.getChildByName("point"), + this.me.on("mousedown", this, function() { + i._during_drag = !0, + e.runWith(i.me.mouseX / i.me.width) + }), + this.me.on("mousemove", this, function() { + i._during_drag && e.runWith(i.me.mouseX / i.me.width) + }), + this.me.on("mouseout", this, function() { + i._during_drag = !1 + }), + this.me.on("mouseup", this, function() { + i._during_drag = !1 + }) + } + return t.prototype.refresh = function(t) { + var e = t; + e < 0 ? e = 0 : e > 1 && (e = 1), + this.bar.width = e * this.me.width, + this.point.x = e * this.me.width + } + , + t + }() + , i = function() { + function t(t, i, n, a, r) { + var s = this; + this.me = t, + this._get_on = i, + this._set_on = n, + this._get_val = a, + this._set_val = r, + this.slider = new e(this.me.getChildByName("slider"),new Laya.Handler(this,function(t) { + s._set_val.runWith(t), + s._set_on.runWith(!0), + s.refresh() + } + )), + this.btn_mute = this.me.getChildByName("checkbox").getChildByName("btn"), + this.check = this.me.getChildByName("checkbox").getChildByName("checkbox"), + this.btn_mute.clickHandler = new Laya.Handler(this,function() { + s._set_on.runWith(!s._get_on.run()), + s.refresh() + } + ) + } + return t.prototype.refresh = function() { + var t = this._get_on.run(); + this._get_val.run(); + this.check.visible = t, + this.slider.bar.gray = !t, + this.slider.point.gray = !t, + this.slider.refresh(this._get_val.run()) + } + , + t + }() + , n = function() { + function t(t, e, i) { + var n = this; + this.me = t, + this._get_on = e, + this._set_on = i, + this.btn = this.me.getChildByName("checkbox").getChildByName("btn"), + this.check = this.me.getChildByName("checkbox").getChildByName("checkbox"), + this.label = this.me.getChildByName("checkbox").getChildByName("label"), + this.btn.clickHandler = new Laya.Handler(this,function() { + n._set_on.run() + } + ) + } + return t.prototype.refresh = function() { + var t = this._get_on.run(); + this.check.visible = t, + this.label && (this.label.color = t ? "#cad4f7" : "#9ba1b2") + } + , + t + }() + , a = function() { + function t(t) { + this.me = t + } + return t.prototype.onShow = function() {} + , + t.prototype.show = function(t) { + t ? (this.me.visible = !0, + this.onShow()) : (this.me.visible = !1, + this.me.height = 0) + } + , + t + }() + , r = function(e) { + function a(a) { + var r = e.call(this, a) || this; + r.music_controll = null, + r.audio_controll = null, + r.lizhi_controll = null, + r.yuyin_controll = null, + r.teshuyuyin_controll = null, + r.btn_detail_music = null, + r.container_bgm = null, + r.bgm_list_lobby = null, + r.bgm_list_mj = null, + r.fps_controll = null, + r.fpslow_controll = null, + r.btn_bgm = null, + r.music_controll = new i(r.me.getChildByName("audio").getChildByName("music"),new Laya.Handler(r,function() { + return !view.AudioMgr.musicMuted + } + ),new Laya.Handler(r,function(t) { + h.Inst.locking || (view.AudioMgr.musicMuted = !t) + } + ),new Laya.Handler(r,function() { + return view.AudioMgr.musicVolume + } + ),new Laya.Handler(r,function(t) { + h.Inst.locking || (view.AudioMgr.musicVolume = t) + } + )), + r.audio_controll = new i(r.me.getChildByName("audio").getChildByName("audio"),new Laya.Handler(r,function() { + return !view.AudioMgr.audioMuted + } + ),new Laya.Handler(r,function(t) { + h.Inst.locking || (view.AudioMgr.audioMuted = !t) + } + ),new Laya.Handler(r,function() { + return view.AudioMgr.audioVolume + } + ),new Laya.Handler(r,function(t) { + h.Inst.locking || (view.AudioMgr.audioVolume = t) + } + )), + r.lizhi_controll = new i(r.me.getChildByName("audio").getChildByName("lizhi"),new Laya.Handler(r,function() { + return !view.AudioMgr.lizhiMuted + } + ),new Laya.Handler(r,function(t) { + h.Inst.locking || (view.AudioMgr.lizhiMuted = !t) + } + ),new Laya.Handler(r,function() { + return view.AudioMgr.lizhiVolume + } + ),new Laya.Handler(r,function(t) { + h.Inst.locking || (view.AudioMgr.lizhiVolume = t) + } + )), + r.yuyin_controll = new i(r.me.getChildByName("audio").getChildByName("yuyin"),new Laya.Handler(r,function() { + return !view.AudioMgr.yuyinMuted + } + ),new Laya.Handler(r,function(t) { + h.Inst.locking || (view.AudioMgr.yuyinMuted = !t, + game.Tools.setGrayDisable(r.teshuyuyin_controll.me, view.AudioMgr.yuyinMuted), + r.teshuyuyin_controll.refresh()) + } + ),new Laya.Handler(r,function() { + return view.AudioMgr.yuyinVolume + } + ),new Laya.Handler(r,function(t) { + h.Inst.locking || (view.AudioMgr.yuyinVolume = t) + } + )), + r.teshuyuyin_controll = new i(r.me.getChildByName("audio").getChildByName("teshuyuyin"),new Laya.Handler(r,function() { + return !view.AudioMgr.yuyinMuted && !view.AudioMgr.teshuyuyinMuted + } + ),new Laya.Handler(r,function(t) { + h.Inst.locking || (view.AudioMgr.teshuyuyinMuted = !t) + } + ),new Laya.Handler(r,function() { + return view.AudioMgr.teshuyuyinVolume + } + ),new Laya.Handler(r,function(t) { + h.Inst.locking || (view.AudioMgr.teshuyuyinVolume = t) + } + )); + var s = function(t) { + var e = Laya.LocalStorage.getItem("fpsmode"); + return 0 == t ? "slow" != e : "slow" == e + } + , o = function(t) { + var e = "fast"; + e = 0 == t ? "fast" : "slow", + Laya.LocalStorage.getItem("fpsmode") != e && (h.Inst.btn_restart.visible = !0, + Laya.LocalStorage.setItem("fpsmode", e), + r.fps_controll.refresh(), + r.fpslow_controll.refresh()) + }; + return r.block_fps = r.me.getChildByName("other"), + r.fps_controll = new n(r.me.getChildByName("other").getChildByName("fps"),new Laya.Handler(r,s,[0]),new Laya.Handler(r,o,[0])), + r.fpslow_controll = new n(r.me.getChildByName("other").getChildByName("fpslow"),new Laya.Handler(r,s,[1]),new Laya.Handler(r,o,[1])), + r.container_bgm = r.me.getChildByName("audio").getChildByName("bgm"), + r.bgm_list_lobby = new t.UI_Bgm_List(r.container_bgm.getChildByName("lobby"),!0), + r.bgm_list_mj = new t.UI_Bgm_List(r.container_bgm.getChildByName("mj"),!1), + r.btn_bgm = r.me.getChildByName("audio").getChildByName("btn_bgm"), + r.btn_bgm.clickHandler = new Laya.Handler(r,function() { + r.container_bgm.visible ? (r.container_bgm.visible = !1, + r.btn_bgm.rotation = 0) : (r.container_bgm.visible = !0, + r.btn_bgm.rotation = 180), + r.refresh() + } + ), + r + } + return __extends(a, e), + a.prototype.onShow = function(t) { + void 0 === t && (t = !1), + this.music_controll.refresh(), + this.audio_controll.refresh(), + this.lizhi_controll.refresh(), + this.yuyin_controll.refresh(), + this.teshuyuyin_controll.refresh(), + game.Tools.setGrayDisable(this.teshuyuyin_controll.me, view.AudioMgr.yuyinMuted), + this.fps_controll.refresh(), + this.fpslow_controll.refresh(), + this.me.height = 778, + this.bgm_list_lobby.show(), + this.bgm_list_mj.show(), + this.container_bgm.visible = !1, + this.btn_bgm.rotation = 0, + this.refresh() + } + , + a.prototype.onBgmChange = function() { + this.me.visible && (this.bgm_list_lobby.refresh(), + this.bgm_list_mj.refresh()) + } + , + a.prototype.openBgmList = function() { + this.container_bgm.visible || (this.container_bgm.visible = !0, + this.btn_bgm.rotation = 180, + this.refresh()) + } + , + a.prototype.refresh = function() { + var t = 86; + this.music_controll.me.y = t, + t += 120, + this.container_bgm.visible && (this.container_bgm.y = t, + t += 20, + this.bgm_list_lobby.me.y = 20, + t += this.bgm_list_lobby.h, + t += 20, + this.bgm_list_mj.me.y = this.bgm_list_lobby.me.y + this.bgm_list_lobby.h + 20, + t += this.bgm_list_mj.h, + t += 20, + this.container_bgm.height = 20 + this.bgm_list_lobby.h + 20 + this.bgm_list_mj.h + 20, + t += 20), + this.audio_controll.me.y = t, + t += 120, + this.lizhi_controll.me.y = t, + t += 120, + this.yuyin_controll.me.y = t, + t += 120, + this.teshuyuyin_controll.me.y = t, + t += 120, + this.block_fps.y = t, + this.me.height = t + this.block_fps.height, + h.Inst.panel.refresh() + } + , + a + }(a) + , s = function(e) { + function i(t) { + var i = e.call(this, t) || this; + i.click1_controll = null, + i.click2_controll = null, + i.click3_controll = null, + i.comment_controlls = [], + i.comment_change_cd = 0, + i.tile_sets = [], + i.click1_controll = new n(i.me.getChildByName("confrontation").getChildByName("click1"),new Laya.Handler(i,i.chupai_getter,[0]),new Laya.Handler(i,i.chupai_setter,[0])), + i.click2_controll = new n(i.me.getChildByName("confrontation").getChildByName("click2"),new Laya.Handler(i,i.chupai_getter,[1]),new Laya.Handler(i,i.chupai_setter,[1])), + i.click3_controll = new n(i.me.getChildByName("confrontation").getChildByName("click3"),new Laya.Handler(i,function() { + return 1 == view.DesktopMgr.double_click_pass + } + ),new Laya.Handler(i,function() { + view.DesktopMgr.double_click_pass ^= 1, + Laya.LocalStorage.setItem("double_click_pass", view.DesktopMgr.double_click_pass.toString()), + i.click3_controll.refresh() + } + )); + for (a = 0; a < 3; a++) + i.comment_controlls.push(new n(i.me.getChildByName("comment").getChildByName("click" + (a + 1).toString()),new Laya.Handler(i,i.comment_getter,[a]),new Laya.Handler(i,i.comment_setter,[a]))); + i.contianer_tile_set = i.me.getChildByName("tileset"); + for (var a = 1; a <= 2; a++) + i.tile_sets.push(new n(i.contianer_tile_set.getChildByName("click" + a.toString()),new Laya.Handler(i,i.tile_set_getter,[a]),new Laya.Handler(i,i.tile_set_setter,[a]))); + return i + } + return __extends(i, e), + i.prototype.chupai_getter = function(t) { + return view.DesktopMgr.click_prefer == t + } + , + i.prototype.chupai_setter = function(t) { + view.DesktopMgr.click_prefer != t && (view.DesktopMgr.click_prefer = t, + Laya.LocalStorage.setItem("click_prefer", t.toString()), + this.click1_controll.refresh(), + this.click2_controll.refresh()) + } + , + i.prototype.comment_getter = function(t) { + return GameMgr.Inst.comment_allow == t + } + , + i.prototype.comment_setter = function(e) { + var i = this; + GameMgr.Inst.comment_allow != e && (Laya.timer.currTimer < this.comment_change_cd || (this.comment_change_cd = Laya.timer.currTimer + 1e3, + app.NetAgent.sendReq2Lobby("Lobby", "updateCommentSetting", { + comment_allow: e + }, function(n, a) { + if (n || a.error) + t.UIMgr.Inst.showNetReqError("updateCommentSetting", n, a), + i.comment_change_cd = 0; + else { + GameMgr.Inst.comment_allow = e, + i.comment_change_cd = 0; + for (var r = 0; r < i.comment_controlls.length; r++) + i.comment_controlls[r].refresh() + } + }))) + } + , + i.prototype.tile_set_getter = function(t) { + return 1 == t ? view.DesktopMgr.en_mjp : !view.DesktopMgr.en_mjp + } + , + i.prototype.tile_set_setter = function(t) { + var e = 1 == t; + if (e != view.DesktopMgr.en_mjp) { + game.LocalStorage.setItem("en_mjp", e ? "true" : "false"), + view.DesktopMgr.en_mjp = e, + GameMgr.Inst.load_mjp_view(); + for (var i = 0; i < this.tile_sets.length; i++) + this.tile_sets[i].refresh() + } + } + , + i.prototype.onShow = function() { + this.click1_controll.refresh(), + this.click2_controll.refresh(), + this.click3_controll.refresh(); + for (e = 0; e < this.comment_controlls.length; e++) + this.comment_controlls[e].refresh(); + if ("en" == GameMgr.client_language) { + this.contianer_tile_set.visible = !0; + for (var e = 0; e < this.tile_sets.length; e++) + this.tile_sets[e].refresh(); + game.Tools.setGrayDisable(this.contianer_tile_set, !t.UI_Lobby.Inst.enable), + this.me.height = 804 + } else + this.contianer_tile_set.visible = !1, + this.me.height = 480 + } + , + i + }(a) + , o = function(t) { + function e(e) { + var n = t.call(this, e) || this; + return n.chara_ids = [], + n.cells = [], + n.cvs = [], + n.templete = n.me.getChildByName("CharacterVoice").getChildByName("templete"), + n.templete.visible = !1, + cfg.item_definition.character.forEach(function(t) { + t.open && (n.chara_ids.push(t.id), + n.cells.push(n.templete.scriptMap["capsui.UICopy"].getNodeClone())) + }), + Laya.timer.frameOnce(5, n, function() { + for (var t = function(t) { + var e = n.cells[t] + , a = n.chara_ids[t]; + n.cvs.push({ + img: e.getChildByName("img"), + controller: new i(e,new Laya.Handler(n,function() { + return !view.AudioMgr.getCVmute(a) + } + ),new Laya.Handler(n,function(t) { + h.Inst.locking || view.AudioMgr.setCVmute(a, !t) + } + ),new Laya.Handler(n,function() { + return view.AudioMgr.getCVvolume(a) + } + ),new Laya.Handler(n,function(t) { + h.Inst.locking || view.AudioMgr.setCVvolume(a, t) + } + )) + }), + e.x = t % 2 == 0 ? -15 : 510, + e.y = 110 * Math.floor(t / 2) + 110, + e.visible = !0 + }, e = 0; e < n.chara_ids.length; e++) + t(e) + }), + n + } + return __extends(e, t), + e.prototype.onShow = function() { + for (var t = 0; t < this.chara_ids.length; t++) { + var e = cfg.item_definition.character.get(this.chara_ids[t]) + , i = cfg.item_definition.skin.get(e.init_skin); + game.LoadMgr.setImgSkin(this.cvs[t].img, i.path + "/smallhead.png"), + this.cvs[t].controller.refresh() + } + this.me.height = 130 + 110 * Math.ceil(this.chara_ids.length / 2) + } + , + e + }(a) + , l = function(e) { + function i(n) { + var a = e.call(this, n) || this; + a.block_other = n.getChildByName("Other"), + a.block_renzheng = n.getChildByName("renzheng"), + a.block_account = n.getChildByName("account"), + a.block_account_en = n.getChildByName("account_en"); + a.block_other.getChildByName("btn_gift").clickHandler = new Laya.Handler(a,function() { + h.Inst.locking || (h.Inst.hide(), + t.UI_Giftcode.Inst.show()) + } + ), + a.block_other.getChildByName("btn_rule").clickHandler = new Laya.Handler(a,function() { + h.Inst.locking || (h.Inst.hide(), + t.UI_Rules.Inst.show(0)) + } + ); + var r = a.block_other.getChildByName("btn_kefu"); + if (GameMgr.inDmm ? (r.visible = !0, + r.clickHandler = new Laya.Handler(a,function() { + h.Inst.locking || (h.Inst.hide(), + t.UI_Dmm_Kefu.Inst.show()) + } + )) : r.visible = !1, + a.block_other.getChildByName("jp").visible = !1, + a.block_other.getChildByName("en").visible = !1, + a.block_other.getChildByName("chs_t").visible = !1, + "en" == GameMgr.client_type) + a.block_other.getChildByName("en").visible = !0, + 348, + a.block_other.getChildByName("en").getChildByName("btn0").clickHandler = new Laya.Handler(a,function() { + h.Inst.hide(), + t.UI_User_Xieyi_enjp.Inst.show("docs/contact_us.txt") + } + ), + a.block_other.getChildByName("en").getChildByName("btn1").clickHandler = new Laya.Handler(a,function() { + h.Inst.hide(), + t.UI_User_Xieyi_enjp.Inst.show("docs/term_of_service.txt") + } + ), + a.block_other.getChildByName("en").getChildByName("btn2").clickHandler = new Laya.Handler(a,function() { + h.Inst.hide(), + t.UI_User_Xieyi_enjp.Inst.show("docs/privacy_policy.txt") + } + ); + else if ("jp" == GameMgr.client_type) + a.block_other.getChildByName("jp").visible = !0, + 429, + a.block_other.getChildByName("jp").getChildByName("btn0").clickHandler = new Laya.Handler(a,function() { + h.Inst.hide(), + t.UI_User_Xieyi_enjp.Inst.show("docs/jp_liyongguiyue.txt") + } + ), + a.block_other.getChildByName("jp").getChildByName("btn1").clickHandler = new Laya.Handler(a,function() { + h.Inst.hide(), + GameMgr.inDmm ? t.UI_User_Xieyi_enjp.Inst.show("docs/jp_falv1_dmm.txt") : t.UI_User_Xieyi_enjp.Inst.show("docs/jp_falv1.txt") + } + ), + a.block_other.getChildByName("jp").getChildByName("btn2").clickHandler = new Laya.Handler(a,function() { + h.Inst.hide(), + t.UI_User_Xieyi_enjp.Inst.show("docs/jp_yinsixieyi.txt") + } + ), + a.block_other.getChildByName("jp").getChildByName("btn3").clickHandler = new Laya.Handler(a,function() { + h.Inst.hide(), + t.UI_User_Xieyi_enjp.Inst.show("docs/jp_falv2.txt") + } + ); + else if ("chs_t" == GameMgr.client_type) { + var s = a.block_other.getChildByName("chs_t"); + s.visible = !0; + s.getChildByName("btn_kefu").clickHandler = new Laya.Handler(a,function() { + h.Inst.locking || t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(3151), Laya.Handler.create(a, function() { + var t = "https://ykf-webchat.7moor.com/wapchat.html?accessId=4184be70-95b1-11ea-b027-616616b0ded6"; + t += "&fromUrl=https://www.maj-soul.com", + t += "&urlTitle=网页", + t += "&language=EN"; + var e = {}; + e["登陆状态"] = "已登录", + e["昵称"] = GameMgr.Inst.account_data.nickname, + e["游戏ID"] = GameMgr.Inst.account_id, + e["登陆账号名"] = 0 == GameMgr.Inst.sociotype ? game.LocalStorage.getItem("account") : "第三方登陆:" + GameMgr.Inst.sociotype, + e["vip等级"] = GameMgr.Inst.account_data.vip; + var i = cfg.level_definition.level_definition.get(GameMgr.Inst.account_data.level.id); + e["四麻段位"] = i ? i.full_name_chs : "无"; + var n = cfg.level_definition.level_definition.get(GameMgr.Inst.account_data.level3.id); + e["三麻段位"] = n ? i.full_name_chs : "无", + e["平台"] = "网页", + e["版本"] = game.ResourceVersion.version; + var a = {}; + a.nickName = GameMgr.Inst.account_data.nickname, + t += "&customField=" + JSON.stringify(e), + t += "&otherParams=" + JSON.stringify(a), + t += "&clientId=" + game.Tools.encode_account_id2(GameMgr.Inst.account_id), + game.Tools.open_new_window(t) + })) + } + ), + s.getChildByName("btn0").clickHandler = new Laya.Handler(a,function() { + h.Inst.locking || (h.Inst.hide(), + t.UI_User_Xieyi_enjp.Inst.show("docs/chst_fuwuxieyi.txt")) + } + ), + s.getChildByName("btn1").clickHandler = new Laya.Handler(a,function() { + h.Inst.locking || (h.Inst.hide(), + t.UI_User_Xieyi_enjp.Inst.show("docs/chst_yinsitiaokuan.txt")) + } + ) + } + return a.block_account.getChildByName("mail").getChildByName("unbind").getChildByName("btn").clickHandler = new Laya.Handler(a,function() { + h.Inst.locking || (i.renzheng_clicked = 2, + Laya.LocalStorage.setItem("bangding_clicked", "2"), + t.UI_Lobby.Inst.top.refreshRedpoint(), + h.Inst.hide(), + GameMgr.Inst.sociotype >= 1 ? t.UI_Bind_Mail0.Inst.show() : t.UI_Bind_Mail1.Inst.show()) + } + ), + a.block_account.getChildByName("phone").getChildByName("unbind").getChildByName("btn").clickHandler = new Laya.Handler(a,function() { + h.Inst.locking || (h.Inst.hide(), + i.renzheng_clicked = 2, + Laya.LocalStorage.setItem("bangding_clicked", "2"), + t.UI_Lobby.Inst.top.refreshRedpoint(), + GameMgr.Inst.sociotype >= 1 ? t.UI_Bind_Phone0.Inst.show() : t.UI_Bind_Phone1.Inst.show()) + } + ), + a.block_account_en.getChildByName("mail").getChildByName("unbind").getChildByName("btn").clickHandler = new Laya.Handler(a,function() { + h.Inst.locking || (h.Inst.hide(), + t.UI_Bind_Yostar_Mail.Inst.show()) + } + ), + a.block_account_en.getChildByName("mail").getChildByName("binded").getChildByName("btn").clickHandler = new Laya.Handler(a,function() { + h.Inst.locking || (h.Inst.hide(), + t.UI_Unbind_Yostar_Mail.Inst.show()) + } + ), + a + } + return __extends(i, e), + i.have_redpoint = function() { + if ("chs" != GameMgr.client_language) + return !1; + if (!GameMgr.Inst.account_data.email || !GameMgr.Inst.account_data.phone) { + if (0 == this.renzheng_clicked) { + var t = Laya.LocalStorage.getItem("bangding_clicked"); + this.renzheng_clicked = t && "" != t ? "2" == t ? 1 : 2 : 1 + } + return 2 != this.renzheng_clicked + } + return !1 + } + , + i.prototype.onShow = function() { + var e = 273; + if ("jp" == GameMgr.client_type ? e = 429 : "en" == GameMgr.client_type ? e = 348 : "chs_t" == GameMgr.client_type && (e = 348), + "chs" != GameMgr.client_type) + this.block_renzheng.visible = !1; + else { + this.block_renzheng.visible = !0, + this.block_renzheng.y = e, + e += this.block_renzheng.height; + var n = this.block_renzheng.getChildByName("RealName") + , a = n.getChildByName("other"); + if (t.UI_ShiMingRenZheng.renzhenged) { + var r = (s = n.getChildByName("btn")).getChildByName("label"); + r.text = "已认证", + r.color = "#72f882", + a.text = "", + s.mouseEnabled = !1 + } else { + a.text = "尚未认证", + a.color = "#ff5757"; + var s = n.getChildByName("btn"); + s.visible = !0, + s.mouseEnabled = !0, + s.clickHandler = Laya.Handler.create(this, function() { + h.Inst.locking || (h.Inst.hide(), + t.UI_ShiMingRenZheng.Inst.show()) + }, null, !1) + } + } + if ("chs" != GameMgr.client_type && "chs_t" != GameMgr.client_type) + this.block_account.visible = !1; + else { + this.block_account.visible = !0, + this.block_account.y = e, + e += this.block_account.height; + l = this.block_account.getChildByName("mail"); + GameMgr.Inst.account_data.email_verify ? (l.getChildByName("unbind").visible = !1, + l.getChildByName("binded").visible = !0, + l.getChildByName("binded").getChildByName("mail").text = "(" + GameMgr.Inst.account_data.email + ")") : (l.getChildByName("unbind").visible = !0, + GameMgr.Inst.account_data.email ? (l.getChildByName("unbind").getChildByName("btn").getChildByName("l0").text = game.Tools.strOfLocalization(2788), + l.getChildByName("unbind").getChildByName("l1").text = "(" + GameMgr.Inst.account_data.email + ")") : (l.getChildByName("unbind").getChildByName("btn").getChildByName("l0").text = game.Tools.strOfLocalization(2704), + l.getChildByName("unbind").getChildByName("l1").text = game.Tools.strOfLocalization(2705)), + l.getChildByName("binded").visible = !1); + var o = this.block_account.getChildByName("phone"); + "chs" != GameMgr.client_type ? o.visible = !1 : (o.visible = !0, + GameMgr.Inst.account_data.phone_verify ? (o.getChildByName("binded").getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + t.UI_Unbind_Phone.Inst.show(), + h.Inst.hide() + }, null, !1), + o.getChildByName("unbind").visible = !1, + o.getChildByName("binded").visible = !0, + o.getChildByName("binded").getChildByName("phone").text = "(" + GameMgr.Inst.account_data.phone + ")", + o.getChildByName("binded").getChildByName("info").text = 1 == GameMgr.Inst.phone_login ? "登陆凭证" : "非登录凭证") : (o.getChildByName("unbind").visible = !0, + GameMgr.Inst.account_data.phone ? (o.getChildByName("unbind").getChildByName("btn").getChildByName("l0").text = game.Tools.strOfLocalization(2788), + o.getChildByName("unbind").getChildByName("l1").text = "(" + GameMgr.Inst.account_data.phone + ")") : (o.getChildByName("unbind").getChildByName("btn").getChildByName("l0").text = game.Tools.strOfLocalization(2704), + o.getChildByName("unbind").getChildByName("l1").text = game.Tools.strOfLocalization(2705)), + o.getChildByName("binded").visible = !1)), + this.block_account.getChildByName("redpoint").visible = i.have_redpoint() + } + if (this.block_account_en.visible = !1, + ("jp" == GameMgr.client_type || "en" == GameMgr.client_type) && 7 != GameMgr.Inst.sociotype && !GameMgr.inDmm) { + this.block_account_en.visible = !0, + this.block_account_en.y = e, + e += this.block_account_en.height; + var l, c = (l = this.block_account_en.getChildByName("mail")).getChildByName("l0"), _ = c.x + c.textField.textWidth + 10; + if (GameMgr.Inst.yostar_login_info.yostar_username) { + l.getChildByName("unbind").visible = !1, + l.getChildByName("binded").visible = !0, + l.getChildByName("binded").x = _, + _ = 0; + var u = l.getChildByName("binded").getChildByName("mail"); + u.text = "" + GameMgr.Inst.yostar_login_info.yostar_username, + u.x = _, + _ += u.textField.textWidth; + var d = l.getChildByName("binded").getChildByName("l2"); + d.text = game.Tools.strOfLocalization(3003), + d.x = 0, + _ += d.textField.textWidth + } else { + l.getChildByName("binded").visible = !1, + l.getChildByName("unbind").visible = !0, + l.getChildByName("unbind").x = _, + _ = 0; + var f = l.getChildByName("unbind").getChildByName("btn").getChildByName("l0"); + f.text = game.Tools.strOfLocalization(2704), + f.x = _, + _ += f.textField.textWidth; + var p = l.getChildByName("unbind").getChildByName("btn").getChildByName("l1"); + p.text = game.Tools.strOfLocalization(2705), + p.x = _ + } + } + this.me.height = e + 100 + } + , + i.renzheng_clicked = 0, + i + }(a) + , h = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.configUI) || this; + return t.container_tabs = null, + t.pages = [], + t.btn_restart = null, + t.btn_save = null, + t._scrollbar = null, + t._scrollpoint = null, + t._drag_scroll = !1, + t.locking = !1, + i.Inst = t, + t + } + return __extends(i, e), + i.have_redpoint = function() { + return l.have_redpoint() + } + , + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.panel = this.root.getChildByName("Panel"), + this.pages.push(new r(this.panel.getChildByName("ConCenter"))), + this.pages.push(new s(this.panel.getChildByName("PreCenter"))), + this.pages.push(new o(this.panel.getChildByName("CVCenter"))), + this.pages.push(new l(this.panel.getChildByName("OtherCenter"))), + this.panel.vScrollBar.visible = !1, + this._scrollbar = this.root.getChildByName("scrollbar"), + this._scrollpoint = this._scrollbar.getChildByName("scrollpoint"), + this._scrollbar && (this._scrollbar.on("mousedown", this, function() { + e._drag_scroll = !0, + e.panel.vScrollBar.stopScroll(), + e.panel.vScrollBar.value = e._scrollbar.mouseY / e._scrollbar.height * e.panel.vScrollBar.max + }), + this._scrollbar.on("mousemove", this, function() { + e._drag_scroll && (e.panel.vScrollBar.stopScroll(), + e.panel.vScrollBar.value = e._scrollbar.mouseY / e._scrollbar.height * e.panel.vScrollBar.max) + }), + this._scrollbar.on("mouseup", this, function() { + e._drag_scroll = !1 + }), + this._scrollbar.on("mouseout", this, function() { + e._drag_scroll = !1 + }), + this.panel.vScrollBar.on("change", this, function() { + e._scrollpoint.y = (e._scrollbar.height - e._scrollpoint.height) * e.panel.vScrollBar.value / e.panel.vScrollBar.max + })), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.hide() + }, null, !1), + this.root.getChildByName("btn_logout").clickHandler = Laya.Handler.create(this, function() { + t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(2718), Laya.Handler.create(e, function() { + app.NetAgent.sendReq2Lobby("Lobby", "logout", {}, function() {}), + Laya.LocalStorage.setItem("_pre_sociotype", ""), + Laya.Browser.window.conch ? Laya.Browser.window.conch && Laya.Browser.window.conch.exit && Laya.Browser.window.conch.exit() : Laya.Browser.window.location.href = GameMgr.Inst.link_url + })), + e.hide() + }, null, !1), + this.container_tabs = this.root.getChildByName("ButtonCrew"); + for (var i = function(t) { + n.root.getChildByName("ButtonCrew").getChildByName("btn" + t).clickHandler = new Laya.Handler(n,function() { + e.locking || e.refresh_tab(t) + } + ) + }, n = this, a = 0; a < 4; a++) + i(a); + this.btn_restart = this.root.getChildByName("btn_restart"), + this.btn_restart.clickHandler = Laya.Handler.create(this, function() { + Laya.Browser.window.conch ? Laya.Browser.window.conch && Laya.Browser.window.conch.exit && Laya.Browser.window.conch.exit() : Laya.Browser.window.location.href = GameMgr.Inst.link_url + }, null, !1), + this.root.getChildByName("version").text = game.Tools.strOfLocalization(2040) + ":" + game.ResourceVersion.version + } + , + i.prototype.refresh_tab = function(t) { + for (i = 0; i < 4; i++) { + e = this.container_tabs.getChildByName("btn" + i); + this.container_tabs.setChildIndex(e, 0), + e.skin = game.Tools.localUISrc("myres/bothui/tab_unchoose2.png") + } + var e = this.container_tabs.getChildByName("btn" + t); + this.container_tabs.setChildIndex(e, this.container_tabs.numChildren - 1), + e.skin = game.Tools.localUISrc("myres/bothui/tab_choosed2.png"); + for (var i = 0; i < this.pages.length; i++) + this.pages[i].show(i == t); + this._drag_scroll = !1, + this.panel.refresh(), + this._scrollpoint.y = 0, + this.panel.vScrollBar.value = 0, + this._scrollbar.visible = this.panel.vScrollBar.max > 0 + } + , + i.prototype.show = function(e) { + var i = this; + void 0 === e && (e = 0), + GameMgr.Inst.BehavioralStatistics(17), + this.refresh_tab(0), + 1 == e && this.pages[0].openBgmList(), + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.container_tabs.getChildByName("btn3").getChildByName("redpoint").visible = l.have_redpoint() + } + , + i.prototype.hide = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i.prototype.onBgmChange = function() { + this.enable && this.pages[0].onBgmChange() + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_Config = h +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var i = t.call(this, new ui.both_ui.courseUI) || this; + return i.locking = !1, + i.loadover = [], + i.urls = ["course/course0.png", "course/course1.png", "course/course2.png", "course/course3.png", "course/course4.png", "course/course5.png", "course/course6.png", "course/course7.png", "course/course8.png"], + i.pageindex = 0, + e.Inst = i, + i + } + return __extends(e, t), + e.prototype.onCreate = function() {} + , + e.prototype.show = function(t) { + var e = this; + void 0 === t && (t = null), + this.enable = !0, + this.func_complete = t, + this.locking = !0, + this.root.alpha = 0, + Laya.Tween.to(this.root, { + alpha: 1 + }, 120, null, Laya.Handler.create(this, function() { + e.locking = !1 + })), + this.showPage(0); + for (var i = function(t) { + n.loadover.push(!1), + Laya.loader.load(n.urls[t], Laya.Handler.create(n, function() { + Laya.timer.frameOnce(3, e, function() { + e.loadover[t] = !0, + e.enable && e.pageindex == t && (e.loading.visible = !1, + e.page.source = Laya.loader.getRes(e.urls[t]), + e.page.visible = !0), + e.enable || Laya.loader.clearTextureRes(e.urls[t]) + }) + })) + }, n = this, a = 0; a < this.urls.length; a++) + i(a) + } + , + e.prototype.close = function() { + var t = this; + this.locking = !0, + this.root.alpha = 1, + Laya.Tween.to(this.root, { + alpha: 0 + }, 120, null, Laya.Handler.create(this, function() { + t.locking = !1, + t.enable = !1; + for (var e = 0; e < t.urls.length; e++) + t.loadover[e] && Laya.loader.clearTextureRes(t.urls[e]); + t.func_complete && t.func_complete.run() + })) + } + , + e.prototype.showPage = function(t) { + this.pageindex = t, + this.btn_left.visible = 0 != t, + this.btn_right.visible = t != this.urls.length - 1, + this.loadover[t] ? (this.page.visible = !0, + this.page.source = Laya.loader.getRes(this.urls[t]), + this.loading.visible = !1) : (this.page.visible = !1, + this.loading.visible = !0) + } + , + e + }(t.UIBase); + t.UI_Course = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.create_phone_accountUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close(Laya.Handler.create(e, function() { + 0 == GameMgr.Inst.sociotype || GameMgr.Inst.account_data.email_verify ? app.NetAgent.sendReq2Lobby("Lobby", "createPhoneLoginBind", {}, function(n, a) { + n || a.error ? (t.UIMgr.Inst.showNetReqError("bindPhoneNumber", n, a), + i.Inst.show(e.complete)) : (t.UI_Create_Phone_Account_Success.Inst.show(!0, e.complete), + e.complete = null) + }) : (t.UI_Bind_Phone2.Inst.show(e.complete), + e.complete = null) + })) + } + ), + this.root.getChildByName("btn_cancel").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close(Laya.Handler.create(e, function() { + e.complete && e.complete.run() + })) + } + ) + } + , + i.prototype.show = function(e) { + var i = this; + this.locking = !0, + this.enable = !0, + this.complete = e, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })) + } + , + i.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + })) + } + , + i + }(t.UIBase); + t.UI_Create_Phone_Account = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.create_phone_account_successUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + t.locking || t.close() + } + ) + } + , + i.prototype.show = function(e, i) { + var n = this; + this.locking = !0, + this.enable = !0, + this.complete = i, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })), + this.root.getChildByName("info").visible = e + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + e.complete && e.complete.run() + })) + } + , + i + }(t.UIBase); + t.UI_Create_Phone_Account_Success = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e; + !function(t) { + t[t.none = 0] = "none", + t[t.liqi4 = 1] = "liqi4", + t[t.liqi3 = 2] = "liqi3" + }(e || (e = {})); + var i; + !function(t) { + t[t.none = 0] = "none", + t[t.friend_room = 1] = "friend_room", + t[t.matching = 2] = "matching" + }(i || (i = {})); + var n = function() { + function t(t) { + this.me = t + } + return t.prototype.show = function(t, e, i) {} + , + t.prototype.reset = function() {} + , + t + }() + , a = function(t) { + function e(e) { + var i = t.call(this, e) || this; + i.container_hand = null, + i.img_hands = [], + i.label_noinfo = null, + i.container_title = null, + i.container_hand = i.me.getChildByName("container_hand"), + i.img_hands = []; + for (var n = 0; n < i.container_hand.numChildren; n++) { + var a = i.container_hand.getChildAt(n); + a.visible = !1, + i.img_hands.push(a) + } + return i.container_title = i.me.getChildByName("container_title"), + i.label_noinfo = i.me.getChildByName("label_noinfo"), + i + } + return __extends(e, t), + e.prototype.show = function(t, e, i) { + var n = null; + if (t.statistic_data) + for (var a = 0; a < t.statistic_data.length; a++) { + var r = t.statistic_data[a]; + if (e == r.mahjong_category && i == r.game_category) { + n = r.statistic; + break + } + } + if (n && n.highest_hu) { + this.container_hand.visible = !0, + this.container_title.visible = !0, + this._showDaHe(n.highest_hu.hands, n.highest_hu.ming, n.highest_hu.hupai); + var s = 0; + if (n.highest_hu.title_id) + s = n.highest_hu.title_id; + else if (n.highest_hu.title) + switch (n.highest_hu.title) { + case "满贯": + s = mjcore.E_Dadian_Title.E_Dadian_Title_manguan; + break; + case "跳满": + s = mjcore.E_Dadian_Title.E_Dadian_Title_tiaoman; + break; + case "倍满": + s = mjcore.E_Dadian_Title.E_Dadian_Title_beiman; + break; + case "三倍满": + s = mjcore.E_Dadian_Title.E_Dadian_Title_sanbeiman; + break; + case "累积役满": + s = mjcore.E_Dadian_Title.E_Dadian_Title_leijiyiman; + break; + case "役满": + s = mjcore.E_Dadian_Title.E_Dadian_Title_yiman; + break; + case "两倍役满": + s = mjcore.E_Dadian_Title.E_Dadian_Title_yiman2; + break; + case "三倍役满": + s = mjcore.E_Dadian_Title.E_Dadian_Title_yiman3; + break; + case "四倍役满": + s = mjcore.E_Dadian_Title.E_Dadian_Title_yiman4; + break; + case "五倍役满": + s = mjcore.E_Dadian_Title.E_Dadian_Title_yiman5; + break; + case "六倍役满": + s = mjcore.E_Dadian_Title.E_Dadian_Title_yiman6 + } + this._setTitle(s), + this.label_noinfo.visible = !1 + } else + this.container_hand.visible = !1, + this.container_title.visible = !1, + this.label_noinfo.visible = !0 + } + , + e.prototype.reset = function() { + this.container_hand.visible = !1, + this.label_noinfo.visible = !1, + this.container_title.visible = !1 + } + , + e.prototype._showDaHe = function(t, e, i) { + for (var n = this.img_hands[0].width, a = .5 * n, r = 0; r < this.img_hands.length; r++) + this.img_hands[r].visible = !1; + for (var s = 0, o = 0, l = "myres2/mjp/" + game.GameUtility.get_view_res_name(game.EView.mjp) + "/ui/", h = [], r = 0; r < t.length; r++) + h.push(mjcore.MJPai.Create(t[r])); + h = h.sort(function(t, e) { + return 10 * t.numValue() + (t.dora ? 0 : 1) - (10 * e.numValue() + (e.dora ? 0 : 1)) + }); + for (r = 0; r < h.length; r++) + this.img_hands[s].skin = game.Tools.localUISrc(l + h[r].toString() + ".png"), + this.img_hands[s].x = o, + this.img_hands[s].y = 0, + o += n, + this.img_hands[s].visible = !0, + s++; + if (e && e.length > 0) { + o += a; + for (r = 0; r < e.length; r++) { + var c = e[r]; + if (")" != c.charAt(c.length - 1)) { + if (1 == (u = c.split("|")).length) { + p = u[0].charAt(1); + "0" == (f = u[0].charAt(0)) && (f = "5"); + for (v = 0; v < 4; v++) { + b = ""; + b = 0 == v || 3 == v ? "back" : 1 == v && "5" == f && "z" != p ? "0" + p : f + p, + this.img_hands[s].skin = game.Tools.localUISrc(l + b + ".png"), + this.img_hands[s].x = o, + this.img_hands[s].y = 0, + o += n, + this.img_hands[s].visible = !0, + s++ + } + } else + for (v = 0; v < u.length; v++) { + b = u[v].toString(); + this.img_hands[s].skin = game.Tools.localUISrc(l + b + ".png"), + this.img_hands[s].x = o, + this.img_hands[s].y = 0, + o += n, + this.img_hands[s].visible = !0, + s++ + } + } else { + for (var _ = "", u = [], d = 0; d < c.length; d++) + if ("(" == c.charAt(d)) { + _ = c.substring(0, d), + u = c.substring(d + 1, c.length - 1).split(","); + break + } + if ("angang" == _) { + for (var f = u[0].charAt(0), p = u[0].charAt(1), m = 0, g = 0; g < u.length; g++) + "0" == u[g].charAt(0) && m++; + m > 0 && (f = "5"); + for (var y = 0; y < u.length; y++) { + b = ""; + b = 0 == y || 3 == y ? "back" : y <= m ? "0" + p : f + p, + this.img_hands[s].skin = game.Tools.localUISrc(l + b + ".png"), + this.img_hands[s].x = o, + this.img_hands[s].y = 0, + o += n, + this.img_hands[s].visible = !0, + s++ + } + } else + for (var v = 0; v < u.length; v++) { + var b = u[v]; + this.img_hands[s].skin = game.Tools.localUISrc(l + b + ".png"), + this.img_hands[s].x = o, + this.img_hands[s].y = 0, + o += n, + this.img_hands[s].visible = !0, + s++ + } + } + } + } + o += a, + this.img_hands[s].skin = game.Tools.localUISrc(l + i + ".png"), + this.img_hands[s].x = o, + this.img_hands[s].y = 0, + o += n, + this.img_hands[s].visible = !0; + var w = -.12 * (++s - 14) / 4 + .65; + this.container_hand.scaleX = this.container_hand.scaleY = w + } + , + e.prototype._setTitle = function(t) { + for (n = 0; n < this.container_title.numChildren; n++) + this.container_title.getChildAt(n).visible = !1; + if ("chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language) { + e = []; + switch (t) { + case mjcore.E_Dadian_Title.E_Dadian_Title_manguan: + e = ["", "", "man", "guan"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_tiaoman: + e = ["", "", "tiao", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_beiman: + e = ["", "", "bei", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_sanbeiman: + e = ["", "san", "bei", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_leijiyiman: + e = ["lei", "ji", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman: + e = ["", "", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman2: + e = ["liang", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman3: + e = ["san", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman4: + e = ["si", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman5: + e = ["wu", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman6: + e = ["liu", "bei", "yi", "man"] + } + (i = this.container_title.getChildByName("chs")).visible = !0; + for (n = 0; n < i.numChildren; n++) + i.getChildAt(n).visible = !1; + for (n = 0; n < e.length; n++) + if ("" != e[n]) { + (a = i.getChildAt(n)).visible = !0, + a.skin = game.Tools.localUISrc("myres/word_" + e[n] + ".png") + } + } else if ("en" == GameMgr.client_language) { + (i = this.container_title.getChildByName("en")).visible = !0; + a = i.getChildAt(0); + switch (t) { + case mjcore.E_Dadian_Title.E_Dadian_Title_manguan: + a.skin = "en/myres/Mangan.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_tiaoman: + a.skin = "en/myres/Haneman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_beiman: + a.skin = "en/myres/Baiman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_sanbeiman: + a.skin = "en/myres/Sanbaiman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_leijiyiman: + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman: + a.skin = "en/myres/Yakuman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman2: + a.skin = "en/myres/Double Yakuman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman3: + a.skin = "en/myres/Triple Yakuman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman4: + a.skin = "en/myres/Quadruple Yakuman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman5: + a.skin = "en/myres/Quintuple Yakuman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman6: + a.skin = "en/myres/Sextuple Yakuman.png"; + break; + default: + a.skin = "" + } + } else if ("jp" == GameMgr.client_language) { + var e = []; + switch (t) { + case mjcore.E_Dadian_Title.E_Dadian_Title_manguan: + e = ["", "", "man", "guan"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_tiaoman: + e = ["", "", "tiao", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_beiman: + e = ["", "", "bei", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_sanbeiman: + e = ["", "san", "bei", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_leijiyiman: + e = ["shu", "ji", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman: + e = ["", "", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman2: + e = ["er", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman3: + e = ["san", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman4: + e = ["si", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman5: + e = ["wu", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman6: + e = ["liu", "bei", "yi", "man"] + } + var i = this.container_title.getChildByName("chs"); + i.visible = !0; + for (n = 0; n < i.numChildren; n++) + i.getChildAt(n).visible = !1; + for (var n = 0; n < e.length; n++) + if ("" != e[n]) { + var a; + (a = i.getChildAt(n)).visible = !0, + a.skin = "jp/myres/word_" + e[n] + ".png" + } + } + } + , + e + }(n) + , r = function(i) { + function n(e) { + var n = i.call(this, e) || this; + n.fengge = [], + n.radar_triangle = []; + var a = n.me; + n.fengge.push(a.getChildByName("gong")), + n.fengge.push(a.getChildByName("su")), + n.fengge.push(a.getChildByName("fang")), + n.fengge.push(a.getChildByName("yun")); + for (s = 0; s < 4; s++) + n.radar_triangle.push(a.getChildByName("radar").getChildByName("sanjiao" + s.toString())); + var r = n.me.getChildByName("what"); + if (r && (r.clickHandler = Laya.Handler.create(n, function() { + t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(51)) + }, null, !1)), + "en" == GameMgr.client_language) + for (var s = 0; s < n.fengge.length; s++) + n.fengge[s].x = 150; + return n + } + return __extends(n, i), + n.prototype.show = function(t, i, n) { + var a = this + , r = null; + if (t.statistic_data) + for (var s = 0; s < t.statistic_data.length; s++) { + var o = t.statistic_data[s]; + if (i == o.mahjong_category && n == o.game_category) { + r = o.statistic; + break + } + } + var l = [0, 0, 0, 0]; + if (r && r.recent_20_hu_summary && r.recent_20_hu_summary.total_count > 0) { + var h = r.recent_20_hu_summary.average_hu_point + , c = 0; + (c = i == e.liqi4 ? (h - 3e3) / 5e3 * 100 : (h - 4e3) / 8e3 * 100) < 0 ? c = 0 : c > 100 && (c = 100), + l[0] = c + } + if (r && r.recent_round && r.recent_round.total_count > 0) { + r.recent_round.rong_count + r.recent_round.zimo_count == 0 ? l[1] = 0 : (l[1] = ((r.recent_round.rong_count + r.recent_round.zimo_count) / r.recent_round.total_count - .1) / .3 * 100, + l[1] < 0 ? l[1] = 0 : l[1] > 100 && (l[1] = 100)); + (c = 100 * (1.12 - r.recent_round.fangchong_count / r.recent_round.total_count * 3.4)) < 0 ? c = 0 : c > 100 && (c = 100), + l[2] = c + } + if (r && r.recent_10_hu_summary && r.recent_10_hu_summary.total_fanshu > 0) { + c = (c = r.recent_10_hu_summary.total_xuanshang / r.recent_10_hu_summary.total_fanshu * 1.5 * 100) < 0 ? 0 : c > 100 ? 100 : c, + l[3] = c + } + this._showRadar([0, 0, 0, 0]), + Laya.timer.once(500, this, function() { + Laya.timer.clearAll(a); + var t = Laya.timer.currTimer + , e = function() { + var i = Laya.timer.currTimer - t; + if (i >= 300) + a._showRadar(l), + Laya.timer.clear(a, e); + else { + for (var n = Laya.Ease.linearNone(i, 0, 1, 300), r = [], s = 0; s < l.length; s++) + r.push(l[s] * n); + a._showRadar(r) + } + }; + Laya.timer.frameLoop(1, a, e, null, !0) + }) + } + , + n.prototype.reset = function() { + Laya.timer.clearAll(this), + this._showRadar([0, 0, 0, 0]) + } + , + n.prototype._showRadar = function(t) { + for (e = 0; e < t.length; e++) + this.fengge[e].text = Math.floor(t[e]).toString(); + for (var e = 0; e < t.length; e++) + for (var i = 0; i < 2; i++) { + var n = this.radar_triangle[e].getChildByName(0 == i ? "nei" : "wai") + , a = t[e] / 20 + , r = t[(e + 1) % t.length] / 20; + a <= .2 && (a = .2), + a >= 4.8 && (a = 4.8), + r <= .2 && (r = .2), + r >= 4.8 && (r = 4.8), + 1 == i && (a += .3, + r += .3); + var s = 180 * Math.atan(r / a) / 3.1415926 + , o = 108 * a / 5 + , l = 108 * r / 5; + n.rotation = s, + n.x = .5 * o, + n.y = 108 - .5 * l, + n.width = n.height = Math.sqrt(o * o + l * l) + 10 + } + } + , + n + }(n) + , s = function(t) { + function i(i) { + var n = t.call(this, i) || this; + n.zoushi_points = [], + n.zoushi_lines = [], + n.mj_category = e.liqi4; + for (var a = n.me, r = a.getChildByName("lines"), s = 0; s < r.numChildren; s++) + n.zoushi_lines.push(r.getChildAt(s)); + for (var o = a.getChildByName("points"), s = 0; s < o.numChildren; s++) + n.zoushi_points.push(o.getChildAt(s)); + return "en" == GameMgr.client_language && (i.getChildByName("lb1").getChildByName("w").text = "st", + i.getChildByName("lb2").getChildByName("w").text = "nd", + i.getChildByName("lb3").getChildByName("w").text = "rd", + i.getChildByName("lb4").getChildByName("w").text = "th", + i.getChildByName("lb1").getChildByName("w").y = 32, + i.getChildByName("lb2").getChildByName("w").y = 32, + i.getChildByName("lb3").getChildByName("w").y = 32, + i.getChildByName("lb4").getChildByName("w").y = 32), + n + } + return __extends(i, t), + i.prototype.show = function(t, i, n) { + var a = this + , r = null; + if (this.mj_category = i, + t.statistic_data) + for (var s = 0; s < t.statistic_data.length; s++) { + var o = t.statistic_data[s]; + if (i == o.mahjong_category && n == o.game_category) { + r = o.statistic; + break + } + } + if (r && r.recent_10_game_result) { + Laya.timer.clearAll(this); + var l = r.recent_10_game_result; + this._showZoushi([], 0), + Laya.timer.clearAll(this), + Laya.timer.once(500, this, function() { + var t = l.length >= 10 ? 10 : l.length + , e = Laya.timer.currTimer; + Laya.timer.frameLoop(1, a, function() { + var i = .01 * (Laya.timer.currTimer - e); + i >= t ? (a._showZoushi(l, t), + Laya.timer.clearAll(a)) : a._showZoushi(l, i) + }, null, !0) + }) + } else + Laya.timer.clearAll(this), + this._showZoushi([], 0); + this.me.getChildByName("line4").visible = i == e.liqi4, + this.me.getChildByName("lb4").visible = i == e.liqi4 + } + , + i.prototype.reset = function() { + this._showZoushi([], 0) + } + , + i.prototype._showZoushi = function(t, i) { + var n = 0; + n = t.length >= 10 ? t.length - 10 : 0; + for (s = 0; s < this.zoushi_points.length; s++) + this.zoushi_points[s].visible = !1; + for (s = 0; s < this.zoushi_lines.length; s++) + this.zoushi_lines[s].visible = !1; + for (var a = [], r = Math.floor(i), s = 0; s + n < t.length; s++) { + var o = -705 * (9 - s) / 9 + 1755 + , l = -129 * (4 - t[s + n].rank) / 3 + 991; + a.push(new Laya.Vector2(o,l)) + } + for (s = 0; s < a.length && !(s > r); s++) { + this.zoushi_points[s].visible = !0, + this.zoushi_points[s].x = a[s].x, + this.zoushi_points[s].y = a[s].y; + var h = this.mj_category == e.liqi4 ? 5e4 : 7e4; + if (this.zoushi_points[s].skin = game.Tools.localUISrc(1 == t[n + s].rank && t[n + s].final_point >= h ? "myres/point_high.png" : "myres/point.png"), + s + 1 < a.length) + if (s == r) { + var c = i - r; + if (c > .001) { + this.zoushi_lines[s].visible = !0, + this.zoushi_lines[s].x = a[s].x, + this.zoushi_lines[s].y = a[s].y; + var _ = a[s + 1].y - a[s].y + , u = a[s + 1].x - a[s].x + , d = 180 * Math.atan(_ / u) / 3.1415926; + this.zoushi_lines[s].rotation = d, + this.zoushi_lines[s].width = Math.sqrt(u * u + _ * _) * c + } + } else { + this.zoushi_lines[s].visible = !0, + this.zoushi_lines[s].x = a[s].x, + this.zoushi_lines[s].y = a[s].y; + var _ = a[s + 1].y - a[s].y + , u = a[s + 1].x - a[s].x + , d = 180 * Math.atan(_ / u) / 3.1415926; + this.zoushi_lines[s].rotation = d, + this.zoushi_lines[s].width = Math.sqrt(u * u + _ * _) + } + } + } + , + i + }(n) + , o = function(t) { + function n(e, i) { + var n = t.call(this, e) || this; + return n.type = 0, + n.btn = null, + n.arrow = null, + n.indetail = !1, + n.container_detail = null, + n.h_hide = 0, + n.h_detail = 0, + n.type = i, + n.btn = n.me.getChildByName("btn"), + n.btn.clickHandler = Laya.Handler.create(n, n.switchState, null, !1), + n.arrow = n.btn.getChildByName("arrow"), + n.container_detail = n.me.getChildByName("detail"), + n.h_detail = 310, + n.h_hide = n.btn.height, + n.container_detail.visible = !1, + n.indetail = !1, + n.me.height = n.btn.height, + n.arrow.rotation = 0, + n._pos1 = n.container_detail.getChildByName("pos1"), + n._pos2 = n.container_detail.getChildByName("pos2"), + n._pos3 = n.container_detail.getChildByName("pos3"), + n._pos4 = n.container_detail.getChildByName("pos4"), + n._knockout = n.container_detail.getChildByName("knockout"), + n._changci = n.container_detail.getChildByName("changci"), + n._dadian = n.container_detail.getChildByName("dadian"), + n._shunwei = n.container_detail.getChildByName("shunwei"), + n._lianzhuang = n.container_detail.getChildByName("lianzhuang"), + n._hule = n.container_detail.getChildByName("hule"), + n._shunwei = n.container_detail.getChildByName("shunwei"), + n._hupai = n.container_detail.getChildByName("hupai"), + n._zimo = n.container_detail.getChildByName("zimo"), + n._fangchong = n.container_detail.getChildByName("fangchong"), + n._fulu = n.container_detail.getChildByName("fulu"), + n._liqi = n.container_detail.getChildByName("liqi"), + n + } + return __extends(n, t), + n.prototype.show = function(t, n, a) { + this._pos1.text = "--/--", + this._pos2.text = "--/--", + this._pos3.text = "--/--", + this._pos4.text = "--/--", + this._knockout.text = "--/--", + this._changci.text = "--/--", + this._dadian.text = "--/--", + this._shunwei.text = "--/--", + this._lianzhuang.text = "--/--", + this._hule.text = "--/--", + this._hupai.text = "--/--", + this._zimo.text = "--/--", + this._fangchong.text = "--/--", + this._fulu.text = "--/--", + this._liqi.text = "--/--", + n == e.liqi3 ? (this._pos4.visible = !1, + this._knockout.y = 140) : (this._pos4.visible = !0, + this._knockout.y = 183); + var r = t.detail_data; + if (r) { + var s = null; + if (a == i.friend_room ? s = r.friend_room_statistic : a == i.matching && (s = r.rank_statistic.total_statistic.all_level_statistic), + s) { + var o = 0; + n == e.liqi4 ? 1 == this.type ? o = 1 : 2 == this.type && (o = 2) : n == e.liqi3 && (1 == this.type ? o = 11 : 2 == this.type && (o = 12)); + for (var l = 0; l < s.game_mode.length; l++) { + var h = s.game_mode[l]; + if (h.mode == o) { + var c = h.game_count_sum; + if (c > 0) { + this._pos1.text = (h.game_final_position[0] / c * 100).toFixed(2).toString() + "%", + this._pos2.text = (h.game_final_position[1] / c * 100).toFixed(2).toString() + "%", + this._pos3.text = (h.game_final_position[2] / c * 100).toFixed(2).toString() + "%", + this._pos4 && (this._pos4.text = (h.game_final_position[3] / c * 100).toFixed(2).toString() + "%"), + this._knockout.text = (h.fly_count / c * 100).toFixed(2).toString() + "%", + this._changci.text = c.toString(); + for (var _ = 0, u = 0; u < 4; u++) + _ += (u + 1) * h.game_final_position[u]; + this._shunwei.text = (_ / c).toFixed(2).toString() + } else + this._pos1.text = "--/--", + this._pos2.text = "--/--", + this._pos3.text = "--/--", + this._pos4 && (this._pos4.text = "--/--"), + this._knockout.text = "--/--", + this._changci.text = c.toString(), + this._shunwei.text = "--/--"; + var d = 0 + , f = 0 + , p = 0 + , m = 0; + if (h.round_end) + for (var g = 0; g < h.round_end.length; g++) { + d += h.round_end[g].sum; + var y = h.round_end[g].type; + y == mjcore.E_Round_Result.zimo && (p += h.round_end[g].sum), + y == mjcore.E_Round_Result.rong || y == mjcore.E_Round_Result.zimo ? f += h.round_end[g].sum : y == mjcore.E_Round_Result.fangchong && (m += h.round_end[g].sum) + } + d > 0 ? (this._hupai.text = (f / d * 100).toFixed(2).toString() + "%", + this._fangchong.text = (m / d * 100).toFixed(2).toString() + "%", + this._fulu.text = (h.ming_count_sum / d * 100).toFixed(2).toString() + "%", + this._liqi.text = (h.liqi_count_sum / d * 100).toFixed(2).toString() + "%") : (this._hupai.text = "--/--", + this._fangchong.text = "--/--", + this._fulu.text = "--/--", + this._liqi.text = "--/--"), + f > 0 ? (this._dadian.text = (h.dadian_sum / f).toFixed(0), + this._zimo.text = (p / f * 100).toFixed(2).toString() + "%", + this._hule.text = (h.xun_count_sum / f).toFixed(2)) : (this._dadian.text = "--/--", + this._zimo.text = "--/--", + this._hule.text = "--/--"), + null != h.highest_lianzhuang && void 0 != h.highest_lianzhuang ? this._lianzhuang.text = h.highest_lianzhuang : this._lianzhuang.text = "--/--" + } + } + } + } + } + , + n.prototype.reset = function() { + this.container_detail.visible = !1, + this.indetail = !1, + this.me.height = this.btn.height, + this.arrow.rotation = 0, + this.container_detail.alpha = 1, + this._pos1.text = "--/--", + this._pos2.text = "--/--", + this._pos3.text = "--/--", + this._pos4 && (this._pos4.text = "--/--"), + this._knockout.text = "--/--", + this._changci.text = "--/--", + this._dadian.text = "--/--", + this._shunwei.text = "--/--", + this._lianzhuang.text = "--/--", + this._hule.text = "--/--", + this._hupai.text = "--/--", + this._zimo.text = "--/--", + this._fangchong.text = "--/--", + this._fulu.text = "--/--", + this._liqi.text = "--/--" + } + , + n.prototype.switchState = function() { + var t = this; + this.indetail = !this.indetail, + Laya.timer.clearAll(this), + this.indetail ? (this.me.height = this.h_detail, + Laya.Tween.to(this.arrow, { + rotation: -180 + }, 200, Laya.Ease.strongOut), + Laya.timer.once(0, this, function() { + t.container_detail.visible = !0 + })) : (Laya.Tween.to(this.arrow, { + rotation: 0 + }, 200, Laya.Ease.strongOut), + this.container_detail.visible = !1, + this.me.height = this.h_hide) + } + , + n + }(n) + , l = function(t) { + function n(e, i) { + var n = t.call(this, e) || this; + n.item_height = 50, + n.is_guyi = !1, + n.btn = null, + n.arrow = null, + n.indetail = !1, + n.container_detail = null, + n.cells = [], + n.items = [], + n.h_hide = 0, + n.h_detail = 0, + n.is_guyi = i, + n.btn = n.me.getChildByName("btn"), + n.btn.clickHandler = Laya.Handler.create(n, n.switchState, null, !1), + n.arrow = n.btn.getChildByName("arrow"), + n.container_detail = n.me.getChildByName("detail"); + var a = n.container_detail.getChildByName("templete"); + a.visible = !1, + n.items = [], + n.cells = []; + var r = 0; + cfg.fan.fan.forEach(function(t) { + i && 1 == t.is_guyi && r++, + i || 1 == t.is_guyi || r++ + }); + for (var s = 0; s < r; s++) + n.cells.push(a.scriptMap["capsui.UICopy"].getNodeClone()); + return n + } + return __extends(n, t), + n.prototype.reset = function() { + this.container_detail.visible = !1, + this.indetail = !1, + this.me.height = this.btn.height, + this.arrow.rotation = 0; + for (var t = 0; t < this.items.length; t++) + this.items[t].label_count.text = "0"; + this.container_detail.alpha = 1 + } + , + n.prototype.show = function(t, n, a) { + for (var r = this, s = 0; s < this.cells.length; s++) + this.cells[s].visible = !1; + var o = 10; + this.items = []; + var l = -1; + cfg.fan.fan.forEach(function(t) { + if ((1 != t.is_guyi || r.is_guyi) && !(1 != t.is_guyi && r.is_guyi || 46 == t.id || 34 == t.id && n != e.liqi3 || 17 == t.id && n == e.liqi3 || 62 == t.id && n == e.liqi3)) { + if (35 == t.id) { + var i = r.cells[r.items.length]; + i.y = o, + o += r.item_height; + var a = i.getChildByName("fan") + , s = i.getChildByName("count") + , h = i.getChildByName("line"); + if (a.text = game.Tools.strOfLocalization(2154), + s.text = "0", + i.visible = !0, + l < 0) { + l = 0; + for (var c = "", _ = 0; _ < 50; _++) + c += "-"; + h.text = c, + l = h.textField.textWidth / 50 + } + if (l > 0) { + for (var u = Math.floor((660 - a.textField.textWidth * a.scaleX) / l), c = "", _ = 0; _ < u; _++) + c += "-"; + h.text = c + } + var d = { + id: -1, + count: 0, + label_count: s + }; + r.items.push(d) + } + var f = r.cells[r.items.length]; + f.y = o, + o += r.item_height; + var p = f.getChildByName("fan") + , m = f.getChildByName("count") + , g = f.getChildByName("line"); + if (p.text = t["name_" + GameMgr.client_language], + m.text = "0", + f.visible = !0, + l < 0) { + l = 0; + for (var c = "", _ = 0; _ < 50; _++) + c += "-"; + g.text = c, + l = g.textField.textWidth / 50 + } + if (l > 0) { + for (var u = Math.floor((660 - p.textField.textWidth * p.scaleX) / l), c = "", _ = 0; _ < u; _++) + c += "-"; + g.text = c + } + r.items.push({ + id: t.id, + count: 0, + label_count: m + }) + } + }), + this.h_detail = o + 80, + this.h_hide = this.btn.height, + this.container_detail.visible = !1, + this.indetail = !1, + this.me.height = this.btn.height, + this.arrow.rotation = 0; + for (s = 0; s < this.items.length; s++) + this.items[s].label_count.text = "0"; + var h = t.detail_data; + if (h) { + var c = null; + if (a == i.friend_room ? c = h.friend_room_statistic : a == i.matching && (c = h.rank_statistic.total_statistic.all_level_statistic), + c && (c = c.fan_achieved), + c) { + var _ = null + , u = 1; + n == e.liqi3 && (u = 2); + for (s = 0; s < c.length; s++) + if (c[s].mahjong_category == u) { + _ = c[s]; + break + } + if (_) { + for (s = 0; s < _.fan.length; s++) + for (var d = 0; d < this.items.length; d++) + if (this.items[d].id == _.fan[s].fan_id) { + this.items[d].count = _.fan[s].sum, + this.items[d].label_count.text = this.items[d].count.toString(); + break + } + if (null != _.liujumanguan) + for (s = 0; s < this.items.length; s++) + if (-1 == this.items[s].id) { + this.items[s].count = _.liujumanguan, + this.items[s].label_count.text = this.items[s].count.toString(); + break + } + } + } + } + } + , + n.prototype.switchState = function() { + var t = this; + this.indetail = !this.indetail, + Laya.timer.clearAll(this), + this.indetail ? (this.me.height = this.h_detail, + Laya.Tween.to(this.arrow, { + rotation: -180 + }, 200, Laya.Ease.strongOut), + Laya.timer.once(0, this, function() { + t.container_detail.visible = !0 + })) : (Laya.Tween.to(this.arrow, { + rotation: 0 + }, 200, Laya.Ease.strongOut), + this.container_detail.visible = !1, + this.me.height = this.h_hide) + } + , + n + }(n) + , h = function() { + function t(t, e) { + var n = this; + this.game_category = 0, + this.me = t, + this.father = e, + this.btn_friend = this.me.getChildByName("btn_friend"), + this.btn_friend.clickHandler = new Laya.Handler(this,function() { + n.game_category !== i.friend_room && (n.changeTab(i.friend_room), + n.father.changeGameCategory(i.friend_room)) + } + ), + this.btn_pipei = this.me.getChildByName("btn_pipei"), + this.btn_pipei.clickHandler = new Laya.Handler(this,function() { + n.game_category !== i.matching && (n.changeTab(i.matching), + n.father.changeGameCategory(i.matching)) + } + ), + game.Tools.labelLocalizationSize(this.btn_pipei.getChildAt(0), 175, 1), + game.Tools.labelLocalizationSize(this.btn_friend.getChildAt(0), 175, 1) + } + return t.prototype.changeTab = function(t) { + this.game_category !== t && (this.game_category = t, + this.refreshShow()) + } + , + t.prototype.refreshMJ = function(t) { + this.btn_pipei.visible = !0, + this.btn_friend.x = "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? 250 : 290 + } + , + t.prototype.refreshShow = function() { + this.btn_friend.skin = game.Tools.localUISrc(this.game_category == i.friend_room ? "myres/bothui/tab2_choosed.png" : "myres/bothui/tab2_unchoose.png"), + this.btn_friend.getChildAt(0).color = this.game_category == i.friend_room ? "#6a7eb1" : "#48577a", + this.btn_pipei.skin = game.Tools.localUISrc(this.game_category == i.matching ? "myres/bothui/tab2_choosed.png" : "myres/bothui/tab2_unchoose.png"), + this.btn_pipei.getChildAt(0).color = this.game_category == i.matching ? "#6a7eb1" : "#48577a", + this.game_category == i.friend_room ? this.me.setChildIndex(this.btn_friend, this.me.numChildren - 1) : this.me.setChildIndex(this.btn_pipei, this.me.numChildren - 1) + } + , + t + }() + , c = function() { + function t(t) { + var c = this; + this.me = null, + this.panel = null, + this.blocks = [], + this.tabs = null, + this._data = null, + this._last_time = 0, + this._drag_scroll = !1, + this.data = null, + this.mj_category = e.none, + this.game_categroy = i.none, + this.total_h = 0, + this.me = t, + this.panel = this.me.getChildByName("content"), + this.panel.vScrollBarSkin = "", + this.scrollbar = this.me.getChildByName("scrollbar_light").scriptMap["capsui.CScrollBar"], + this.scrollbar.init(null), + this.panel.vScrollBar.on("change", this, function() { + c.total_h <= 0 ? c.scrollbar.setVal(0, 1) : c.scrollbar.setVal(c.panel.vScrollBar.value / c.panel.vScrollBar.max, c.panel.height / c.total_h) + }), + this.blocks.push(new a(this.panel.getChildByName("dahe"))), + this.blocks.push(new r(this.panel.getChildByName("fengge"))), + this.blocks.push(new s(this.panel.getChildByName("zoushi"))), + this.blocks.push(new n(this.panel.getChildByName("blank0"))), + this.blocks.push(new o(this.panel.getChildByName("mode1"),1)), + this.blocks.push(new o(this.panel.getChildByName("mode2"),2)), + this.blocks.push(new l(this.panel.getChildByName("fan"),!1)), + this.blocks.push(new l(this.panel.getChildByName("fan_guyi"),!0)), + this.blocks.push(new n(this.panel.getChildByName("blank"))), + this.tabs = new h(this.me.parent.getChildByName("tabs"),this) + } + return t.prototype.reset = function() { + for (var t = 0, e = 0; e < this.blocks.length; e++) + this.blocks[e].reset(), + this.blocks[e].me.y = t, + t += this.blocks[e].me.height + } + , + t.prototype.setData = function(t) { + this.data = t + } + , + t.prototype.changeMJCategory = function(t) { + var e = t; + this.mj_category = e, + this.tabs.refreshMJ(e), + this.game_categroy = i.matching, + this.tabs.changeTab(i.matching), + this.refreshShow() + } + , + t.prototype.changeGameCategory = function(t) { + t != this.game_categroy && (this.game_categroy = t, + this.refreshShow()) + } + , + t.prototype.refreshShow = function() { + var t = 0; + this.panel.vScrollBar.value = 0, + this.panel.vScrollBar.stopScroll(); + for (var e = 0; e < this.blocks.length; e++) + this.blocks[e].reset(), + this.blocks[e].show(this.data, this.mj_category, this.game_categroy), + this.blocks[e].me.y = t, + t += this.blocks[e].me.height; + this.total_h = t, + this._last_time = Laya.timer.currTimer, + Laya.timer.clearAll(this), + Laya.timer.frameLoop(1, this, this.update, null, !0), + this.scrollbar.reset(), + this.scrollbar.setVal(this.panel.vScrollBar.value / this.panel.vScrollBar.max, this.panel.height / this.total_h) + } + , + t.prototype.close = function() { + Laya.timer.clearAll(this) + } + , + t.prototype.update = function() { + for (var t = 0, e = (this.panel.vScrollBar.value, + this.panel.vScrollBar.max, + 0); e < this.blocks.length; e++) { + var i = this.blocks[e].me.y + , n = Math.abs(i - t); + if (n < .001) + this.blocks[e].me.y = t; + else { + var a = Math.sqrt(2 * n / (1400 / 22500)) + , r = Laya.timer.currTimer - this._last_time; + if (r >= a) + this.blocks[e].me.y = t; + else { + var s = 1400 / 22500 * .5 * (a - r) * (a - r); + this.blocks[e].me.y = i < t ? t - s : t + s + } + } + t += this.blocks[e].me.height + } + this.panel.refresh(), + this.total_h = t, + this.scrollbar.setVal(this.panel.vScrollBar.value / this.panel.vScrollBar.max, this.panel.height / this.total_h), + this._last_time = Laya.timer.currTimer + } + , + t + }(); + t.UI_PlayerData = c +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + return function(t) { + this.me = t + } + }() + , i = function(t) { + function e(e, i, n) { + var a = t.call(this, e) || this; + a._on_change = null, + a._current_index = 0, + a._toggles = [], + a._on_change = n, + a._current_index = i; + for (var s = function(t) { + var e = o.me.getChildByName("toggle_" + t); + if (!e) + return "break"; + e.clickHandler = Laya.Handler.create(o, function() { + a.change_index(t) + }, null, !1); + var i = e.getChildAt(0); + t == o._current_index ? (e.skin = game.Tools.localUISrc(r.skin_choosed), + i.color = r.color_choosed) : (e.skin = game.Tools.localUISrc(r.skin_unchoose), + i.color = r.color_unchoose), + o._toggles.push({ + btn: e, + label: i + }) + }, o = this, l = 0; l < 6; l++) { + if ("break" === s(l)) + break + } + return a + } + return __extends(e, t), + Object.defineProperty(e.prototype, "index", { + get: function() { + return this._current_index + }, + enumerable: !0, + configurable: !0 + }), + e.prototype.change_index = function(t) { + if (this._current_index != t) { + for (var e = 0; e < this._toggles.length; e++) + e == t ? (this._toggles[e].btn.skin = game.Tools.localUISrc(r.skin_choosed), + this._toggles[e].label.color = r.color_choosed) : (this._toggles[e].btn.skin = game.Tools.localUISrc(r.skin_unchoose), + this._toggles[e].label.color = r.color_unchoose); + this._current_index = t, + this._on_change && this._on_change.runWith(t) + } + } + , + e.prototype.setTexts = function(t) { + for (var e = 0; e < this._toggles.length; e++) + e < t.length ? (this._toggles[e].label.text = t[e], + this._toggles[e].btn.visible = !0) : this._toggles[e].btn.visible = !1 + } + , + e + }(e) + , n = function(t) { + function e() { + return null !== t && t.apply(this, arguments) || this + } + return __extends(e, t), + e + }(e) + , a = function(e) { + function i(i, n, a) { + var r = e.call(this, i) || this; + r._on_change = null, + r._label = null, + r._current_num = 0, + r._on_change = a; + var s = r.me.getChildByName("btn"); + return s.clickHandler = Laya.Handler.create(r, function() { + t.UI_NumberInput.Inst.show(game.Tools.strOfLocalization(2043), Laya.Handler.create(r, function(t) { + 0 != t && t != r._current_num && r._on_change && r._on_change.runWith(t) + }), null) + }, null, !1), + r._label = s.getChildAt(1), + r.change_num(n), + r + } + return __extends(i, e), + Object.defineProperty(i.prototype, "num", { + get: function() { + return this._current_num + }, + enumerable: !0, + configurable: !0 + }), + i.prototype.change_num = function(t) { + this._current_num = t, + this._label.text = t.toString() + } + , + i + }(e) + , r = function(e) { + function r() { + var t = e.call(this, new ui.lobby.create_roomUI) || this; + return t.__moshi = null, + t.__jushu = null, + t.__time = null, + t.__test_paipu = null, + t.__test_paicount = null, + t.__gaojishezhi = null, + t.__split_line = null, + t.__qishidianshu = null, + t.__fandian = null, + t.__zimosun = null, + t.__guyi = null, + t.__chibaopai = null, + t.__shiduan = null, + t.__fanfu = null, + t.__bianjietishi = null, + t.__guanzhan = null, + t.__ailevel = null, + t.__open_hand = null, + t.container_top = null, + t.container_content = null, + t.panel = null, + t._scrollbar = null, + t._scrollpoint = null, + t.locking = !1, + t._btn_create_cd = 0, + t.tournament_id = 0, + t._blocks = [], + t._drag_scroll = !1, + r.Inst = t, + t + } + return __extends(r, e), + r.Show = function() { + this.Inst.show() + } + , + r.prototype.onCreate = function() { + var e = this + , r = this.me.getChildByName("container_create_room"); + this.container_top = r.getChildByName("top"), + this.container_content = r.getChildByName("content"), + this.panel = this.container_content.getChildByName("panel"), + this.__moshi = new i(this.panel.getChildByName("moshi"),0,Laya.Handler.create(this, function(t) { + 0 == t ? (e.__qishidianshu.change_num(25e3), + e.__fandian.change_num(3e4), + e.__chibaopai.setTexts([game.Tools.strOfLocalization(2044), game.Tools.strOfLocalization(2045), game.Tools.strOfLocalization(2046)])) : (e.__qishidianshu.change_num(35e3), + e.__fandian.change_num(4e4), + e.__chibaopai.setTexts([game.Tools.strOfLocalization(2044), game.Tools.strOfLocalization(2047)]), + e.__chibaopai.index > 1 && e.__chibaopai.change_index(1)), + e.__zimosun.me.visible = 0 != e.__gaojishezhi.index && 1 == e.__moshi.index, + e.__guyi.me.visible = 0 != e.__gaojishezhi.index && 0 == e.__moshi.index, + e._refreshShow() + }, null, !1)), + this.__jushu = new i(this.panel.getChildByName("jushu"),2,Laya.Handler.create(this, function(t) {}, null, !1)), + this.__time = new i(this.panel.getChildByName("time"),2,null), + this.__test_paipu = new i(this.panel.getChildByName("test_paipu"),0,null), + this.__test_paicount = new i(this.panel.getChildByName("test_paicount"),0,null), + this.__gaojishezhi = new i(this.panel.getChildByName("gaojishezhi"),0,Laya.Handler.create(this, function(t) { + e.__qishidianshu.change_num(0 == e.__moshi.index ? 25e3 : 35e3), + e.__fandian.change_num(0 == e.__moshi.index ? 3e4 : 4e4), + e.__chibaopai.change_index(1), + e.__chibaopai.setTexts(0 == e.__moshi.index ? [game.Tools.strOfLocalization(2044), game.Tools.strOfLocalization(2045), game.Tools.strOfLocalization(2046)] : [game.Tools.strOfLocalization(2044), game.Tools.strOfLocalization(2047)]), + e.__shiduan.change_index(0), + e.__bianjietishi.change_index(0), + e.__ailevel.change_index(0), + e.__open_hand.change_index(0), + e.__guanzhan.change_index(0), + e.__zimosun.change_index(0), + e.__fanfu.change_index(0), + e.__guyi.change_index(0), + e.__split_line.me.visible = 0 != t, + e.__qishidianshu.me.visible = 0 != t, + e.__fandian.me.visible = 0 != t, + e.__zimosun.me.visible = 0 != t && 1 == e.__moshi.index, + e.__chibaopai.me.visible = 0 != t, + e.__shiduan.me.visible = 0 != t, + e.__bianjietishi.me.visible = 0 != t, + e.__guanzhan.me.visible = !1, + e.__ailevel.me.visible = 0 != t, + e.__open_hand.me.visible = 0 != t, + e.__fanfu.me.visible = 0 != t, + e.__guyi.me.visible = 0 != t && 0 == e.__moshi.index, + e._refreshShow() + }, null, !1)), + this.__split_line = new n(this.panel.getChildByName("split_line")), + this.__qishidianshu = new a(this.panel.getChildByName("qishidianshu"),25e3,Laya.Handler.create(this, function(t) { + (t = 100 * Math.ceil(t / 100)) < 100 && (t = 100), + t >= 2e5 && (t = 2e5), + t > e.__fandian.num && e.__fandian.change_num(t), + e.__qishidianshu.change_num(t) + }, null, !1)), + this.__fandian = new a(this.panel.getChildByName("fandian"),3e4,Laya.Handler.create(this, function(t) { + (t = 100 * Math.ceil(t / 100)) < 100 && (t = 100), + t >= 2e5 && (t = 2e5), + t < e.__qishidianshu.num && (t = e.__qishidianshu.num), + e.__fandian.change_num(t) + }, null, !1)), + this.__zimosun = new i(this.panel.getChildByName("zimosun"),0,null), + this.__chibaopai = new i(this.panel.getChildByName("chibaopai"),1,null), + this.__shiduan = new i(this.panel.getChildByName("shiduan"),0,null), + this.__fanfu = new i(this.panel.getChildByName("fanfu"),0,null), + this.__bianjietishi = new i(this.panel.getChildByName("bianjietishi"),0,null), + this.__guanzhan = new i(this.panel.getChildByName("guanzhan"),0,Laya.Handler.create(this, function(t) { + 1 != t || 0 != e.__jushu.index && 3 != e.__jushu.index || e.__guanzhan.change_index(0) + }, null, !1)), + this.__ailevel = new i(this.panel.getChildByName("ailevel"),0,Laya.Handler.create(this, function(t) {}, null, !1)), + this.__open_hand = new i(this.panel.getChildByName("open_hand"),0,Laya.Handler.create(this, function(t) {}, null, !1)), + this.__guyi = new i(this.panel.getChildByName("guyi"),0,null), + this.__shiduan.me.getChildByName("what").clickHandler = Laya.Handler.create(this, function() { + t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(54)) + }, null, !1), + this.__bianjietishi.me.getChildByName("what").clickHandler = Laya.Handler.create(this, function() { + t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(53)) + }, null, !1), + this.panel.getChildByName("moshi").getChildByName("what").clickHandler = Laya.Handler.create(this, function() { + t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(57)) + }, null, !1), + this.panel.getChildByName("zimosun").getChildByName("what").clickHandler = Laya.Handler.create(this, function() { + t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(63)) + }, null, !1); + for (var s = 2; s < this.panel.numChildren; s++) { + var o = this.panel.getChildAt(s) + , l = o.getChildByName("what"); + l && (l.x = 106 - o.getChildByName("img_info").displayWidth - 30, + l.y = o.getChildByName("img_info").y) + } + this._blocks.push(this.__moshi), + this._blocks.push(this.__jushu), + this._blocks.push(this.__time), + this._blocks.push(this.__test_paipu), + this._blocks.push(this.__test_paicount), + this._blocks.push(this.__gaojishezhi), + this._blocks.push(this.__split_line), + this._blocks.push(this.__qishidianshu), + this._blocks.push(this.__fandian), + this._blocks.push(this.__zimosun), + this._blocks.push(this.__guyi), + this._blocks.push(this.__chibaopai), + this._blocks.push(this.__shiduan), + this._blocks.push(this.__fanfu), + this._blocks.push(this.__bianjietishi), + this._blocks.push(this.__guanzhan), + this._blocks.push(this.__ailevel), + this._blocks.push(this.__open_hand), + this.__test_paipu.me.visible = !1, + this.__test_paicount.me.visible = !1, + this.__split_line.me.visible = !1, + this.__qishidianshu.me.visible = !1, + this.__fandian.me.visible = !1, + this.__zimosun.me.visible = !1, + this.__chibaopai.me.visible = !1, + this.__shiduan.me.visible = !1, + this.__fanfu.me.visible = !1, + this.__bianjietishi.me.visible = !1, + this.__guanzhan.me.visible = !1, + this.__ailevel.me.visible = !1, + this.__open_hand.me.visible = !1, + this.__guyi.me.visible = !1, + this.panel.vScrollBar.visible = !1, + this.container_top.getChildByName("btn_cancel").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.hide(Laya.Handler.create(e, function() { + t.UIMgr.Inst.showLobby() + })) + }, null, !1), + this.container_content.getChildByName("btn_create").clickHandler = Laya.Handler.create(this, this._btnCreateRoom, null, !1), + this._scrollbar = this.container_content.getChildByName("scrollbar"), + this._scrollpoint = this._scrollbar.getChildByName("scrollpoint"), + this._scrollbar && (this._scrollbar.on("mousedown", this, function() { + e._drag_scroll = !0; + var t = e._scrollbar.mouseY / e._scrollbar.height; + e.panel.vScrollBar.value = e.panel.vScrollBar.max * t + }), + this._scrollbar.on("mousemove", this, function() { + if (e._drag_scroll) { + var t = e._scrollbar.mouseY / e._scrollbar.height; + e.panel.vScrollBar.value = e.panel.vScrollBar.max * t + } + }), + this._scrollbar.on("mouseup", this, function() { + e._drag_scroll = !1 + }), + this._scrollbar.on("mouseout", this, function() { + e._drag_scroll = !1 + })), + Laya.timer.frameLoop(1, this, function() { + if (e.enable && e._scrollbar.visible) { + var t = e.panel.vScrollBar.max > 0 ? e.panel.vScrollBar.value / e.panel.vScrollBar.max : 0; + e._scrollpoint.y = e._scrollbar.height * t + } + }) + } + , + r.prototype.show = function() { + var e = this; + this.tournament_id = 0, + this._drag_scroll = !1, + this.panel.vScrollBar.stopScroll(), + cfg.tournament.tournaments.forEach(function(i) { + if (0 == e.tournament_id) { + var n = t.UI_Bag.find_item(i.game_ticket_id); + n && n.count > 0 && (e.tournament_id = i.id) + } + }), + this._refreshShow(), + this.enable = !0, + t.UIBase.anim_alpha_in(this.container_top, { + y: -30 + }, 150), + t.UIBase.anim_alpha_in(this.container_content, { + y: 30 + }, 150), + this.locking = !0, + Laya.timer.once(200, this, function() { + e.locking = !1, + e._btn_create_cd = 0 + }) + } + , + r.prototype.hide = function(e) { + var i = this; + void 0 === e && (e = null), + t.UIBase.anim_alpha_out(this.container_top, { + y: -30 + }, 150), + t.UIBase.anim_alpha_out(this.container_content, { + y: 30 + }, 150), + this.locking = !0, + Laya.timer.once(200, this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + }) + } + , + r.prototype._btnCreateRoom = function() { + var e = this; + if (!(this.locking || Laya.timer.currTimer < this._btn_create_cd)) { + var i = 10 * this.__moshi.index + this.__jushu.index; + 0 == this.__jushu.index && (i += 4), + this._btn_create_cd = Laya.timer.currTimer + 5e3; + var n = 0; + switch (i) { + case 0: + case 1: + case 2: + n = 4; + break; + case 3: + n = 1; + break; + case 4: + n = 4; + break; + case 10: + case 11: + case 12: + n = 3; + break; + case 13: + n = 1; + break; + case 14: + n = 3 + } + var a = {}; + switch (a.init_point = this.__qishidianshu.num, + a.fandian = this.__fandian.num, + 0 == this.__moshi.index ? a.dora_count = 0 == this.__chibaopai.index ? 0 : 1 == this.__chibaopai.index ? 3 : 4 : a.dora_count = 0 == this.__chibaopai.index ? 0 : 2, + a.shiduan = 0 == this.__shiduan.index, + a.fanfu = 2 == this.__fanfu.index ? 4 : 1 == this.__fanfu.index ? 2 : 1, + a.bianjietishi = 0 == this.__bianjietishi.index, + this.__time.index) { + case 0: + a.time_fixed = 3, + a.time_add = 5; + break; + case 1: + a.time_fixed = 5, + a.time_add = 10; + break; + case 2: + a.time_fixed = 5, + a.time_add = 20; + break; + case 3: + a.time_fixed = 60, + a.time_add = 0; + break; + case 4: + a.time_fixed = 300, + a.time_add = 0 + } + a.ai_level = this.__ailevel.index + 1, + a.open_hand = this.__open_hand.index, + 1 == this.__moshi.index && (a.have_zimosun = 0 == this.__zimosun.index), + 0 == this.__moshi.index && (a.guyi_mode = 1 == this.__guyi.index); + GameMgr.inRelease; + !0; + app.NetAgent.sendReq2Lobby("Lobby", "createRoom", { + player_count: n, + mode: { + mode: i, + ai: !0, + detail_rule: a, + testing_environment: {} + }, + public_live: !1 + }, function(i, n) { + e._btn_create_cd = Laya.timer.currTimer, + i || n.error ? t.UIMgr.Inst.showNetReqError("createRoom", i, n) : e.hide(Laya.Handler.create(e, function() { + t.UI_WaitingRoom.Inst.updateData(n.room), + t.UIMgr.Inst.ShowWaitingRoom() + })) + }) + } + } + , + r.prototype._refreshShow = function() { + for (var t = this.panel.vScrollBar.max > 0 ? this.panel.vScrollBar.value / this.panel.vScrollBar.max : 0, e = 0, i = 0; i < this._blocks.length; i++) + this._blocks[i].me.visible ? (this._blocks[i].me.y = e, + e += this._blocks[i].me.height) : this._blocks[i].me.y = 0; + this.panel.refresh(), + e < this.panel.height ? (this.panel.vScrollBar.value = 0, + this._scrollbar.visible = !1) : (this.panel.vScrollBar.value = this.panel.vScrollBar.max * t, + this._scrollbar.visible = !0) + } + , + r.Inst = null, + r.skin_unchoose = "myres/room/btn_choosen_no.png", + r.skin_choosed = "myres/room/btn_choosen.png", + r.color_unchoose = "#c1ac8b", + r.color_choosed = "#894b4b", + r + }(t.UIBase); + t.UI_Create_Room = r +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(e) { + this.me = null, + this._container_c0 = null, + this._img_countdown_c0 = [], + this._container_c1 = null, + this._img_countdown_c1 = [], + this._img_countdown_plus = null, + this._img_countdown_add = [], + this._start = 0, + this._pre_sec = 0, + this._fix = 0, + this._add = 0, + this._pre_time = 0, + t.Inst = this, + this.me = e, + this._container_c0 = this.me.getChildByName("c0"); + for (i = 0; i < 3; i++) + this._img_countdown_c0.push(this._container_c0.getChildByName("num" + i)); + this._container_c1 = this.me.getChildByName("c1"); + for (i = 0; i < 3; i++) + this._img_countdown_c1.push(this._container_c1.getChildByName("num" + i)); + for (var i = 0; i < 2; i++) + this._img_countdown_add.push(this.me.getChildByName("plus").getChildByName("add_" + i)); + this._img_countdown_plus = this.me.getChildByName("plus"), + this.me.visible = !1 + } + return Object.defineProperty(t.prototype, "timeuse", { + get: function() { + return this.me.visible ? Math.floor((Laya.timer.currTimer - this._start) / 1e3) : 0 + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.reset = function() { + this.me.visible = !1, + Laya.timer.clearAll(this) + } + , + t.prototype.showCD = function(t, e) { + var i = this; + this.me.visible = !0, + this._start = Laya.timer.currTimer, + this._fix = Math.floor(t / 1e3), + this._add = Math.floor(e / 1e3), + this._pre_sec = -1, + this._pre_time = Laya.timer.currTimer, + this._show(), + Laya.timer.frameLoop(1, this, function() { + var t = Laya.timer.currTimer - i._pre_time; + i._pre_time = Laya.timer.currTimer, + view.DesktopMgr.Inst.timestoped ? i._start += t : i._show() + }) + } + , + t.prototype.close = function() { + this.reset() + } + , + t.prototype._show = function() { + var t = this._fix + this._add - this.timeuse; + if (t <= 0) + return view.DesktopMgr.Inst.OperationTimeOut(), + void this.reset(); + if (t != this._pre_sec) { + if (this._pre_sec = t, + t > this._add) { + for (var e = (t - this._add).toString(), i = 0; i < this._img_countdown_c0.length; i++) + this._img_countdown_c0[i].visible = i < e.length; + if (3 == e.length ? (this._img_countdown_c0[0].skin = game.Tools.localUISrc("myres/mjdesktop/t_" + e[1] + ".png"), + this._img_countdown_c0[1].skin = game.Tools.localUISrc("myres/mjdesktop/t_" + e[0] + ".png"), + this._img_countdown_c0[2].skin = game.Tools.localUISrc("myres/mjdesktop/t_" + e[2] + ".png")) : 2 == e.length ? (this._img_countdown_c0[0].skin = game.Tools.localUISrc("myres/mjdesktop/t_" + e[1] + ".png"), + this._img_countdown_c0[1].skin = game.Tools.localUISrc("myres/mjdesktop/t_" + e[0] + ".png")) : this._img_countdown_c0[0].skin = game.Tools.localUISrc("myres/mjdesktop/t_" + e[0] + ".png"), + 0 != this._add) { + this._img_countdown_plus.visible = !0; + for (var n = this._add.toString(), i = 0; i < this._img_countdown_add.length; i++) { + var a = this._img_countdown_add[i]; + i < n.length ? (a.visible = !0, + a.skin = game.Tools.localUISrc("myres/mjdesktop/at_" + n[i] + ".png")) : a.visible = !1 + } + } else { + this._img_countdown_plus.visible = !1; + for (i = 0; i < this._img_countdown_add.length; i++) + this._img_countdown_add[i].visible = !1 + } + } else { + this._img_countdown_plus.visible = !1; + for (var e = t.toString(), i = 0; i < this._img_countdown_c0.length; i++) + this._img_countdown_c0[i].visible = i < e.length; + 3 == e.length ? (this._img_countdown_c0[0].skin = game.Tools.localUISrc("myres/mjdesktop/t_" + e[1] + ".png"), + this._img_countdown_c0[1].skin = game.Tools.localUISrc("myres/mjdesktop/t_" + e[0] + ".png"), + this._img_countdown_c0[2].skin = game.Tools.localUISrc("myres/mjdesktop/t_" + e[2] + ".png")) : 2 == e.length ? (this._img_countdown_c0[0].skin = game.Tools.localUISrc("myres/mjdesktop/t_" + e[1] + ".png"), + this._img_countdown_c0[1].skin = game.Tools.localUISrc("myres/mjdesktop/t_" + e[0] + ".png")) : this._img_countdown_c0[0].skin = game.Tools.localUISrc("myres/mjdesktop/t_" + e[0] + ".png") + } + if (t > 3) { + this._container_c1.visible = !1; + for (i = 0; i < this._img_countdown_c0.length; i++) + this._img_countdown_c0[i].alpha = 1; + this._img_countdown_plus.alpha = 1, + this._container_c0.alpha = 1, + this._container_c1.alpha = 1 + } else { + view.AudioMgr.PlayAudio(205), + this._container_c1.visible = !0; + for (i = 0; i < this._img_countdown_c0.length; i++) + this._img_countdown_c0[i].alpha = 1; + this._img_countdown_plus.alpha = 1, + this._container_c0.alpha = 1, + this._container_c1.alpha = 1; + for (i = 0; i < this._img_countdown_c1.length; i++) + this._img_countdown_c1[i].visible = this._img_countdown_c0[i].visible, + this._img_countdown_c1[i].skin = game.Tools.localUISrc(this._img_countdown_c0[i].skin); + s.Inst.me.cd1.play(0, !1) + } + } + } + , + t.Inst = null, + t + }() + , i = function() { + function t(t) { + this.timer_id = 0, + this.last_returned = !1, + this.me = t + } + return t.prototype.begin_refresh = function() { + this.timer_id && clearTimeout(this.timer_id), + this.last_returned = !0, + this._loop_refresh_delay(), + Laya.timer.clearAll(this), + Laya.timer.loop(100, this, this._loop_show) + } + , + t.prototype.close_refresh = function() { + this.timer_id && (clearTimeout(this.timer_id), + this.timer_id = 0), + this.last_returned = !1, + Laya.timer.clearAll(this) + } + , + t.prototype._loop_refresh_delay = function() { + var t = this + , e = 2e3; + if (game.MJNetMgr.Inst.connect_state == game.EConnectState.connecting && this.last_returned) { + var i = app.NetAgent.mj_network_delay; + e = i < 300 ? 2e3 : i < 800 ? 2500 + i : 4e3 + .5 * i, + app.NetAgent.sendReq2MJ("FastTest", "checkNetworkDelay", {}, function() { + t.last_returned = !0 + }), + this.last_returned = !1 + } else + e = 1e3; + this.timer_id = setTimeout(this._loop_refresh_delay.bind(this), e) + } + , + t.prototype._loop_show = function() { + if (game.MJNetMgr.Inst.connect_state != game.EConnectState.connecting) + this.me.skin = game.Tools.localUISrc("myres/mjdesktop/signal_bad.png"); + else { + var t = app.NetAgent.mj_network_delay; + this.me.skin = t < 300 ? game.Tools.localUISrc("myres/mjdesktop/signal_good.png") : t < 800 ? game.Tools.localUISrc("myres/mjdesktop/signal_normal.png") : game.Tools.localUISrc("myres/mjdesktop/signal_bad.png") + } + } + , + t + }() + , n = function() { + function t(t, e) { + var i = this; + this.enable = !1, + this.emj_banned = !1, + this.locking = !1, + this.localposition = e, + this.me = t, + this.btn_banemj = t.getChildByName("btn_banemj"), + this.btn_banemj_origin_x = this.btn_banemj.x, + this.btn_banemj_origin_y = this.btn_banemj.y, + this.img_bannedemj = this.btn_banemj.getChildByName("banned"), + this.btn_seeinfo = t.getChildByName("btn_seeinfo"), + this.btn_seeinfo_origin_x = this.btn_seeinfo.x, + this.btn_seeinfo_origin_y = this.btn_seeinfo.y, + this.btn_change = t.getChildByName("btn_change"), + this.btn_change_origin_x = this.btn_change.x, + this.btn_change_origin_y = this.btn_change.y, + this.btn_banemj.clickHandler = Laya.Handler.create(this, function() { + i.locking || (i.emj_banned = !i.emj_banned, + i.img_bannedemj.visible = !i.emj_banned, + i.close()) + }, null, !1), + this.btn_seeinfo.clickHandler = Laya.Handler.create(this, function() { + i.locking || (i.close(), + s.Inst.btn_seeinfo(i.localposition)) + }, null, !1), + this.btn_change.clickHandler = Laya.Handler.create(this, function() { + i.locking || (i.close(), + view.DesktopMgr.Inst.changeMainbody(view.DesktopMgr.Inst.localPosition2Seat(i.localposition))) + }, null, !1), + this.me.clickHandler = Laya.Handler.create(this, function() { + i.locking || i.switch() + }, null, !1) + } + return t.prototype.reset = function(t, e, i) { + Laya.timer.clearAll(this), + this.locking = !1, + this.enable = !1, + this.showinfo = t, + this.showemj = e, + this.showchange = i, + this.emj_banned = !1, + this.btn_banemj.visible = !1, + this.btn_seeinfo.visible = !1, + this.img_bannedemj.visible = !this.emj_banned, + this.btn_change.visible = !1 + } + , + t.prototype.onChangeSeat = function(t, e, i) { + this.showinfo = t, + this.showemj = e, + this.showchange = i, + this.enable = !1, + this.btn_banemj.visible = !1, + this.btn_seeinfo.visible = !1, + this.btn_change.visible = !1 + } + , + t.prototype.switch = function() { + var t = this; + this.locking || (this.enable ? this.close() : (this.enable = !0, + this.locking = !0, + this.showinfo ? (this.btn_seeinfo.visible = !0, + this.btn_seeinfo.scaleX = this.btn_seeinfo.scaleY = 1, + this.btn_seeinfo.x = this.btn_seeinfo_origin_x, + this.btn_seeinfo.y = this.btn_seeinfo_origin_y, + this.btn_seeinfo.alpha = 1, + Laya.Tween.from(this.btn_seeinfo, { + x: 80, + y: 80, + scaleX: 0, + scaleY: 0, + alpha: 0 + }, 150, Laya.Ease.backOut)) : this.btn_seeinfo.visible = !1, + this.showemj ? (this.img_bannedemj.visible = !this.emj_banned, + this.btn_banemj.visible = !0, + this.btn_banemj.scaleX = this.btn_banemj.scaleY = 1, + this.btn_banemj.x = this.btn_banemj_origin_x, + this.btn_banemj.y = this.btn_banemj_origin_y, + this.btn_banemj.alpha = 1, + Laya.Tween.from(this.btn_banemj, { + x: 80, + y: 80, + scaleX: 0, + scaleY: 0, + alpha: 0 + }, 150, Laya.Ease.backOut)) : this.btn_banemj.visible = !1, + this.showchange ? (this.btn_change.visible = !0, + this.btn_change.scaleX = this.btn_change.scaleY = 1, + this.btn_change.x = this.btn_change_origin_x, + this.btn_change.y = this.btn_change_origin_y, + this.btn_change.alpha = 1, + Laya.Tween.from(this.btn_change, { + x: 80, + y: 80, + scaleX: 0, + scaleY: 0, + alpha: 0 + }, 150, Laya.Ease.backOut)) : this.btn_change.visible = !1, + Laya.timer.once(150, this, function() { + t.locking = !1 + }))) + } + , + t.prototype.close = function() { + var t = this; + this.enable = !1, + this.locking = !0, + Laya.Tween.to(this.btn_banemj, { + x: 80, + y: 80, + scaleX: 0, + scaleY: 0, + alpha: 0 + }, 150, Laya.Ease.backOut), + Laya.Tween.to(this.btn_seeinfo, { + x: 80, + y: 80, + scaleX: 0, + scaleY: 0, + alpha: 0 + }, 150, Laya.Ease.backOut), + Laya.Tween.to(this.btn_change, { + x: 80, + y: 80, + scaleX: 0, + scaleY: 0, + alpha: 0 + }, 150, Laya.Ease.backOut), + Laya.timer.once(150, this, function() { + t.locking = !1, + t.btn_banemj.visible = !1, + t.btn_seeinfo.visible = !1, + t.btn_change.visible = !1 + }) + } + , + t + }() + , a = function() { + function t(t) { + var e = this; + this.btn_emos = [], + this.emos = [], + this.allgray = !1, + this.me = t, + this.btn_chat = this.me.getChildByName("btn_chat"), + this.btn_chat.clickHandler = new Laya.Handler(this,function() { + e.switchShow() + } + ), + this.scrollbar = this.me.getChildByName("scrollbar_light").scriptMap["capsui.CScrollBar"], + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_item), -1, 3), + this.scrollview.reset(), + this.scrollbar.init(null), + this.scrollview.me.on("ratechange", this, function() { + e.scrollview.total_height > 0 ? e.scrollbar.setVal(e.scrollview.rate, e.scrollview.view_height / e.scrollview.total_height) : e.scrollbar.setVal(0, 1) + }), + "chs" != GameMgr.client_language ? (t.getChildAt(5).visible = !1, + t.getChildAt(6).visible = !0) : (t.getChildAt(5).visible = !0, + t.getChildAt(6).visible = !1) + } + return t.prototype.initRoom = function() { + var t = view.DesktopMgr.Inst.main_role_character_info + , e = cfg.item_definition.character.find(t.charid); + this.emos = []; + for (i = 0; i < 9; i++) + this.emos.push({ + path: e.emo + "/" + i + ".png", + sub_id: i + }); + if (t.extra_emoji) + for (var i = 0; i < t.extra_emoji.length; i++) + this.emos.push({ + path: e.emo + "/" + t.extra_emoji[i] + ".png", + sub_id: t.extra_emoji[i] + }); + this.emos = this.emos.sort(function(t, e) { + return t.sub_id - e.sub_id + }), + this.allgray = !1, + this.scrollbar.reset(), + this.scrollview.reset(), + this.scrollview.addItem(this.emos.length), + this.btn_chat.disabled = !1, + this.me.x = 1903 + } + , + t.prototype.render_item = function(t) { + var e = this + , i = t.index + , n = t.container + , a = this.emos[i] + , r = n.getChildByName("btn"); + r.skin = game.LoadMgr.getResImageSkin(a.path), + this.allgray ? game.Tools.setGrayDisable(r, !0) : (game.Tools.setGrayDisable(r, !1), + r.clickHandler = Laya.Handler.create(this, function() { + GameMgr.Inst.BehavioralStatistics(22), + app.NetAgent.sendReq2MJ("FastTest", "broadcastInGame", { + content: JSON.stringify({ + emo: a.sub_id + }), + except_self: !1 + }, function(t, e) {}), + e.change_all_gray(!0), + Laya.timer.once(5e3, e, function() { + e.change_all_gray(!1) + }), + e.switchShow() + }, null, !1)) + } + , + t.prototype.change_all_gray = function(t) { + this.allgray = t, + this.scrollview.wantToRefreshAll() + } + , + t.prototype.switchShow = function() { + var t = this + , e = 0; + e = this.me.x < 1600 ? 1903 : 1382, + Laya.Tween.to(this.me, { + x: e + }, 200, Laya.Ease.strongOut, Laya.Handler.create(this, function() { + t.btn_chat.disabled = !1 + }), 0, !0, !0), + this.btn_chat.disabled = !0 + } + , + t + }() + , r = function() { + function e(e) { + this.effect = null, + this.container_emo = e.getChildByName("chat_bubble"), + this.emo = new t.UI_Character_Emo(this.container_emo.getChildByName("content")), + this.root_effect = e.getChildByName("root_effect"), + this.container_emo.visible = !1 + } + return e.prototype.show = function(t, e) { + for (var i = this, n = view.DesktopMgr.Inst.player_datas[view.DesktopMgr.Inst.localPosition2Seat(t)].character.charid, a = cfg.character.emoji.getGroup(n), r = "", s = 0, o = 0; o < a.length; o++) + if (a[o].sub_id == e) { + 2 == a[o].type && (r = a[o].view, + s = a[o].audio); + break + } + this.effect && (this.effect.destory(), + this.effect = null), + r ? (this.effect = game.FrontEffect.Inst.create_ui_effect(this.root_effect, "scene/" + r + ".lh", new Laya.Point(0,0), 1), + Laya.timer.once(3500, this, function() { + i.effect.destory(), + i.effect = null + }), + s && view.AudioMgr.PlayAudio(s)) : (this.emo.setSkin(n, e), + this.container_emo.visible = !0, + this.container_emo.scaleX = this.container_emo.scaleY = 0, + Laya.Tween.to(this.container_emo, { + scaleX: 1, + scaleY: 1 + }, 120, null, null, 0, !0, !0), + Laya.timer.once(3e3, this, function() { + i.emo.clear(), + Laya.Tween.to(i.container_emo, { + scaleX: 0, + scaleY: 0 + }, 120, null, null, 0, !0, !0) + }), + Laya.timer.once(3500, this, function() { + i.container_emo.visible = !1 + })) + } + , + e.prototype.reset = function() { + Laya.timer.clearAll(this), + this.emo.clear(), + this.container_emo.visible = !1, + this.effect && (this.effect.destory(), + this.effect = null) + } + , + e + }() + , s = function(s) { + function o() { + var t = s.call(this, new ui.mj.desktopInfoUI) || this; + return t.container_doras = null, + t.doras = [], + t.label_md5 = null, + t.container_gamemode = null, + t.label_gamemode = null, + t.btn_auto_moqie = null, + t.btn_auto_nofulu = null, + t.btn_auto_hule = null, + t.img_zhenting = null, + t.btn_double_pass = null, + t._network_delay = null, + t._timecd = null, + t._player_infos = [], + t._container_fun = null, + t.showscoredeltaing = !1, + t.arrow = null, + t._btn_leave = null, + t._btn_fanzhong = null, + t.block_emo = null, + app.NetAgent.AddListener2MJ("NotifyGameBroadcast", Laya.Handler.create(t, function(e) { + t.onGameBroadcast(e) + })), + app.NetAgent.AddListener2MJ("NotifyPlayerConnectionState", Laya.Handler.create(t, function(e) { + t.onPlayerConnectionState(e) + })), + t + } + return __extends(o, s), + o.prototype.onCreate = function() { + var s = this; + o.Inst = this, + this.doras = new Array; + var l = this.me.getChildByName("container_lefttop") + , h = l.getChildByName("container_doras"); + this.container_doras = h, + this.container_gamemode = l.getChildByName("gamemode"), + this.label_gamemode = this.container_gamemode.getChildByName("lb_mode"), + this.label_md5 = l.getChildByName("MD5"), + l.getChildByName("btn_md5change").clickHandler = Laya.Handler.create(this, function() { + if (s.label_md5.visible) + Laya.timer.clearAll(s.label_md5), + s.label_md5.visible = !1, + s.container_doras.visible = !0; + else { + s.label_md5.visible = !0, + s.label_md5.text = game.Tools.strOfLocalization(2048) + view.DesktopMgr.Inst.md5, + s.container_doras.visible = !1; + var t = s; + Laya.timer.once(5e3, s.label_md5, function() { + t.label_md5.visible = !1, + t.container_doras.visible = !0 + }) + } + }, null, !1); + for (c = 0; c < h.numChildren; c++) + this.doras.push(h.getChildAt(c)); + for (var c = 0; c < 4; c++) { + var _ = this.me.getChildByName("container_player_" + c) + , u = {}; + u.container = _, + u.head = new t.UI_Head(_.getChildByName("head")), + u.name = _.getChildByName("container_name").getChildByName("name"), + u.container_shout = _.getChildByName("container_shout"), + u.container_shout.visible = !1, + u.illust = u.container_shout.getChildByName("illust").getChildByName("illust"), + u.illustrect = t.UIRect.CreateFromSprite(u.illust), + u.shout_origin_x = u.container_shout.x, + u.shout_origin_y = u.container_shout.y, + u.emo = new r(_), + u.disconnect = _.getChildByName("head").getChildByName("head").getChildByName("disconnect"), + u.disconnect.visible = !1, + u.title = new t.UI_PlayerTitle(_.getChildByName("title")), + 0 == c ? _.getChildByName("btn_seeinfo").clickHandler = Laya.Handler.create(this, function() { + s.btn_seeinfo(0) + }, null, !1) : u.headbtn = new n(_.getChildByName("btn_head"),c), + this._player_infos.push(u) + } + this._timecd = new e(this.me.getChildByName("container_countdown")), + this.img_zhenting = this.me.getChildByName("img_zhenting"), + this.img_zhenting.visible = !1, + this._initFunc(), + this.block_emo = new a(this.me.getChildByName("container_chat_choose")), + this.me.getChildByName("btn_change_score").clickHandler = Laya.Handler.create(this, this.onBtnShowScoreDelta, null, !1), + this._btn_leave = this.me.getChildByName("container_righttop").getChildByName("btn_leave"), + this.me.getChildByName("container_righttop").getChildByName("btn_leave").clickHandler = Laya.Handler.create(this, function() { + if (view.DesktopMgr.Inst.mode == view.EMJMode.play) { + if (view.DesktopMgr.Inst.gameing) { + for (var e = 0, i = 0; i < view.DesktopMgr.Inst.player_datas.length; i++) + view.DesktopMgr.Inst.player_datas[i].account_id && e++; + if (e <= 1) + t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(21), Laya.Handler.create(s, function() { + if (view.DesktopMgr.Inst.gameing) { + for (var t = 0, e = 0; e < view.DesktopMgr.Inst.player_datas.length; e++) { + var i = view.DesktopMgr.Inst.player_datas[e]; + i && null != i.account_id && 0 != i.account_id && t++ + } + 1 == t ? app.NetAgent.sendReq2MJ("FastTest", "terminateGame", {}, function(t, e) { + game.Scene_MJ.Inst.GameEnd() + }) : game.Scene_MJ.Inst.ForceOut() + } + })); + else { + var n = !1; + if (t.UI_VoteProgress.vote_info) { + Math.floor(Date.now() / 1e3 - t.UI_VoteProgress.vote_info.start_time - t.UI_VoteProgress.vote_info.duration_time) < 0 && (n = !0) + } + n ? t.UI_VoteProgress.Inst.enable || t.UI_VoteProgress.Inst.show() : t.UI_VoteCD.time_cd > Date.now() / 1e3 ? t.UI_VoteCD.Inst.enable || t.UI_VoteCD.Inst.show() : t.UI_Vote.Inst.show() + } + } + } else + game.Scene_MJ.Inst.ForceOut() + }, null, !1), + this.me.getChildByName("container_righttop").getChildByName("btn_set").clickHandler = Laya.Handler.create(this, function() { + t.UI_Config.Inst.show() + }, null, !1), + this._btn_fanzhong = this.me.getChildByName("container_righttop").getChildByName("btn_fanzhong"), + this._btn_fanzhong.clickHandler = Laya.Handler.create(this, function() { + t.UI_Rules.Inst.show() + }, null, !1), + this.btn_double_pass = this.me.getChildByName("btn_double_pass"), + this.btn_double_pass.visible = !1; + var d = 0; + this.btn_double_pass.clickHandler = Laya.Handler.create(this, function() { + if (view.DesktopMgr.double_click_pass) { + var e = Laya.timer.currTimer; + if (d + 300 > e) { + if (t.UI_ChiPengHu.Inst.enable) + t.UI_ChiPengHu.Inst.onDoubleClick(); + else { + var i = view.DesktopMgr.Inst.mainrole.can_discard; + t.UI_LiQiZiMo.Inst.enable && (i = t.UI_LiQiZiMo.Inst.onDoubleClick(i)), + i && view.DesktopMgr.Inst.mainrole.onDoubleClick() + } + d = 0 + } else + d = e + } + }, null, !1), + this._network_delay = new i(this.me.getChildByName("img_signal")) + } + , + o.prototype.onGameBroadcast = function(t) { + app.Log.log("NotifyGameBroadcast " + JSON.stringify(t)); + var e = view.DesktopMgr.Inst.seat2LocalPosition(t.seat) + , i = JSON.parse(t.content); + null != i.emo && void 0 != i.emo && this.onShowEmo(e, i.emo) + } + , + o.prototype.onPlayerConnectionState = function(t) { + app.Log.log("NotifyPlayerConnectionState msg: " + JSON.stringify(t)); + var e = t.seat; + if (view.DesktopMgr.player_link_state || (view.DesktopMgr.player_link_state = [view.ELink_State.NULL, view.ELink_State.NULL, view.ELink_State.NULL, view.ELink_State.NULL]), + view.DesktopMgr.player_link_state && e < view.DesktopMgr.player_link_state.length && (view.DesktopMgr.player_link_state[e] = t.state), + this.enable) { + var i = view.DesktopMgr.Inst.seat2LocalPosition(e); + this._player_infos[i].disconnect.visible = t.state != view.ELink_State.READY + } + } + , + o.prototype._initFunc = function() { + var t = this; + this._container_fun = this.me.getChildByName("container_func"); + var e = this._container_fun.getChildByName("btn_func") + , i = this._container_fun.getChildByName("btn_func2"); + e.clickHandler = i.clickHandler = new Laya.Handler(this,function() { + var i = 0; + t._container_fun.x < -400 ? (i = -274, + t.arrow.scaleX = 1) : (i = -528, + t.arrow.scaleX = -1), + Laya.Tween.to(t._container_fun, { + x: i + }, 200, Laya.Ease.strongOut, Laya.Handler.create(t, function() { + e.disabled = !1 + }), 0, !0, !0), + e.disabled = !0 + } + ,null,!1); + var n = this._container_fun.getChildByName("btn_autolipai") + , a = this._container_fun.getChildByName("btn_autolipai2"); + this.refreshFuncBtnShow(n, !0), + n.clickHandler = a.clickHandler = Laya.Handler.create(this, function() { + view.DesktopMgr.Inst.setAutoLiPai(!view.DesktopMgr.Inst.auto_liqi), + t.refreshFuncBtnShow(n, view.DesktopMgr.Inst.auto_liqi), + Laya.LocalStorage.setItem("autolipai", view.DesktopMgr.Inst.auto_liqi ? "true" : "false") + }, null, !1); + var r = this._container_fun.getChildByName("btn_autohu") + , s = this._container_fun.getChildByName("btn_autohu2"); + this.refreshFuncBtnShow(r, !1), + r.clickHandler = s.clickHandler = Laya.Handler.create(this, function() { + view.DesktopMgr.Inst.setAutoHule(!view.DesktopMgr.Inst.auto_hule), + t.refreshFuncBtnShow(r, view.DesktopMgr.Inst.auto_hule) + }, null, !1); + var o = this._container_fun.getChildByName("btn_autonoming") + , l = this._container_fun.getChildByName("btn_autonoming2"); + this.refreshFuncBtnShow(o, !1), + o.clickHandler = l.clickHandler = Laya.Handler.create(this, function() { + view.DesktopMgr.Inst.setAutoNoFulu(!view.DesktopMgr.Inst.auto_nofulu), + t.refreshFuncBtnShow(o, view.DesktopMgr.Inst.auto_nofulu) + }, null, !1); + var h = this._container_fun.getChildByName("btn_automoqie") + , c = this._container_fun.getChildByName("btn_automoqie2"); + this.refreshFuncBtnShow(h, !1), + h.clickHandler = c.clickHandler = Laya.Handler.create(this, function() { + view.DesktopMgr.Inst.setAutoMoQie(!view.DesktopMgr.Inst.auto_moqie), + t.refreshFuncBtnShow(h, view.DesktopMgr.Inst.auto_moqie) + }, null, !1), + Laya.Browser.onPC && !GameMgr.inConch ? (e.visible = !1, + s.visible = !0, + a.visible = !0, + l.visible = !0, + c.visible = !0) : (e.visible = !0, + s.visible = !1, + a.visible = !1, + l.visible = !1, + c.visible = !1), + this.arrow = this._container_fun.getChildByName("arrow"), + this.arrow.scaleX = -1 + } + , + o.prototype.noAutoLipai = function() { + var t = this._container_fun.getChildByName("btn_autolipai"); + view.DesktopMgr.Inst.auto_liqi = !0, + t.clickHandler.run() + } + , + o.prototype.resetFunc = function() { + var t = Laya.LocalStorage.getItem("autolipai") + , e = !0; + e = !t || "" == t || "true" == t; + var i = this._container_fun.getChildByName("btn_autolipai"); + this.refreshFuncBtnShow(i, e), + Laya.LocalStorage.setItem("autolipai", e ? "true" : "false"), + view.DesktopMgr.Inst.setAutoLiPai(e); + var n = this._container_fun.getChildByName("btn_autohu"); + this.refreshFuncBtnShow(n, view.DesktopMgr.Inst.auto_hule); + var a = this._container_fun.getChildByName("btn_autonoming"); + this.refreshFuncBtnShow(a, view.DesktopMgr.Inst.auto_nofulu); + var r = this._container_fun.getChildByName("btn_automoqie"); + this.refreshFuncBtnShow(r, view.DesktopMgr.Inst.auto_moqie), + this._container_fun.x = -528, + this.arrow.scaleX = -1 + } + , + o.prototype.setDora = function(t, e) { + if (t < 0 || t >= this.doras.length) + console.error("setDora pos错误"); + else { + var i = "myres2/mjp/" + GameMgr.Inst.mjp_view + "/ui/"; + this.doras[t].skin = game.Tools.localUISrc(i + e.toString() + ".png") + } + } + , + o.prototype.initRoom = function() { + var t = this; + if (view.DesktopMgr.Inst.mode == view.EMJMode.play || view.DesktopMgr.Inst.mode == view.EMJMode.live_broadcast) { + for (var e = {}, i = 0; i < view.DesktopMgr.Inst.player_datas.length; i++) { + for (var n = view.DesktopMgr.Inst.player_datas[i].character, a = n.charid, r = cfg.item_definition.character.find(a).emo, s = 0; s < 9; s++) { + e[o = r + "/" + s.toString() + ".png"] = 1 + } + if (n.extra_emoji) + for (s = 0; s < n.extra_emoji.length; s++) { + var o = r + "/" + n.extra_emoji[s].toString() + ".png"; + e[o] = 1 + } + } + var l = []; + for (var h in e) + l.push(h); + game.LoadMgr.loadResImage(l, Laya.Handler.create(this, function() { + t.block_emo.initRoom() + })) + } + if (this._btn_leave.visible = !0, + this._btn_fanzhong.visible = !1, + view.DesktopMgr.Inst.mode == view.EMJMode.play) { + for (i = 0; i < view.DesktopMgr.Inst.player_datas.length; i++) { + (c = view.DesktopMgr.Inst.player_datas[i]) && null != c.account_id && 0 != c.account_id && 0 + } + 1 == view.DesktopMgr.Inst.game_config.category ? (this._btn_leave.visible = !0, + this._btn_fanzhong.visible = !1) : (this._btn_leave.visible = !1, + this._btn_fanzhong.visible = !0) + } + for (i = 0; i < view.DesktopMgr.Inst.player_datas.length; i++) { + var c = view.DesktopMgr.Inst.player_datas[i]; + c && null != c.account_id && 0 != c.account_id && 0 + } + if (this.block_emo.me.visible = view.DesktopMgr.Inst.mode == view.EMJMode.play, + this._container_fun.visible = view.DesktopMgr.Inst.mode == view.EMJMode.play, + this.enable = !0, + this.setLiqibang(0), + this.setBen(0), + view.DesktopMgr.Inst.game_config) { + var _ = view.DesktopMgr.Inst.game_config + , u = game.Tools.get_room_desc(_); + this.label_gamemode.text = u.text, + this.container_gamemode.visible = !0 + } else + this.container_gamemode.visible = !1; + this.btn_double_pass.visible = view.DesktopMgr.Inst.mode == view.EMJMode.play, + view.DesktopMgr.Inst.mode == view.EMJMode.play ? (this._network_delay.begin_refresh(), + this._network_delay.me.visible = !0) : this._network_delay.me.visible = !1 + } + , + o.prototype.onCloseRoom = function() { + this._network_delay.close_refresh() + } + , + o.prototype.refreshSeat = function(t) { + void 0 === t && (t = !1); + view.DesktopMgr.Inst.seat; + for (var e = view.DesktopMgr.Inst.player_datas, i = 0; i < 4; i++) { + var n = view.DesktopMgr.Inst.localPosition2Seat(i) + , a = this._player_infos[i]; + if (n < 0) + a.container.visible = !1; + else { + a.container.visible = !0; + var r = view.DesktopMgr.Inst.getPlayerName(n); + if (game.Tools.SetNickname(a.name, r), + a.head.id = e[n].avatar_id, + a.head.head_frame = e[n].avatar_frame, + a.avatar = e[n].avatar_id, + 0 != i) { + var s = e[n].account_id && 0 != e[n].account_id && view.DesktopMgr.Inst.mode != view.EMJMode.paipu + , o = e[n].account_id && 0 != e[n].account_id && view.DesktopMgr.Inst.mode == view.EMJMode.play + , l = view.DesktopMgr.Inst.mode != view.EMJMode.play; + t ? a.headbtn.onChangeSeat(s, o, l) : a.headbtn.reset(s, o, l) + } + e[n].title ? a.title.id = game.Tools.titleLocalization(e[n].account_id, e[n].title) : a.title.id = 0 + } + } + } + , + o.prototype.refreshNames = function() { + for (var t = 0; t < 4; t++) { + var e = view.DesktopMgr.Inst.localPosition2Seat(t) + , i = this._player_infos[t]; + if (e < 0) + i.container.visible = !1; + else { + i.container.visible = !0; + var n = view.DesktopMgr.Inst.getPlayerName(e); + game.Tools.SetNickname(i.name, n) + } + } + } + , + o.prototype.refreshLinks = function() { + view.DesktopMgr.Inst.seat; + for (var t = 0; t < 4; t++) { + var e = view.DesktopMgr.Inst.localPosition2Seat(t); + view.DesktopMgr.Inst.mode == view.EMJMode.play ? this._player_infos[t].disconnect.visible = -1 != e && 0 != t && view.DesktopMgr.player_link_state[e] != view.ELink_State.READY : view.DesktopMgr.Inst.mode == view.EMJMode.live_broadcast ? -1 == e || 0 == view.DesktopMgr.Inst.player_datas[e].account_id ? this._player_infos[t].disconnect.visible = !1 : this._player_infos[t].disconnect.visible = view.DesktopMgr.player_link_state[e] != view.ELink_State.READY : view.DesktopMgr.Inst.mode == view.EMJMode.paipu && (this._player_infos[t].disconnect.visible = !1) + } + } + , + o.prototype.setBen = function(t) { + t > 99 && (t = 99); + var e = this.me.getChildByName("container_lefttop") + , i = e.getChildByName("num_ben_0") + , n = e.getChildByName("num_ben_1"); + t >= 10 ? (i.skin = game.Tools.localUISrc("myres/mjdesktop/w_" + Math.floor(t / 10).toString() + ".png"), + n.skin = game.Tools.localUISrc("myres/mjdesktop/w_" + (t % 10).toString() + ".png"), + n.visible = !0) : (i.skin = game.Tools.localUISrc("myres/mjdesktop/w_" + (t % 10).toString() + ".png"), + n.visible = !1) + } + , + o.prototype.setLiqibang = function(t) { + t > 99 && (t = 99); + var e = this.me.getChildByName("container_lefttop") + , i = e.getChildByName("num_lizhi_0") + , n = e.getChildByName("num_lizhi_1"); + t >= 10 ? (n.skin = game.Tools.localUISrc("myres/mjdesktop/w_" + (t % 10).toString() + ".png"), + i.skin = game.Tools.localUISrc("myres/mjdesktop/w_" + Math.floor(t / 10).toString() + ".png"), + n.visible = !0) : (i.skin = game.Tools.localUISrc("myres/mjdesktop/w_" + t.toString() + ".png"), + n.visible = !1) + } + , + o.prototype.reset_rounds = function() { + this.closeCountDown(), + this.showscoredeltaing = !1, + view.DesktopMgr.Inst.setScoreDelta(!1); + for (var t = "myres2/mjp/" + GameMgr.Inst.mjp_view + "/ui/", e = 0; e < this.doras.length; e++) + this.doras[e].skin = game.Tools.localUISrc(t + "back.png"); + for (e = 0; e < 4; e++) + this._player_infos[e].emo.reset(); + this._timecd.reset(), + Laya.timer.clearAll(this), + Laya.timer.clearAll(this.label_md5), + this.container_doras.visible = !0, + this.label_md5.visible = !1 + } + , + o.prototype.showCountDown = function(t, e) { + this._timecd.showCD(t, e) + } + , + o.prototype.setZhenting = function(t) { + this.img_zhenting.visible = t + } + , + o.prototype.shout = function(t, e, i) { + app.Log.log("shout:" + t + " type:" + e); + try { + var n = this._player_infos[t] + , a = n.container_shout + , r = a.getChildByName("img_content") + , s = a.getChildByName("illust").getChildByName("illust"); + "" == e ? r.visible = !1 : (r.visible = !0, + r.skin = game.Tools.localUISrc("myres/mjdesktop/shout_" + e + ".png")), + game.Tools.charaPart(i.avatar_id, s, "half", n.illustrect, !0); + var o = 0 + , l = 0; + switch (t) { + case 0: + o = -105, + l = 0; + break; + case 1: + o = 500, + l = 0; + break; + case 2: + o = 0, + l = -300; + break; + default: + o = -500, + l = 0 + } + a.visible = !0, + a.alpha = 0, + a.x = n.shout_origin_x + o, + a.y = n.shout_origin_y + l, + Laya.Tween.to(a, { + alpha: 1, + x: n.shout_origin_x, + y: n.shout_origin_y + }, 70), + Laya.Tween.to(a, { + alpha: 0 + }, 150, null, null, 600), + Laya.timer.once(800, this, function() { + Laya.loader.clearTextureRes(s.skin), + a.visible = !1 + }) + } catch (t) { + var h = {}; + h.error = t.message, + h.stack = t.stack, + h.method = "shout", + h.class = "UI_DesktopInfos", + GameMgr.Inst.onFatalError(h) + } + } + , + o.prototype.closeCountDown = function() { + this._timecd.close() + } + , + o.prototype.refreshFuncBtnShow = function(t, e) { + var i = t.getChildByName("img_choosed"); + t.getChildByName("out").color = e ? "#3bd647" : "#7992b3", + i.visible = e + } + , + o.prototype.onShowEmo = function(t, e) { + var i = this._player_infos[t]; + 0 != t && i.headbtn.emj_banned || i.emo.show(t, e) + } + , + o.prototype.changeHeadEmo = function(t, e, i) { + var n = view.DesktopMgr.Inst.seat2LocalPosition(t); + this._player_infos[n] + } + , + o.prototype.onBtnShowScoreDelta = function() { + var t = this; + this.showscoredeltaing || (this.showscoredeltaing = !0, + view.DesktopMgr.Inst.setScoreDelta(!0), + Laya.timer.once(5e3, this, function() { + t.showscoredeltaing = !1, + view.DesktopMgr.Inst.setScoreDelta(!1) + })) + } + , + o.prototype.btn_seeinfo = function(e) { + if (view.DesktopMgr.Inst.mode != view.EMJMode.paipu && view.DesktopMgr.Inst.gameing) { + var i = view.DesktopMgr.Inst.player_datas[view.DesktopMgr.Inst.localPosition2Seat(e)].account_id; + 0 != i && (view.DesktopMgr.Inst.game_config, + t.UI_OtherPlayerInfo.Inst.show(i, view.DesktopMgr.Inst.game_config.mode.mode < 10 ? 1 : 2)) + } + } + , + o.prototype.openDora3BeginEffect = function() { + var t = game.FrontEffect.Inst.create_ui_effect(this.me.getChildByName("container_effects").getChildByName("dora3_begin"), "scene/effect_dora3_begin_" + GameMgr.client_language + ".lh", new Laya.Point(0,0), 1); + view.AudioMgr.PlayAudio(243), + Laya.timer.once(5e3, t, function() { + t.destory() + }) + } + , + o.prototype.openPeipaiOpenBeginEffect = function() { + var t = game.FrontEffect.Inst.create_ui_effect(this.me.getChildByName("container_effects").getChildByName("dora3_begin"), "scene/effect_peipai_begin_" + GameMgr.client_language + ".lh", new Laya.Point(0,0), 1); + view.AudioMgr.PlayAudio(243), + Laya.timer.once(5e3, t, function() { + t.destory() + }) + } + , + o.prototype.openDora3BeginShine = function() { + var t = game.FrontEffect.Inst.create_ui_effect(this.me.getChildByName("container_effects").getChildByName("dora3_shine"), "scene/effect_dora3_shine.lh", new Laya.Point(0,0), 1); + view.AudioMgr.PlayAudio(244), + Laya.timer.once(5e3, t, function() { + t.destory() + }) + } + , + o.prototype.openMuyuOpenBeginEffect = function() { + var t = game.FrontEffect.Inst.create_ui_effect(this.me.getChildByName("container_effects").getChildByName("dora3_begin"), "scene/effect_muyu_begin_" + GameMgr.client_language + ".lh", new Laya.Point(0,0), 1); + view.AudioMgr.PlayAudio(243), + Laya.timer.once(5e3, t, function() { + t.destory() + }) + } + , + o.Inst = null, + o + }(t.UIBase); + t.UI_DesktopInfo = s +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.diamond_lessUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close(null) + } + ), + this.root.getChildByName("btn_cancel").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close(null) + } + ), + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + if (!e.locking) { + var i = e.back; + e.onConfrim && e.onConfrim.runWith(Laya.Handler.create(null, function() { + t.UI_Recharge.Inst.show("huiyu", i) + })), + e.close(null) + } + } + ) + } + , + i.prototype.show = function(e, i) { + var n = this; + this.back = i, + this.onConfrim = e, + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })) + } + , + i.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + })) + } + , + i + }(t.UIBase); + t.UI_Diamond_Less = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.disconnectUI) || this; + return t.root = null, + t.txt_info = null, + t.txt_dot = null, + t.state = 0, + t.count = 0, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + this.root = this.me.getChildByName("root"), + this.txt_info = this.root.getChildByName("text"), + this.txt_dot = this.root.getChildByName("text_dot") + } + , + i.prototype.show = function() { + 1 == this.state || (0 == this.state ? (this.enable = !0, + Laya.timer.clearAll(this), + this.refreshInfo(), + t.UIBase.anim_pop_out(this.root, null), + Laya.timer.loop(500, this, this.refreshInfo)) : 2 == this.state ? (Laya.timer.clearAll(this), + this.refreshInfo(), + Laya.timer.loop(500, this, this.refreshInfo)) : 3 == this.state && (Laya.timer.clearAll(this), + this.refreshInfo(), + this.root.scaleX = 1, + this.root.scaleY = 1, + this.root.alpha = 1, + t.UIBase.anim_pop_out(this.root, null), + Laya.timer.loop(500, this, this.refreshInfo))), + this.state = 1, + t.UIMgr.Inst.disableMouse() + } + , + i.prototype.hide = function() { + var e = this; + this.state = 2, + Laya.timer.clearAll(this), + Laya.timer.once(1e3, this, function() { + e.state = 3, + t.UIBase.anim_pop_hide(e.root, Laya.Handler.create(e, function() { + e.state = 0, + e.enable = !1, + t.UIMgr.Inst.enableMouse() + })) + }) + } + , + i.prototype.refreshInfo = function() { + this.count = (this.count + 1) % 4; + for (var t = "", e = 0; e < this.count; e++) + t += "."; + game.LobbyNetMgr.Inst.connect_state == game.EConnectState.disconnect ? (this.txt_info.text = game.Tools.strOfLocalization(2049), + this.txt_dot.text = "") : game.LobbyNetMgr.Inst.connect_state == game.EConnectState.reconnecting ? (this.txt_info.text = game.Tools.strOfLocalization(2050), + this.txt_dot.text = t) : game.LobbyNetMgr.Inst.connect_state == game.EConnectState.none || game.LobbyNetMgr.Inst.connect_state == game.EConnectState.tryconnect ? (this.txt_info.text = game.Tools.strOfLocalization(2051), + this.txt_dot.text = "") : game.LobbyNetMgr.Inst.connect_state == game.EConnectState.connecting && (game.MJNetMgr.Inst.connect_state == game.EConnectState.none || game.MJNetMgr.Inst.connect_state == game.EConnectState.tryconnect || game.MJNetMgr.Inst.connect_state == game.EConnectState.connecting ? (this.txt_info.text = game.Tools.strOfLocalization(2052), + this.txt_dot.text = "", + this.hide()) : game.MJNetMgr.Inst.connect_state == game.EConnectState.disconnect ? (this.txt_info.text = game.Tools.strOfLocalization(2049), + this.txt_dot.text = "") : game.MJNetMgr.Inst.connect_state == game.EConnectState.reconnecting && (this.txt_info.text = game.Tools.strOfLocalization(2050), + this.txt_dot.text = t)) + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_Disconnect = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var i = t.call(this, new ui.common.dmm_bgm_noticeUI) || this; + return e.Inst = i, + i + } + return __extends(e, t), + e.prototype.show = function(t) { + var e = this; + this.complete = t; + var i = this.me.getChildByName("img"); + game.LoadMgr.setImgSkin(i, "extendRes/emo/e200001/l_1.png"), + this.me.getChildByName("btn").clickHandler = new Laya.Handler(this,function() { + e.close() + } + ), + this.enable = !0 + } + , + e.prototype.close = function() { + this.enable = !1, + this.complete && this.complete.run() + } + , + e + }(t.UIBase); + t.UI_DMM_Bgm_Notice = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.dmm_buy_popUI) || this; + return t.func_cancel = null, + t.func_confirm = null, + t.locking = !1, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_confirm").clickHandler = Laya.Handler.create(this, function() { + t.locking || (t.close(), + t.func_confirm && t.func_confirm.run(), + t.func_cancel = null, + t.func_confirm = null) + }, null, !1), + this.root.getChildByName("btn_cancel").clickHandler = Laya.Handler.create(this, function() { + t.locking || (t.close(), + t.func_cancel && t.func_cancel.run(), + t.func_cancel = null, + t.func_confirm = null) + }, null, !1), + this.root.getChildByName("btn_cancel").filters = [new Laya.ColorFilter([.3086, .6094, .082, 0, 0, .3086, .6094, .082, 0, 0, .3086, .6094, .082, 0, 0, 0, 0, 0, 1, 0])], + this.desc = this.root.getChildByName("desc"), + this.locking = !1 + } + , + i.prototype.show = function(e, i, n, a, r) { + var s = this; + void 0 === i && (i = null), + void 0 === n && (n = null), + void 0 === a && (a = 960), + void 0 === r && (r = 560), + this.func_cancel = n, + this.func_confirm = i, + this.set_desc(e), + this.root.x = a, + this.root.y = r, + this.root.getChildByName("btn_confirm").x = 122, + this.root.getChildByName("btn_cancel").x = 384, + this.root.getChildByName("btn_cancel").visible = !0, + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + s.locking = !1 + })) + } + , + i.prototype.set_desc = function(t) { + this.desc.text = t, + this.desc.textField.textHeight > 1.5 * this.desc.fontSize ? this.desc.align = "left" : this.desc.align = "center" + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Dmm_Buy_Pop = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.dmm_kefuUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + t.locking || t.close() + } + ) + } + , + i.prototype.show = function() { + var e = this; + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Dmm_Kefu = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(e) { + this.me = e, + t.scene_entrance = "chs" != GameMgr.client_language ? "scene/entrance_" + GameMgr.client_language + ".ls" : "scene/entrance.ls" + } + return t.prototype.show = function() { + this.scene = Laya.loader.getRes(t.scene_entrance), + this.me.addChild(this.scene), + this.scene.visible = !0 + } + , + t.prototype.close = function() { + Laya.timer.clearAll(this), + this.scene.visible = !1, + this.scene.destroy(!0) + } + , + t.scene_entrance = "", + t + }() + , i = function() { + function t(t) { + this.me = t, + this.round = this.me.getChildByName("round"), + this.word = this.me.getChildByName("word"), + this.icon = this.me.getChildByName("icon"), + this.me.visible = !1 + } + return t.prototype.show = function(t) { + var e = this; + if (!this.me.visible) { + this.me.visible = !0; + var i = Laya.timer.currTimer; + if (Laya.timer.frameLoop(1, this, function() { + e.round.rotation = (Laya.timer.currTimer - i) / 2e3 * 360 + }), + this.word.text = game.Tools.strOfLocalization(2053), + 0 == t) + this.icon.visible = !1, + this.word.y = 150; + else + switch (this.icon.visible = !0, + this.word.y = 195, + t) { + case 1: + case 4: + this.icon.skin = game.Tools.localUISrc("myres/entrance/weixin.png"); + break; + case 2: + case 5: + this.icon.skin = game.Tools.localUISrc("myres/entrance/weibo.png"); + break; + case 3: + case 6: + this.icon.skin = game.Tools.localUISrc("myres/entrance/QQ.png"); + break; + case 7: + this.icon.skin = game.Tools.localUISrc("myres/entrance/yostar.png"); + break; + case 8: + this.icon.skin = game.Tools.localUISrc("myres/entrance/google.png"); + break; + case 9: + this.icon.skin = game.Tools.localUISrc("myres/entrance/facebook.png"); + break; + case 10: + this.icon.skin = game.Tools.localUISrc("myres/entrance/tiwtter.png"); + break; + case 13: + this.icon.skin = game.Tools.localUISrc("myres/entrance/facebook.png"); + break; + default: + this.icon.visible = !1, + this.word.y = 150 + } + } + } + , + t.prototype.close = function() { + Laya.timer.clearAll(this), + this.me.visible = !1 + } + , + t + }() + , n = function() { + function e(e) { + var i = this; + this.saveflag = !0, + this.locking = !1, + this.last_mail_time = -1, + this.me = e, + this.me.visible = !1, + this.root = this.me.getChildByName("jpenroot"), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + i.locking || i.close() + }, null, !1), + this.input_account = this.root.getChildByName("container_mail").getChildByName("txtinput"), + this.label_account_no = this.root.getChildByName("container_mail").getChildByName("no"), + this.input_account.on("input", this, function() { + i.label_account_no.visible && (i.label_account_no.visible = !1), + "" != i.input_code.text && "" != i.input_account.text && game.Tools.setGrayDisable(i.btn_regist, !1) + }), + this.input_code = this.root.getChildByName("container_yanzhengma").getChildByName("txtinput"), + this.input_code.on("input", this, function() { + "" != i.input_code.text && "" != i.input_account.text && game.Tools.setGrayDisable(i.btn_regist, !1) + }), + this.btn_getcode = this.root.getChildByName("sendbutton").getChildByName("btn"), + this.btn_getcode.clickHandler = new Laya.Handler(this,function() { + var t = i.input_account.text; + /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(t) ? (Yo.request({ + account: t, + lang: "jp" == GameMgr.client_language ? "ja" : "en" + }).then(function(t) { + t ? 0 === t.result ? r.Inst.showInfo(game.Tools.strOfLocalization(2688)) : 50003 === t.result ? r.Inst.showError(game.Tools.strOfLocalization(2684)) : 50004 === t.result ? r.Inst.showError(game.Tools.strOfLocalization(2685)) : r.Inst.showError(game.Tools.strOfLocalization(2683)) : r.Inst.showError(game.Tools.strOfLocalization(2683)) + }), + i.last_mail_time = Laya.timer.currTimer, + i.refresh_code_state()) : i.label_account_no.visible = !0 + } + ), + this.btn_regist = this.root.getChildByName("btn_enter"), + this.btn_regist.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + app.Log.log("btn mail login"); + var t = r.Inst.login_index + , e = i.input_account.text; + Yo.submit({ + account: i.input_account.text, + code: i.input_code.text + }).then(function(i) { + t == r.Inst.login_index && (i ? (app.Log.log("mail login submit result:" + i.result), + 0 === i.result ? (game.LocalStorage.setItem("mail_account", e), + r.onSocioBack(7, i.token, i.uid)) : 50016 === i.result ? (r.Inst.showError(game.Tools.strOfLocalization(2686)), + r.Inst.showContainerLogin()) : 50009 === i.result ? (r.Inst.showError(game.Tools.strOfLocalization(2687)), + r.Inst.showContainerLogin()) : (r.Inst.showError(game.Tools.strOfLocalization(2689)), + r.Inst.showContainerLogin())) : (app.Log.log("mail login submit result: no"), + r.Inst.showError(game.Tools.strOfLocalization(2689)), + r.Inst.showContainerLogin())) + }), + 1 == i.saveflag ? (game.LocalStorage.setItem("useremail", i.input_account.text), + game.LocalStorage.setItem("saveflag", "true")) : (game.LocalStorage.setItem("useremail", ""), + game.LocalStorage.setItem("saveflag", "false")), + i.close(), + r.Inst.showLoginLoading(7) + } + } + ), + this.label_info = this.root.getChildByName("sendbutton").getChildByName("label"); + var n = this.root.getChildByName("checkxieyi"); + this.checkbox = n.getChildByName("checkbox"), + n.getChildByName("btn_check").clickHandler = new Laya.Handler(this,function() { + i.checkbox.visible = !i.checkbox.visible, + i.btn_regist.visible = i.checkbox.visible + } + ); + var a; + "jp" == GameMgr.client_language ? (n.getChildByName("en").visible = !1, + a = n.getChildByName("jp")) : (n.getChildByName("jp").visible = !1, + a = n.getChildByName("en")), + n.getChildByName("btn_check").clickHandler = new Laya.Handler(this,function() { + i.checkbox.visible = !i.checkbox.visible, + i.btn_regist.visible = i.checkbox.visible + } + ), + a.getChildByName("guize").clickHandler = Laya.Handler.create(this, function() { + "jp" == GameMgr.client_language ? t.UI_User_Xieyi_enjp.Inst.show("docs/jp_liyongguiyue.txt") : "en" == GameMgr.client_language && t.UI_User_Xieyi_enjp.Inst.show("docs/term_of_service.txt") + }, null, !1), + a.getChildByName("yinsi").clickHandler = Laya.Handler.create(this, function() { + "jp" == GameMgr.client_language ? t.UI_User_Xieyi_enjp.Inst.show("docs/jp_yinsixieyi.txt") : "en" == GameMgr.client_language && t.UI_User_Xieyi_enjp.Inst.show("docs/privacy_policy.txt") + }, null, !1) + } + return e.prototype.onchangecheck = function(t) { + this.checkbox.visible = t, + this.btn_regist.visible = t, + this.root.getChildByName("checkxieyi").visible = t + } + , + e.prototype.show = function() { + var e = this; + this.locking = !0, + this.me.visible = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })), + this.input_account.text = "", + this.label_account_no.visible = !1, + this.input_code.text = "", + this.checkbox.visible = !0, + this.btn_regist.visible = !0; + var i = game.LocalStorage.getItem("saveflag") + , n = game.LocalStorage.getItem("useremail"); + "true" == i && (this.input_account.text = n, + app.Log.log(n)), + game.Tools.setGrayDisable(this.btn_regist, !0), + Laya.timer.clearAll(this), + this.refresh_code_state(), + Laya.timer.loop(100, this, function() { + e.refresh_code_state() + }) + } + , + e.prototype.refresh_code_state = function() { + var t = 1e8; + game.Tools.setGrayDisable(this.btn_getcode, !0), + this.last_mail_time > 0 && (t = Laya.timer.currTimer - this.last_mail_time), + t < 6e4 ? (this.label_info.underline = !1, + t = Math.ceil((6e4 - t) / 1e3), + this.label_info.text = game.Tools.strOfLocalization(2682, [t.toString()]), + this.label_info.underline = !1, + game.Tools.setGrayDisable(this.btn_getcode, !0)) : (this.label_info.text = game.Tools.strOfLocalization(2720), + this.label_info.underline = !0, + game.Tools.setGrayDisable(this.btn_getcode, !1)) + } + , + e.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1, + Laya.timer.clearAll(e) + })) + } + , + e + }() + , a = function() { + function e(e) { + this.start_time = Laya.timer.currTimer, + this.data = null, + this.me = e, + this.info = this.me.getChildByName("info"), + this.label_time = this.me.getChildByName("time"), + this.img = this.me.getChildByName("img"), + this.me.getChildByName("btn").clickHandler = new Laya.Handler(this,function() { + t.UI_Entrance_Choose_Route.Inst.show() + } + ) + } + return e.prototype.onEnable = function() { + var t = this; + Laya.timer.clearAll(this), + this.update_data(), + Laya.timer.loop(100, this, function() { + t.update_data() + }), + Laya.timer.frameLoop(1, this, function() { + t.refresh() + }) + } + , + e.prototype.update = function() { + this.update_data() + } + , + e.prototype.update_data = function() { + var t = game.LobbyNetMgr.Inst.GetLinkInfos() + , e = game.LobbyNetMgr.Inst.choosed_index; + this.data = t[e], + this.info.text = game.Tools.strOfLocalization(3150) + (e + 1).toString() + } + , + e.prototype.refresh = function() { + var t = this.data; + t.connect == game.EConnectState.connecting ? (this.img.visible = !1, + this.label_time.visible = !0, + t.delay < 1 ? this.label_time.text = "--" : this.label_time.text = Math.floor(t.delay / 2) + "ms", + this.label_time.fontSize = 30, + t.delay < 300 ? this.label_time.color = "#32dd5b" : t.delay < 800 ? this.label_time.color = "#ffe154" : this.label_time.color = "#e03737") : t.connect == game.EConnectState.tryconnect ? (this.img.visible = !0, + this.label_time.visible = !1, + t.fetch == game.EFetchState.success ? this.img.skin = game.Tools.localUISrc("myres/entrance/connecting.png") : this.img.skin = game.Tools.localUISrc("myres/entrance/fetching.png"), + this.img.rotation = .5 * (Laya.timer.currTimer - this.start_time)) : (this.img.visible = !1, + this.label_time.visible = !0, + this.label_time.fontSize = 25, + this.label_time.color = "#7e818b", + t.in_maintenance ? this.label_time.text = game.Tools.strOfLocalization(3149) : t.fetch == game.EFetchState.error ? this.label_time.text = game.Tools.strOfLocalization(3147) : this.label_time.text = game.Tools.strOfLocalization(3148)) + } + , + e.prototype.onClose = function() { + Laya.timer.clearAll(this) + } + , + e + }() + , r = function(r) { + function s() { + var t = r.call(this, new ui.entrance.entranceUI) || this; + return t.scene = null, + t.login_type_tabs = [], + t.txt_account = null, + t.txt_password = null, + t.btn_login_cd = 0, + t.login_loading = null, + t.route_info = null, + t.btn_add2desktop = null, + t.page_maillogin = null, + t.container_extendInfo = null, + t.xieyiflag = 0, + t.login_index = 0, + t.login_type_tab_index = -1, + t.login_account_input_info = {}, + s.Inst = t, + t + } + return __extends(s, r), + s.trySocio = function(e) { + var i = Laya.LocalStorage.getItem("_pre_sociotype") + , n = -1; + i && "" != i && (n = parseInt(i)); + var a = !0; + if (n === e) + if (e >= 1 && e <= 6) { + var r = Laya.LocalStorage.getItem("_pre_code"); + r && "" != r && (a = !1, + this.onSocioBack(e, r, null)) + } else if (7 == e) + ; + else if (e >= 8 && e <= 10) { + var s = game.LocalStorage.getItem("yostar_token"); + s || (s = ""); + var o = game.LocalStorage.getItem("yostar_uid"); + o || (o = ""), + "" != s && "" != o && (a = !1, + this.onSocioBack(e, s, o)) + } + if (a) + if (GameMgr.inConch) { + var l = Laya.PlatformClass.createClass("layaair.majsoul.mjmgr"); + 1 == e ? l.call("wxLogin") : 2 == e ? l.call("weiboLogin") : 3 == e && l.call("qqLogin") + } else if (GameMgr.iniOSWebview) { + var h = ""; + switch (e) { + case 1: + h = "wxLogin"; + break; + case 2: + h = "wbLogin"; + break; + case 3: + h = "qqLogin" + } + if (h) { + var c = this; + Laya.Browser.window.wkbridge.callNative(h, "", function(t) { + c.onSocioBack(e + 3, t, null) + }) + } + } else { + var _ = window.location.href; + if (-1 != _.indexOf("?") && (_ = _.split("?")[0]), + 1 == e) { + u = "https://open.weixin.qq.com/connect/qrconnect?"; + u += "appid=wx2a0c2449cab74448", + u += "&response_type=code", + u += "&redirect_uri=" + encodeURI("https://www.majsoul.com/0?xdsfdl=1-" + _), + u += "&scope=snsapi_login", + Laya.Browser.window.location.href = u + } else if (2 == e) { + u = "https://api.weibo.com/oauth2/authorize?"; + u += "client_id=399644784", + u += "&redirect_uri=https://www.majsoul.com/0?xdsfdl=2-" + _, + Laya.Browser.window.location.href = u + } else if (3 == e) { + var u = "https://graph.qq.com/oauth2.0/authorize?"; + u += "response_type=code", + u += "&client_id=101480027", + u += "&redirect_uri=" + encodeURI("https://www.majsoul.com/0"), + GameMgr.Inst.link_url.indexOf("majsoul.com/1") >= 0 ? u += "&state=xdsfdl4" : u += "&state=xdsfdl3", + Laya.Browser.window.location.href = u + } else if (7 == e) + this.Inst && this.Inst.showMailLogin(); + else if (8 == e) { + d = GameMgr.Inst.link_url + "redirect/"; + GameMgr.inRelease ? d += GameMgr.client_language : d += "tt", + d += "/yo_google.html", + "jp" == GameMgr.client_language ? Yo.googleJaAuth({ + redirect_uri: d, + openNewWindow: !1 + }) : Yo.googleAuth({ + redirect_uri: d, + openNewWindow: !1 + }) + } else if (9 == e) { + d = GameMgr.Inst.link_url + "redirect/"; + GameMgr.inRelease ? d += GameMgr.client_language : d += "tt", + d += "/yo_facebook.html", + Yo.facebookAuth({ + redirect_uri: d, + openNewWindow: !1 + }) + } else if (10 == e) { + var d = GameMgr.Inst.link_url + "redirect/"; + GameMgr.inRelease ? d += GameMgr.client_language : d += "tt", + d += "/yo_tiwtter.html", + "jp" == GameMgr.client_language ? Yo.twitterJaAuth({ + redirect_uri: d, + openNewWindow: !1 + }) : Yo.twitterAuth({ + redirect_uri: d, + openNewWindow: !1 + }) + } else if (13 == e) { + var f = function() { + Laya.LocalStorage.setItem("fblogin", "1"); + var t = "https://www.facebook.com/dialog/oauth?"; + t += "client_id=511764882872601", + t += "&redirect_uri=" + encodeURI(GameMgr.Inst.link_url), + t += "&response_type=token", + Laya.Browser.window.location.href = t + }; + void 0 != FB && null != FB ? FB.getLoginStatus(function(e) { + e && "connected" == e.status ? t.UI_Entrance.onSocioBack(13, e.authResponse.accessToken, null) : f() + }) : f() + } else + 14 == e && game.DmmSDK.login() + } + } + , + s.onSocioBack = function(t, e, i) { + app.Log.log("!!!!!!!!!!!!!!! " + t + " " + e), + this.Inst && this.Inst._onSocioBack(t, e, i) + } + , + s.prototype.onCreate = function() { + var r = this + , o = this.me.getChildByName("root"); + this.container_login = this.me.getChildByName("root").getChildByName("container_login"); + var l = function(t) { + var e = { + container: t, + input: t.getChildByName("txtinput"), + lb: t.getChildByName("lb") + }; + return e.input.text = "", + e.lb.visible = !0, + e.input.on("focus", r, function() { + e.lb.visible = !1 + }), + e.input.on("blur", r, function() { + e.lb.visible = !e.input.text || "" == e.input.text + }), + e.input.on("input", r, function() {}), + e + } + , h = this.container_login.getChildByName("chs"); + this.route_info = new a(h.getChildByName("img_lb")), + this.txt_account = l(h.getChildByName("container_account")), + this.txt_password = l(h.getChildByName("container_mima")), + this.txt_account.input.on(laya.events.Event.KEY_DOWN, this.txt_account.input, function(t) { + t.keyCode === Laya.Keyboard.ENTER && r._btn_login() + }), + this.txt_password.input.on(laya.events.Event.KEY_DOWN, this.txt_account.input, function(t) { + t.keyCode === Laya.Keyboard.ENTER && r._btn_login() + }), + this.login_type_tabs = []; + for (var c = function(t) { + var e = h.getChildByName("container_tabs").getChildByName("tab" + t); + _.login_type_tabs.push({ + btn: e, + word: e.getChildByName("word"), + choosen: e.getChildByName("chosen") + }), + _.login_type_tabs[t].btn.clickHandler = new Laya.Handler(_,function() { + r.login_type_tab_index != t && r.change_chs_login_tab(t) + } + ) + }, _ = this, u = 0; u < 2; u++) + c(u); + this.container_extendInfo = o.getChildByName("extendinfo"), + this.container_extendInfo.visible = !1, + h.getChildByName("btn_regist").clickHandler = Laya.Handler.create(this, function() { + t.UI_Entrance_Mail_Regist.Inst.show() + }, null, !1), + h.getChildByName("btn_forgetpassword").clickHandler = Laya.Handler.create(this, function() { + t.UI_Entrance_Reset_Password.Inst.show() + }, null, !1), + h.getChildByName("btn_find_account").clickHandler = new Laya.Handler(this,function() { + Laya.Browser.window.location.href = "https://www.maj-soul.com/find-account/" + } + ), + h.getChildByName("btn_find_account").visible = "chs" == GameMgr.client_type, + this.btn_add2desktop = this.me.getChildByName("root").getChildByName("btn_add2desktop"), + this.btn_add2desktop.visible = (Laya.Browser.onAndriod || Laya.Browser.onAndroid || Laya.Browser.onIOS) && !GameMgr.inConch && !GameMgr.inConch, + this.btn_add2desktop.clickHandler = new Laya.Handler(this,function() { + t.UI_Add2Desktop.Inst && t.UI_Add2Desktop.Inst.show() + } + ), + h.getChildByName("btn_enter").clickHandler = Laya.Handler.create(this, this._btn_login, null, !1), + this.login_loading = new i(o.getChildByName("loading_login")), + this.page_maillogin = new n(this.me.getChildByName("mail_login")), + this.scene = new e(this.me.getChildByName("scene")), + this.container_social = this.container_login.getChildByName("social"), + this.social_btns = []; + for (u = 0; u < 4; u++) + this.social_btns.push(this.container_social.getChildByName("btn" + u)), + this.social_btns[u].visible = !1; + var d = []; + "chs" == GameMgr.client_type && (d = [{ + img: "myres/entrance/weibo.png", + type: 2 + }, { + img: "myres/entrance/QQ.png", + type: 3 + }, { + img: "myres/entrance/weixin.png", + type: 1 + }]), + "chs_t" == GameMgr.client_type && (d = [{ + img: "myres/entrance/facebook.png", + type: 13 + }]), + "jp" == GameMgr.client_type && (d = [{ + img: "myres/entrance/google.png", + type: 8 + }, { + img: "myres/entrance/tiwtter.png", + type: 10 + }]), + "en" == GameMgr.client_type && (d = [{ + img: "myres/entrance/google.png", + type: 8 + }, { + img: "myres/entrance/facebook.png", + type: 9 + }, { + img: "myres/entrance/tiwtter.png", + type: 10 + }]); + for (var f = function(t) { + var e = p.social_btns[t]; + t < d.length ? (e.visible = !0, + e.getChildAt(0).skin = game.Tools.localUISrc(d[t].img), + e.clickHandler = new Laya.Handler(p,function() { + s.trySocio(d[t].type) + } + ), + 1 == d.length ? e.x = 220 : e.x = 340 * t / (d.length - 1) + 55) : e.visible = !1 + }, p = this, u = 0; u < this.social_btns.length; u++) + f(u); + 2 == d.length && (this.social_btns[0].x = 340 / 3 + 55, + this.social_btns[1].x = 680 / 3 + 55), + this.me.getChildByName("infos").visible = "chs" == GameMgr.client_language, + this.me.getChildByName("copyright").visible = "chs" == GameMgr.client_language && GameMgr.inConch, + this.me.getChildByName("root").getChildByName("loading_login").getChildByName("btn_cancel").clickHandler = Laya.Handler.create(this, function() { + r.login_loading.me.visible && (game.LobbyNetMgr.Inst.Close(), + Laya.LocalStorage.setItem("_pre_sociotype", ""), + r.showContainerLogin(), + r.btn_login_cd = Laya.timer.currTimer + 500, + Laya.timer.once(500, r, function() { + game.LobbyNetMgr.Inst.OpenConnect(null) + })) + }, null, !1); + var m = this.me.getChildByName("root").getChildByName("container_login").getChildByName("dmm"); + m.getChildByName("btn_enter").clickHandler = new Laya.Handler(this,function() { + s.trySocio(14) + } + ); + var g = m.getChildByName("checksave") + , y = g.getChildByName("checkbox"); + y.visible = "false" != Laya.LocalStorage.getItem("autologin"), + g.getChildByName("btn_check").clickHandler = new Laya.Handler(this,function() { + y.visible = !y.visible, + Laya.LocalStorage.setItem("autologin", y.visible ? "true" : "false") + } + ); + var v = o.getChildByName("btn_kefu"); + v.visible = "chs_t" == GameMgr.client_type, + v.clickHandler = new Laya.Handler(this,function() { + game.Tools.setGrayDisable(v, !0), + Laya.timer.once(1e3, null, function() { + game.Tools.setGrayDisable(v, !1) + }); + var t = "https://ykf-webchat.7moor.com/wapchat.html?accessId=4184be70-95b1-11ea-b027-616616b0ded6"; + t += "&fromUrl=https://www.maj-soul.com", + t += "&urlTitle=网页", + t += "&language=EN"; + var e = {}; + e["登陆状态"] = "未登录", + t += "&customField=" + JSON.stringify(e), + game.Tools.open_new_window(t) + } + ) + } + , + s.prototype.ModelJpEn = function() { + var t = this.container_login.getChildByName("jpen") + , e = t.getChildByName("btn_enter"); + e.clickHandler = Laya.Handler.create(this, function() { + !function(t) { + 1 == t && s.trySocio(7) + }(!0) + }, null, !1); + var i = t.getChildByName("checksave") + , n = i.getChildByName("checkbox"); + n.visible = "false" != Laya.LocalStorage.getItem("autologin"), + i.getChildByName("btn_check").clickHandler = new Laya.Handler(this,function() { + n.visible = !n.visible, + Laya.LocalStorage.setItem("autologin", n.visible ? "true" : "false") + } + ) + } + , + s.prototype.show = function() { + var t = this; + GameMgr.inDmm ? (this.container_social.visible = !1, + this.container_login.getChildByName("dmm").visible = !0, + this.container_login.getChildByName("chs").visible = !1, + this.container_login.getChildByName("jpen").visible = !1) : (this.container_social.visible = !0, + this.container_login.getChildByName("dmm").visible = !1, + "chs" == GameMgr.client_type || "chs_t" == GameMgr.client_type ? (this.container_social.x = 40, + this.container_social.y = 475, + this.container_login.getChildByName("chs").visible = !0, + this.container_login.getChildByName("jpen").visible = !1, + this.route_info.onEnable()) : (this.container_login.getChildByName("chs").visible = !1, + this.container_login.getChildByName("jpen").visible = !0, + this.ModelJpEn())), + -1 != GameMgr.Inst.beinvited_roomid ? (this.container_extendInfo.visible = !0, + this.container_extendInfo.getChildAt(0).text = game.Tools.strOfLocalization(2054) + ":" + GameMgr.Inst.beinvited_roomid) : "" != GameMgr.Inst.outsee_paipuid ? (this.container_extendInfo.visible = !0, + this.container_extendInfo.getChildAt(0).text = game.Tools.strOfLocalization(2055)) : this.container_extendInfo.visible = !1; + var e = this.login_index; + if (GameMgr.Inst.fb_login_info && "connected" == GameMgr.Inst.fb_login_info.status) + this.showLoginLoading(13), + Laya.timer.once(500, this, function() { + if (e == t.login_index) { + var i = GameMgr.Inst.fb_login_info.authResponse; + t._loginby_sociocode(e, 13, i.accessToken) + } + }); + else { + this.me.getChildByName("root").getChildByName("version").text = game.ResourceVersion.version; + var i = Laya.LocalStorage.getItem("_pre_sociotype") + , n = Laya.LocalStorage.getItem("ssssoooodd"); + n || (n = ""); + var a = -1; + if (i && "" != i && (a = parseInt(i)), + app.Log.log("sociotype:" + a), + a < 0 || a > 14) + this.showContainerLogin(); + else if (0 == a) + "" != n ? (this.showLoginLoading(0), + Laya.timer.once(600, this, function() { + e == t.login_index && t._try_socio_check(e, a, n) + })) : this.showContainerLogin(); + else if (a >= 1 && a <= 6) { + var r = Laya.LocalStorage.getItem("_pre_code"); + r || (r = ""), + "" != r || "" != n ? (this.showLoginLoading(a), + Laya.timer.once(500, this, function() { + e == t.login_index && (r && "" != r ? t._loginby_sociocode(e, a, r) : t._try_socio_check(e, a, n)) + })) : this.showContainerLogin() + } else if (a >= 7 && a <= 10 && "chs" != GameMgr.client_type && "chs_t" != GameMgr.client_type && Yo.login) { + var s = game.LocalStorage.getItem("yostar_token"); + s || (s = ""); + var o = game.LocalStorage.getItem("yostar_uid"); + o || (o = ""), + "" != o && "" != s ? (this.showLoginLoading(a), + Laya.timer.once(500, this, function() { + e == t.login_index && t._login_2_yostar(e, a, s, o) + })) : this.showContainerLogin() + } else if (13 == a || 14 == a) { + var l = Laya.LocalStorage.getItem("_pre_code"); + l || (l = ""), + "" != l || "" != n ? (this.showLoginLoading(a), + Laya.timer.once(500, this, function() { + e == t.login_index && (l && "" != l ? t._loginby_sociocode(e, a, l) : t._try_socio_check(e, a, n)) + })) : this.showContainerLogin() + } else + this.showContainerLogin() + } + this.scene.show(), + this.enable = !0 + } + , + s.prototype._onSocioBack = function(t, e, i) { + var n = this + , a = this.login_index; + this.showLoginLoading(t), + Laya.timer.once(500, this, function() { + a == n.login_index && (e && "" != e ? (Laya.LocalStorage.setItem("_pre_sociotype", "false" == Laya.LocalStorage.getItem("autologin") ? "" : t.toString()), + i ? n._login_2_yostar(a, t, e, i) : (Laya.LocalStorage.setItem("_pre_code", e), + n._loginby_sociocode(a, t, e))) : n.showContainerLogin()) + }) + } + , + s.prototype.showContainerLogin = function() { + if (-1 == this.login_type_tab_index) { + var t = game.LocalStorage.getItem("login_type_tab") + , e = game.LocalStorage.getItem("account") + , i = game.LocalStorage.getItem("password"); + if (this.login_account_input_info = {}, + e && i && "" != e && "" != i) { + var n = 0; + t && "" != t && (n = parseInt(t)), + this.login_account_input_info[n] = { + account: e, + password: i + }, + this.change_chs_login_tab(n) + } else + this.change_chs_login_tab(0) + } else + this.change_chs_login_tab(this.login_type_tab_index); + this.container_login.visible = !0, + this.login_loading.close(), + this.login_index++ + } + , + s.prototype.showLoginLoading = function(t) { + this.container_login.visible = !1, + this.login_loading.show(t) + } + , + s.prototype.change_chs_login_tab = function(t) { + this.login_type_tab_index >= 0 && (this.login_account_input_info[this.login_type_tab_index] = { + account: this.txt_account.input.text, + password: this.txt_password.input.text + }), + t || (t = 0), + this.login_type_tab_index = t; + for (var e = 0; e < this.login_type_tabs.length; e++) + this.login_type_tabs[e].word.color = e == t ? "#446fdb" : "#84827b", + this.login_type_tabs[e].choosen.visible = e == t; + switch (t) { + case 0: + this.txt_account.lb.text = game.Tools.strOfLocalization(3138), + this.txt_account.input.restrict = "", + this.txt_account.input.maxChars = 50; + break; + case 1: + this.txt_account.lb.text = game.Tools.strOfLocalization(3132), + this.txt_account.input.restrict = "0-9", + this.txt_account.input.maxChars = 11; + break; + default: + case 0: + this.txt_account.lb.text = "", + this.txt_account.input.restrict = "", + this.txt_account.input.maxChars = 50 + } + var i = this.login_account_input_info[t] + , n = "" + , a = ""; + i && (n = i.account, + a = i.password), + n && "" != n ? (this.txt_account.input.text = n, + this.txt_account.lb.visible = !1) : (this.txt_account.input.text = "", + this.txt_account.lb.visible = !0), + a && "" != a ? (this.txt_password.input.text = a, + this.txt_password.lb.visible = !1) : (this.txt_password.input.text = "", + this.txt_password.lb.visible = !0) + } + , + s.prototype._btn_login = function() { + var e = this + , i = this.txt_account.input.text + , n = this.txt_password.input.text; + if (i && "" != i) + if (n && "" != n) { + if (!(Laya.timer.currTimer < this.btn_login_cd)) + if (this.multiLogin()) + this.showInfo(game.Tools.strOfLocalization(2058)); + else { + this.btn_login_cd = Laya.timer.currTimer + 1e3, + this.showLoginLoading(0); + var a = this.login_index; + game.LobbyNetMgr.Inst.OpenConnect(Laya.Handler.create(this, function(r) { + Laya.timer.once(800, e, function() { + a == e.login_index && (r.open ? s.Inst._try_login_account(a, i, n) : (r.maintenance ? t.UI_Entrance_Maintenance.Inst.show(r.maintenance) : e.showInfo(r.info), + e.showContainerLogin(), + e.btn_login_cd = 0)) + }) + })) + } + } else + this.showInfo(game.Tools.strOfLocalization(2057)); + else + this.showInfo(game.Tools.strOfLocalization(2056)) + } + , + s.prototype._try_regist_account = function(t, e, i, n) { + var a = this; + app.NetAgent.sendReq2Lobby("Lobby", "signup", { + account: t, + password: GameMgr.encodeP(i), + code: e, + type: n + }, function(e, r) { + if (e) + a.showError(game.Tools.strOfLocalization(2059), e), + app.Log.Error(e.message); + else if (r.error) + a.showError(game.Tools.strOfLocalization(2060), r.error.code), + app.Log.Error(game.Tools.strOfLocalization(2219, [JSON.stringify(r)])); + else { + var s = n - 1; + a.login_account_input_info[s] = { + account: t, + password: i + }, + a.change_chs_login_tab(s), + a._try_login_account(a.login_index, t, i) + } + }) + } + , + s.prototype._try_login_account = function(e, i, n) { + var a = this; + if (e == this.login_index) { + if (this.multiLogin()) + return this.showInfo(game.Tools.strOfLocalization(2058)), + void this.showContainerLogin(); + var r = {}; + GameMgr.inConch ? r.device_type = "app" : GameMgr.iniOSWebview ? r.device_type = "app-ios" : (Laya.Browser.onPC && (r.device_type = "pc"), + Laya.Browser.onIPad && (r.device_type = "ipad"), + Laya.Browser.onMobile && (r.device_type = "mobile")), + Laya.Browser.onMac && (r.os = "mac"), + Laya.Browser.onIOS && (r.os = "ios"), + (Laya.Browser.onAndriod || Laya.Browser.onAndroid) && (r.os = "android"), + Laya.Browser.onWeiXin && (r.browser = "weixin"), + Laya.Browser.onSafari && (r.browser = "safari"), + Laya.Browser.onFirefox && (r.browser = "firefox"), + Laya.Browser.onEdge && (r.browser = "edge"), + Laya.Browser.onMiniGame && (r.browser = "minigame"); + var s = game.Tools.get_platform_currency(); + game.LocalStorage.setItem("account", i), + game.LocalStorage.setItem("password", n), + game.LocalStorage.setItem("login_type_tab", this.login_type_tab_index.toString()), + app.NetAgent.sendReq2Lobby("Lobby", "login", { + account: i, + password: GameMgr.encodeP(n), + reconnect: !1, + device: r, + random_key: GameMgr.device_id, + client_version: game.ResourceVersion.version, + gen_access_token: !0, + currency_platforms: s, + type: this.login_type_tab_index + }, function(r, s) { + e == a.login_index && (a.btn_login_cd = 0, + r ? (a.showError(game.Tools.strOfLocalization(2061), r), + a.showContainerLogin()) : s.error ? (503 == s.error.code ? t.UI_Entrance_Prohibition.Inst.show(s.error) : a.showError("", s.error.code), + a.showContainerLogin()) : (Laya.LocalStorage.setItem("_pre_sociotype", "0"), + game.LocalStorage.setItem("account", i), + game.LocalStorage.setItem("password", n), + game.LocalStorage.setItem("login_type_tab", a.login_type_tab_index.toString()), + GameMgr.Inst.account = i, + GameMgr.Inst.password = n, + GameMgr.Inst.sociotype = 0, + a._onLoginSuccess(0, s))) + }) + } + } + , + s.prototype._login_2_yostar = function(t, e, i, n) { + var a = this; + if (t == this.login_index) { + app.Log.log("login_2_yostar sociotype:" + e + " token:" + i + " uid:" + n); + var r = this + , s = function(t) { + switch (t) { + case 1: + r.showError(game.Tools.strOfLocalization(2677)); + break; + case 2: + r.showError(game.Tools.strOfLocalization(2678)); + break; + case 3: + r.showError(game.Tools.strOfLocalization(2679)); + break; + case 4: + r.showError(game.Tools.strOfLocalization(2680)); + break; + default: + r.showError(game.Tools.strOfLocalization(2676)) + } + Laya.LocalStorage.setItem("_pre_sociotype", ""), + r.showContainerLogin() + }; + Yo.login && Yo.login({ + uid: n, + token: i + }).then(function(o) { + t == a.login_index && (o ? (app.Log.log("yo login data.result:" + o.result), + 0 == o.result ? (game.LocalStorage.setItem("yostar_token", i), + game.LocalStorage.setItem("yostar_uid", n), + GameMgr.Inst.yostar_accessToken = o.accessToken, + GameMgr.Inst.yostar_uid = n, + GameMgr.Inst.yostar_login_info = o, + r._loginby_sociocode(t, e, o.accessToken, n)) : s(o.result)) : (app.Log.log("yo login data.result: no"), + s(-1))) + }) + } + } + , + s.prototype._loginby_sociocode = function(e, i, n, a) { + var r = this; + if (void 0 === a && (a = ""), + e == this.login_index) + if (app.Log.log("_loginby_sociocode0 sociotype:" + i + ", code:" + n + ", uid:" + a), + game.LobbyNetMgr.Inst.isOK) { + Laya.LocalStorage.setItem("_pre_code", ""), + Laya.LocalStorage.setItem("_pre_sociotype", ""), + app.Log.log("_loginby_sociocode1 sociotype" + i + " code:" + n + " uid:" + a); + var s = { + type: i, + code: n + }; + a && (s.uid = a), + app.NetAgent.sendReq2Lobby("Lobby", "oauth2Auth", s, function(t, n) { + e == r.login_index && (t ? (app.Log.log("oauth2Auth err:" + t), + r.showError(game.Tools.strOfLocalization(2059), t), + app.Log.Error(t.message), + r.showContainerLogin()) : (app.Log.log("oauth2Auth res: " + JSON.stringify(n)), + n.error ? (r.showError(game.Tools.strOfLocalization(2062), n.error.code), + r.showContainerLogin()) : r._try_socio_check(e, i, n.access_token))) + }) + } else + game.LobbyNetMgr.Inst.OpenConnect(Laya.Handler.create(this, function(s) { + e == r.login_index && (s.open ? r._loginby_sociocode(e, i, n, a) : (s.maintenance ? t.UI_Entrance_Maintenance.Inst.show(s.maintenance) : r.showInfo(s.info), + r.showContainerLogin())) + })) + } + , + s.prototype._try_socio_check = function(e, i, n) { + var a = this; + if (e == this.login_index) + return this.multiLogin() ? (this.showInfo(game.Tools.strOfLocalization(2058)), + void this.showContainerLogin()) : void (game.LobbyNetMgr.Inst.isOK ? Laya.timer.once(800, this, function() { + e == a.login_index && (app.Log.log("_try_socio_check sociotype" + i + " access_token:" + n), + app.NetAgent.sendReq2Lobby("Lobby", "oauth2Check", { + type: i, + access_token: n + }, function(t, r) { + e == a.login_index && (t ? (a.showError(game.Tools.strOfLocalization(2059), t), + app.Log.Error(t.message), + a.showContainerLogin()) : (app.Log.log("oauth2Check res: " + JSON.stringify(r)), + r.error ? (a.showError(game.Tools.strOfLocalization(2062), r.error.code), + a.showContainerLogin()) : r.has_account ? a._try_login_socio(e, i, n) : a._try_regist_socio(e, i, n))) + })) + }) : game.LobbyNetMgr.Inst.OpenConnect(Laya.Handler.create(this, function(r) { + e == a.login_index && (r.open ? a._try_socio_check(e, i, n) : (r.maintenance ? t.UI_Entrance_Maintenance.Inst.show(r.maintenance) : a.showInfo(r.info), + a.showContainerLogin())) + }))) + } + , + s.prototype._try_regist_socio = function(t, e, i) { + var n = this; + if (t == this.login_index) { + app.Log.log("_try_regist_socio sociotype" + e + " access_token:" + i); + var a = Laya.LocalStorage.getItem("__ad_s"); + a && (GameMgr.Inst._ad_str = a); + var r = {}; + r.type = e, + r.access_token = i, + GameMgr.Inst._ad_str && (r.advertise_str = GameMgr.Inst._ad_str), + 7 == e && (r.email = game.LocalStorage.getItem("mail_account")), + app.NetAgent.sendReq2Lobby("Lobby", "oauth2Signup", r, function(a, r) { + t == n.login_index && (a ? (app.Log.log("oauth2Signup err:" + a), + n.showError(game.Tools.strOfLocalization(2059), a), + app.Log.Error(a.message), + n.showContainerLogin()) : (app.Log.log("oauth2Signup res: " + JSON.stringify(r)), + r.error ? (n.showError(game.Tools.strOfLocalization(2060), r.error.code), + app.Log.Error(game.Tools.strOfLocalization(2219, [JSON.stringify(r)])), + n.showContainerLogin()) : (app.PlayerBehaviorStatistic.fb_trace_force(app.EBehaviorType.CompleteRegistration), + app.PlayerBehaviorStatistic.google_trace_force(app.EBehaviorType.G_Role_create), + app.PlayerBehaviorStatistic.tw_trace_force(app.EBehaviorType.TW_Signup), + n._try_login_socio(t, e, i)))) + }) + } + } + , + s.prototype._try_login_socio = function(e, i, n) { + var a = this; + if (e == this.login_index) { + if (this.multiLogin()) + return this.showError(game.Tools.strOfLocalization(2058)), + void this.showContainerLogin(); + app.Log.log("_try_login_socio sociotype" + i + " access_token:" + n); + var r = {}; + GameMgr.inConch ? r.device_type = "app" : GameMgr.iniOSWebview ? r.device_type = "app-ios" : (Laya.Browser.onPC && (r.device_type = "pc"), + Laya.Browser.onIPad && (r.device_type = "ipad"), + Laya.Browser.onMobile && (r.device_type = "mobile")), + Laya.Browser.onMac && (r.os = "mac"), + Laya.Browser.onIOS && (r.os = "ios"), + (Laya.Browser.onAndriod || Laya.Browser.onAndroid) && (r.os = "android"), + Laya.Browser.onWeiXin && (r.browser = "weixin"), + Laya.Browser.onSafari && (r.browser = "safari"), + Laya.Browser.onFirefox && (r.browser = "firefox"), + Laya.Browser.onEdge && (r.browser = "edge"), + Laya.Browser.onMiniGame && (r.browser = "minigame"); + var s = game.Tools.get_platform_currency(); + app.NetAgent.sendReq2Lobby("Lobby", "oauth2Login", { + type: i, + access_token: n, + reconnect: !1, + device: r, + random_key: GameMgr.device_id, + client_version: game.ResourceVersion.version, + currency_platforms: s + }, function(r, s) { + e == a.login_index && (a.btn_login_cd = 0, + r ? (app.Log.log("oauth2Login err:" + r), + a.showError(game.Tools.strOfLocalization(2061), r), + a.showContainerLogin()) : (app.Log.log("oauth2Login res: " + JSON.stringify(s)), + s.error ? (503 == s.error.code ? t.UI_Entrance_Prohibition.Inst.show(s.error) : a.showError("", s.error.code), + a.showContainerLogin()) : (Laya.LocalStorage.setItem("_pre_sociotype", "false" == Laya.LocalStorage.getItem("autologin") ? "" : i.toString()), + Laya.LocalStorage.setItem("ssssoooodd", n), + GameMgr.Inst.sociotype = i, + GameMgr.Inst.access_token = n, + a._onLoginSuccess(i, s)))) + }) + } + } + , + s.prototype._onLoginPengdingPhone = function(t, e) {} + , + s.prototype._onLoginSuccess = function(e, i) { + var n = this; + if (app.Log.log("登陆:" + JSON.stringify(i)), + GameMgr.Inst.account_id = i.account_id, + GameMgr.Inst.account_data = i.account, + t.UI_ShiMingRenZheng.renzhenged = i.is_id_card_authed, + GameMgr.Inst.account_numerical_resource = {}, + i.account.platform_diamond) + for (var a = i.account.platform_diamond, r = 0; r < a.length; r++) + GameMgr.Inst.account_numerical_resource[a[r].id] = a[r].count; + if (i.account.skin_ticket && (GameMgr.Inst.account_numerical_resource[100004] = i.account.skin_ticket), + i.account.platform_skin_ticket) + for (var s = i.account.platform_skin_ticket, r = 0; r < s.length; r++) + GameMgr.Inst.account_numerical_resource[s[r].id] = s[r].count; + GameMgr.Inst.account_refresh_time = Laya.timer.currTimer, + i.game_info && (GameMgr.Inst.ingame = !0, + GameMgr.Inst.mj_server_location = i.game_info.location, + GameMgr.Inst.mj_game_token = i.game_info.connect_token, + GameMgr.Inst.mj_game_uuid = i.game_info.game_uuid), + i.access_token && (Laya.LocalStorage.setItem("_pre_sociotype", "false" == Laya.LocalStorage.getItem("autologin") ? "" : e.toString()), + Laya.LocalStorage.setItem("ssssoooodd", i.access_token), + GameMgr.Inst.sociotype = e, + GameMgr.Inst.access_token = i.access_token); + var o = Laya.Handler.create(this, function() { + Laya.LocalStorage.removeItem("__ad_s"), + t.UI_Loading.Inst.show("load_lobby"), + n.enable = !1, + n.scene.close(), + t.UI_Entrance_Mail_Regist.Inst.close(), + n.login_loading.close(), + t.UIMgr.Inst.openLobbyUI(Laya.Handler.create(n, function() { + GameMgr.Inst.afterLogin(), + n.route_info.onClose(), + GameMgr.Inst.account_data.anti_addiction && t.UIMgr.Inst.ShowPreventAddiction(), + n.destroy(), + n.disposeRes(), + t.UI_Add2Desktop.Inst && (t.UI_Add2Desktop.Inst.destroy(), + t.UI_Add2Desktop.Inst = null) + }), Laya.Handler.create(n, function(e) { + return t.UI_Loading.Inst.setProgressVal(.2 * e) + }, null, !1)) + }); + "chs" != GameMgr.client_type || i.account.phone_verify ? o.run() : (t.UI_Entrance_Mail_Regist.Inst.close(), + this.login_loading.close(), + this.container_login.visible = !1, + t.UI_Bind_Phone1.Inst.show(!0, Laya.Handler.create(this, function() { + app.NetAgent.sendReq2Lobby("Lobby", "fetchPhoneLoginBind", {}, function(e, i) { + e || i.error ? n.showError(e, i.error) : 0 == i.phone_login ? t.UI_Create_Phone_Account.Inst.show(o) : t.UI_Canot_Create_Phone_Account.Inst.show(o) + }) + }))) + } + , + s.prototype.showMailLogin = function() { + this.page_maillogin.show() + } + , + s.prototype.showInfo = function(e) { + var i = ""; + e && (i += e), + t.UI_Entrance_Error.Inst.show(i, !1) + } + , + s.prototype.showError = function(e, i, n) { + void 0 === i && (i = -1), + void 0 === n && (n = ""); + var a = ""; + e && (a += e), + -1 != i && (a.length > 0 && (a += ","), + cfg.info.error.get(i) ? a += cfg.info.error.get(i)[GameMgr.client_language] : a += game.Tools.strOfLocalization(2063) + "(" + i + ")"), + n && (a += ", info:" + n), + t.UI_Entrance_Error.Inst.show(a, !1) + } + , + s.prototype.updateServer = function() { + this.route_info.update() + } + , + s.prototype.multiLogin = function() { + var t = Laya.LocalStorage.getItem("dolllt"); + return !(!t || "" == t) && game.Tools.currentTime < parseFloat(t) + 1.5 + } + , + s.prototype.disposeRes = function() { + Laya.Loader.clearTextureRes("res/atlas/myres/entrance.atlas"); + var t = ""; + t = "chs" != GameMgr.client_language ? "scene/Assets/Resource/entrance/icon_color_" + GameMgr.client_language + ".png" : "scene/Assets/Resource/entrance/icon_color.png", + Laya.loader.getRes(t).dispose(!0) + } + , + s.Inst = null, + s + }(t.UIBase); + t.UI_Entrance = r +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.errorinfoUI) || this; + return t.locking = !1, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + this.root = this.me.getChildByName("root"), + this.info = this.root.getChildByName("text"), + this.blackbg = this.me.getChildByName("blackbg"), + this.btn_cancel = this.root.getChildByName("btn_cancel"), + this.btn_restart = this.root.getChildByName("btn_restart"), + this.btn_cancel.clickHandler = Laya.Handler.create(this, this.close, null, !1), + this.btn_restart.clickHandler = Laya.Handler.create(this, function() { + Laya.Browser.window.conch ? Laya.Browser.window.conch && Laya.Browser.window.conch.exit && Laya.Browser.window.conch.exit() : Laya.Browser.window.location.href = GameMgr.Inst.link_url + }, null, !1), + this.btn_restart.visible = !1, + this.btn_cancel.visible = !1, + this.blackbg.visible = !1 + } + , + i.prototype.showStr = function(t) { + this.btn_cancel.visible = !0, + this.info.text = t, + this._show() + } + , + i.prototype.showNetReqError = function(t, e, i) { + this.btn_cancel.visible = !0; + var n = ""; + if (e && "" != e) { + var a = ""; + if (a = e.message ? e.message : e, + "错误:" + a, + "TIMEOUT" == a && (a = game.Tools.strOfLocalization(11)), + n += a, + !GameMgr.inRelease) + switch (n += "\n", + game.LobbyNetMgr.Inst.connect_state) { + case game.EConnectState.none: + n += "服务器未连接"; + break; + case game.EConnectState.tryconnect: + n += "服务器正在尝试连接"; + break; + case game.EConnectState.reconnecting: + n += "服务器正在重连"; + break; + case game.EConnectState.connecting: + n += "服务器连接正常"; + break; + case game.EConnectState.disconnect: + n += "服务器断开连接" + } + } else if (i && i.error && i.error.code) { + !1; + var r = i.error.code + , s = cfg.info.error.get(r); + s ? (n += s[GameMgr.client_language], + s.chs) : (n += game.Tools.strOfLocalization(2068) + r, + "一个未收录的异常:" + r) + } + this.info.text = n, + this._show() + } + , + i.prototype.showFE = function() { + this.enable = !0, + this.info.text = game.Tools.strOfLocalization(14), + this.blackbg.visible = !0, + this.btn_restart.visible = !0 + } + , + i.prototype._show = function() { + var e = this; + this.me.visible = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking || (this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1, + e.me.destroy(!0) + }))) + } + , + i + }(t.UIBase); + t.UI_ErrorInfo = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e; + !function(t) { + t[t.none = 0] = "none", + t[t.build = 1] = "build", + t[t.showing = 2] = "showing" + }(e || (e = {})); + var i = function(i) { + function n() { + var t = i.call(this, new ui.mj.fightbeginUI) || this; + return t.cells = [], + t.effect_winlose = null, + t + } + return __extends(n, i), + n.show = function(i) { + var a = this; + app.Log.log("UI_FightBegin show"), + null != this._Inst && this._Inst.destroy(), + this._state = e.build; + var r = new n; + this._Inst = r, + t.UIMgr.Inst.AddMJUI(r), + Laya.timer.frameOnce(5, this, function() { + i && i.run(), + a._state == e.build ? (a._state = e.showing, + r._onShow()) : a._state == e.none && r && (r.destroy(), + a._Inst = null) + }) + } + , + n.hide = function() { + var t = this; + if (app.Log.log("UI_FightBegin hide"), + this._state == e.showing) { + var i = this._Inst._onHide(); + return Laya.timer.once(i, this, function() { + t._Inst.destroy(), + t._Inst = null + }), + this._state = e.none, + i + } + return this._state = e.none, + 0 + } + , + n.prototype.onCreate = function() { + app.Log.log("UI_FightBegin onCreate"); + for (var e = 0; e < 4; e++) { + var i = this.me.getChildByName("container_" + e.toString()); + this.cells.push({ + container: i, + body: i.getChildByName("illust").getChildByName("body").getChildByName("body"), + rect: t.UIRect.CreateFromSprite(i.getChildByName("illust").getChildByName("body").getChildByName("body")), + name: i.getChildByName("container_name").getChildByName("name"), + x: i.x, + y: i.y, + rank: new t.UI_Level(i.getChildByName("container_name").getChildByName("rank")), + title: new t.UI_PlayerTitle(i.getChildByName("container_name").getChildByName("title")) + }) + } + } + , + n.prototype._onShow = function() { + var t = this; + this.enable = !0, + app.Log.log("UI_FightBegin _onShow"), + this.me.alpha = 1; + for (var e = function(t) { + var e = i.cells[t] + , n = view.DesktopMgr.Inst.localPosition2Seat(t); + if (-1 == n) + e.container.getChildByName("illust").visible = !1, + e.container.getChildByName("container_name").visible = !1; + else { + e.container.getChildByName("illust").visible = !0, + e.container.getChildByName("container_name").visible = !0; + var a = view.DesktopMgr.Inst.player_datas[n]; + game.Tools.SetNickname(e.name, a), + game.Tools.charaPart(a.avatar_id, e.body, "half", e.rect, !0), + e.rank.id = a[view.DesktopMgr.Inst.game_config.mode.mode < 10 ? "level" : "level3"].id, + e.title.id = game.Tools.titleLocalization(a.account_id, a.title) + } + var r = 0 + , s = 0; + switch (t) { + case 0: + r = 1491, + s = 860; + break; + case 1: + r = 2056, + s = 726; + break; + case 2: + r = -757, + s = -875; + break; + case 3: + r = -1298, + s = 612 + } + e.container.visible = !0, + e.container.x = r, + e.container.y = s, + Laya.timer.once(500, i, function() { + Laya.Tween.to(e.container, { + x: e.x, + y: e.y + }, 400, Laya.Ease.strongIn) + }) + }, i = this, n = 0; n < 4; n++) + e(n); + Laya.timer.once(700, this, function() { + view.AudioMgr.PlayAudio(225) + }), + Laya.timer.once(1200, this, function() { + var e = ""; + e = "chs" != GameMgr.client_language ? "scene/effect_winlose_" + GameMgr.client_language + ".lh" : "scene/effect_winlose.lh", + t.effect_winlose = game.FrontEffect.Inst.create_ui_effect(t.me.getChildByName("container_effect"), e, new Laya.Point(0,0), 1) + }), + Laya.timer.once(2200, this, function() { + view.AudioMgr.PlayCharactorSound(view.DesktopMgr.Inst.main_role_character_info, "game_start") + }) + } + , + n.prototype._onHide = function() { + var t = this; + Laya.timer.clearAll(this); + var e = "UI_FightBegin _onHide "; + if (this.cells) { + e += "count=" + this.cells.length; + for (a = 0; a < this.cells.length; a++) + this.cells[a] ? e += "T" : e += "N" + } else + e += "nocells"; + app.Log.log(e); + for (var i = function(t) { + var e = n.cells[t]; + if (!e) + return "continue"; + var i = view.DesktopMgr.Inst.localPosition2Seat(t); + if (-1 == i) + e.container.getChildByName("illust").visible = !1, + e.container.getChildByName("container_name").visible = !1; + else { + e.container.getChildByName("illust").visible = !0, + e.container.getChildByName("container_name").visible = !0; + var a = view.DesktopMgr.Inst.player_datas[i]; + game.Tools.SetNickname(e.name, a) + } + var r = 0 + , s = 0; + switch (t) { + case 0: + r = 1491, + s = 860; + break; + case 1: + r = 2056, + s = 726; + break; + case 2: + r = -757, + s = -875; + break; + case 3: + r = -1298, + s = 612 + } + Laya.Tween.to(e.container, { + x: r, + y: s + }, 400, Laya.Ease.strongIn), + Laya.timer.once(500, n, function() { + Laya.loader.clearTextureRes(e.body.skin), + e.container.visible = !1 + }) + }, n = this, a = 0; a < 4 && a < this.cells.length; a++) + i(a); + return this.effect_winlose && this.effect_winlose.destory(), + Laya.timer.once(100, this, function() { + Laya.Tween.to(t.me, { + alpha: 0 + }, 300) + }), + Laya.timer.once(400, this, function() { + t.enable = !1 + }), + 500 + } + , + n._Inst = null, + n._state = e.none, + n + }(t.UIBase); + t.UI_FightBegin = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var i = t.call(this, new ui.both_ui.fly_tipsUI) || this; + return i.templete = null, + i.clone = null, + i.last_tips = null, + e.Inst = i, + i + } + return __extends(e, t), + e.ShowTips = function(t) { + this.Inst && this.Inst._fly_tips(t) + } + , + e.prototype.onCreate = function() { + this.templete = this.me.getChildByName("templete"), + this.templete.visible = !1, + this.clone = this.templete.scriptMap["capsui.UICopy"] + } + , + e.prototype._fly_tips = function(t) { + var e = this; + this.enable = !0; + var i = this.clone.getNodeClone(); + i.text = t; + var n = 540; + this.last_tips && (n = Math.max(n, this.last_tips.y + 50)), + i.y = n, + i.visible = !0, + this.last_tips = i, + Laya.Tween.to(i, { + y: n - 150, + alpha: 0 + }, 1500, Laya.Ease.linearNone, Laya.Handler.create(this, function() { + e.last_tips === i && (e.last_tips.destroy(!0), + e.last_tips = null, + e.enable = !1) + })) + } + , + e + }(t.UIBase); + t.UI_FlyTips = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.force_updateUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.Pending = function() { + var e = this; + this.Inst.enable || (Laya.timer.currTimer > this.last_pending_time + 6e4 && !this.need_jump && (this.last_pending_time = Laya.timer.currTimer, + game.LoadMgr.httpload("version.json", "json", !0, Laya.Handler.create(this, function(t) { + if (t.success) { + var i = t.data; + if (i.force_version) { + var n = i.force_version.split(".") + , a = 1e3 * (1e3 * parseInt(n[0]) + parseInt(n[1])) + parseInt(n[2]) + , r = game.ResourceVersion.version.split("."); + a > 1e3 * (1e3 * parseInt(r[0]) + parseInt(r[1])) + parseInt(r[2]) && (e.need_jump = !0) + } + } + }))), + Laya.timer.once(500, this, function() { + e.Inst.enable || !t.UI_Lobby.Inst.enable || t.UI_PiPeiYuYue.Inst.enable || t.UI_PiPeiChengGong.Inst.enable || t.UI_Loading.Inst.enable || e.need_jump && e.Inst.show() + })) + } + , + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + t.locking || (Laya.Browser.window.conch ? Laya.Browser.window.conch && Laya.Browser.window.conch.exit && Laya.Browser.window.conch.exit() : Laya.Browser.window.location.href = GameMgr.Inst.link_url) + } + ) + } + , + i.prototype.show = function() { + var e = this; + this.enable = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.enable = !1, + e.locking = !1 + })) + } + , + i.last_pending_time = 0, + i.need_jump = !1, + i + }(t.UIBase); + t.UI_Force_Update = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var i = t.call(this, new ui.lobby.freeze_uiUI) || this; + return e.Inst = i, + i + } + return __extends(e, t), + e.prototype.Show = function() { + this.enable = !0 + } + , + e.prototype.Close = function() { + this.enable = !1 + } + , + e.Inst = null, + e + }(t.UIBase); + t.UI_Freeze = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t) { + var e = this; + this.cells = [], + this.fun_change = null, + this.noinfo = null, + this.sortlist = [], + this.count_limit = null, + this.me = t; + var i = this.me.getChildByName("scrollview"); + this.nolimitlist = i.scriptMap["capsui.NoLimitList"], + this.nolimitlist.init_nolimitlist(Laya.Handler.create(this, this._loadInfo, null, !1), Laya.Handler.create(this, function(t) { + e.setItem(t.index, t.container) + }, null, !1)), + this.nolimitlist.reset(), + this.fun_change = Laya.Handler.create(this, this.onListenerMsg, null, !1), + this.noinfo = this.me.getChildByName("noinfo"), + this.cells = [], + this.count_limit = this.me.getChildByName("count_limit"), + this.count_limit.text = "--/--" + } + return e.prototype.show = function() { + this.me.visible = !0, + game.FriendMgr.addListener(this.fun_change), + this.refresh() + } + , + e.prototype.close = function() { + game.FriendMgr.removeListener(this.fun_change), + this.me.visible = !1 + } + , + e.prototype.findcell = function(t) { + for (var e = 0; e < this.cells.length; e++) + if (this.cells[e].container === t) + return this.cells[e]; + return null + } + , + e.prototype.setItem = function(e, i) { + var n = this; + if (this.me.visible) { + var r = this.findcell(i); + null == r && (r = { + container: i, + head: new t.UI_Head(i.getChildByName("head")), + level: new t.UI_Level(i.getChildByName("rank")), + level3: new t.UI_Level(i.getChildByName("rank3")), + title: new t.UI_PlayerTitle(i.getChildByName("title")), + btn_check: i.getChildByName("check"), + btn_delete: i.getChildByName("delete"), + btn_ob: i.getChildByName("ob"), + name: i.getChildByName("name"), + state: i.getChildByName("state"), + account_id: 0 + }, + this.cells.push(r)); + var s = game.FriendMgr.friend_list[this.sortlist[e]]; + r.head.id = s.base.avatar_id, + r.head.head_frame = s.base.avatar_frame; + var o = s.base.level || { + id: 10101, + score: 0 + }; + r.level.id = o.id; + var l = s.base.level3 || { + id: 20101, + score: 0 + }; + r.level3.id = l.id, + r.title.id = s.base.title, + game.Tools.SetNickname(r.name, s.base); + var h = r.state + , c = ""; + if (s.state.is_online) { + var _ = game.Tools.playState2Desc(s.state.playing); + "" != _ ? (h.text = game.Tools.strOfLocalization(2069, [_]), + h.color = "#a9d94d", + c = s.state.playing.game_uuid) : (h.text = game.Tools.strOfLocalization(2071), + h.color = "#58c4db") + } else + h.text = game.Tools.time2Desc(s.state.logout_time) + game.Tools.strOfLocalization(2072), + h.color = "#8c8c8c"; + var u = s.base.account_id; + r.account_id = s.base.account_id, + r.btn_check.clickHandler = Laya.Handler.create(this, function() { + t.UI_OtherPlayerInfo.Inst.show(u) + }, null, !1), + game.Tools.setGrayDisable(r.btn_delete, !1), + r.btn_delete.clickHandler = Laya.Handler.create(this, function() { + game.Tools.setGrayDisable(r.btn_delete, !0), + t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(2073, [s.base.nickname]), Laya.Handler.create(n, function() { + app.NetAgent.sendReq2Lobby("Lobby", "removeFriend", { + target_id: u + }, function(e, i) { + game.Tools.setGrayDisable(r.btn_delete, !1), + e || i.error ? t.UIMgr.Inst.showNetReqError("removeFriend", e, i) : game.FriendMgr.removeFriend(u) + }) + }), Laya.Handler.create(n, function() { + game.Tools.setGrayDisable(r.btn_delete, !1) + }, null, !1), 1111, 560) + }, null, !1); + var d = r.btn_ob; + if ("" != c) { + var f = 0; + d.clickHandler = Laya.Handler.create(this, function() { + t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : Laya.timer.currTimer < f || (f = Laya.timer.currTimer + 1e3, + t.UI_Live_Broadcast.fetchInfo(c, Laya.Handler.create(n, function(e) { + f = 0, + e.success && a.Inst.close(Laya.Handler.create(n, function() { + t.UI_Live_Broadcast.goToWatch(c, e.data, u) + })) + }, null, !1))) + }, null, !1), + game.Tools.setGrayDisable(d, !1) + } else + game.Tools.setGrayDisable(d, !0) + } + } + , + e.prototype.onListenerMsg = function(t) { + var e = this.nolimitlist.rate; + this.refresh(), + this.nolimitlist.rate = e + } + , + e.prototype._loadInfo = function(t) { + this.nolimitlist.loadOver(!0, game.FriendMgr.friend_list.length - this.nolimitlist.value_count) + } + , + e.prototype.refresh = function() { + this.sortlist = []; + for (var t = game.FriendMgr.friend_list, e = 0; e < t.length; e++) + this.sortlist.push(e); + this.sortlist = this.sortlist.sort(function(e, i) { + var n = t[e] + , a = 0; + if (n.state.is_online) { + a += "" != (o = game.Tools.playState2Desc(n.state.playing)) ? 6e10 : 3e10, + a += -n.state.login_time + } else + a += n.state.logout_time; + var r = t[i] + , s = 0; + if (r.state.is_online) { + var o = game.Tools.playState2Desc(r.state.playing); + s += "" != o ? 6e10 : 3e10, + s += -r.state.login_time + } else + s += r.state.logout_time; + return s - a + }), + this.nolimitlist.reset(), + this.nolimitlist.total_count = game.FriendMgr.friend_list.length, + this.noinfo.visible = 0 == this.nolimitlist.total_count, + 300 == game.FriendMgr.friend_max_count ? this.count_limit.visible = !1 : (this.count_limit.text = t.length + "/" + game.FriendMgr.friend_max_count, + this.count_limit.visible = !0) + } + , + e + }() + , i = function() { + function e(t) { + var e = this; + this.playerinfos = [], + this.load_index = 0, + this.playerinfo_loaded = [], + this.me = t; + var i = this.me.getChildByName("scrollview"); + this.nolimitlist = i.scriptMap["capsui.NoLimitList"], + this.nolimitlist.init_nolimitlist(Laya.Handler.create(this, this._loadInfo, null, !1), Laya.Handler.create(this, function(t) { + e.setItem(t.index, t.container, t.cache_data) + }, null, !1)), + this.nolimitlist.reset(), + this.noinfo = this.me.getChildByName("noinfo") + } + return e.prototype.onEnable = function() { + this.me.visible = !0, + this.refresh() + } + , + e.prototype.onDisable = function() { + this.me.visible = !1 + } + , + e.prototype.setItem = function(e, i, n) { + var a = this; + if (this.me.visible) { + n.hasOwnProperty("name") || (n.head = new t.UI_Head(i.getChildByName("head")), + n.level = new t.UI_Level(i.getChildByName("rank")), + n.level3 = new t.UI_Level(i.getChildByName("rank3")), + n.name = i.getChildByName("name"), + n.state = i.getChildByName("state"), + n.btn_check = i.getChildByName("check"), + n.btn_agree = i.getChildByName("agree"), + n.btn_reject = i.getChildByName("reject"), + n.title = new t.UI_PlayerTitle(i.getChildByName("title"))); + var r = this.playerinfo_loaded[e]; + n.head.id = r.info.avatar_id, + n.head.head_frame = r.info.avatar_frame, + n.level.id = r.info.level.id; + var s = r.info.level3 || { + id: 20101, + score: 0 + }; + n.level3.id = s.id, + game.Tools.SetNickname(n.name, r.info), + n.title.id = r.info.title; + var o = r.account_id; + n.state.text = game.Tools.time2Desc(r.apply_time), + n.btn_check.clickHandler = Laya.Handler.create(this, function() { + t.UI_OtherPlayerInfo.Inst.show(o) + }, null, !1), + game.Tools.setGrayDisable(n.btn_agree, !1), + n.btn_agree.clickHandler = Laya.Handler.create(this, function() { + game.Tools.setGrayDisable(n.btn_agree, !0), + app.NetAgent.sendReq2Lobby("Lobby", "handleFriendApply", { + target_id: o, + method: 1 + }, function(e, i) { + game.Tools.setGrayDisable(n.btn_agree, !1), + e || i.error ? t.UIMgr.Inst.showNetReqError("handleFriendApply", e, i) : a.removeItem(o) + }) + }, null, !1), + game.Tools.setGrayDisable(n.btn_reject, !1), + n.btn_reject.clickHandler = Laya.Handler.create(this, function() { + game.Tools.setGrayDisable(n.btn_reject, !0), + app.NetAgent.sendReq2Lobby("Lobby", "handleFriendApply", { + target_id: o, + method: 2 + }, function(e, i) { + game.Tools.setGrayDisable(n.btn_reject, !1), + e || i.error ? t.UIMgr.Inst.showNetReqError("handleFriendApply", e, i) : a.removeItem(o) + }) + }, null, !1) + } + } + , + e.prototype.removeItem = function(t) { + for (var e = -1, i = 0; i < this.playerinfo_loaded.length; i++) + if (this.playerinfo_loaded[i].account_id == t) { + e = i; + for (var n = i; n < this.playerinfo_loaded.length - 1; n++) + this.playerinfo_loaded[n] = this.playerinfo_loaded[n + 1]; + this.playerinfo_loaded.pop(); + break + } + game.FriendMgr.delFriendApply(t), + -1 != e && this.nolimitlist.delItem(e), + a.Inst.refreshRedpoint(), + this.noinfo.visible = 0 == this.playerinfo_loaded.length + } + , + e.prototype._loadInfo = function(e) { + for (var i = this, n = [], a = 0; a < 20 && a + this.load_index < this.playerinfos.length; a++) + n.push(this.playerinfos[this.load_index + a].account_id); + 0 == n.length ? this.nolimitlist.loadOver(!1, 0) : app.NetAgent.sendReq2Lobby("Lobby", "fetchMultiAccountBrief", { + account_id_list: n + }, function(e, a) { + if (e || a.error) + t.UIMgr.Inst.showNetReqError("fetchMultiAccountBrief", e, a), + i.nolimitlist.loadOver(!1, 0); + else { + for (var r = 0, s = 0; s < n.length; s++) + if (i.playerinfos[i.load_index + s].account_id == a.players[r].account_id) { + var o = i.playerinfos[i.load_index + s]; + if (o.info = a.players[s], + i.playerinfo_loaded.push(o), + ++r >= a.players.length) + break + } + i.nolimitlist.loadOver(!0, r), + i.load_index += n.length + } + }) + } + , + e.prototype.refresh = function() { + this.nolimitlist.reset(), + this.playerinfos = [], + this.noinfo.visible = !1; + for (var t = 0; t < game.FriendMgr.friendapply_list.length; t++) { + for (var e = game.FriendMgr.friendapply_list[t].account_id, i = game.FriendMgr.friendapply_list[t].apply_time, n = !1, a = 0; a < this.playerinfos.length; a++) + if (this.playerinfos[a].account_id == e) { + n = !0, + this.playerinfos[a].apply_time < i && (this.playerinfos[a].apply_time = i); + break + } + n || this.playerinfos.push({ + account_id: game.FriendMgr.friendapply_list[t].account_id, + apply_time: game.FriendMgr.friendapply_list[t].apply_time + }) + } + this.playerinfos = this.playerinfos.sort(function(t, e) { + return t.apply_time - e.apply_time + }), + this.playerinfo_loaded = [], + this.load_index = 0, + this.nolimitlist.total_count = this.playerinfos.length, + this.noinfo.visible = 0 == this.playerinfos.length + } + , + e + }() + , n = function() { + function e(t) { + var e = this; + this.playerinfos = [], + this.searchend = !1, + this.timecd = {}, + this.searchnext = !1, + this.me = t; + var i = this.me.getChildByName("scrollview"); + this.nolimitlist = i.scriptMap["capsui.NoLimitList"], + this.nolimitlist.init_nolimitlist(Laya.Handler.create(this, this._loadInfo, null, !1), Laya.Handler.create(this, function(t) { + e.setItem(t.index, t.container, t.cache_data) + }, null, !1)), + this.nolimitlist.reset(), + this.input = this.me.getChildByName("input").getChildAt(0), + this.btn_search = this.me.getChildByName("search"), + this.btn_search.clickHandler = Laya.Handler.create(this, function() { + "" != e.input.text && (e.playerinfos = [], + e.nolimitlist.reset(), + e.searchnext = !1, + e.searchend = !1, + e.nolimitlist.total_count = 1, + game.Tools.setGrayDisable(e.btn_search, !0), + Laya.timer.once(3e3, e, function() { + game.Tools.setGrayDisable(e.btn_search, !1) + })) + }, null, !1), + this.input.prompt = game.Tools.strOfLocalization(3108) + } + return e.prototype.onEnable = function() { + this.me.visible = !0, + this.nolimitlist.reset(), + this.playerinfos = [], + this.input.text = "", + this.searchend = !0, + this.timecd = {}, + game.Tools.setGrayDisable(this.btn_search, !1) + } + , + e.prototype.onDisable = function() { + this.me.visible = !1 + } + , + e.prototype.setItem = function(e, i, n) { + var a = this; + if (this.me.visible) + for (var r = function(r) { + var o = "p" + r; + if (!n.hasOwnProperty(o)) { + var l = { + container: i.getChildByName(o), + head: new t.UI_Head(i.getChildByName(o).getChildByName("head")), + add_1: i.getChildByName(o).getChildByName("add_1"), + btn_add: i.getChildByName(o).getChildByName("add"), + name: i.getChildByName(o).getChildByName("name"), + title: new t.UI_PlayerTitle(i.getChildByName(o).getChildByName("title")) + }; + n[o] = l + } + var h = n[o] + , c = 2 * e + r; + if (c >= s.playerinfos.length) + h.container.visible = !1; + else { + h.container.visible = !0; + var _ = s.playerinfos[c]; + h.head.id = _.info.avatar_id, + h.head.head_frame = _.info.avatar_frame, + game.Tools.SetNickname(h.name, _.info), + h.title.id = _.info.title; + var u = _.account_id; + if (game.FriendMgr.find(u)) + h.add_1.visible = !0, + h.add_1.text = game.Tools.strOfLocalization(2075), + h.btn_add.visible = !1; + else if (_.info.added) + h.add_1.visible = !0, + h.add_1.text = game.Tools.strOfLocalization(2076), + h.btn_add.visible = !1; + else { + h.add_1.visible = !1, + h.btn_add.visible = !0; + var d = 0; + s.timecd.hasOwnProperty(u.toString()) && (d = s.timecd[u.toString()] + 1e4 - Laya.timer.currTimer) < 0 && (d = 0); + var f = h.btn_add; + Laya.timer.clearAll(f), + d > 0 && (game.Tools.setGrayDisable(f, !0), + Laya.timer.once(d, f, function() { + game.Tools.setGrayDisable(f, !1) + })), + game.Tools.setGrayDisable(f, !1), + f.clickHandler = Laya.Handler.create(s, function() { + a.timecd[u.toString()] = Laya.timer.currTimer, + app.NetAgent.sendReq2Lobby("Lobby", "applyFriend", { + target_id: u + }, function(e, i) { + (e || i.error) && t.UIMgr.Inst.showNetReqError("applyFriend", e, i) + }), + h.add_1.visible = !0, + h.add_1.text = game.Tools.strOfLocalization(2076), + h.btn_add.visible = !1, + _.info.added = !0 + }, null, !1) + } + } + }, s = this, o = 0; o < 2; o++) + r(o) + } + , + e.prototype._loadInfo = function(e) { + var i = this; + e >= 50 ? this.nolimitlist.loadOver(!1, 0) : this.input.text.length <= 1 ? this.nolimitlist.loadOver(!1, 0) : app.NetAgent.sendReq2Lobby("Lobby", "searchAccountByPattern", { + search_next: this.searchnext, + pattern: this.input.text + }, function(e, n) { + if (e || n.error) + return t.UIMgr.Inst.showNetReqError("searchAccountByPattern", e, n), + void i.nolimitlist.loadOver(!1, 0); + var a = i.playerinfos.length; + if (i.searchend = n.is_finished, + i.searchend ? i.nolimitlist.total_count = Math.ceil(i.playerinfos.length / 2) : (i.nolimitlist.total_count = Math.ceil(i.playerinfos.length / 2) + 1, + i.searchnext = !0), + n.match_accounts && 0 != n.match_accounts.length || n.decode_id) { + var r = []; + if (0 == i.nolimitlist.value_count && n.decode_id && n.decode_id != GameMgr.Inst.account_id && r.push(n.decode_id), + n.match_accounts) + for (var s = 0; s < n.match_accounts.length; s++) + r.push(n.match_accounts[s]); + 0 == r.length ? i.nolimitlist.loadOver(!1, 0) : app.NetAgent.sendReq2Lobby("Lobby", "fetchMultiAccountBrief", { + account_id_list: r + }, function(e, n) { + if (e || n.error) + t.UIMgr.Inst.showNetReqError("fetchMultiAccountBrief", e, n), + i.nolimitlist.loadOver(!1, 0); + else { + if (!n.players || 0 == n.players.length) + return void i.nolimitlist.loadOver(!1, 0); + for (var s = -1, o = 0; o < n.players.length; o++) { + if (r[o] != n.players[o].account_id) { + s = a + o; + break + } + i.playerinfos.push({ + account_id: r[o], + info: n.players[o] + }) + } + -1 != s ? (t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2074, [(s + 1).toString()])), + i.nolimitlist.loadOver(!1, 0)) : i.nolimitlist.loadOver(!0, Math.ceil(i.playerinfos.length / 2) - i.nolimitlist.value_count) + } + }) + } else + i.nolimitlist.loadOver(!0, 0) + }) + } + , + e + }() + , a = function(a) { + function r() { + var t = a.call(this, new ui.lobby.friendUI) || this; + return t.page_friend = null, + t.page_apply = null, + t.page_search = null, + t.root = null, + t.top = null, + t.tabs = [], + t.redpoint = null, + t.label_id = null, + t.currentpage = -1, + t.locking = !1, + r.Inst = t, + t + } + return __extends(r, a), + r.prototype.onCreate = function() { + var a = this; + this.top = this.me.getChildByName("top"), + this.root = this.me.getChildByName("root"), + this.page_friend = new e(this.root.getChildByName("page_friend")), + this.page_apply = new i(this.root.getChildByName("page_apply")), + this.page_search = new n(this.root.getChildByName("page_find")); + for (var r = 0; r < this.root.getChildByName("tabs").numChildren; r++) { + var s = this.root.getChildByName("tabs").getChildAt(r); + s.clickHandler = Laya.Handler.create(this, this.showpage, [r], !1), + this.tabs.push(s) + } + this.redpoint = this.root.getChildByName("tabs").getChildByName("btn_applylist").getChildByName("redpoint"), + this.redpoint.visible = !1, + this.page_friend.me.visible = !1, + this.page_apply.me.visible = !1, + this.page_search.me.visible = !1, + this.top.getChildByName("btn_back").clickHandler = Laya.Handler.create(this, function() { + a.locking || a.close(Laya.Handler.create(a, function() { + t.UIMgr.Inst.showLobby() + })) + }, null, !1), + this.label_id = this.root.getChildByName("id").getChildByName("id") + } + , + r.prototype.show = function() { + var e = this; + game.Scene_Lobby.Inst.change_bg("indoor", !1), + this.currentpage = -1, + this.locking = !0, + this.enable = !0, + t.UIBase.anim_alpha_in(this.top, { + y: -30 + }, 200), + t.UIBase.anim_alpha_in(this.root, { + y: 30 + }, 200), + Laya.timer.once(200, this, function() { + e.locking = !1, + e.showpage(0) + }), + this.refreshRedpoint(), + this.label_id.text = game.Tools.encode_account_id2(GameMgr.Inst.account_id).toString() + } + , + r.prototype.refreshRedpoint = function() { + this.redpoint.visible = game.FriendMgr.friendapply_list && game.FriendMgr.friendapply_list.length > 0 + } + , + r.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_alpha_out(this.top, { + y: -30 + }, 200), + t.UIBase.anim_alpha_out(this.root, { + y: 30 + }, 200), + Laya.timer.once(200, this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + }) + } + , + r.prototype.onDisable = function() { + this.currentpage && (this.tabs[this.currentpage].skin = game.Tools.localUISrc("myres/shop/tab_unchoose.png"), + this.currentpage = -1), + this.page_friend.close(), + this.page_apply.onDisable(), + this.page_search.onDisable() + } + , + r.prototype.showpage = function(t) { + if (this.currentpage != t) { + if (-1 != this.currentpage) + switch (this.tabs[this.currentpage].skin = game.Tools.localUISrc("myres/shop/tab_unchoose.png"), + this.currentpage) { + case 0: + this.page_friend.close(); + break; + case 1: + this.page_apply.onDisable(); + break; + case 2: + this.page_search.onDisable() + } + switch (this.currentpage = t, + this.tabs[this.currentpage].skin = game.Tools.localUISrc("myres/shop/tab_choose.png"), + this.currentpage) { + case 0: + this.page_friend.show(); + break; + case 1: + this.page_apply.onEnable(); + break; + case 2: + this.page_search.onEnable() + } + } + } + , + r + }(t.UIBase); + t.UI_Friend = a +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e, i) { + this.me = t, + this.anim_in = e, + this.anim_out = i, + this.img_title = this.me.getChildByName("img_title") + } + return t.prototype.show = function(t) { + this.img_title.skin = game.LoadMgr.getResImageSkin(cfg.achievement.achievement.find(t).icon), + this.anim_in && this.anim_in.play(0, !1) + } + , + t.prototype.hide = function() { + this.anim_out.play(0, !1) + } + , + t + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.mj.gameendUI) || this; + return t.btn_next = null, + t.btn_back = null, + t.btn_close = null, + t.players = [], + t.root = null, + t.illust = null, + t.origin_illust_rect = null, + t.step = 0, + t.second_step = 0, + t.locking = !1, + t.page_gettitle = null, + t.newachievements = [], + t.duringshowing = !1, + n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.root = this.me.getChildByName("root"), + this.illust = this.root.getChildByName("illust"), + this.origin_illust_rect = t.UIRect.CreateFromSprite(this.illust), + this.btn_next = this.root.getChildByName("btn_next"), + this.btn_next.clickHandler = Laya.Handler.create(this, function() { + i.onConfirm() + }, null, !1), + this.btn_close = this.root.getChildByName("btn_close"), + this.btn_close.clickHandler = new Laya.Handler(this,function() { + i.enable = !1, + Laya.loader.clearTextureRes(i.illust.skin), + game.Scene_MJ.Inst.GameEnd() + } + ), + this.btn_back = this.root.getChildByName("btn_back"), + this.btn_back.clickHandler = new Laya.Handler(this,function() { + i.enable = !1, + Laya.loader.clearTextureRes(i.illust.skin), + t.UI_Replay.Inst.onBack() + } + ); + for (var n = 0; n < 4; n++) { + var a = this.me.getChildByName("root").getChildByName("p" + n.toString()); + this.players.push({ + root: a, + name: a.getChildByName("name"), + label_score: a.getChildByName("val"), + container_score: a.getChildByName("container_score"), + label_g0: a.getChildByName("img_g0").getChildByName("val"), + label_g1: a.getChildByName("img_g1").getChildByName("val"), + x: a.x, + img_mySelf: a.getChildByName("myself"), + head: new t.UI_Head(a.getChildByName("head")) + }) + } + this.page_gettitle = new e(this.root.getChildByName("gettitle"),this.me.title_in,this.me.title_out) + } + , + n.prototype.show = function() { + var e = this + , i = view.DesktopMgr.Inst.gameEndResult; + if (null == i) + return t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2077)), + void game.Scene_MJ.Inst.GameEnd(); + this.duringshowing = !0, + this.page_gettitle.me.visible = !1, + this.root.alpha = 0, + Laya.Tween.to(this.root, { + alpha: 1 + }, 1e3); + for (o = 0; o < this.players.length; o++) + this.players[o].root.visible = !1; + var n = []; + n = i.players; + var a = view.DesktopMgr.Inst.player_datas[n[0].seat]; + game.Tools.charaPart(a.avatar_id, this.illust, "full", this.origin_illust_rect), + view.DesktopMgr.Inst.mode == view.EMJMode.play && a.character && Laya.timer.once(1800 + 800 * n.length - 500, this, function() { + view.AudioMgr.PlayCharactorSound(a.character, "game_top") + }); + for (var r = function(e) { + var i = n[e] + , a = s.players[e]; + i.gold >= 0 ? (a.label_g0.text = "+" + i.gold, + a.label_g0.color = "#4ea583") : (a.label_g0.text = i.gold.toString(), + a.label_g0.color = "#ff3451"), + i.grading_score >= 0 ? (a.label_g1.text = "+" + i.grading_score, + a.label_g1.color = "#4ea583") : (a.label_g1.text = i.grading_score, + a.label_g1.color = "#ff3451"), + a.label_g1.text = (i.grading_score >= 0 ? "+" : "") + i.grading_score; + var r = view.DesktopMgr.Inst.getPlayerName(i.seat); + game.Tools.SetNickname(a.name, r), + a.head.id = view.DesktopMgr.Inst.player_datas[i.seat].avatar_id, + a.head.head_frame = view.DesktopMgr.Inst.player_datas[i.seat].avatar_frame; + var o = i.total_point / 1e3; + o > 0 ? (a.label_score.text = "+" + o.toString(), + a.label_score.color = "#45c36a") : (a.label_score.text = o.toString(), + a.label_score.color = "#f94538"); + for (var l = i.part_point_1.toString(), h = 0; h < a.container_score.numChildren; h++) + a.container_score.getChildAt(h).visible = !1; + for (var c = 0; c < l.length && c < a.container_score.numChildren; c++) { + var _ = a.container_score.getChildByName((a.container_score.numChildren - 1 - c).toString()) + , u = l.charAt(c); + _.skin = "-" == u ? game.Tools.localUISrc("myres/mjdesktop/ww_minus.png") : game.Tools.localUISrc("myres/mjdesktop/ww_" + u + ".png"), + _.visible = !0 + } + a.root.visible = !1, + a.img_mySelf.visible = i.seat == view.DesktopMgr.Inst.seat, + i.seat == view.DesktopMgr.Inst.seat && (view.DesktopMgr.Inst.ptchange = i.grading_score), + Laya.timer.once(1800 + 800 * e, s, function() { + a.root.visible = !0, + t.UIBase.anim_alpha_in(a.root, { + x: -200 + }, 200, 0, null, Laya.Ease.strongIn), + 0 == e ? view.AudioMgr.PlayAudio(218) : view.AudioMgr.PlayAudio(219) + }) + }, s = this, o = 0; o < n.length; o++) + r(o); + this.locking = !0, + this.btn_next.visible = !1, + this.btn_close.visible = !1, + this.btn_back.visible = !1, + Laya.timer.once(1800 + 800 * n.length, this, function() { + e.locking = !1, + view.DesktopMgr.Inst.mode == view.EMJMode.paipu ? (e.btn_close.visible = !0, + e.btn_back.visible = !0) : e.btn_next.visible = !0 + }), + this.enable = !0, + view.DesktopMgr.Inst.mode == view.EMJMode.play && (Laya.timer.once(3500, this, function() { + GameMgr.Inst.updateAccountInfo() + }), + 4 == view.DesktopMgr.Inst.game_config.category && Laya.timer.once(1100, this, function() { + GameMgr.Inst.custom_match_id = view.DesktopMgr.Inst.game_config.meta.contest_uid + }), + t.UI_PaiPu.reset()), + this.step = 0 + } + , + n.prototype.onConfirm = function() { + var e = this; + if (!this.locking) + if (0 == this.step) + this.step = 30, + this.onConfirm(); + else if (30 == this.step) + if (view.DesktopMgr.Inst.levelchangeinfo) { + var i = !1 + , n = view.DesktopMgr.Inst.game_config; + if (2 == n.category) { + var a = n.meta; + if (a) { + var r = cfg.desktop.matchmode.get(a.mode_id); + r && (i = 100 == r.room || 200 == r.room || 210 == r.room || 220 == r.room) + } + } + i ? (this.step = 50, + this.onConfirm()) : (this.btn_next.visible = !1, + this.closeRankList(Laya.Handler.create(this, function() { + t.UI_RankChange.Inst.show(Laya.Handler.create(e, function() { + e.step = 31, + e.btn_next.visible = !0 + })) + }))) + } else + this.step = 50, + this.onConfirm(); + else if (31 == this.step) + t.UI_RankChange.Inst.close(), + this.step = 50, + this.onConfirm(); + else if (50 == this.step) + view.DesktopMgr.Inst.rewardinfo && view.DesktopMgr.Inst.rewardinfo.match_chest ? (this.btn_next.visible = !1, + this.closeRankList(Laya.Handler.create(this, function() { + t.UI_MJReward.Inst.show(Laya.Handler.create(e, function() { + e.step = 51, + e.btn_next.visible = !0 + })) + }))) : (this.step = 60, + this.onConfirm()); + else if (51 == this.step) + t.UI_MJReward.Inst.close(), + this.step = 60, + this.onConfirm(); + else if (60 == this.step) { + var s = t.UI_MJTask_Progress.needShow(); + if (app.Log.log("pengding need show lst:" + s.length), + s.length > 0) { + var o = 0 + , l = this + , h = function() { + l.btn_next.visible = !1, + l.closeRankList(Laya.Handler.create(l, function() { + o = t.UI_MJTask_Progress.Inst.show(s, o, Laya.Handler.create(l, function() { + l.btn_next.visible = !0, + o < s.length ? l.btn_next.clickHandler = new Laya.Handler(l,function() { + h() + } + ) : (l.step = 70, + l.btn_next.clickHandler = new Laya.Handler(l,function() { + l.onConfirm() + } + )) + })) + })) + }; + h() + } else + this.step = 70, + this.onConfirm() + } else if (70 == this.step) { + var c = view.DesktopMgr.Inst.activity_reward; + c && c.activity_reward && c.activity_reward.length > 0 ? (this.btn_next.visible = !1, + this.closeRankList(Laya.Handler.create(this, function() { + t.UI_MJReward_Activity.Inst.show(c, Laya.Handler.create(e, function() { + e.step = 80, + e.btn_next.visible = !0 + })) + }))) : (this.step = 80, + this.onConfirm()) + } else + 80 == this.step ? (this.step = 81, + this.onConfirm()) : 81 == this.step && (this.enable = !1, + Laya.loader.clearTextureRes(this.illust.skin), + game.Scene_MJ.Inst.GameEnd()) + } + , + n.prototype.forceclose = function() { + this.enable = !1, + Laya.timer.clearAll(this) + } + , + n.prototype.closeRankList = function(e) { + var i = this; + if (this.duringshowing) { + this.duringshowing = !1; + for (var n = 0; n < this.players.length; n++) + t.UIBase.anim_alpha_out(this.players[n].root, { + x: 100 + }, 200, 0, null, Laya.Ease.backIn); + t.UIBase.anim_alpha_out(this.illust, {}, 200, 0, Laya.Handler.create(this, function() { + Laya.loader.clearTextureRes(i.illust.skin), + game.Tools.charaPart(GameMgr.Inst.account_data.avatar_id, i.illust, "full", i.origin_illust_rect), + i.illust.getChildAt(0).visible = !1, + t.UIBase.anim_alpha_in(i.illust, {}, 200, 100) + })), + view.AudioMgr.PlayAudio(228), + Laya.timer.once(500, this, function() { + e.run() + }) + } else + e.run() + } + , + n.Inst = null, + n + }(t.UIBase); + t.UI_GameEnd = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.mj.gamestopUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + this.blackbg = this.me.getChildByName("blackbg"), + this.root = this.me.getChildByName("root"), + this.label_dots = this.root.getChildByName("dots") + } + , + i.prototype.show = function() { + var e = this; + if (!this.enable) { + this.enable = !0, + view.DesktopMgr.Inst.mode == view.EMJMode.play ? (this.blackbg.visible = !0, + this.blackbg.alpha = 0, + Laya.Tween.to(this.blackbg, { + alpha: .3 + }, 200)) : this.blackbg.visible = !1, + this.root.scaleX = this.root.scaleY = 1, + t.UIBase.anim_pop_out(this.root, null), + Laya.timer.clearAll(this); + var i = 0; + Laya.timer.loop(1e3, this, function() { + for (var t = "", n = 0; n < i; n++) + t += "."; + i = (i + 1) % 4, + e.label_dots.text = t + }) + } + } + , + i.prototype.close = function() { + this.enable = !1, + Laya.timer.clearAll(this) + } + , + i + }(t.UIBase); + t.UI_GameStop = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.getrewardUI) || this; + return t.items = [], + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"); + var i = this.root.getChildByName("items"); + this.container_items = i; + for (var n = 0; n < i.numChildren; n++) { + var a = i.getChildAt(n); + this.items.push({ + container: a, + icon: new t.UI_Item_Skin(a.getChildByName("icon")), + count: a.getChildByName("count"), + name: a.getChildByName("name") + }) + } + this.btn_close = this.me.getChildByName("btn_close"), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1) + } + , + i.prototype.show = function(t, e) { + var i = this; + this.enable = !0, + this.complete = e; + for (var n = function(e) { + if (e < t.length) { + a.items[e].container.visible = !0; + var n = game.GameUtility.get_item_view(t[e].id); + a.items[e].icon.setSkin(n.icon), + a.items[e].name.text = n.name, + a.items[e].count.text = t[e].count.toString(), + a.items[e].container.x = a.container_items.width / 2 - 210 * (t.length - 1) / 2 + 210 * e, + a.items[e].container.y = 72, + a.items[e].container.scaleX = 0, + a.items[e].container.scaleY = 0, + a.items[e].container.alpha = 0, + a.items[e].name.alpha = 0, + a.items[e].count.alpha = 0, + Laya.Tween.to(a.items[e].container, { + scaleX: 1, + scaleY: 1, + alpha: 1 + }, 200, Laya.Ease.backOut, Laya.Handler.create(a, function() { + i.items[e].name.alpha = 1, + i.items[e].count.alpha = 1 + }), 150 * e + 400) + } else + a.items[e].container.visible = !1 + }, a = this, r = 0; r < this.items.length; r++) + n(r); + this.btn_close.visible = !1, + this.root.alpha = 1, + this.root.scaleY = 1, + this.locking = !0, + this.me.in.play(0, !1), + Laya.timer.once(400 + 150 * t.length, this, function() { + i.locking = !1, + i.btn_close.visible = !0 + }) + } + , + i.prototype.close = function() { + var t = this; + this.locking = !0, + this.me.out.play(0, !1), + Laya.timer.once(200, this, function() { + t.locking = !1, + t.enable = !1, + t.complete && t.complete.run() + }) + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_Getrewardextends = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.getreward2UI) || this; + return t.items = [], + t.datas = [], + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"); + var i = this.root.getChildByName("items"); + this.container_items = i; + for (var n = function(n) { + var r = i.getChildAt(n); + a.items.push({ + container: r, + icon0: new t.UI_Item_Skin(r.getChildByName("btn").getChildByName("icon0")), + count0: r.getChildByName("count0"), + name0: r.getChildByName("name0"), + icon1: new t.UI_Item_Skin(r.getChildByName("btn").getChildByName("icon1")), + count1: r.getChildByName("count1"), + name1: r.getChildByName("name1") + }), + r.getChildByName("btn").clickHandler = new Laya.Handler(a,function() { + e.locking || t.UI_ItemDetail.Inst.show(e.datas[n].reward.id) + } + ) + }, a = this, r = 0; r < i.numChildren; r++) + n(r); + this.btn_close = this.me.getChildByName("btn_close"), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1) + } + , + i.prototype.show = function(t) { + var e = this; + this.enable = !0, + this.datas = t, + Laya.timer.clearAll(this); + for (var i = function(i) { + if (i < t.length) { + var a = t[i]; + n.items[i].container.visible = !0; + var r = game.GameUtility.get_item_view(a.reward.id); + if (n.items[i].icon0.setSkin(r.icon), + n.items[i].name0.text = r.name, + n.items[i].count0.text = a.reward.count.toString(), + a.replace) { + var s = game.GameUtility.get_item_view(a.replace.id); + n.items[i].icon1.setSkin(s.icon), + n.items[i].name1.text = s.name, + n.items[i].count1.text = a.replace.count.toString(), + n.items[i].icon1.me.visible = !0, + n.items[i].name1.visible = !0, + n.items[i].count1.visible = !0, + n.items[i].icon1.me.alpha = 0, + n.items[i].name1.alpha = 0, + n.items[i].count1.alpha = 0 + } else + n.items[i].icon1.me.visible = !1, + n.items[i].name1.visible = !1, + n.items[i].count1.visible = !1; + n.items[i].container.x = -210 * (t.length - 1) / 2 + 210 * i + 788, + n.items[i].container.y = 0, + n.items[i].container.scaleX = 0, + n.items[i].container.scaleY = 0, + n.items[i].container.alpha = 0, + n.items[i].name0.alpha = 0, + n.items[i].count0.alpha = 0, + Laya.Tween.to(n.items[i].container, { + scaleX: 1, + scaleY: 1, + alpha: 1 + }, 200, Laya.Ease.backOut, Laya.Handler.create(n, function() { + e.items[i].name0.alpha = 1, + e.items[i].count0.alpha = 1 + }), 150 * i + 400) + } else + n.items[i].container.visible = !1 + }, n = this, a = 0; a < this.items.length; a++) + i(a); + this.btn_close.visible = !1, + this.root.alpha = 1, + this.root.scaleY = 1, + this.locking = !0, + this.me.in.play(0, !1), + Laya.timer.once(400 + 150 * t.length, this, function() { + e.locking = !1, + e.btn_close.visible = !0, + e.anim_change() + }) + } + , + i.prototype.anim_change = function() { + var t = this + , e = Laya.timer.currTimer + , i = 1; + Laya.timer.frameLoop(1, this, function() { + var n = Laya.timer.currTimer - e; + if ((n -= 2600 * Math.floor(n / 2600)) < 800) + i = 1; + else if (n < 1300) { + i = 1 - (a = (n - 800) / 500) + } else if (n < 2100) + i = 0; + else { + var a = (n - 800 - 500 - 800) / 500; + i = a + } + for (var r = 0; r < t.datas.length; r++) + r < t.items.length && t.datas[r].replace && (t.items[r].icon0.me.alpha = i, + t.items[r].name0.alpha = i, + t.items[r].count0.alpha = i, + t.items[r].icon1.me.alpha = 1 - i, + t.items[r].name1.alpha = 1 - i, + t.items[r].count1.alpha = 1 - i) + }) + } + , + i.prototype.close = function() { + var t = this; + this.locking = !0, + this.me.out.play(0, !1), + Laya.timer.once(200, this, function() { + t.locking = !1, + t.enable = !1, + Laya.timer.clearAll(t) + }) + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_GetReward2 = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var i = t.call(this, new ui.both_ui.gettitleUI) || this; + return e.Inst = i, + i + } + return __extends(e, t), + e.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.icon = this.root.getChildByName("icon"), + this.btn_close = this.me.getChildByName("btn_close"), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1) + } + , + e.prototype.show = function(t, e) { + var i = this; + this.enable = !0, + this.complete = e, + game.LoadMgr.setImgSkin(this.icon, cfg.item_definition.title.get(t).icon), + this.btn_close.visible = !1, + this.root.alpha = 1, + this.locking = !0, + this.me.in.play(0, !1), + Laya.timer.once(1e3, this, function() { + i.locking = !1, + i.btn_close.visible = !0 + }) + } + , + e.prototype.close = function() { + var t = this; + this.locking = !0, + this.me.out.play(0, !1), + Laya.timer.once(200, this, function() { + t.locking = !1, + t.enable = !1, + t.complete && t.complete.run() + }) + } + , + e.Inst = null, + e + }(t.UIBase); + t.UI_Gettitle = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.get_characterUI) || this; + i.Inst = t; + return t.atlas_url = "res/atlas/", + "chs" != GameMgr.client_language && (t.atlas_url += GameMgr.client_language + "/"), + t.atlas_url += "myres/get_character.atlas", + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this + , i = this.me.getChildByName("root"); + this.bg = i.getChildByName("bg"), + this.btn_next = i.getChildByName("btn_next"), + this.btn_next.clickHandler = new Laya.Handler(this,function() { + e.locking || e.close() + } + ); + var n = i.getChildByName("container_illust"); + this.illust = new t.UI_Character_Skin(n.getChildByName("illust")); + var a = null; + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? (a = n.getChildByName("container_name_chs"), + n.getChildByName("container_name_en").visible = !1) : (a = n.getChildByName("container_name_en"), + n.getChildByName("container_name_chs").visible = !1), + this.label_name = a.getChildByName("label_name"), + this.label_cv = a.getChildByName("label_cv"), + this.chat = new t.UI_Character_Chat(n.getChildByName("chat")), + this.container_effect = this.me.getChildByName("effect"), + Laya.timer.once(2e3, this, function() { + Laya.loader.clearTextureRes("res/atlas/" + game.Tools.localUISrc("myres/get_character.atlas")) + }) + } + , + i.prototype.close_sound = function() { + this.sound_channel && (this.sound_channel.stop(), + Laya.SoundManager.removeChannel(this.sound_channel), + this.sound_channel = null) + } + , + i.prototype.show = function(t, e) { + var i = this; + void 0 === e && (e = null), + this.complete = e, + this.bg.skin = game.Tools.localUISrc("myres/star_up/bg.jpg"), + this.character_id = t; + var n = cfg.item_definition.character.get(t); + this.illust.setSkin(n.init_skin, "full"), + this.label_name.text = n["name_" + GameMgr.client_language], + this.label_cv.text = "cv:" + n["desc_cv_" + GameMgr.client_language], + this.chat.close(!0), + this.close_sound(), + this.btn_next.visible = !1, + this.illust.me.parent.alpha = 1, + this.illust.me.parent.y = -8, + this.enable = !0, + this.locking = !0, + this.me.JSin.play(0, !1), + Laya.timer.once(70 / 24 * 1e3, this, function() { + i.effect = game.FrontEffect.Inst.create_ui_effect(i.container_effect, "scene/effect_get_character.lh", new Laya.Point(0,0), 1), + view.AudioMgr.PlayAudio(107) + }), + Laya.timer.once(5200, this, function() { + var t = "" + , e = "" + , a = 0; + if (cfg.voice.sound.getGroup(n.sound).forEach(function(i) { + "lobby_selfintro" == i.type && (t = i.path, + e = i["words_" + GameMgr.client_language], + a = i.time_length) + }), + "" != t) { + var r = n.sound_volume; + view.AudioMgr.yuyinMuted ? r = 0 : r *= view.AudioMgr.yuyinVolume, + view.AudioMgr.getCVmute(n.id) ? r = 0 : r *= view.AudioMgr.getCVvolume(n.id), + i.sound_channel = view.AudioMgr.PlaySound(t, r, Laya.Handler.create(i, function() { + i.sound_channel = null + })) + } + "" != e && i.chat.show(e), + Laya.timer.once(1e3, i, function() { + i.locking = !1, + i.btn_next.visible = !0 + }) + }) + } + , + i.prototype.close = function() { + var t = this; + this.locking = !0, + this.btn_next.visible = !1, + this.me.JSout.play(0, !1), + this.chat.close(!1), + this.close_sound(), + Laya.timer.once(800, this, function() { + t.locking = !1, + t.enable = !1, + t.complete && t.complete.run() + }), + this.effect && (this.effect.destory(), + this.effect = null) + } + , + i.prototype.onDisable = function() { + this.illust.clear(), + Laya.loader.clearTextureRes(game.Tools.localUISrc("myres/star_up/bg.jpg")), + Laya.loader.clearTextureRes(this.atlas_url), + this.effect && (this.effect.destory(), + this.effect = null) + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_Get_Character = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.gitfcodeUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.input = this.root.getChildByName("input"), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_confirm.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.btn_cd > Laya.timer.currTimer || (e.btn_cd = Laya.timer.currTimer + 1e3, + app.NetAgent.sendReq2Lobby("Lobby", "useGiftCode", { + code: e.input.text + }, function(i, n) { + e.btn_cd = 0, + i || n.error ? t.UIMgr.Inst.showNetReqError("useGiftCode", i, n) : game.Tools.showRewards(n, null) + })) + }, null, !1), + this.input.on("input", this, function() { + e.btn_confirm.visible = 12 == e.input.text.length + }) + } + , + i.prototype.show = function() { + var e = this; + this.enable = !0, + this.locking = !0, + this.input.text = "", + this.btn_cd = 0, + this.btn_confirm.visible = !1, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_Giftcode = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.guajichenfaUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.me.getChildByName("root").getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + t.locking || t.close() + } + ), + this.desc = this.me.getChildByName("root").getChildByName("desc"), + this.title = this.me.getChildByName("root").getChildByName("title") + } + , + i.prototype.show = function(e) { + var i = this; + if (this.enable = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.me.getChildByName("root"), Laya.Handler.create(this, function() { + i.locking = !1 + })), + 2 == e.type) { + this.me.getChildByName("root").getChildByName("btn_confirm").clickHandler = Laya.Handler.create(this, function() { + i.locking || (t.UI_Entrance.Inst && t.UI_Entrance.Inst.enable ? i.close() : Laya.Browser.window.location.href = GameMgr.Inst.link_url) + }, null, !1); + var n = game.Tools.time2YearMounthDate(e.ban_end_time) + " " + game.Tools.time2HourMinute(e.ban_end_time, !1); + this.title.text = game.Tools.strOfLocalization(3040), + this.desc.text = game.Tools.strOfLocalization(3041, [n]), + this.desc.fontSize = "chs" != GameMgr.client_language ? 28 : 33 + } else + this.me.getChildByName("root").getChildByName("btn_confirm").clickHandler = Laya.Handler.create(this, function() { + i.locking || i.close() + }, null, !1), + this.title.text = game.Tools.strOfLocalization(3038), + this.desc.text = game.Tools.strOfLocalization(3039), + this.desc.fontSize = "en" == GameMgr.client_language ? 28 : "jp" == GameMgr.client_language ? 22 : 33 + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.me.getChildByName("root"), Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Guajichenfa = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.hangup_logoutUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn").clickHandler = Laya.Handler.create(this, this.hide, null, !1) + } + , + i.prototype.show = function() { + this.me.visible = !0, + app.Log.info_net("UI_Hanguplogout close net"), + game.LobbyNetMgr.Inst.Close(), + game.MJNetMgr.Inst && game.MJNetMgr.Inst.Close(), + t.UIBase.anim_pop_out(this.root, null) + } + , + i.prototype.hide = function() { + Laya.Browser.window.conch ? Laya.Browser.window.conch && Laya.Browser.window.conch.exit && Laya.Browser.window.conch.exit() : Laya.Browser.window.location.href = GameMgr.Inst.link_url + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_Hanguplogout = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.mj.hangup_warnUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.blackbg = this.me.getChildByName("blackbg"), + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + e.locking || (view.DesktopMgr.Inst.hangupCount = 0, + app.NetAgent.sendReq2MJ("FastTest", "clearLeaving", {}, function(i, n) { + i || n.error ? t.UIMgr.Inst.showNetReqError("clearLeaving", i, n) : e.close() + })) + } + ) + } + , + i.prototype.show = function() { + var e = this; + this.locking = !0, + this.enable = !0, + this.blackbg.alpha = 0, + Laya.Tween.to(this.blackbg, { + alpha: .3 + }, 150), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + Laya.Tween.to(this.blackbg, { + alpha: 0 + }, 150), + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Hangup_Warn = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.mj.hu_cutinUI) || this; + return t.illust = null, + t.rect = null, + t.effect = null, + t.secen = null, + i.Inst = t, + t + } + return __extends(i, e), + i.show = function(e) { + var n = this; + this.Inst && this.Inst.destroy(), + t.UIMgr.Inst.AddMJUI(this.Inst = new i); + var a = Laya.timer.currFrame; + Laya.loader.create("scene/hucutin.ls", Laya.Handler.create(this, function() { + var t = 5 + a - Laya.timer.currFrame; + t < 0 && (t = 1), + Laya.timer.frameOnce(t, n, function() { + n.Inst._onShow(e) + }) + })) + } + , + i.prototype.onCreate = function() { + this.illust = this.me.getChildByName("root").getChildByName("container_illust").getChildByName("illust").getChildByName("illust"), + this.rect = t.UIRect.CreateFromSprite(this.illust), + this.effect = this.me.getChildByName("root").getChildByName("effect"), + this.secen = Laya.loader.getRes("scene/hucutin.ls"), + this.effect.addChild(this.secen), + this.secen.visible = !0 + } + , + i.prototype._onShow = function(t) { + var e = this; + this.enable = !0, + game.Tools.charaPart(t, this.illust, "half", this.rect, !0), + this.me.cutin.play(0, !1), + view.AudioMgr.PlayAudio(206), + Laya.timer.once(1100, this, function() { + e.secen.visible = !1 + }), + Laya.timer.once(1800, this, function() { + e._onHide() + }) + } + , + i.prototype._onHide = function() { + this.enable = !1, + Laya.loader.clearTextureRes(this.illust.skin), + this.destroy(), + i.Inst = null + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_HuCutIn = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var i = t.call(this, new ui.mj.huleshowUI) || this; + return i.black_mask = null, + i.container_rong = null, + i.container_zimo = null, + i.container_liuju = null, + e.Inst = i, + i + } + return __extends(e, t), + e.prototype.onCreate = function() { + this.black_mask = this.me.getChildByName("black_mask"), + this.container_rong = this.me.getChildByName("container_rong"), + this.container_zimo = this.me.getChildByName("container_zimo"), + this.container_liuju = this.me.getChildByName("container_liuju") + } + , + e.prototype.showRong = function(t) { + var e = this; + this.container_liuju.visible = !1, + this.container_zimo.visible = !1, + this.container_rong.visible = !0; + for (var i = [], n = 0; n < 4; n++) + i.push(this.container_rong.getChildByName(n.toString())), + i[n].visible = !1; + this.black_mask.alpha = 0; + for (var a = function(e) { + var n = i[t[e]]; + n.visible = !0, + n.alpha = 0, + n.scaleX = 3, + n.scaleY = 3, + Laya.Tween.to(n, { + alpha: 1, + scaleX: 1, + scaleY: 1 + }, 200, Laya.Ease.strongIn, null, 300, !0), + Laya.timer.once(300 + 30 * e, r, function() { + view.DesktopMgr.Inst.players[t[e]].PlaySound("act_ron") + }), + Laya.Tween.to(n, { + alpha: 0 + }, 0, Laya.Ease.strongIn, null, 1200) + }, r = this, n = 0; n < t.length; n++) + a(n); + Laya.timer.once(1200, this, function() { + e.enable = !1 + }), + this.enable = !0 + } + , + e.prototype.showZimo = function(t) { + var e = this; + this.container_liuju.visible = !1, + this.container_rong.visible = !1, + this.container_zimo.visible = !0; + for (var i = [], n = 0; n < 4; n++) + i.push(this.container_zimo.getChildByName(n.toString())), + i[n].visible = !1; + this.black_mask.alpha = 0; + for (var a = function(e) { + var n = i[t[e]]; + n.visible = !0, + n.alpha = 0, + n.scaleX = 3, + n.scaleY = 3, + Laya.Tween.to(n, { + alpha: 1, + scaleX: 1, + scaleY: 1 + }, 200, Laya.Ease.strongIn, null, 300, !0), + Laya.timer.once(300, r, function() { + view.DesktopMgr.Inst.players[t[e]].PlaySound("act_tumo") + }), + Laya.Tween.to(n, { + alpha: 0 + }, 0, Laya.Ease.strongIn, null, 1200) + }, r = this, n = 0; n < t.length; n++) + a(n); + Laya.timer.once(1200, this, function() { + e.enable = !1 + }), + this.enable = !0 + } + , + e.prototype.showLiuJu = function(t) { + var e = this; + this.container_liuju.visible = !0, + this.container_zimo.visible = !1, + this.container_rong.visible = !1; + for (var i = [], n = [], a = 0; a < 4; a++) + i.push(this.container_liuju.getChildByName(a.toString())), + i[a].visible = !1, + n.push(this.container_liuju.getChildByName("no" + a)), + n[a].visible = !1; + for (a = 0; a < 4; a++) + this.container_liuju.getChildByName("t" + a).visible = !1; + this.black_mask.alpha = 0, + Laya.Tween.to(this.black_mask, { + alpha: .4 + }, 150); + var r = this.container_liuju.getChildByName("title"); + r.alpha = 0, + Laya.Tween.to(r, { + alpha: 1 + }, 150); + for (var s = "myres2/mjp/" + GameMgr.Inst.mjp_view + "/ui/", a = 0; a < 4; a++) { + this.container_liuju.getChildByName("t" + a).visible = !1 + } + for (var o = function(e) { + var n = (e + view.DesktopMgr.Inst.index_ju) % view.DesktopMgr.Inst.player_count + , a = view.DesktopMgr.Inst.seat2LocalPosition(n) + , r = l.container_liuju.getChildByName("t" + a); + if (t[n].tings && t[n].tings.length > 0) { + var o = i[a]; + r.visible = !0; + for (var h = [], c = 0; c < t[n].tings.length; c++) + h.push(mjcore.MJPai.Create(t[n].tings[c].tile)), + h[c].dora = !1; + h = h.sort(mjcore.MJPai.Distance); + for (c = 0; c < r.numChildren; c++) { + var _ = r.getChildAt(c); + c < h.length ? (_.visible = !0, + _.skin = game.Tools.localUISrc(s + h[c].toString() + ".png"), + _.x = 17 + 66 * c) : _.visible = !1 + } + var u = 34 + 60 * h.length + 6 * (h.length - 1); + if (r.width = u, + r.width < 350 || 2 == a || 0 == a ? r.x = o.x + o.width / 2 - u / 2 : 1 == a ? r.x = o.x + 350 - u : 3 == a && (r.x = o.x + o.width / 2 - 175), + r.alpha = 0, + Laya.Tween.to(r, { + alpha: 1 + }, 150, Laya.Ease.strongIn, null, 300, !0), + o.visible = !0, + o.alpha = 0, + o.skin = game.Tools.localUISrc("myres/mjdesktop/show_tingpai.png"), + Laya.Tween.to(o, { + alpha: 1 + }, 150, Laya.Ease.strongIn, null, 300, !0), + n == view.DesktopMgr.Inst.seat) { + var d = game.Tools.get_chara_audio(view.DesktopMgr.Inst.player_datas[n].character, "gameend_tingpai"); + d && Laya.timer.once(300, l, function() { + view.AudioMgr.PlaySound(d.path, d.volume, null) + }) + } + } else if (r.visible = !1, + n == view.DesktopMgr.Inst.seat) { + var f = game.Tools.get_chara_audio(view.DesktopMgr.Inst.player_datas[n].character, "gameend_noting"); + f && Laya.timer.once(300, l, function() { + view.AudioMgr.PlaySound(f.path, f.volume, null) + }) + } + }, l = this, h = 0; h < view.DesktopMgr.Inst.player_count; h++) + o(h); + Laya.timer.once(4500, this, function() { + e.enable = !1 + }), + this.enable = !0 + } + , + e.Inst = null, + e + }(t.UIBase); + t.UI_Huleshow = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t) { + this.content = null, + this.me = t, + this.btn_open = this.me.getChildByName("btn_open"), + this.title = this.btn_open.getChildByName("info_title"), + this.arrow = this.me.getChildByName("btn_open").getChildByName("arrow"), + this.container_content = this.btn_open.getChildByName("content"), + this.content = this.container_content.getChildAt(0), + this.new_flag = this.me.getChildByName("new"), + this.btn_cd = 0, + this.isopen = !1, + this.btn_open.clickHandler = Laya.Handler.create(this, this.switchShow, null, !1) + } + return Object.defineProperty(t.prototype, "h", { + get: function() { + var t = 0; + return this.isnew && (t += 8), + t += 90, + this.isopen && (t += 40, + t += this.content_h), + t + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.onEnable = function(t, e, i) { + this.announcement_id = t.id, + this.title.text = t.title, + this.content.text = t.content, + this.content_h = this.content.textHeight, + this.isopen = i, + this.isnew = e, + this.btn_cd = 0, + this.isopen ? (this.container_content.alpha = 1, + this.container_content.visible = !0, + this.arrow.rotation = 0) : (this.container_content.visible = !1, + this.arrow.rotation = -180), + this.isnew ? (this.new_flag.visible = !0, + this.btn_open.y = 8) : (this.new_flag.visible = !1, + this.btn_open.y = 0), + this.me.height = this.h + } + , + t.prototype.onDisable = function() { + this.announcement_id > 0 && this.isopen && this.isnew && (app.NetAgent.sendReq2Lobby("Lobby", "readAnnouncement", { + announcement_id: this.announcement_id + }, function(t, e) {}), + i.read_list.push(this.announcement_id), + i.Inst.onReadStateChange()), + this.announcement_id = -1, + this.me.visible = !1 + } + , + t.prototype.switchShow = function() { + var t = this; + Laya.timer.currTimer < this.btn_cd || (this.btn_cd = Laya.timer.currTimer + 200, + Laya.timer.clearAll(this), + this.isopen = !this.isopen, + this.isopen ? (this.container_content.visible = !0, + Laya.Tween.to(this.container_content, { + alpha: 1 + }, 200, null, null, 0, !0), + this.arrow.rotation = 0) : (this.isnew && (this.isnew = !1, + this.new_flag.visible = !1, + Laya.Tween.to(this.btn_open, { + y: 0 + }, 100, Laya.Ease.strongOut), + i.read_list.push(this.announcement_id), + app.NetAgent.sendReq2Lobby("Lobby", "readAnnouncement", { + announcement_id: this.announcement_id + }, function(t, e) {}), + i.Inst.onReadStateChange()), + Laya.Tween.to(this.container_content, { + alpha: 0 + }, 200, null, Laya.Handler.create(this, function() { + t.container_content.visible = !1 + }), 0, !0), + this.arrow.scaleY = 1, + this.arrow.rotation = -180), + this.me.height = this.h) + } + , + t + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.lobby.infoUI) || this; + return t.items = [], + t._last_time = 0, + t.complete = null, + n.Inst = t, + t + } + return __extends(n, i), + n.lobbyPopout = function() { + if (!this.first || !this.announcements || 0 == this.announcements.length) + return !1; + for (var e = !1, i = [], a = 0; a < n.announcements.length; a++) + i.push(a); + for (var r = {}, a = 0; a < n.announcement_sort.length; a++) + r[n.announcement_sort[a].toString()] = a; + return i = i.sort(function(t, e) { + var i = 0 + , a = n.announcements[t].id.toString(); + i = r.hasOwnProperty(a) ? r[a] : 1e3 + t; + var s = 0 + , o = n.announcements[e].id.toString(); + return s = r.hasOwnProperty(o) ? r[o] : 1e3 + e, + i - s + }), + this.announcements.length > 0 && (e = !this.isAnnouncementReaded(this.announcements[i[0]].id)), + !!e && (this.Inst.show(Laya.Handler.create(this, function() { + t.UI_Lobby.Inst.pending_lobby_jump() + })), + !0) + } + , + Object.defineProperty(n, "haveRedPoint", { + get: function() { + for (var t = 0; t < this.announcements.length; t++) + if (!this.isAnnouncementReaded(this.announcements[t].id)) + return !0; + return !1 + }, + enumerable: !0, + configurable: !0 + }), + n.Init = function() { + var e = this; + this.read_list = [], + app.NetAgent.sendReq2Lobby("Lobby", "fetchAnnouncement", {}, function(i, n) { + i || n.error ? t.UIMgr.Inst.showNetReqError("fetchAnnouncement", i, n) : e._refreshAnnouncements(n) + }), + app.NetAgent.AddListener2Lobby("NotifyAnnouncementUpdate", Laya.Handler.create(this, this._refreshAnnouncements, null, !1)) + } + , + n._refreshAnnouncements = function(t) { + if (t.announcements && (this.announcements = t.announcements), + t.sort && (this.announcement_sort = t.sort), + t.read_list) { + this.read_list = []; + for (var e = 0; e < t.read_list.length; e++) + this.read_list.push(t.read_list[e]) + } + } + , + n.isAnnouncementReaded = function(t) { + for (var e = 0; e < this.read_list.length; e++) + if (this.read_list[e] == t) + return !0; + return !1 + } + , + n.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1), + this.panel = this.root.getChildByName("info"), + this.panel.vScrollBar.visible = !1, + this.item_templete = this.panel.getChildByName("templete"), + this.items = [], + this.item_templete.visible = !1 + } + , + n.prototype.show = function(i) { + var a = this; + void 0 === i && (i = null), + this.enable = !0, + this.locking = !0, + this.complete = i; + var r = 0; + if (n.announcements.length > this.items.length) { + r = 5; + for (var s = this.items.length; s < n.announcements.length; s++) { + var o = this.item_templete.scriptMap["capsui.UICopy"].getNodeClone(); + this.items.push(new e(o)) + } + } + this.root.visible = !1, + Laya.timer.frameOnce(r, this, function() { + for (var e = [], i = 0; i < n.announcements.length; i++) + e.push(i); + for (var r = {}, i = 0; i < n.announcement_sort.length; i++) + r[n.announcement_sort[i].toString()] = i; + e = e.sort(function(t, e) { + var i = 0 + , a = n.announcements[t].id.toString(); + i = r.hasOwnProperty(a) ? r[a] : 1e3 + t; + var s = 0 + , o = n.announcements[e].id.toString(); + return s = r.hasOwnProperty(o) ? r[o] : 1e3 + e, + i - s + }); + for (i = 0; i < a.items.length; i++) + if (i >= e.length) + a.items[i].me.visible = !1; + else { + a.items[i].me.visible = !0; + var s = n.announcements[e[i]]; + a.items[i].onEnable(s, !n.isAnnouncementReaded(s.id), 0 == i) + } + a.panel.vScrollBar.stopScroll(), + a.panel.vScrollBar.value = 0, + a.panel.refresh(), + a._last_time = 0, + a.duringshow = !0, + a.panel.vScrollBar.value = 0, + a.root.visible = !0, + t.UIBase.anim_pop_out(a.root, Laya.Handler.create(a, function() { + a.locking = !1 + })) + }) + } + , + n.prototype.close = function() { + var e = this; + this.duringshow = !1, + this.locking = !0, + this.panel.vScrollBar.stopScroll(), + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + e.complete && e.complete.run() + })) + } + , + n.prototype.onDisable = function() { + this.panel.vScrollBar.stopScroll(); + for (var t = 0; t < this.items.length; t++) + this.items[t].me.visible && this.items[t].onDisable() + } + , + n.prototype.update = function() { + if (this.duringshow) { + for (var t = 0, e = (this.panel.vScrollBar.value, + this.panel.vScrollBar.max, + 0); e < this.items.length; e++) + if (this.items[e].me.visible) { + var i = this.items[e].me.y + , n = Math.abs(i - t); + if (n < .001) + this.items[e].me.y = t; + else { + var a = Math.sqrt(2 * n / (1400 / 22500)) + , r = Laya.timer.currTimer - this._last_time; + if (r >= a) + this.items[e].me.y = t; + else { + var s = 1400 / 22500 * .5 * (a - r) * (a - r); + this.items[e].me.y = i < t ? t - s : t + s + } + } + t += this.items[e].h + } + this.panel.refresh(), + this._last_time = Laya.timer.currTimer + } + } + , + n.prototype.onReadStateChange = function() { + t.UI_Lobby.Inst.top.refreshRedpoint() + } + , + n.Inst = null, + n.announcements = [], + n.announcement_sort = [], + n.read_list = [], + n.first = !0, + n + }(t.UIBase); + t.UI_Info = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.infoliteUI) || this; + return t.panel = null, + t.desc = null, + t.locking = !1, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.panel = this.root.getChildByName("content"), + this.panel.vScrollBar.visible = !1, + this.desc = this.panel.getChildByName("desc"), + this.locking = !1, + this.root.getChildByName("btn_confirm").clickHandler = Laya.Handler.create(this, function() { + t.close() + }, null, !1) + } + , + i.prototype.show = function(e) { + var i = this; + this.me.visible = !0, + this.panel.vScrollBar.value = 0, + this.desc.text = e, + this.desc.height = this.desc.textField.textHeight, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_InfoLite = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.infolite_titleUI) || this; + return t.panel = null, + t.desc = null, + t.locking = !1, + t.title = null, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.panel = this.root.getChildByName("content"), + this.panel.vScrollBar.visible = !1, + this.desc = this.panel.getChildByName("desc"), + this.title = this.root.getChildByName("title"), + this.locking = !1, + this.root.getChildByName("btn_confirm").clickHandler = Laya.Handler.create(this, function() { + t.close() + }, null, !1) + } + , + i.prototype.show = function(e, i) { + var n = this; + this.me.visible = !0, + this.title.text = e, + this.panel.vScrollBar.value = 0, + this.desc.text = i, + this.desc.height = this.desc.textField.textHeight, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_InfoLite_Title = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.mj.info_md5UI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1); + var e = this.root.getChildByName("content"); + e.vScrollBarSkin = "", + e.refresh() + } + , + i.prototype.show = function() { + var e = this; + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })); + var i = this.root.getChildByName("content") + , n = i.getChildByName("desc"); + n.height = n.textField.textHeight, + i.refresh() + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Info_MD5 = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.introduceUI) || this; + return t._blackmask = null, + t._root = null, + t._content = null, + t._locking = !1, + t._cells = [], + t._templete = null, + t._label_title = null, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this._blackmask = new t.UI_BlackMask(this.me.getChildByName("bmask"),Laya.Handler.create(this, function() { + return e._locking + }, null, !1),Laya.Handler.create(this, this.close, null, !1)), + this._root = this.me.getChildByName("root"), + this._content = this._root.getChildByName("content"), + this._content.vScrollBar.visible = !1; + var i = this._content.getChildByName("templete"); + i.visible = !1, + this._templete = i, + this._cells = [], + cfg.rank_introduce.rank.forEach(function(t, n) { + for (var a = 0; a < 4; a++) { + var r = i.scriptMap["capsui.UICopy"].getNodeClone(); + e._cells.push(r) + } + }), + this._label_title = this._root.getChildByName("title") + } + , + i.prototype.show = function(e) { + var i = this; + this._locking = !0, + this.enable = !0, + this._blackmask.show(), + this._content.vScrollBar.value = 0, + t.UIBase.anim_pop_out(this._root, Laya.Handler.create(this, function() { + i._locking = !1 + })), + this.refresh_show(e) + } + , + i.prototype.refresh_show = function(t) { + var e = this; + this._label_title.text = game.Tools.strOfLocalization(1 == t ? 2794 : 2793); + var i = 0 + , n = [181, 165, 165, 165] + , a = 0 + , r = 0 + , s = 0; + switch (GameMgr.client_language) { + case "chs": + s = 0; + break; + case "jp": + s = 4; + break; + case "en": + s = 8; + break; + case "chs_t": + s = 12 + } + for (var o = this._templete.getChildByName("info"), l = 0, h = 0; h < 4; h++) + o.text = cfg.rank_introduce[1 == t ? "rank" : "rank3"].get(1).info[s + h], + n[h] = o.textField.textWidth, + l += n[h]; + for (h = 0; h < 4; h++) + n[h] = 600 * n[h] / l + (0 == h ? 76 : 0); + cfg.rank_introduce[1 == t ? "rank" : "rank3"].forEach(function(t, o) { + a = 0; + for (var l = 0; l < 4; l++) { + var h = e._cells[i++]; + h.x = a, + h.y = r, + h.width = n[l], + h.height = 76; + var c = h.getChildByName("bound"); + c.x = 0, + c.y = 0, + c.width = h.width, + c.height = h.height; + var _ = h.getChildByName("info"); + _.width = h.width / .7 - 20, + _.x = .5 * h.width, + _.scriptMap["capsui.LabelLocalizationSize"].change_width(_.width), + _.text = t.info[l + s], + a += h.width - 3 + } + r += 73 + }), + this._content.refresh() + } + , + i.prototype.close = function() { + var e = this; + this._locking = !0, + t.UIBase.anim_pop_hide(this._root, Laya.Handler.create(this, function() { + e._locking = !1, + e.enable = !1 + })) + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_Introduce = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(e, n) { + var a = this; + this.me = e, + e.visible = !1, + this.me.x = 543, + this.me.y = -260, + this.data = n, + Laya.timer.frameOnce(5, this, function() { + a.locking = !0, + a.me.visible = !0, + Laya.Tween.to(a.me, { + y: -44 + }, 150, Laya.Ease.strongInOut, Laya.Handler.create(a, function() { + a.locking = !1 + })), + a.me.getChildByName("name").text = n.nickname; + var e = ""; + "en" == GameMgr.client_language ? e += "Room:" : (e += game.Tools.room_mode_desc(n.mode.mode)) && (e += ":"), + e += n.room_id.toString(), + a.me.getChildByName("room").text = e, + a.me.getChildByName("banned").clickHandler = Laya.Handler.create(a, function() { + a.locking || (i.addBanned(n.account_id), + a.close()) + }, null, !1), + a.me.getChildByName("cancel").clickHandler = Laya.Handler.create(a, function() { + a.locking || (i.onCancel(n.account_id), + a.close()) + }, null, !1), + a.me.getChildByName("join").clickHandler = Laya.Handler.create(a, function() { + if (!a.locking) + if (t.UI_PiPeiYuYue.Inst.enable) + t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null); + else { + if (i.onCancel(n.account_id), + game.Scene_MJ.Inst.active) + GameMgr.Inst.beinvited_roomid = n.room_id, + game.Scene_MJ.Inst.ForceOut(), + t.UIMgr.Inst.closeUIWithTag_Lobby(), + t.UIMgr.Inst.closeUIWithTag_Both(); + else { + var e = !1 + , r = Laya.Handler.create(a, function(i) { + i ? app.NetAgent.sendReq2Lobby("Lobby", "joinRoom", { + room_id: n.room_id + }, function(i, n) { + i || n.error ? (t.UIMgr.Inst.showNetReqError("joinRoom", i, n), + e && (t.UI_Lobby.Inst.enable = !0)) : (t.UIMgr.Inst.closeUIWithTag_Lobby(), + t.UIMgr.Inst.closeUIWithTag_Both(), + t.UI_WaitingRoom.Inst.updateData(n.room), + t.UIMgr.Inst.ShowWaitingRoom()) + }) : e && (t.UI_Lobby.Inst.enable = !0) + }, null, !1); + t.UI_WaitingRoom.Inst.enable ? (e = !0, + t.UI_WaitingRoom.Inst.tryToClose(r)) : t.UI_PiPei.Inst.enable ? t.UI_PiPei.Inst.tryToClose(r) : r.runWith(!0) + } + a.close() + } + }, null, !1), + Laya.timer.once(n.time + 18e4 - Laya.timer.currTimer, a, function() { + a.locking || (a.close(), + i.onCancel(n.account_id)) + }) + }) + } + return e.prototype.close = function() { + var t = this; + this.locking = !0, + Laya.Tween.to(this.me, { + y: -260 + }, 150, Laya.Ease.strongOut, Laya.Handler.create(this, function() { + t.locking = !1, + i.Inst.onBlockClose(t) + })) + } + , + e.prototype.destory = function() { + this.me.visible = !1, + this.me.destroy(!0), + Laya.timer.clearAll(this), + Laya.Tween.clearAll(this) + } + , + e + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.both_ui.inviteUI) || this; + return t.templete = null, + t._blocks = null, + n.Inst = t, + t + } + return __extends(n, i), + n.onNewInvite = function(e) { + var i = JSON.parse(e) + , n = i.account_id; + if (!(this._banneds.hasOwnProperty(n.toString()) && Laya.timer.currTimer < this._banneds[n.toString()] + 3e5 || t.UI_WaitingRoom.Inst && t.UI_WaitingRoom.Inst.enable && t.UI_WaitingRoom.Inst.room_id == i.room_id || t.UI_PiPeiChengGong.Inst.enable || t.UI_PiPeiYuYue.Inst.enable || t.UI_Match_Room.Inst.enable)) { + for (var a = { + time: Laya.timer.currTimer, + room_id: i.room_id, + mode: i.mode, + account_id: i.account_id, + nickname: i.nickname + }, r = 0; r < this._invites.length; r++) + if (this._invites[r].account_id == n) { + for (var s = r; s < this._invites.length - 1; s++) + this._invites[s] = this._invites[s + 1]; + this._invites.pop(); + break + } + this._invites.push(a), + this.Inst.enable && this.Inst.popout(a) + } + } + , + n.addBanned = function(t) { + this._banneds[t.toString()] = Laya.timer.currTimer, + this.onCancel(t) + } + , + n.onCancel = function(t) { + for (var e = 0; e < this._invites.length; e++) + if (this._invites[e].account_id == t) { + for (var i = e; i < this._invites.length - 1; i++) + this._invites[i] = this._invites[i + 1]; + this._invites.pop(); + break + } + } + , + n.prototype.onCreate = function() { + this.templete = this.me.getChildByName("templete"), + this.templete.visible = !1 + } + , + n.prototype.onEnable = function() { + this._blocks = []; + for (var t = n._invites, e = [], i = 0; i < t.length; i++) + Laya.timer.currTimer < t[i].time + 12e4 && e.push(t[i]); + t = n._invites = e; + for (i = 0; i < t.length; i++) + this.popout(t[i]) + } + , + n.prototype.onDisable = function() { + for (var t = 0; t < this._blocks.length; t++) + this._blocks[t].destory(); + this._blocks = [] + } + , + n.prototype.popout = function(t) { + if (t.mode && t.room_id) { + for (var i = [], n = 0; n < this._blocks.length; n++) + this._blocks[n].data.account_id == t.account_id && i.push(this._blocks[n]); + for (n = 0; n < i.length; n++) + this.onBlockClose(i[n]); + var a = this.templete.scriptMap["capsui.UICopy"].getNodeClone(); + this._blocks.push(new e(a,t)) + } + } + , + n.prototype.onBlockClose = function(t) { + for (var e = 0; e < this._blocks.length; e++) + if (t === this._blocks[e]) { + this._blocks[e] = this._blocks[this._blocks.length - 1], + t.destory(), + this._blocks.pop(); + break + } + } + , + n._invites = [], + n._banneds = {}, + n + }(t.UIBase); + t.UI_Invite = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.entrance.ios_webview_updateUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.show = function(e) { + var n = new i; + t.UIMgr.Inst.AddLobbyUI(n), + Laya.timer.frameOnce(5, this, function() { + n._show(e) + }) + } + , + i.prototype._show = function(t) { + this.enable = !0, + this.me.getChildByName("root").getChildByName("text").text = t + } + , + i + }(t.UIBase); + t.UI_IOS_Webview_Update = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t) { + this.me = t, + this.origin_h = this.me.height + } + return t.prototype.SetExtH = function(t) { + this.me.height = t < 0 ? this.origin_h : this.origin_h + t + } + , + t + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.both_ui.itemdetailUI) || this; + return t.bounds = [], + t.container_way = null, + t.locking = !1, + t.container_icon = null, + t.btn_open = null, + t.item_id = 0, + n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.root = this.me.getChildByName("root"), + this.name = this.root.getChildByName("label_name"), + this.desc = this.root.getChildByName("desc"), + this.icon = new t.UI_Item_Skin(this.root.getChildByName("item").getChildByName("icon")), + this.container_icon = this.root.getChildByName("item"), + this.locking = !1, + this.btn_open = this.root.getChildByName("btn_open"), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + i.locking || i.close() + }, null, !1), + this.btn_open.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + i.close(); + var e = cfg.item_definition.item.get(i.item_id); + e && 1 == e.category && (1 == e.type && t.UI_OpenBox.Inst.show(i.item_id), + 2 == e.type && app.NetAgent.sendReq2Lobby("Lobby", "openRandomRewardItem", { + item_id: i.item_id + }, function(e, i) { + e || i.error ? t.UIMgr.Inst.showNetReqError("openRandomRewardItem", e, i) : t.UI_GetReward2.Inst.show(i.results) + })) + } + } + ), + this.bounds.push(new e(this.root.getChildByName("bg0"))), + this.bounds.push(new e(this.root.getChildByName("bg0").getChildByName("left"))), + this.bounds.push(new e(this.root.getChildByName("bg0").getChildByName("right"))), + this.bounds.push(new e(this.root.getChildByName("bound"))), + this.container_way = this.root.getChildByName("way") + } + , + n.prototype.show = function(e, i) { + var n = this; + void 0 === i && (i = 0), + this.item_id = e; + var a = game.GameUtility.get_item_view(e); + this.name.text = a.name, + this.desc.text = a.desc, + this.icon.setSkin(a.icon), + this.btn_open.visible = !1, + this.enable = !0, + this.locking = !0, + this.container_way.visible = !1, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })); + var r = 0 + , s = cfg.item_definition.item.get(e); + if (s) + if (1 == s.category && (1 != s.type && 2 != s.type || 1 == i && (this.btn_open.visible = !0)), + 2 == i) { + var o = s.access; + if (o) { + this.container_way.visible = !0, + this.container_way.y = 540, + this.container_way.getChildByName("wd").visible = !0, + this.container_way.getChildByName("line").visible = !0; + for (u = 0; u < 5; u++) { + h = this.container_way.getChildByName("cell" + u); + if (0 == u) { + h.visible = !0; + var l = parseInt(o); + (c = h.getChildByName("info")).text = game.Tools.strOfLocalization(s.accessinfo); + _ = h.getChildByName("check"); + 1 == l ? _.visible = !1 : 11 == l ? (_.visible = !0, + _.clickHandler = Laya.Handler.create(this, function() { + n.locking || (n.close(), + t.UI_Sushe_Visit.Inst.close(), + t.UI_Sushe.Inst.close(null), + Laya.timer.once(150, n, function() { + t.UI_Bag.Inst.show(1) + })) + }, null, !1)) : 3 == l && (_.visible = !0, + _.clickHandler = Laya.Handler.create(this, function() { + n.locking || (n.close(), + t.UI_Sushe_Visit.Inst.close(), + t.UI_Sushe.Inst.close(null), + Laya.timer.once(150, n, function() { + t.UI_Shop.Inst.show(1) + })) + }, null, !1)), + _.visible ? c.scriptMap["capsui.LabelLocalizationSize"].change_width(430) : c.scriptMap["capsui.LabelLocalizationSize"].change_width(628) + } else + h.visible = !1 + } + r = 80 + } else + this.container_way.visible = !1 + } else if (1 == i && 5 == s.category) + for (u = 0; u < 5; u++) { + var h = this.container_way.getChildByName("cell" + u); + if (this.container_way.visible = !0, + this.container_way.y = 510, + this.container_way.getChildByName("wd").visible = !1, + this.container_way.getChildByName("line").visible = !0, + 0 == u) { + h.visible = !0; + var c = h.getChildByName("info"); + 9 == s.type ? c.text = game.Tools.strOfLocalization(3120) : c.text = game.Tools.strOfLocalization(3065); + var _; + (_ = h.getChildByName("check")).visible = !0, + _.clickHandler = Laya.Handler.create(this, function() { + n.locking || (n.close(), + t.UI_Bag.Inst.hide(null), + Laya.timer.once(150, n, function() { + 9 == s.type ? (t.UI_Lobby.Inst.enable = !0, + t.UI_Config.Inst.show(1)) : t.UI_Sushe.Inst.show(1) + })) + }, null, !1), + r = 50 + } else + h.visible = !1 + } + else + this.container_way.visible = !1; + for (var u = 0; u < this.bounds.length; u++) + this.bounds[u].SetExtH(r) + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + n + }(t.UIBase); + t.UI_ItemDetail = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.light_tipsUI) || this; + return t.locking = !1, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.info = this.root.getChildByName("info"), + this.me.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1) + } + , + i.prototype.show = function(t) { + var e = this; + this.info.text = t, + this.root.height = 120 + this.info.textField.textHeight, + this.enable = !0, + this.locking = !0, + this.root.scaleY = 0, + Laya.timer.clearAll(this), + Laya.Tween.to(this.root, { + scaleY: 1 + }, 150, null, Laya.Handler.create(this, function() { + e.locking = !1 + })), + Laya.timer.once(3e3, this, function() { + e.close() + }) + } + , + i.prototype.show_dmm = function(e, i) { + var n = game.GameUtility.get_item_view(e) + , a = t.UI_Bag.get_item_count(e); + this.show(game.Tools.strOfLocalization(8003) + "\n" + n.name + (a - i).toString() + "→" + a) + } + , + i.prototype.close = function() { + var t = this; + this.locking = !0, + Laya.timer.clearAll(this), + Laya.Tween.to(this.root, { + scaleY: 0 + }, 150, null, Laya.Handler.create(this, function() { + t.locking = !1, + t.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_LightTips = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e; + !function(t) { + t[t.normal = 0] = "normal", + t[t.detail = 1] = "detail", + t[t.liqiing = 2] = "liqiing" + }(e || (e = {})); + var i = function(i) { + function n() { + var t = i.call(this) || this; + return t.c_gang = null, + t.com_add_gang = null, + t.com_an_gang = null, + t.liqi_data = null, + t._oplist = [], + t.state = e.normal, + n.Inst = t, + t + } + return __extends(n, i), + n.prototype.show = function(t) { + this.com_add_gang = [], + this.com_an_gang = [], + this.liqi_data = []; + for (var i = [], n = 0; n < t.length; n++) + switch (t[n].type) { + case mjcore.E_PlayOperation.babei: + i.push("btn_babei"); + break; + case mjcore.E_PlayOperation.add_gang: + this.com_add_gang = t[n].combination; + break; + case mjcore.E_PlayOperation.an_gang: + this.com_an_gang = t[n].combination; + break; + case mjcore.E_PlayOperation.liqi: + i.push("btn_lizhi"), + this.liqi_data = t[n].combination; + break; + case mjcore.E_PlayOperation.zimo: + i.push("btn_zimo"); + break; + case mjcore.E_PlayOperation.jiuzhongjiupai: + i.push("btn_jiuzhongjiupai") + } + this.com_add_gang.length + this.com_an_gang.length > 0 && i.push("btn_gang"), + i.push("btn_cancel"), + this._oplist = i, + this.showOp(i), + this.enable = !0, + this.state = e.normal, + view.AudioMgr.PlayAudio(202) + } + , + n.prototype.onClickOpBtn = function(t) { + if (view.DesktopMgr.Inst.mode == view.EMJMode.play) + switch (view.AudioMgr.PlayAudio(101), + t) { + case "btn_gang": + this.onBtn_Gang(); + break; + case "btn_lizhi": + this.onBtn_Liqi(); + break; + case "btn_zimo": + this.onBtn_Zimo(); + break; + case "btn_cancel": + this.onBtn_Cancel(); + break; + case "btn_jiuzhongjiupai": + this.onBtn_Liuju(); + break; + case "btn_babei": + this.onBtn_BaBei() + } + } + , + n.prototype.onDetailBack = function() { + view.DesktopMgr.Inst.mode == view.EMJMode.play && (this.showOp(this._oplist), + view.AudioMgr.PlayAudio(101)) + } + , + n.prototype.onClickDetail = function(e) { + view.AudioMgr.PlayAudio(101), + this.enable = !1, + e < this.com_add_gang.length ? app.NetAgent.sendReq2MJ("FastTest", "inputOperation", { + type: mjcore.E_PlayOperation.add_gang, + index: e, + timeuse: t.UI_DesktopInfo.Inst._timecd.timeuse + }, function(t, e) {}) : app.NetAgent.sendReq2MJ("FastTest", "inputOperation", { + type: mjcore.E_PlayOperation.an_gang, + index: e - this.com_add_gang.length, + timeuse: t.UI_DesktopInfo.Inst._timecd.timeuse + }, function(t, e) {}), + view.DesktopMgr.Inst.WhenDoOperation() + } + , + n.prototype.onBtn_Gang = function() { + if (this.com_an_gang.length + this.com_add_gang.length == 1) + 1 == this.com_an_gang.length ? app.NetAgent.sendReq2MJ("FastTest", "inputOperation", { + type: mjcore.E_PlayOperation.an_gang, + index: 0, + timeuse: t.UI_DesktopInfo.Inst._timecd.timeuse + }, function(t, e) {}) : app.NetAgent.sendReq2MJ("FastTest", "inputOperation", { + type: mjcore.E_PlayOperation.add_gang, + timeuse: t.UI_DesktopInfo.Inst._timecd.timeuse, + index: 0 + }, function(t, e) {}), + this.enable = !1; + else { + for (var i = [], n = 0; n < this.com_add_gang.length; n++) + i.push(this.com_add_gang[n]); + for (n = 0; n < this.com_an_gang.length; n++) + i.push(this.com_an_gang[n]); + this.showDetail(game.Tools.strOfLocalization(2078), i), + this.state = e.detail + } + } + , + n.prototype.onLiqiBack = function() { + this.container_btns.visible = !0, + this.btn_cancel.visible = !1, + view.DesktopMgr.Inst.mainrole.LiQiSelect(null, !1), + this.state = e.normal + } + , + n.prototype.onBtn_Liqi = function() { + this.container_btns.visible = !1, + this.btn_cancel.visible = !0, + this.btn_cancel.clickHandler = Laya.Handler.create(this, this.onLiqiBack); + for (var t = [], i = 0; i < this.liqi_data.length; i++) + t.push(mjcore.MJPai.Create(this.liqi_data[i])); + view.DesktopMgr.Inst.mainrole.LiQiSelect(t, !0), + this.state = e.liqiing + } + , + n.prototype.onBtn_Zimo = function() { + app.NetAgent.sendReq2MJ("FastTest", "inputOperation", { + type: mjcore.E_PlayOperation.zimo, + index: 0, + timeuse: t.UI_DesktopInfo.Inst._timecd.timeuse + }, function(t, e) {}), + view.DesktopMgr.Inst.WhenDoOperation() + } + , + n.prototype.onBtn_BaBei = function() { + var e = !1 + , i = view.DesktopMgr.Inst.mainrole; + i.last_tile && "4z" === i.last_tile.val.toString() && (e = !0), + app.NetAgent.sendReq2MJ("FastTest", "inputOperation", { + type: mjcore.E_PlayOperation.babei, + moqie: e, + timeuse: t.UI_DesktopInfo.Inst._timecd.timeuse + }, function(t, e) {}), + view.DesktopMgr.Inst.WhenDoOperation() + } + , + n.prototype.onBtn_Liuju = function() { + app.NetAgent.sendReq2MJ("FastTest", "inputOperation", { + type: mjcore.E_PlayOperation.jiuzhongjiupai, + index: 0, + timeuse: t.UI_DesktopInfo.Inst._timecd.timeuse + }, function(t, e) {}), + view.DesktopMgr.Inst.WhenDoOperation() + } + , + n.prototype.onBtn_Cancel = function() { + view.DesktopMgr.Inst.mainrole.can_discard || (app.NetAgent.sendReq2MJ("FastTest", "inputOperation", { + cancel_operation: !0, + timeuse: t.UI_DesktopInfo.Inst._timecd.timeuse + }, function(t, e) {}), + view.DesktopMgr.Inst.WhenDoOperation()), + this.enable = !1 + } + , + n.prototype.onDoubleClick = function(t) { + return this.state == e.detail ? (this.onDetailBack(), + !1) : this.state == e.liqiing ? (this.onLiqiBack(), + !1) : !!t || (this.onBtn_Cancel(), + !1) + } + , + n.prototype.onDisable = function() { + Laya.timer.clearAll(this) + } + , + n.Inst = null, + n + }(t.UI_PlayerOperation); + t.UI_LiQiZiMo = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var i = t.call(this, new ui.common.lite_loadingUI) || this; + return e.Inst = i, + i + } + return __extends(e, t), + e.prototype.show = function() { + this.enable = !0 + } + , + e.prototype.close = function() { + this.enable = !1 + } + , + e + }(t.UIBase); + t.UI_Lite_Loading = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.mj.liujuUI) || this; + return t.root = null, + t.img_title = null, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + this.root = this.me.getChildByName("root"), + this.img_title = this.root.getChildByName("title") + } + , + i.prototype.Show = function(t) { + var e = this; + this.data = t; + var i = "" + , n = ""; + switch (t.type) { + case mjcore.E_LiuJu.jiuzhongjiupai: + i = "jiuzhongjiupai", + n = "gameend_jiuzhongjiupai"; + break; + case mjcore.E_LiuJu.sanjiahule: + i = "sanjiahule"; + break; + case mjcore.E_LiuJu.sifenglianda: + i = "sifenglianda", + n = "gameend_sifenglianda"; + break; + case mjcore.E_LiuJu.sijializhi: + i = "sijializhi"; + break; + case mjcore.E_LiuJu.sigangsanle: + i = "sigangsanle", + n = "gameend_sigangliuju" + } + this.img_title.skin = game.Tools.localUISrc("myres/mjdesktop/" + i + ".png"), + this.enable = !0, + Laya.Tween.from(this.root, { + alpha: 0 + }, 500), + "" != n && (t.type == mjcore.E_LiuJu.jiuzhongjiupai ? view.AudioMgr.PlayCharactorSound(view.DesktopMgr.Inst.player_datas[t.seat].character, n) : view.AudioMgr.PlayCharactorSound(view.DesktopMgr.Inst.main_role_character_info, n)), + view.DesktopMgr.Inst.mode == view.EMJMode.play ? Laya.timer.once(4e3, this, this.onBtnConfirm) : Laya.timer.once(4e3, this, function() { + e.enable = !1 + }) + } + , + i.prototype.onDisable = function() { + Laya.timer.clearAll(this) + } + , + i.prototype.onBtnConfirm = function() { + null != view.DesktopMgr.Inst.gameEndResult ? (t.UIMgr.Inst.ShowGameEnd(), + this.enable = !1) : (view.DesktopMgr.Inst.Reset(), + Laya.timer.once(200, this, function() { + app.NetAgent.sendReq2MJ("FastTest", "confirmNewRound", {}, function(t, e) {}) + })) + } + , + i + }(t.UIBase); + t.UI_LiuJu = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e, i = function() { + function e(e) { + var i = this; + this._show_hand = !1, + this._show_paopai = !1, + this._show_replay = !1, + this.me = e, + this._btn_out = this.me.getChildByName("btn_out"), + this._btn_out.clickHandler = Laya.Handler.create(this, function() { + i.switch() + }, null, !1), + this.me.getChildByName("btn_shoupai").clickHandler = Laya.Handler.create(this, function() { + i._show_hand = !i._show_hand, + i._choosed_show_hand.visible = i._show_hand, + view.DesktopMgr.Inst.onShowHandChange(i._show_hand) + }, null, !1), + this._choosed_show_hand = this.me.getChildByName("btn_shoupai").getChildByName("choosed"), + this.me.getChildByName("btn_paopai").clickHandler = Laya.Handler.create(this, function() { + i._show_paopai = !i._show_paopai, + i._choosed_show_paopai.visible = i._show_paopai, + view.DesktopMgr.Inst.onShowPaopaiChange(i._show_paopai) + }, null, !1), + this._choosed_show_paopai = this.me.getChildByName("btn_paopai").getChildByName("choosed"), + this.me.getChildByName("btn_showbar").clickHandler = Laya.Handler.create(this, function() { + t.UI_Ob_Replay.Inst.locking || t.UI_Ob_Replay.Inst.anim_time > Laya.timer.currTimer || "RecordHule" != n.Inst.last_action_name && "RecordLiuJu" != n.Inst.last_action_name && "RecordNoTile" != n.Inst.last_action_name && ("RecordNewRound" == n.Inst.last_action_name && n.Inst.during_do_cd || (i._show_replay = !i._show_replay, + i._choosed_show_replay.visible = i._show_replay, + i._show_replay ? n.Inst.enterReplay() : n.Inst.closeReplay())) + }, null, !1), + this._choosed_show_replay = this.me.getChildByName("btn_showbar").getChildByName("choosed"), + this.me.getChildByName("label_word").visible = "chs" == GameMgr.client_language, + this.me.getChildByName("img_set").visible = "chs" != GameMgr.client_language + } + return e.prototype.reset = function() { + Laya.Tween.clearAll(this), + this._show_hand = !1, + this.me.x = -258, + this._btn_out.disabled = !1, + this._choosed_show_hand.visible = this._show_hand, + this._show_paopai = !1, + this._choosed_show_paopai.visible = this._show_paopai, + this._show_replay = !1, + this._choosed_show_replay.visible = this._show_replay + } + , + e.prototype.switch = function() { + var t = this + , e = -258; + this.me.x < -100 && (e = -5), + this._btn_out.disabled = !0, + Laya.Tween.to(this.me, { + x: e + }, 200, Laya.Ease.strongOut, Laya.Handler.create(this, function() { + t._btn_out.disabled = !1 + }), 0, !0, !0) + } + , + e + }(); + !function(t) { + t[t.none = 0] = "none", + t[t.gameing = 1] = "gameing", + t[t.replay = 2] = "replay" + }(e || (e = {})); + var n = function(n) { + function a() { + var t = n.call(this, new ui.mj.live_broadcastUI) || this; + return t.state = e.none, + t.segments = [], + t._time0 = 0, + t._time_start = 0, + t.segment_index = 0, + t.unit_index = 0, + t.during_asknew = !1, + t.retry_loadtime = 0, + t.segment_end_millisecond = 0, + t.guanzhanconfig = null, + t.do_unit_cd = 0, + t.time_stop_length = 0, + t.time_stop_start_time = 0, + t._last_action_name = "", + t.have_gameend = !1, + t.is_realtime = !1, + t.pending_units = [], + a.Inst = t, + app.NetAgent.AddListener2MJ("NotifyObserveData", Laya.Handler.create(t, function(e) { + t.pending_units.push(e) + })), + t + } + return __extends(a, n), + a.fetchInfo = function(e, i) { + app.NetAgent.sendReq2Lobby("Lobby", "fetchGameLiveInfo", { + game_uuid: e + }, function(n, a) { + n || a.error ? (t.UIMgr.Inst.showNetReqError("fetchGameLiveInfo", n, a), + i && i.runWith({ + success: !1 + })) : (app.Log.log("fetchGameLiveInfo res:" + JSON.stringify(a)), + a.left_start_seconds ? t.UI_WaitOb.Inst.show(e, a.left_start_seconds, i) : i && i.runWith({ + success: !0, + data: a + })) + }) + } + , + a.goToWatch = function(e, i, n) { + var r = this; + app.Log.log("goToWatch res:" + JSON.stringify(i)), + t.UI_Loading.Inst.show("enter_mj"), + game.Scene_Lobby.Inst.active && (game.Scene_Lobby.Inst.active = !1); + for (var s = i.live_head, o = [null, null, null, null], l = 0; l < s.players.length; l++) { + for (var h = -1, c = 0; c < s.seat_list.length; c++) + if (s.seat_list[c] == s.players[l].account_id) { + h = c; + break + } + -1 != h ? o[h] = s.players[l] : app.Log.Error("goToWatch " + JSON.stringify(s.players[l]) + "未找到位置") + } + var _ = game.Tools.strOfLocalization(2003) + , u = s.game_config.mode; + u.extendinfo && (_ = game.Tools.strOfLocalization(2004)), + u.detail_rule && u.detail_rule.ai_level && (1 === u.detail_rule.ai_level && (_ = game.Tools.strOfLocalization(2003)), + 2 === u.detail_rule.ai_level && (_ = game.Tools.strOfLocalization(2004))); + for (l = 0; l < o.length; l++) + null == o[l] && (o[l] = { + nickname: _, + avatar_id: game.GameUtility.get_default_ai_skin(), + level: { + id: 10101 + }, + level3: { + id: 20101 + }, + character: { + charid: game.GameUtility.get_default_ai_character(), + level: 0, + exp: 0, + views: [], + skin: game.GameUtility.get_default_ai_skin(), + is_upgraded: !1 + } + }); + game.Scene_MJ.Inst.openMJRoom({ + mode: u + }, o, Laya.Handler.create(this, function() { + view.DesktopMgr.Inst.initRoom(JSON.parse(JSON.stringify(s.game_config)), o, n, view.EMJMode.live_broadcast, Laya.Handler.create(r, function() { + t.UI_Loading.Inst.setProgressVal(.7), + Laya.timer.once(1e3, r, function() { + GameMgr.Inst.EnterMJ(), + t.UI_Loading.Inst.setProgressVal(.8), + a.Inst.startLive(e) + }) + })) + }), Laya.Handler.create(this, function(e) { + return t.UI_Loading.Inst.setProgressVal(.7 * e) + }, null, !1)) + } + , + Object.defineProperty(a.prototype, "during_do_cd", { + get: function() { + return Laya.timer.currTimer < this.do_unit_cd + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(a.prototype, "during_play", { + get: function() { + return this.state == e.gameing + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(a.prototype, "last_action_name", { + get: function() { + return this._last_action_name + }, + enumerable: !0, + configurable: !0 + }), + a.prototype.onCreate = function() { + this.guanzhanconfig = new i(this.me.getChildByName("config")) + } + , + a.prototype.onDisable = function() { + Laya.timer.clearAll(this), + this.pending_units = [] + } + , + a.prototype._doRecord = function(t, e, i) { + switch (view.DesktopMgr.Inst.ClearOperationShow(), + this._last_action_name = t, + t) { + case "RecordNewRound": + return view.ActionNewRound.record(e, i); + case "RecordDiscardTile": + return view.ActionDiscardTile.record(e, i); + case "RecordDealTile": + return view.ActionDealTile.record(e, i); + case "RecordChiPengGang": + return view.ActionChiPengGang.record(e, i); + case "RecordAnGangAddGang": + return view.ActionAnGangAddGang.record(e, i); + case "RecordHule": + return view.ActionHule.record(e); + case "RecordLiuJu": + return view.ActionLiuJu.record(e); + case "RecordNoTile": + return view.ActionNoTile.record(e); + case "RecordBaBei": + return view.ActionBabei.record(e) + } + return 0 + } + , + a.prototype._doFastRecord = function(t, e, i) { + try { + switch (this._last_action_name = t, + t) { + case "RecordNewRound": + view.ActionNewRound.fastrecord(e, i); + break; + case "RecordDiscardTile": + view.ActionDiscardTile.fastrecord(e, i); + break; + case "RecordDealTile": + view.ActionDealTile.fastrecord(e, i); + break; + case "RecordChiPengGang": + view.ActionChiPengGang.fastrecord(e, i); + break; + case "RecordAnGangAddGang": + view.ActionAnGangAddGang.fastrecord(e, i); + break; + case "RecordHule": + view.ActionHule.fastrecord(e); + break; + case "RecordLiuJu": + view.ActionLiuJu.fastrecord(e); + break; + case "RecordNoTile": + view.ActionNoTile.fastrecord(e); + break; + case "RecordBaBei": + view.ActionBabei.fastrecord(e) + } + } catch (i) { + var n = {}; + return n.error = i.message, + n.stack = i.stack, + n.method = "ui_live_broadcast doFastRecord", + n.name = t, + n.data = e, + GameMgr.Inst.onFatalError(n), + 1e6 + } + } + , + a.prototype._doUnit = function(e, i, n) { + if (i) { + if (1 == e.category) + return this._doFastRecord(e.name, e.data, n), + view.DesktopMgr.Inst.timestoped || (this.time_stop_length = 0), + 0; + if ("GameNewRoundState" == e.name) { + for (r = 0; r < e.data.seat_states.length; r++) + view.DesktopMgr.player_link_state[r] = e.data.seat_states[r]; + t.UI_DesktopInfo.Inst.refreshLinks() + } else + "NotifyGameEndResult" == e.name ? (view.DesktopMgr.Inst.gameEndResult = e.data.result, + this.enable = !1, + t.UIMgr.Inst.ShowGameEnd()) : "NotifyPlayerConnectionState" == e.name ? t.UI_DesktopInfo.Inst.onPlayerConnectionState(e.data) : "GameEndAction" == e.name ? 3 == e.data.state && t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(16), Laya.Handler.create(this, function() { + game.Scene_MJ.Inst.ForceOut() + })) : "NotifyGamePause" == e.name && (view.DesktopMgr.Inst.setGameStop(e.data.paused), + this.time_stop_start_time > 0 && (this.time_stop_length += e.timestamp - this.time_stop_start_time), + view.DesktopMgr.Inst.timestoped ? this.time_stop_start_time = e.timestamp : this.time_stop_start_time = -1); + return -1 + } + if (1 == e.category) { + var a = this._doRecord(e.name, e.data, n); + return view.DesktopMgr.Inst.timestoped || (this.time_stop_length = 0), + a + } + if ("GameNewRoundState" == e.name) { + for (var r = 0; r < e.data.seat_states.length; r++) + view.DesktopMgr.player_link_state[r] = e.data.seat_states[r]; + t.UI_DesktopInfo.Inst.refreshLinks() + } else + "NotifyGameEndResult" == e.name ? (view.DesktopMgr.Inst.gameEndResult = e.data.result, + this.enable = !1, + t.UIMgr.Inst.ShowGameEnd()) : "NotifyGameBroadcast" == e.name ? t.UI_DesktopInfo.Inst.onGameBroadcast(e.data) : "NotifyPlayerConnectionState" == e.name ? t.UI_DesktopInfo.Inst.onPlayerConnectionState(e.data) : "GameEndAction" == e.name ? 3 == e.data.state && t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(16), Laya.Handler.create(this, function() { + game.Scene_MJ.Inst.ForceOut() + })) : "NotifyGamePause" == e.name && (view.DesktopMgr.Inst.setGameStop(e.data.paused), + this.time_stop_start_time > 0 && (this.time_stop_length += e.timestamp - this.time_stop_start_time), + view.DesktopMgr.Inst.timestoped ? this.time_stop_start_time = e.timestamp : this.time_stop_start_time = -1); + return -1 + } + , + a.prototype._parseUnit = function(t) { + var e = net.MessageWrapper.decodeMessage(t.action_data); + return { + timestamp: t.timestamp, + category: t.action_category, + name: e.$type.name, + data: e + } + } + , + a.prototype._loadUnit = function(t, e, i) { + var n = this + , a = new Laya.HttpRequest; + a.once(Laya.Event.COMPLETE, this, function(e) { + if (i) { + var a = new Laya.Byte; + a.writeArrayBuffer(e); + for (var r = net.MessageWrapper.decodeMessage(a.getUint8Array(0, a.length)), s = [], o = 0; o < r.actions.length; o++) + s.push(n._parseUnit(r.actions[o])); + i.runWith({ + success: !0, + id: t, + units: s + }) + } + }), + a.once(Laya.Event.ERROR, this, function(e) { + i && i.runWith({ + success: !1, + id: t + }) + }); + a.send(e, "", "get", "arraybuffer", []) + } + , + a.prototype.startLive = function(e) { + var i = this; + app.NetAgent.sendReq2Lobby("Lobby", "fetchGameLiveInfo", { + game_uuid: e + }, function(n, a) { + if (n || a.error || a.left_start_seconds) + t.UIMgr.Inst.showNetReqError("fetchGameLiveInfo", n, a), + i._forceQuit(); + else { + var r = a; + i.segment_index = 0, + i.segments = [], + i._time0 = r.now_millisecond, + i._time_start = Laya.timer.currTimer; + var s = 0 + , o = !1; + i.game_uuid = e, + i.enable = !0, + i.guanzhanconfig.reset(), + t.UI_Ob_Replay.Inst.enable = !1, + i.do_unit_cd = 0, + i.have_gameend = !1, + i.is_realtime = !1, + i.me.getChildByName("f_realtime").visible = !1; + for (var l = function(e) { + if (!o) + if (app.Log.log("loadover0 " + JSON.stringify(e)), + e.success) { + for (var n = 0; n < i.segments.length; n++) + if (i.segments[n].segment_id == e.id) { + i.segments[n].units = e.units, + i.segments[n].loaded = !0; + break + } + app.Log.log("loadover1"), + s++, + t.UI_Loading.Inst.setProgressVal(.8 + s / i.segments.length * .2), + s == i.segments.length && i._onFirstLoadOver() + } else + app.Log.log("loadover2"), + o = !0, + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(15)), + i._forceQuit() + }, h = 0; h < r.segments.length; h++) { + var c = r.segments[h].segment_id + , _ = r.segments[h].segment_uri; + i.segments.push({ + segment_id: c, + uri: _, + units: [], + loaded: !1 + }), + i._loadUnit(c, _, Laya.Handler.create(i, l)) + } + } + }) + } + , + a.prototype.clearPendingUnits = function() { + this.pending_units = [] + } + , + a.prototype.startRealtimeLive = function(e, i) { + var n = this; + this.segment_index = 0, + this.segments = [], + this.enable = !0, + this.guanzhanconfig.reset(), + t.UI_Ob_Replay.Inst.enable = !1, + this.do_unit_cd = 0, + this.have_gameend = !1, + this.is_realtime = !0, + this._time0 = 1e3 * e, + this._time_start = Laya.timer.currTimer; + var a = this.me.getChildByName("f_realtime"); + a.visible = !0, + Laya.timer.clearAll(this), + Laya.timer.frameLoop(1, this, function() { + var t = (Laya.timer.currTimer - n._time_start) / 1e3; + t -= 4 * Math.floor(t / 4), + a.alpha = t < 2 ? t / 2 * .7 + .3 : .7 * (1 - (t - 2) / 2) + .3 + }); + for (var r = [], s = 0; s < i.actions.length; s++) + r.push(this._parseUnit(i.actions[s])); + for (s = 0; s < this.pending_units.length; s++) + r.push(this._parseUnit(this.pending_units[s].unit)); + this.pending_units = [], + this.segments.push({ + segment_id: 1, + units: r, + loaded: !0 + }), + this._onFirstLoadOver() + } + , + a.prototype._onFirstLoadOver = function() { + var t = this; + if (this._fastSync() && (app.Log.log("fastSync over"), + Laya.timer.loop(100, this, function() { + if (t.is_realtime) { + for (var e = 0; e < t.pending_units.length; e++) + t.segments[0].units.push(t._parseUnit(t.pending_units[e].unit)); + t.pending_units = [] + } + t._timeDoAction(!1) + }, null, !0), + !this.is_realtime)) { + var e = this.segments[this.segments.length - 1].units + , i = e[e.length - 1].timestamp; + this.segment_end_millisecond = i, + Laya.timer.loop(3700, this, function() { + t._askNewSegment() + }, null, !1) + } + } + , + a.prototype._unitIsTimeLast = function(t, e) { + if (t >= this.segments.length) + return !0; + var i = this.segments[t]; + if (!i.loaded) + return !0; + if (i.units.length <= e) + return this._unitIsTimeLast(t + 1, 0); + var n = this._time0 + Laya.timer.currTimer - this._time_start + , a = i.units[e]; + return a.timestamp > n || 2 == a.category && this._unitIsTimeLast(t, e + 1) + } + , + a.prototype._getTimeStop = function(t, e, i) { + var n = 0; + if (i > 0 && (n = this._time0 + Laya.timer.currTimer - this._time_start - i), + t >= this.segments.length) + return n; + var a = this.segments[t]; + if (!a.loaded) + return n; + if (a.units.length <= e) + return this._getTimeStop(t + 1, 0, i); + var r = a.units[e] + , s = this._time0 + Laya.timer.currTimer - this._time_start; + if (r.timestamp > s) + return n; + if (1 == r.category) + return 0; + if ("NotifyGamePause" == r.name) { + var o = 0; + return i > 0 && (o += r.timestamp - i), + i = r.data.paused ? r.timestamp : -1, + o + this._getTimeStop(t, e + 1, i) + } + return this._getTimeStop(t, e + 1, i) + } + , + a.prototype._timeDoAction = function(i) { + if (this.state != e.gameing) + return !1; + if (this.segment_index >= this.segments.length) + return !1; + var n = this.segments[this.segment_index]; + if (!n.loaded) + return !1; + if (this.segment_index == this.segments.length - 1 && this.unit_index >= n.units.length) + return !1; + var a = n.units[this.unit_index] + , r = this._time0 + Laya.timer.currTimer - this._time_start; + if (a.timestamp > r && !this.is_realtime) + return !0; + if ("NotifyGameEndResult" == a.name) + return !0; + if (1 == a.category && this.during_do_cd) + return !0; + var s = this._unitIsTimeLast(this.segment_index, this.unit_index + 1); + s && (r -= this._getTimeStop(this.segment_index, this.unit_index + 1, this.time_stop_start_time)); + var o = 0; + if (o = this.is_realtime ? (o = Laya.timer.currTimer + GameMgr.Inst.server_time_delta - this._time0 - a.timestamp) < 0 ? 0 : o : r - a.timestamp, + t.UI_Loading.Inst && t.UI_Loading.Inst.enable && t.UI_Loading.Inst.close(), + i) + s ? this._doUnit(a, !0, o) : this._doUnit(a, !0, -1); + else { + var l = this._doUnit(a, !1, o); + l > 0 && (this.do_unit_cd = Laya.timer.currTimer + l) + } + return this.unit_index++, + this.unit_index >= n.units.length && !this.is_realtime && (this.unit_index = 0, + this.segment_index++), + this._timeDoAction(i) + } + , + a.prototype._askNewSegment = function() { + var e = this; + if (!this.have_gameend && !(this.during_asknew || this.retry_loadtime >= 3) && this.segments[this.segments.length - 1].loaded) { + this._time0 + Laya.timer.currTimer - this._time_start + 15e3 < this.segment_end_millisecond || (this.during_asknew = !0, + app.NetAgent.sendReq2Lobby("Lobby", "fetchGameLiveLeftSegment", { + game_uuid: this.game_uuid, + last_segment_id: this.segments[this.segments.length - 1].segment_id + }, function(i, n) { + if (e.during_asknew = !1, + i || n.error) + e.retry_loadtime++, + e.retry_loadtime >= 3 && t.UIMgr.Inst.showNetReqError("fetchGameLiveLeftSegment", i, n); + else { + e.retry_loadtime = 0; + var a = n.segments; + e.segment_end_millisecond = n.segment_end_millisecond; + for (var r = function(t) { + if (t.success) + for (var i = 0; i < e.segments.length; i++) + if (e.segments[i].segment_id == t.id) { + e.segments[i].units = t.units; + for (var n = 0; n < t.units.length; n++) + if ("NotifyGameEndResult" == t.units[n].name) { + e.have_gameend = !0; + break + } + e.segments[i].loaded = !0; + break + } + }, s = e.segments[e.segments.length - 1].segment_id, o = 0; o < a.length; o++) { + var l = a[o].segment_id + , h = a[o].segment_uri; + l <= s || (e.segments.push({ + segment_id: l, + uri: h, + units: [], + loaded: !1 + }), + e._loadUnit(l, h, Laya.Handler.create(e, r, null, !1))) + } + } + })) + } + } + , + a.prototype._forceQuit = function() { + this.state = e.none, + this.enable = !1, + GameMgr.Inst.EnterLobby() + } + , + a.prototype._fastSync = function() { + var i = -1 + , n = -1; + this.time_stop_start_time = -1, + this.time_stop_length = 0; + var a = this._time0 + Laya.timer.currTimer - this._time_start; + this.is_realtime && (a = Laya.timer.currTimer); + for (var r = 0; r < this.segments.length; r++) + for (var s = this.segments[r], o = 0; o < s.units.length; o++) + s.units[o].timestamp <= a && "RecordNewRound" == s.units[o].name && (i = r, + n = o); + if (app.Log.log("_fastSync1: segment=" + i + ", unit=" + n), + -1 == i) { + i = 0; + for (var s = this.segments[0], o = 0; o < s.units.length; o++) + if ("RecordNewRound" == s.units[o].name) { + i = 0, + n = o, + this._time0 = s.units[o].timestamp - 50; + break + } + } + return app.Log.log("_fastSync2: segment=" + i + ", unit=" + n), + -1 == n ? this.is_realtime ? (this.state = e.gameing, + this.segment_index = 0, + this.unit_index = 0, + !0) : (app.Log.Error("给的数据没有RecordNewRound"), + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(15)), + this._forceQuit(), + !1) : (this.state = e.gameing, + this.segment_index = i, + this.unit_index = n, + this._timeDoAction(!0), + !0) + } + , + a.prototype.onChangeMainbody = function() { + this.state == e.gameing ? (this.do_unit_cd = 0, + this._fastSync()) : this.state == e.replay && t.UI_Ob_Replay.Inst.onChangeMainBody() + } + , + a.prototype.onScoreChangeConfirm = function() { + if (this.state == e.gameing) { + if (this.do_unit_cd = 0, + this.segment_index >= this.segments.length) + return !1; + var i = this.segments[this.segment_index]; + if (!i.loaded) + return !1; + if (this.segment_index == this.segments.length - 1 && this.unit_index >= i.units.length) + return !1; + var n = i.units[this.unit_index]; + "NotifyGameEndResult" == n.name && (t.UI_ScoreChange.Inst.enable = !1, + this._doUnit(n, !1, 0)) + } else + this.state == e.replay && (t.UI_ScoreChange.Inst.enable = !1, + t.UI_Ob_Replay.Inst.nextStep(!0)) + } + , + a.prototype.enterReplay = function() { + this.state = e.replay; + for (var i = [], n = 0; n <= this.segment_index && n < this.segments.length && this.segments[n].loaded; n++) + for (var a = this.segments[n].units, r = 0; r < a.length && !(n == this.segment_index && r >= this.unit_index); r++) { + var s = a[r]; + 1 == s.category && i.push({ + name: s.name, + data: s.data + }) + } + t.UI_Ob_Replay.Inst.show(i), + view.DesktopMgr.Inst.ClearOperationShow() + } + , + a.prototype.closeReplay = function() { + this.state = e.gameing, + t.UI_Ob_Replay.Inst.close(), + this.do_unit_cd = 0, + this._fastSync() + } + , + a + }(t.UIBase); + t.UI_Live_Broadcast = n +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.loadingUI) || this; + return t.tips = [], + t.tips_showindex = 0, + t.tips_changeCD = 0, + t.current_progress = 0, + t.pre_t = 0, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.img_loading = this.me.getChildByName("loading"), + this.container_waitother = this.me.getChildByName("waitother"), + this.waitother_label0 = this.container_waitother.getChildByName("count0"), + this.waitother_label1 = this.container_waitother.getChildByName("count1"), + this.label_tips = this.me.getChildByName("tips"), + this.progress_bar = this.me.getChildByName("progress"), + this.progress_val = this.progress_bar.getChildByName("bar").mask, + this.img_flower = this.progress_bar.getChildByName("flower"), + this.progress_label = this.progress_bar.getChildByName("bar").getChildByName("v"), + this.img_desktop = this.me.getChildByName("desktop"), + this.img_left = this.me.getChildByName("left"), + this.img_mid = this.me.getChildByName("mid"), + this.img_right = this.me.getChildByName("right"), + cfg.str.str.forEach(function(e) { + "fighttips" == e.type && t.tips.push(e[GameMgr.client_language]) + }) + } + , + i.prototype.show = function(e) { + if (this.pre_t = Laya.timer.currTimer, + this.current_progress = 0, + this.progress_val.width = 0, + this.img_flower.x = 0, + this.progress_label.x = -40, + this.img_loading.skin = game.Tools.localUISrc("myres/necessary/" + e + ".png"), + !this.enable) { + t.UIMgr.Inst.closeUIWithTag_Both(), + this.enable = !0; + for (var i = 1; i < this.tips.length; i++) { + var n = Math.floor(Math.random() * (i + 1)) + , a = this.tips[n]; + this.tips[n] = this.tips[i], + this.tips[i] = a + } + this.tips_showindex = 0, + this.tips_changeCD = Laya.timer.currTimer + 5e3, + this.label_tips.text = this.tips[0], + this.img_loading.visible = !0, + this.container_waitother.visible = !1, + this.starttime = Laya.timer.currTimer, + this.me.getChildByName("black").visible = !0, + game.LoadMgr.setImgSkin(this.img_desktop, "myres2/loading_3que1/desktop" + Math.floor(2 * Math.random()) + ".png"), + game.LoadMgr.setImgSkin(this.img_left, "myres2/loading_3que1/left" + Math.floor(5 * Math.random()) + ".png"), + game.LoadMgr.setImgSkin(this.img_mid, "myres2/loading_3que1/mid" + Math.floor(5 * Math.random()) + ".png"), + game.LoadMgr.setImgSkin(this.img_right, "myres2/loading_3que1/right" + Math.floor(5 * Math.random()) + ".png") + } + } + , + i.prototype.close = function(t) { + void 0 === t && (t = null), + this.enable = !1, + t && t.run() + } + , + i.prototype.update = function() { + var t = Laya.timer.currTimer - this.pre_t; + this.pre_t = Laya.timer.currTimer, + this.refresh_flower(), + this.refresh_progress(t) + } + , + i.prototype.showLoadCount = function(t, e) { + this.img_loading.visible = !1, + this.container_waitother.visible = !0, + this.waitother_label0.text = t.toString(), + this.waitother_label1.text = e.toString(); + for (var i = this.container_waitother.displayWidth / this.container_waitother.scaleX + 40, n = 0; n < this.container_waitother.numChildren; n++) { + var a = this.container_waitother.getChildAt(n); + a.x = i, + i += a.textField.textWidth + } + } + , + i.prototype.setProgressVal = function(t) { + this.current_progress = t + } + , + i.prototype.refresh_flower = function() { + var t = Laya.timer.currTimer - this.starttime; + t > 2e3 && (t = 0, + this.starttime = Laya.timer.currTimer); + var e = t / 2e3; + this.img_flower.rotation = 360 * e, + this.tips_changeCD <= Laya.timer.currTimer && (this.tips_changeCD = Laya.timer.currTimer + 5e3, + this.tips_showindex = (this.tips_showindex + 1) % this.tips.length, + this.label_tips.text = this.tips[this.tips_showindex]) + } + , + i.prototype.refresh_progress = function(t) { + var e = this.progress_bar.width * (.8 * this.current_progress + .2); + if (this.progress_val.width >= e) + this.progress_val.width = e; + else { + var i = (e - this.progress_val.width) / this.progress_bar.width + , n = Math.sqrt(4 * i) * t / 1e3; + n >= i ? this.progress_val.width = e : this.progress_val.width += n * this.progress_bar.width + } + this.progress_label.x = this.progress_val.width - 40, + this.progress_label.text = (this.progress_val.width / this.progress_bar.width * 100).toFixed(0) + "%", + this.img_flower.x = this.progress_val.width + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_Loading = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(e) { + var i = this; + this.money = null, + this.rank = null, + this.small_rank = null, + this.rank_show_type = 0, + this.btn_report2019 = null, + this.me = e; + var n = e.getChildByName("container_name"); + this.name = n.getChildByName("name"), + this.rank = new t.UI_Level(n.getChildByName("rank")), + this.title = new t.UI_PlayerTitle(n.getChildByName("img_title")), + this.small_rank = new t.UI_Level(n.getChildByName("btn_small_rank")), + this.money = new t.UI_Money(e,Laya.Handler.create(h.Inst, h.Inst.Hide, null, !1),Laya.Handler.create(this, function() { + return h.Inst.locking + }, null, !1),new Laya.Handler(this,function() { + return Laya.Handler.create(i, function() { + return h.Inst.enable = !0 + }) + } + )), + n.getChildByName("btn_info").clickHandler = Laya.Handler.create(this, function() { + t.UI_PlayerInfo.Inst.show(), + GameMgr.Inst.BehavioralStatistics(13) + }, null, !1), + e.getChildByName("btn_activity").clickHandler = Laya.Handler.create(this, function() { + h.Inst.locking || (t.UI_Activity.Inst.show(), + GameMgr.Inst.BehavioralStatistics(18)) + }, null, !1), + e.getChildByName("btn_rank").clickHandler = Laya.Handler.create(this, function() { + h.Inst.locking || (t.UI_Rank.Inst.show(), + GameMgr.Inst.BehavioralStatistics(18)) + }, null, !1), + e.getChildByName("btn_info").clickHandler = Laya.Handler.create(this, function() { + h.Inst.locking || t.UI_Info.Inst.show() + }, null, !1), + e.getChildByName("btn_set").clickHandler = Laya.Handler.create(this, function() { + h.Inst.locking || t.UI_Config.Inst.show() + }, null, !1), + e.getChildByName("btn_help").clickHandler = Laya.Handler.create(this, function() { + h.Inst.locking || t.UI_Rules.Inst.show() + }, null, !1), + e.getChildByName("btn_xinshouyindao").clickHandler = Laya.Handler.create(this, function() { + h.Inst.locking || (t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : h.Inst.Hide(Laya.Handler.create(i, function() { + t.UI_XinShouYinDao.Inst.show(0, Laya.Handler.create(i, function() { + h.Inst.enable = !0 + })) + }))) + }, null, !1), + e.getChildByName("btn_camera").clickHandler = new Laya.Handler(this,function() { + h.Inst.locking || h.Inst.Hide(Laya.Handler.create(i, function() { + t.UI_Camera_Mode.Inst.show() + })) + } + ), + e.getChildByName("btn_sign").clickHandler = new Laya.Handler(this,function() { + h.Inst.locking || t.UI_Activity_Sign.Inst.show() + } + ), + n.getChildByName("btn_small_rank").clickHandler = new Laya.Handler(this,function() { + h.Inst.locking || (0 == i.rank_show_type ? i.rank_show_type = 1 : i.rank_show_type = 0, + i.show_rank(), + Laya.LocalStorage.setItem("rank_show_type", i.rank_show_type.toString())) + } + ); + var a = Laya.LocalStorage.getItem("rank_show_type"); + this.rank_show_type = "1" == a ? 1 : 0; + var r = ""; + if ("jp" == GameMgr.client_language && (r = "https://mjjpgs.mahjongsoul.com:3100/"), + "en" == GameMgr.client_language && (r = "https://mjengs.mahjongsoul.com:3100/"), + "chs" == GameMgr.client_language && (r = "https://repo2019.majsoul.com/#/report/"), + this.btn_report2019 = e.getChildByName("btn_report"), + "chs" != GameMgr.client_language && Date.now() < 1589058e6) { + this.btn_report2019.visible = !1; + var s = game.Tools.localUISrc("myres/lobby/report2019.png"); + Laya.loader.load(s, Laya.Handler.create(this, function() { + i.btn_report2019.visible = !0, + i.btn_report2019.getChildByName("img").skin = s + })), + this.btn_report2019.clickHandler = new Laya.Handler(this,function() { + t.UI_Lite_Loading.Inst.show(), + game.LoadMgr.httpload(r + "api/report/id/" + GameMgr.Inst.access_token + "?type=" + GameMgr.Inst.sociotype, "json", !0, Laya.Handler.create(i, function(e) { + t.UI_Lite_Loading.Inst.close(), + e.success ? t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(3117), Laya.Handler.create(i, function() { + Laya.Browser.window.location.href = r + "#/report/" + e.data.report_id + }), null) : t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(3116)) + })) + } + ) + } else + this.btn_report2019.visible = !1 + } + return e.prototype.refresh = function() { + var e = GameMgr.Inst.account_data; + game.Tools.SetNickname(this.name, e), + this.title.id = e.title, + this.show_rank(), + this.money.onEnable(), + this.refreshRedpoint(), + this.me.getChildByName("btn_sign").visible = t.UI_Activity.activity_is_running(t.UI_Activity_Sign.activity_id) + } + , + e.prototype.refreshRedpoint = function() { + this.me.getChildByName("btn_activity").getChildByName("redpoint").visible = t.UI_Mail.haveRedPoint || t.UI_Activity.haveRedPoint, + this.me.getChildByName("btn_info").getChildByName("redpoint").visible = t.UI_Info.haveRedPoint, + this.me.getChildByName("btn_set").getChildByName("redpoint").visible = t.UI_Config.have_redpoint() + } + , + e.prototype.show_rank = function() { + var t = "level" + , e = "level3"; + 1 == this.rank_show_type && (t = "level3", + e = "level"), + this.rank.id = GameMgr.Inst.account_data[t].id, + this.small_rank.id = GameMgr.Inst.account_data[e].id + } + , + e + }() + , i = function() { + function e(t) { + this.me = t, + this.btn_dajiangsai = t.getChildByName("btn_dajiangsai"), + this.btn_yibanchang = t.getChildByName("btn_yibanchang"), + this.btn_yourenfang = t.getChildByName("btn_yourenfang"), + this.btn_yibanchang.clickHandler = Laya.Handler.create(this, function() { + h.Inst.setPage(1), + GameMgr.Inst.BehavioralStatistics(1) + }, null, !1), + this.btn_yourenfang.clickHandler = Laya.Handler.create(this, function() { + h.Inst.setPage(2), + GameMgr.Inst.BehavioralStatistics(2) + }, null, !1), + this.btn_dajiangsai.clickHandler = Laya.Handler.create(this, function() { + GameMgr.Inst.BehavioralStatistics(3), + h.Inst.setPage(3) + }, null, !1) + } + return e.prototype.onEnable = function(e) { + var i = this; + this.btn_yibanchang.visible = !1, + this.btn_dajiangsai.visible = !1, + this.btn_yourenfang.visible = !1, + this.btn_yibanchang.alpha = 1, + this.btn_dajiangsai.alpha = 1, + this.btn_yourenfang.alpha = 1, + Laya.timer.once(e, this, function() { + view.AudioMgr.PlayAudio(104), + i.btn_yibanchang.x = 700, + i.btn_yibanchang.y = 405, + i.btn_yibanchang.scaleX = .2, + i.btn_yibanchang.scaleY = .2, + i.btn_yibanchang.visible = !0, + i.btn_yibanchang.alpha = 0, + Laya.Tween.to(i.btn_yibanchang, { + x: 1183, + y: 368, + scaleX: 1.2, + scaleY: 1.2, + alpha: 1 + }, 233, function(t, e, i, n) { + return Laya.Ease.backOut(t, e, i, n, 1) + }) + }), + Laya.timer.once(e + 100, this, function() { + view.AudioMgr.PlayAudio(104), + i.btn_dajiangsai.x = 700, + i.btn_dajiangsai.y = 530, + i.btn_dajiangsai.scaleX = .2, + i.btn_dajiangsai.scaleY = .2, + i.btn_dajiangsai.visible = !0, + i.btn_dajiangsai.alpha = 0, + Laya.Tween.to(i.btn_dajiangsai, { + x: 1110, + y: 547, + scaleX: 1.2, + scaleY: 1.2, + alpha: 1 + }, 233, function(t, e, i, n) { + return Laya.Ease.backOut(t, e, i, n, 1) + }) + }), + Laya.timer.once(e + 200, this, function() { + view.AudioMgr.PlayAudio(104), + i.btn_yourenfang.x = 700, + i.btn_yourenfang.y = 634, + i.btn_yourenfang.scaleX = .2, + i.btn_yourenfang.scaleY = .2, + i.btn_yourenfang.visible = !0, + i.btn_yourenfang.alpha = 0, + Laya.Tween.to(i.btn_yourenfang, { + x: 1123, + y: 736, + scaleX: 1.2, + scaleY: 1.2, + alpha: 1 + }, 233, function(t, e, i, n) { + return Laya.Ease.backOut(t, e, i, n, 1) + }) + }); + var n = !1 + , a = cfg.desktop.matchmode.get(13); + if (t.UI_Activity.activity_is_running(a.activity_id)) { + var r = Laya.LocalStorage.getItem("art1_1011_" + GameMgr.Inst.account_id) + , s = 0; + r && "" != r && (s = parseInt(r)), + n = Date.now() > s + 864e6 + } + this.btn_dajiangsai.getChildByName("redpoint").visible = n, + this.me.visible = !0 + } + , + e.prototype.onDisable = function(e) { + var i = this; + t.UIBase.anim_alpha_out(this.btn_yibanchang, { + x: -500, + y: 450, + scaleX: -1, + scaleY: -1 + }, 200, e, null, Laya.Ease.backIn), + t.UIBase.anim_alpha_out(this.btn_dajiangsai, { + x: -500, + y: 150, + scaleX: -1, + scaleY: -1 + }, 200, e, null, Laya.Ease.backIn), + t.UIBase.anim_alpha_out(this.btn_yourenfang, { + x: -500, + y: -150, + scaleX: -1, + scaleY: -1 + }, 200, e, null, Laya.Ease.backIn), + Laya.timer.once(200 + e, this, function() { + i.me.visible = !1 + }) + } + , + e + }() + , n = function() { + function t(t) { + var e = this; + this.me = t, + this.me.visible = !1, + this.btn_back = t.getChildByName("btn_back"), + this.btn_back.clickHandler = new Laya.Handler(this,function() { + e.func_back && e.func_back.run() + } + ), + this.title = t.getChildByName("title") + } + return t.prototype.show = function(t, e) { + this.title.text = t, + game.Tools.labelLocalizationPosition(this.title, 345, this.title.width, !0), + this.func_back = e, + this.me.visible || (this.me.visible = !0, + h.Inst.me.page_title_in.play(0, !1)), + Laya.timer.clearAll(this) + } + , + t.prototype.close = function() { + var t = this; + this.me.visible && (h.Inst.me.page_title_out.play(0, !1), + Laya.timer.once(200, this, function() { + t.me.visible = !1 + })) + } + , + t + }() + , a = function() { + function e(e) { + var i = this; + this.locking = !1, + this.me = e, + this.me.visible = !1, + this.p0 = e.getChildByName("p0"), + this.p0.getChildByName("content").vScrollBar.visible = !1, + this.content0 = this.p0.getChildByName("content"); + for (var n = GameMgr.Inst.account_data, a = function(e) { + var a = r.p0.getChildByName("content").getChildByName("btn" + e) + , s = a.getChildByName("container") + , o = s.getChildByName("btn") + , l = a.getChildByName("stop") + , c = 0; + c = e < 4 ? 1 + 3 * e : 15; + var _ = cfg.desktop.matchmode.find(c); + _.is_open ? (o.mouseEnabled = !0, + s.filters = [], + l.visible = !1, + o.clickHandler = Laya.Handler.create(r, function() { + if (!i.locking) { + var a = !0 + , r = ""; + a && !_.is_open && (a = !1, + r = game.Tools.strOfLocalization(1306)); + var s = !0 + , o = !0 + , l = !0 + , c = !0 + , u = !0 + , d = !0 + , f = n.level.id + , p = n.level3.id + , m = n.gold; + cfg.desktop.matchmode.forEach(function(t) { + var i = e + 1; + 5 == i && (i = 6), + t.room == i && ((!t.glimit_floor || m >= t.glimit_floor) && (u = !1), + (-1 == t.glimit_ceil || m <= t.glimit_ceil) && (d = !1), + t.mode < 10 ? ((!t.level_limit || f >= t.level_limit) && (s = !1), + (!t.level_limit_ceil || f <= t.level_limit_ceil) && (o = !1)) : ((!t.level_limit || p >= t.level_limit) && (l = !1), + (!t.level_limit_ceil || p <= t.level_limit_ceil) && (c = !1))) + }), + (s || o) && (l || c) ? (a = !1, + r = game.Tools.strOfLocalization(103)) : u ? (a = !1, + r = game.Tools.strOfLocalization(101)) : d && (a = !1, + r = game.Tools.strOfLocalization(102)), + a ? (i.close(), + Laya.timer.once(100, i, function() { + h.Inst.page_east_north.show(_.room) + })) : t.UIMgr.Inst.ShowErrorInfo(r) + } + }, null, !1)) : (o.mouseEnabled = !1, + s.filters = [new Laya.ColorFilter(t.GRAY_FILTER)], + l.visible = !0), + s.getChildByName("btn_tips").clickHandler = Laya.Handler.create(r, function() { + i.locking || t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(e < 4 ? 4 + e : 64)) + }, null, !1) + }, r = this, s = 0; s < 5; s++) + a(s) + } + return e.prototype.show = function() { + var t = this; + this.content0.vScrollBar.value = 0, + view.AudioMgr.PlayAudio(102), + this.me.visible = !0, + this.locking = !0, + h.Inst.page_title.show(game.Tools.strOfLocalization(2079), Laya.Handler.create(this, function() { + t.locking || h.Inst.setPage(0) + }, null, !1)), + this.p0.alpha = 1, + this.p0.visible = !1; + for (var e = 0; e < 5; e++) + this.p0.getChildByName("content").getChildByName("btn" + e).alpha = 1; + Laya.timer.once(100, this, function() { + t.p0.visible = !0, + h.Inst.me.rank_in.play(0, !1) + }), + Laya.timer.once(300, this, function() { + t.locking = !1 + }) + } + , + e.prototype.close = function() { + var t = this; + this.me.visible && (this.locking = !0, + h.Inst.me.rank_out.play(0, !1), + Laya.timer.once(200, this, function() { + t.me.visible = !1, + t.locking = !1, + Laya.timer.clearAll(t) + })) + } + , + e + }() + , r = function() { + function e(e) { + var i = this; + this.locking = !1, + this.me = e, + this.me.visible = !1, + this.btn_create_room = e.getChildByName("content").getChildByName("btn0").getChildByName("btn"), + e.getChildByName("content").getChildByName("btn0").getChildByName("btn_tips").clickHandler = Laya.Handler.create(this, function() { + t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(8)), + GameMgr.Inst.BehavioralStatistics(10) + }, null, !1), + this.btn_add_room = e.getChildByName("content").getChildByName("btn1").getChildByName("btn"), + e.getChildByName("content").getChildByName("btn1").getChildByName("btn_tips").clickHandler = Laya.Handler.create(this, function() { + t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(9)) + }, null, !1), + this.btn_create_room.clickHandler = Laya.Handler.create(this, function() { + h.Inst.locking || (t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : h.Inst.Hide(Laya.Handler.create(i, function() { + t.UI_Create_Room.Show() + }))) + }, null, !1), + this.btn_add_room.clickHandler = Laya.Handler.create(this, function() { + t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : t.UI_NumberInput.Inst.show(game.Tools.strOfLocalization(2080), Laya.Handler.create(i, function(e) { + app.NetAgent.sendReq2Lobby("Lobby", "joinRoom", { + room_id: e + }, function(e, i) { + e || i.error ? t.UIMgr.Inst.showNetReqError("joinRoom", e, i) : (h.Inst.enable = !1, + t.UI_WaitingRoom.Inst.updateData(i.room), + t.UIMgr.Inst.ShowWaitingRoom()) + }) + }), null) + }, null, !1), + "chs" != GameMgr.client_language && "chs_t" != GameMgr.client_language && (e.getChildByName("content").getChildByName("btn0").getChildByName("del").visible = !1, + e.getChildByName("content").getChildByName("btn1").getChildByName("del").visible = !1) + } + return e.prototype.show = function() { + var t = this; + h.Inst.page_title.show(game.Tools.strOfLocalization(2023), Laya.Handler.create(this, function() { + t.locking || h.Inst.setPage(0) + }, null, !1)), + this.btn_add_room.alpha = 1, + this.btn_create_room.alpha = 1, + this.btn_create_room.visible = !0, + this.btn_add_room.visible = !0, + this.me.visible = !0, + view.AudioMgr.PlayAudio(102), + h.Inst.me.friend_in.play(0, !1), + Laya.timer.once(150, this, function() { + t.locking = !1 + }) + } + , + e.prototype.close = function() { + var t = this; + this.me.visible && (this.locking = !0, + h.Inst.me.friend_out.play(0, !1), + Laya.timer.once(200, this, function() { + t.locking = !1, + t.me.visible = !1 + })) + } + , + e + }() + , s = function() { + function e(t) { + var e = this; + this.btns = [], + this.infos = [], + this.me = t, + t.visible = !1, + this.content = t.getChildByName("content"); + for (var i = function(t) { + var i = n.content.getChildByName("btn" + t); + n.btns.push(i), + i.getChildByName("container").getChildByName("btn").clickHandler = Laya.Handler.create(n, function() { + h.Inst.locking || e.locking || (e.onClickAt(t), + i.getChildByName("redpoint").visible = !1) + }, null, !1), + i.getChildByName("container").getChildByName("btn_tips").clickHandler = Laya.Handler.create(n, function() { + h.Inst.locking || e.locking || e.onShowInfo(t) + }, null, !1) + }, n = this, a = 0; a < 4; a++) + i(a) + } + return e.prototype.show = function() { + var e = this; + h.Inst.page_title.show(game.Tools.strOfLocalization(2025), Laya.Handler.create(this, function() { + e.locking || h.Inst.setPage(0) + }, null, !1)), + this.infos = [], + this.infos.push("dahuishi"), + this.infos.push("xiuxianchang"); + o = cfg.desktop.matchmode.get(33); + t.UI_Activity.activity_is_running(o.activity_id) && this.infos.push("dora3"); + o = cfg.desktop.matchmode.get(34); + t.UI_Activity.activity_is_running(o.activity_id) && this.infos.push("peipai_open"); + o = cfg.desktop.matchmode.get(13); + t.UI_Activity.activity_is_running(o.activity_id) && this.infos.push("guyi"); + o = cfg.desktop.matchmode.get(35); + t.UI_Activity.activity_is_running(o.activity_id) && this.infos.push("muyu"); + for (var i = 0; i < this.btns.length; i++) + if (i < this.infos.length) { + this.btns[i].alpha = 1, + this.btns[i].visible = !0; + var n = this.btns[i].getChildByName("redpoint") + , a = this.btns[i].getChildByName("container").getChildByName("tips") + , r = this.btns[i].getChildByName("container").getChildByName("name"); + if ("dahuishi" == this.infos[i]) + n.visible = !1, + a.text = game.Tools.strOfLocalization(2471), + r.skin = game.Tools.localUISrc("myres/lobby/w_saishidating.png"); + else if ("xiuxianchang" == this.infos[i]) + n.visible = !1, + a.text = game.Tools.strOfLocalization(2471), + r.skin = game.Tools.localUISrc("myres/lobby/w_xiuxian.png"); + else if ("dora3" == this.infos[i]) { + var s = !1 + , o = cfg.desktop.matchmode.get(33); + if (t.UI_Activity.activity_is_running(o.activity_id)) { + c = 0; + (l = Laya.LocalStorage.getItem("art0_10133_" + GameMgr.Inst.account_id)) && "" != l && (c = parseInt(l)), + s = Date.now() > c + 864e6 + } + n.visible = s, + a.text = game.Tools.strOfLocalization(2774), + r.skin = game.Tools.localUISrc("myres/lobby/w_dora3.png") + } else if ("peipai_open" == this.infos[i]) { + var s = !1 + , o = cfg.desktop.matchmode.get(34); + if (t.UI_Activity.activity_is_running(o.activity_id)) { + c = 0; + (l = Laya.LocalStorage.getItem("art0_10134_" + GameMgr.Inst.account_id)) && "" != l && (c = parseInt(l)), + s = Date.now() > c + 864e6 + } + n.visible = s, + a.text = game.Tools.strOfLocalization(2774), + r.skin = game.Tools.localUISrc("myres/lobby/w_peipai.png") + } else if ("muyu" == this.infos[i]) { + var s = !1 + , o = cfg.desktop.matchmode.get(35); + if (t.UI_Activity.activity_is_running(o.activity_id)) { + c = 0; + (l = Laya.LocalStorage.getItem("art0_10135_" + GameMgr.Inst.account_id)) && "" != l && (c = parseInt(l)), + s = Date.now() > c + 864e6 + } + n.visible = s, + a.text = game.Tools.strOfLocalization(2774), + r.skin = game.Tools.localUISrc("myres/lobby/w_muyu.png") + } else if ("guyi" == this.infos[i]) { + var s = !1 + , o = cfg.desktop.matchmode.get(13); + if (t.UI_Activity.activity_is_running(o.activity_id)) { + var l = Laya.LocalStorage.getItem("art1_1011_" + GameMgr.Inst.account_id) + , c = 0; + l && "" != l && (c = parseInt(l)), + s = Date.now() > c + 864e6 + } + n.visible = s, + a.text = game.Tools.strOfLocalization(2774), + r.skin = game.Tools.localUISrc("jp" == GameMgr.client_language ? "myres/lobby/w_luandou2.png" : "myres/lobby/w_luandou.png") + } + } else + this.btns[i].visible = !1; + this.locking = !0, + view.AudioMgr.PlayAudio(102), + this.me.visible = !0, + h.Inst.me["match_in" + this.infos.length].play(0, !1), + Laya.timer.once(150, this, function() { + e.locking = !1 + }) + } + , + e.prototype.close = function() { + var t = this; + this.me.visible && (h.Inst.me.match_out.play(0, !1), + Laya.timer.once(200, this, function() { + t.me.visible = !1 + })) + } + , + e.prototype.onClickAt = function(e) { + var i = this.infos[e]; + if ("dahuishi" == i) { + if (t.UI_PiPeiYuYue.Inst.enable) + return void t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null); + h.Inst.Hide(Laya.Handler.create(this, function() { + t.UI_Match_Lobby.Inst.show() + })) + } else if ("xiuxianchang" == i) { + var n = cfg.desktop.matchmode.find(29) + , a = GameMgr.Inst.account_data + , r = ""; + (v = !0) && !n.is_open && (v = !1, + r = game.Tools.strOfLocalization(1306)); + var s = !0 + , o = !0 + , l = !0 + , c = !0 + , _ = !0 + , u = !0 + , d = a.level.id + , f = a.level3.id + , p = a.gold; + cfg.desktop.matchmode.forEach(function(t) { + 100 == t.room && ((!t.glimit_floor || p >= t.glimit_floor) && (_ = !1), + (-1 == t.glimit_ceil || p <= t.glimit_ceil) && (u = !1), + t.mode < 10 ? ((!t.level_limit || d >= t.level_limit) && (s = !1), + (!t.level_limit_ceil || d <= t.level_limit_ceil) && (o = !1)) : ((!t.level_limit || f >= t.level_limit) && (l = !1), + (!t.level_limit_ceil || f <= t.level_limit_ceil) && (c = !1))) + }), + (s || o) && (l || c) ? (v = !1, + r = game.Tools.strOfLocalization(103)) : _ ? (v = !1, + r = game.Tools.strOfLocalization(101)) : u && (v = !1, + r = game.Tools.strOfLocalization(102)), + v ? (this.close(), + Laya.timer.once(100, this, function() { + h.Inst.page_east_north.show(n.room) + })) : t.UIMgr.Inst.ShowErrorInfo(r) + } else { + var m = 0 + , g = ""; + switch (i) { + case "dora3": + m = 33, + g = "art0_10133_"; + break; + case "guyi": + m = 13, + g = "art1_1011_"; + break; + case "peipai_open": + m = 34, + g = "art0_10134_"; + break; + case "muyu": + m = 35, + g = "art0_10135_" + } + if (m) { + var y = cfg.desktop.matchmode.find(m) + , v = !0 + , r = "" + , b = !0 + , w = !0 + , x = !0 + , I = !0 + , C = (a = GameMgr.Inst.account_data).level.id + , S = (a.level3.id, + a.gold); + cfg.desktop.matchmode.forEach(function(t) { + t.room == y.room && ((!t.glimit_floor || S >= t.glimit_floor) && (x = !1), + (-1 == t.glimit_ceil || S <= t.glimit_ceil) && (I = !1), + t.mode < 10 && ((!t.level_limit || C >= t.level_limit) && (b = !1), + (!t.level_limit_ceil || C <= t.level_limit_ceil) && (w = !1))) + }), + b || w ? (v = !1, + r = game.Tools.strOfLocalization(103)) : x ? (v = !1, + r = game.Tools.strOfLocalization(101)) : I && (v = !1, + r = game.Tools.strOfLocalization(102)), + v && !y.is_open && (v = !1, + r = game.Tools.strOfLocalization(1306)), + v ? (this.close(), + Laya.timer.once(100, this, function() { + h.Inst.page_east_north.show(y.room) + })) : t.UIMgr.Inst.ShowErrorInfo(r), + Laya.LocalStorage.setItem(g + GameMgr.Inst.account_id, Date.now().toString()) + } + } + } + , + e.prototype.onShowInfo = function(e) { + var i = this.infos[e]; + "dahuishi" == i ? t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(56)) : "xiuxianchang" == i ? t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(2841)) : "dora3" == i ? t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(2850)) : "muyu" == i ? t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(3050)) : "guyi" == i ? t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(2775)) : "peipai_open" == i && t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(3029)) + } + , + e + }() + , o = function() { + function e(e) { + var i = this; + this.btns = [], + this.locking = !1, + this.room_type = -1, + this.list_mode = [], + this._last_fetch_time = 0, + this._last_fetch_success = !1, + this.me = e, + this.me.visible = !1; + GameMgr.Inst.account_data; + this.p1 = e.getChildByName("p1"), + this.p1.getChildByName("content").vScrollBar.visible = !1, + this.content1 = this.p1.getChildByName("content"); + for (var n = function(e) { + var n = a.p1.getChildByName("content").getChildByName("btn" + e); + n.getChildByName("btn").clickHandler = Laya.Handler.create(a, function() { + if (!i.locking && i.list_mode[e].met) { + var n = i.p1.getChildByName("content").getChildByName("btn" + e).getChildByName("flag_yuyue"); + t.UI_PiPeiYuYue.Inst.matchYuYued(i.list_mode[e].id) ? t.UI_PiPeiYuYue.Inst.cancelPiPei(i.list_mode[e].id) : t.UI_PiPeiYuYue.Inst.addMatch(i.list_mode[e].id) && (n.visible = !0), + GameMgr.Inst.BehavioralStatistics(8 + e) + } + }, null, !1), + n.getChildByName("btn_tips").clickHandler = Laya.Handler.create(a, function() { + if (!i.locking) + if (200 == i.room_type) + t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(2851)); + else if (210 == i.room_type) + t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(3030)); + else if (220 == i.room_type) + t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(3051)); + else { + var n = 0; + switch (e) { + case 0: + n = 2; + break; + case 1: + n = 3; + break; + case 2: + n = 24; + break; + case 3: + n = 25 + } + t.UI_InfoLite.Inst.show(game.Tools.strOfLocalization(n)) + } + }, null, !1), + a.btns.push(n) + }, a = this, r = 0; r < 4; r++) + n(r); + t.UI_PiPeiYuYue.Inst.me.on("cancelPiPei", this, function(t) { + for (var e = 0; e < i.list_mode.length; e++) + i.list_mode[e].id == t && (i.p1.getChildByName("content").getChildByName("btn" + e).getChildByName("flag_yuyue").visible = !1) + }), + t.UI_PiPeiYuYue.Inst.me.on("pipeiover", this, function() { + for (var t = 0; t < 4; t++) + i.p1.getChildByName("content").getChildByName("btn" + t).getChildByName("flag_yuyue").visible = !1 + }) + } + return e.prototype.show = function(e) { + var i = this; + Laya.timer.clearAll(this); + var n = ""; + cfg.desktop.matchmode.forEach(function(t) { + t.room == e && (n = t["room_name_" + GameMgr.client_language]) + }), + h.Inst.page_title.show(n, Laya.Handler.create(this, function() { + i.locking || (i.close(), + 1 == e || 2 == e || 3 == e || 4 == e || 6 == e ? h.Inst.page_rank.show() : h.Inst.page_match.show()) + }, null, !1)), + this.room_type = e, + this.content1.vScrollBar.value = 0, + view.AudioMgr.PlayAudio(102), + this.me.visible = !0, + this.locking = !0; + for (a = 0; a < 4; a++) + this.p1.getChildByName("content").getChildByName("btn" + a).getChildByName("count").text = "--", + this.p1.getChildByName("content").getChildByName("btn" + a).alpha = 1; + Laya.timer.once(150, this, function() { + i.locking = !1 + }), + Laya.timer.loop(1e3, this, this._fetchPlayerCount), + this.content1.vScrollBar.value = 0, + this.list_mode = [], + cfg.desktop.matchmode.forEach(function(t, e) { + if (0 != t.mode && i.room_type == t.room) { + var n = !0 + , a = GameMgr.Inst.account_data[t.mode < 10 ? "level" : "level3"].id; + t.level_limit && a < t.level_limit && (n = !1), + t.level_limit_ceil && a > t.level_limit_ceil && (n = !1), + i.list_mode.push({ + mode: t.mode, + id: t.id, + met: n + }) + } + }), + this._last_fetch_time = 0, + this._last_fetch_success = !0, + this._fetchPlayerCount(); + for (var a = 0; a < this.btns.length; a++) { + var r = this.btns[a]; + if (a < this.list_mode.length) { + r.visible = !0, + r.getChildByName("flag_yuyue").visible = t.UI_PiPeiYuYue.Inst.matchYuYued(this.list_mode[a].id), + r.getChildByName("unmet").visible = !this.list_mode[a].met, + r.getChildByName("btn").mouseEnabled = this.list_mode[a].met; + var s = ""; + switch (this.list_mode[a].mode) { + case 1: + s = game.Tools.localUISrc("myres/lobby/w_sirendong.png"); + break; + case 2: + s = game.Tools.localUISrc("myres/lobby/w_sirennan.png"); + break; + case 11: + s = game.Tools.localUISrc("myres/lobby/w_sanrendong.png"); + break; + case 12: + s = game.Tools.localUISrc("myres/lobby/w_sanrennan.png") + } + r.getChildByName("img").skin = s + } else + r.visible = !1 + } + h.Inst.me["east_north_in" + this.list_mode.length].play(0, !1) + } + , + e.prototype.close = function() { + var t = this; + this.me.visible && (this.locking = !0, + h.Inst.me.east_north_out.play(0, !1), + Laya.timer.once(200, this, function() { + t.me.visible = !1, + t.locking = !1, + Laya.timer.clearAll(t) + })) + } + , + e.prototype._fetchPlayerCount = function() { + var e = this; + if (game.LobbyNetMgr.Inst.isOK && this._last_fetch_success && !(Laya.timer.currTimer < this._last_fetch_time + 7e3)) { + this._last_fetch_time = Laya.timer.currTimer; + for (var i = [], n = 0; n < this.list_mode.length; n++) + this.list_mode[n].met && i.push(this.list_mode[n].id); + this._last_fetch_success = !1, + app.NetAgent.sendReq2Lobby("Lobby", "fetchCurrentMatchInfo", { + mode_list: i + }, function(i, n) { + if (i || n.error) { + t.UIMgr.Inst.showNetReqError("fetchCurrentMatchInfo", i, n); + for (a = 0; a < 4; a++) + e.p1.getChildByName("content").getChildByName("btn" + a).getChildByName("count").text = "--"; + e._last_fetch_success = !1 + } else + try { + app.Log.log(JSON.stringify(n)); + for (var a = 0; a < n.matches.length; a++) { + for (var r = n.matches[a].mode_id, s = n.matches[a].playing_count, o = -1, l = 0; l < e.list_mode.length; l++) + if (e.list_mode[l].id == r) { + o = l; + break + } + -1 != o && (e.p1.getChildByName("content").getChildByName("btn" + o).getChildByName("count").text = s.toString()) + } + e._last_fetch_success = !0 + } catch (i) {} + }) + } + } + , + e + }() + , l = function() { + function e(e) { + var i = this; + this.me = e; + for (var n = function(n) { + e.getChildAt(n).clickHandler = Laya.Handler.create(a, function() { + h.Inst.locking || (0 == n ? h.Inst.Hide(Laya.Handler.create(i, function() { + t.UI_Sushe.Inst.show(0) + })) : 5 == n ? h.Inst.Hide(Laya.Handler.create(i, function() { + t.UI_Shop.Inst.show() + })) : 3 == n ? h.Inst.Hide(Laya.Handler.create(i, function() { + t.UI_PaiPu.Inst.show() + })) : 1 == n ? h.Inst.Hide(Laya.Handler.create(i, function() { + t.UI_Friend.Inst.show() + })) : 2 == n ? h.Inst.Hide(Laya.Handler.create(i, function() { + t.UI_Ob.Inst.show() + })) : 4 == n ? h.Inst.Hide(Laya.Handler.create(i, function() { + t.UI_Bag.Inst.show() + })) : 6 == n && h.Inst.Hide(Laya.Handler.create(i, function() { + t.UI_Treasure.Inst.show() + }))) + }, null, !1) + }, a = this, r = 0; r < 7; r++) + n(r) + } + return e.prototype.onEnable = function() { + this.me.getChildAt(1).getChildByName("redpoint").visible = game.FriendMgr.friendapply_list && game.FriendMgr.friendapply_list.length > 0, + this.me.getChildAt(5).getChildByName("redpoint").visible = t.UI_Shop.Inst && t.UI_Shop.Inst.have_red_point(), + this.me.getChildAt(4).getChildByName("redpoint").visible = t.UI_Bag.Inst && t.UI_Bag.Inst.have_red_point(), + this.me.getChildAt(6).getChildByName("redpoint").visible = t.UI_Treasure.Inst && t.UI_Treasure.Inst.have_red_point() + } + , + e + }() + , h = function(h) { + function c() { + var t = h.call(this, new ui.lobby.lobbyUI) || this; + return t.top = null, + t.page0 = null, + t.page_rank = null, + t.page_friend = null, + t.page_match = null, + t.page_east_north = null, + t.btns = null, + t.page_title = null, + t.chat_id = 0, + t.container_chat = null, + t.chat_block = null, + t.character_skin = null, + t.nowpage = 0, + t.locking = !1, + t.sound_channel = null, + t.firstIn = !0, + t._check_idcard = !1, + c.Inst = t, + t + } + return __extends(c, h), + c.prototype.onCreate = function() { + var h = this; + this.top = new e(this.me.getChildByName("container_top")), + this.page0 = new i(this.me.getChildByName("page0")), + this.page_rank = new a(this.me.getChildByName("container_pages").getChildByName("page_rank")), + this.page_friend = new r(this.me.getChildByName("container_pages").getChildByName("page_friend")), + this.page_match = new s(this.me.getChildByName("container_pages").getChildByName("page_match")), + this.page_east_north = new o(this.me.getChildByName("container_pages").getChildByName("page_east_north")), + this.page_title = new n(this.me.getChildByName("container_pages").getChildByName("container_title")), + this.btns = new l(this.me.getChildByName("container_btns")), + this.character_skin = new t.UI_Character_Skin(this.me.getChildByName("illust").getChildByName("illust")), + this.container_chat = this.me.getChildByName("illust").getChildByName("chat"), + this.container_chat.visible = !1, + this.chat_block = new t.UI_Character_Chat(this.container_chat), + this.me.getChildByName("illust").getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + c.login_helloed && (h.sound_channel ? h.stopsay() : h.say("lobby_normal")) + }, null, !1) + } + , + c.prototype.onEnable = function() { + this.showEnter(), + t.UI_TanfangRoot.Inst.beginload(), + t.UI_Invite.Inst.enable = !0, + this.firstIn && (this.firstIn = !1, + t.UI_PaiPu.init(), + app.NetAgent.sendReq2Lobby("Lobby", "loginBeat", { + contract: "DF2vkXCnfeXp4WoGrBGNcJBufZiMN3uP" + }, function(t, e) {})), + this.bi_trace(), + Laya.timer.once(2e3, this, function() { + t.UI_Create_Room.Inst.enable || t.UI_WaitingRoom.Inst.enable || Laya.loader.clearTextureRes("res/atlas/" + game.Tools.localUISrc("myres/room.atlas")), + t.UI_Activity.Inst.enable || Laya.loader.clearTextureRes("res/atlas/" + game.Tools.localUISrc("myres/yueka.atlas")) + }), + t.UI_Force_Update.Pending() + } + , + c.prototype.onDisable = function() { + this.page0.onDisable(0), + this.page_rank.close(), + this.page_friend.close(), + this.page_match.close(), + this.page_title.close(), + this.page_east_north.close(), + this.character_skin.clear(), + this.stopsay() + } + , + c.prototype.showEnter = function() { + var t = this; + this.refreshInfo(), + this.page0.me.visible = !0, + this.page_rank.me.visible = !1, + this.page_friend.me.visible = !1, + this.page_match.me.visible = !1, + this.page_title.me.visible = !1, + this.page_east_north.me.visible = !1, + this.nowpage = 0, + this.locking = !0, + this.me.in.play(0, !1), + this.page0.onEnable(567), + this.btns.onEnable(), + Laya.timer.once(700, this, function() { + t.locking = !1, + t.pending_lobby_jump() + }), + game.Scene_Lobby.Inst.change_bg("yard", !1), + c.login_helloed || Laya.timer.once(500, this, function() { + c.login_helloed = !0, + t.say("lobby_playerlogin") + }) + } + , + c.prototype.refreshInfo = function() { + GameMgr.Inst.account_data; + this.top.refresh(), + this.character_skin.setSkin(GameMgr.Inst.account_data.avatar_id, "full"), + this.character_skin.me.visible = !0 + } + , + c.prototype.Hide = function(t) { + var e = this; + switch (this.locking = !0, + this.nowpage) { + case 0: + this.page0.onDisable(0); + break; + case 1: + this.page_rank.close(); + break; + case 2: + this.page_friend.close(); + break; + case 3: + this.page_match.close() + } + this.page_east_north.close(), + this.page_title.close(), + this.me.out.play(0, !1), + Laya.timer.once(250, this, function() { + e.locking = !1, + e.enable = !1, + t && t.run() + }) + } + , + c.prototype.setPage = function(t) { + var e = this; + if (!this.locking && this.nowpage != t) { + switch (this.locking = !0, + this.nowpage) { + case 0: + this.page0.onDisable(0); + break; + case 1: + this.page_rank.close(), + this.page_title.close(); + break; + case 2: + this.page_friend.close(), + this.page_title.close(); + break; + case 3: + this.page_match.close(), + this.page_title.close() + } + this.nowpage = t; + var i = 750; + Laya.timer.once(200, this, function() { + switch (e.nowpage) { + case 0: + e.page0.onEnable(0); + break; + case 1: + e.page_rank.show(); + break; + case 2: + e.page_friend.show(); + break; + case 3: + e.page_match.show(), + i = 500 + } + }), + Laya.timer.once(i, this, function() { + e.locking = !1 + }) + } + } + , + c.prototype.say = function(e) { + var i = this + , n = t.UI_Sushe.main_chara_info; + this.chat_id++; + var a = this.chat_id + , r = view.AudioMgr.PlayCharactorSound(n, e, Laya.Handler.create(this, function() { + Laya.timer.once(1e3, i, function() { + i.chat_id == a && i.stopsay() + }) + })); + r && (this.chat_block.show(r.words), + this.sound_channel = r.sound) + } + , + c.prototype.stopsay = function() { + this.chat_block.close(!1), + this.sound_channel && (this.sound_channel.stop(), + Laya.SoundManager.removeChannel(this.sound_channel), + this.sound_channel = null) + } + , + c.prototype.bi_trace = function() { + 0 == app.PlayerBehaviorStatistic.get_val(app.EBehaviorType.XinShouYinDao) && (app.PlayerBehaviorStatistic.update_val(app.EBehaviorType.XinShouYinDao, 2), + app.PlayerBehaviorStatistic.google_trace_pending(app.EBehaviorType.G_tutorial_jump, 1), + app.PlayerBehaviorStatistic.tw_trace_pending(app.EBehaviorType.TW_Tutorial_Completed, 1)), + app.PlayerBehaviorStatistic.fb_trace_pending(app.EBehaviorType.Purchase, app.PlayerBehaviorStatistic.recharged_count), + app.PlayerBehaviorStatistic.google_trace_pending(app.EBehaviorType.G_tutorial_complete, 1), + app.PlayerBehaviorStatistic.google_trace_pending(app.EBehaviorType.G_Purchase, app.PlayerBehaviorStatistic.recharged_count), + app.PlayerBehaviorStatistic.recharged_count > 0 && app.PlayerBehaviorStatistic.google_trace_pending(app.EBehaviorType.G_Purchase_first, 1), + app.PlayerBehaviorStatistic.tw_trace_pending(app.EBehaviorType.TW_Purchase, app.PlayerBehaviorStatistic.recharged_count); + var t = 0; + switch (GameMgr.Inst.account_data.level.id) { + case 10101: + t = 1; + break; + case 10102: + t = 2; + break; + case 10103: + t = 3; + break; + case 10201: + t = 4; + break; + case 10202: + t = 5; + break; + case 10203: + t = 6; + break; + case 10301: + t = 7; + break; + case 10302: + t = 8; + break; + case 10303: + t = 9; + break; + case 10401: + t = 10; + break; + case 10402: + t = 11; + break; + case 10403: + t = 12; + break; + case 10501: + t = 13; + break; + case 10502: + t = 14; + break; + case 10503: + t = 15; + break; + case 10601: + t = 16 + } + 10102 === GameMgr.Inst.account_data.level.id && app.PlayerBehaviorStatistic.fb_trace_pending(app.EBehaviorType.Level_2, 1), + 10103 === GameMgr.Inst.account_data.level.id && app.PlayerBehaviorStatistic.fb_trace_pending(app.EBehaviorType.Level_3, 1); + for (var e = 0; e < t; e++) + app.PlayerBehaviorStatistic.google_trace_pending(app.EBehaviorType.G_Role_level_1 + e, 1) + } + , + c.prototype.pending_lobby_jump = function() { + var e = this; + if (!this._check_idcard && (this._check_idcard = !0, + "chs" == GameMgr.client_type && !t.UI_ShiMingRenZheng.renzhenged)) + return t.UI_ShiMingRenZheng.Inst.show(Laya.Handler.create(this, function() { + e.pending_lobby_jump() + })), + !0; + if ("chs" == GameMgr.client_type && !GameMgr.Inst.account_data.phone) + return t.UI_Bind_Phone1.Inst.show(!0, Laya.Handler.create(this, function() { + e.pending_lobby_jump() + })), + !0; + if ("chs" == GameMgr.client_type && 1 != GameMgr.Inst.phone_login && !GameMgr.Inst.account_data.email_verify) + return 0 == GameMgr.Inst.sociotype ? t.UI_Bind_Mail1.Inst.show(!0, Laya.Handler.create(this, function() { + e.pending_lobby_jump() + })) : t.UI_Bind_Mail0.Inst.show(!0, Laya.Handler.create(this, function() { + e.pending_lobby_jump() + })), + !0; + if ("chs" == GameMgr.client_type && !GameMgr.Inst.account_data.birthday) + return t.UI_Agepending_Chs.Inst.show(Laya.Handler.create(this, function() { + e.pending_lobby_jump() + })), + !0; + if (GameMgr.inDmm && !GameMgr.Inst.account_setting[game.EAccountSetKey.user_xieyi.toString()] && t.UI_User_Xieyi_Dmm.Inst.show(Laya.Handler.create(this, function() { + app.NetAgent.sendReq2Lobby("Lobby", "updateAccountSettings", { + setting: { + key: game.EAccountSetKey.user_xieyi, + value: 1 + } + }, function(t, e) {}), + GameMgr.Inst.account_setting[game.EAccountSetKey.user_xieyi.toString()] = 1, + t.UI_User_Xieyi_Dmm.Inst.destroy(), + t.UI_User_Xieyi_Dmm.Inst = null, + e.pending_lobby_jump() + })), + t.UI_User_Xieyi.Inst) { + if (!GameMgr.Inst.account_setting[game.EAccountSetKey.user_xieyi.toString()]) + return t.UI_User_Xieyi.Inst.show(Laya.Handler.create(this, function() { + app.NetAgent.sendReq2Lobby("Lobby", "updateAccountSettings", { + setting: { + key: game.EAccountSetKey.user_xieyi, + value: 1 + } + }, function(t, e) {}), + GameMgr.Inst.account_setting[game.EAccountSetKey.user_xieyi.toString()] = 1, + t.UI_User_Xieyi.Inst.destroy(), + t.UI_User_Xieyi.Inst = null, + e.pending_lobby_jump() + })), + !0; + t.UI_User_Xieyi.Inst.destroy(), + t.UI_User_Xieyi.Inst = null + } + return !!t.UI_Info.lobbyPopout() || (t.UI_Activity_Sign.Inst && t.UI_Activity_Sign.Inst.need_jump() ? (t.UI_Activity_Sign.Inst.show(), + !0) : !!t.UI_Activity.need_popout && (t.UI_Activity.Inst.show(), + !0)) + } + , + c.Inst = null, + c.login_helloed = !1, + c + }(t.UIBase); + t.UI_Lobby = h +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e; + !function(t) { + t[t.none = 0] = "none", + t[t.channel = 1] = "channel", + t[t.person = 2] = "person" + }(e || (e = {})); + var i = function(t) { + function i() { + var n = t.call(this, new ui.lobby.lobbychatUI) || this; + return n.render_text = null, + n.btn_switch = null, + n.container_main = null, + n.left_heads = null, + n.chattype = e.none, + n.chat_account_id = 0, + i.Inst = n, + n + } + return __extends(i, t), + i.prototype.onCreate = function() {} + , + i.prototype.onShow = function() {} + , + i.prototype.onHide = function() {} + , + i.prototype.onReceivePersonMsg = function(t) {} + , + i.prototype.onReceiveWorldMsg = function() {} + , + i.prototype.firstRefresh = function() {} + , + i.Inst = null, + i + }(t.UIBase); + t.UI_LobbyChat = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t) { + var e = this; + this.locking = !1, + this.match_id = 0, + this.contest_id = 0, + this.me = t, + this.root = t.getChildByName("root"), + this.label_name = this.root.getChildByName("name"), + this.label_starttime = this.root.getChildByName("starttime"); + var i = this.root.getChildByName("infos"); + this.panel = i.getChildByName("content"), + this.panel.vScrollBarSkin = "", + this.label_info = this.panel.getChildByName("label_info"), + this.scrollbar = i.getChildByName("scrollbar"), + this.scrollpoint = this.scrollbar.getChildByName("scrollpoint"), + this.panel.vScrollBar.on("change", this, function() { + e.refresh_scrollbar() + }), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.root.getChildByName("btn_close1").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.root.getChildByName("btn_enter").clickHandler = Laya.Handler.create(this, function() { + e.locking || (e.close(), + n.Inst.enter_match(e.match_id, e.contest_id)) + }, null, !1) + } + return e.prototype.show = function(e) { + var i = this; + this.locking = !0, + this.me.visible = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.label_name.text = e.contest_name, + this.label_starttime.text = game.Tools.time2YearMounthDate(e.start_time) + " " + game.Tools.time2HourMinute(e.start_time, !0) + " " + game.Tools.strOfLocalization(2081) + " " + game.Tools.time2YearMounthDate(e.finish_time) + " " + game.Tools.time2HourMinute(e.finish_time, !0), + this.match_id = e.unique_id, + this.contest_id = e.contest_id, + this.label_info.text = game.Tools.strWithoutForbidden(e.public_notice, !0), + this.label_info.height = this.label_info.textField.textHeight, + this.panel.vScrollBar.value = 0, + this.panel.refresh(), + this.scrollbar.visible = this.label_info.height > this.panel.height, + this.refresh_scrollbar() + } + , + e.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + e.prototype.refresh_scrollbar = function() { + if (this.label_info.height > this.panel.height) { + var t = this.panel.vScrollBar.value / this.panel.vScrollBar.max; + this.scrollpoint.height = this.scrollbar.height * this.panel.height / this.label_info.height, + this.scrollpoint.y = t * this.scrollbar.height * (1 - this.panel.height / this.label_info.height), + this.scrollbar.visible = !0 + } else + this.scrollbar.visible = !1 + } + , + e + }() + , i = function() { + function e(e) { + var i = this; + this.have_data = !1, + this.match_infos = {}, + this.match_ids = [], + this.only_follow = !1, + this.all_match_list = [], + this.follow_changed = !1, + this.me = e, + e.getChildByName("input").getChildByName("btn_checkmatchID").clickHandler = Laya.Handler.create(this, function() { + t.UI_NumberInput.Inst.show(game.Tools.strOfLocalization(2082), Laya.Handler.create(i, function(e) { + for (var a = -1, r = 0; r < i.all_match_list.length; r++) + if (i.match_infos[i.all_match_list[r]].contest_id == e) { + a = i.all_match_list[r]; + break + } + -1 != a ? n.Inst.enter_match(a, e) : app.NetAgent.sendReq2Lobby("Lobby", "fetchCustomizedContestByContestId", { + contest_id: e + }, function(a, r) { + a || r.error ? t.UIMgr.Inst.showNetReqError("fetchCustomizedContestByContestId", a, r) : r.contest_info ? (n.Inst.enter_match(r.contest_info.unique_id, e), + i.match_infos[r.contest_info.unique_id] || (i.match_infos[r.contest_info.unique_id] = r.contest_info, + i.all_match_list.push(r.contest_info.unique_id))) : t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2083) + e) + }) + })) + }, null, !1), + this.input = e.getChildByName("input").getChildByName("txtinput"), + e.getChildByName("input").getChildByName("btn_searchname").clickHandler = Laya.Handler.create(this, function() { + i.refresh_match_list(-1, i.input.text) + }, null, !1), + this.input.on(laya.events.Event.KEY_DOWN, this, function(t) { + t.keyCode == Laya.Keyboard.ENTER && i.refresh_match_list(-1, i.input.text) + }), + this.check_follow = e.getChildByName("check_follow").getChildByName("check"), + e.getChildByName("check_follow").clickHandler = Laya.Handler.create(this, function() { + i.check_follow.visible = !i.check_follow.visible, + i.only_follow = i.check_follow.visible, + i.refresh_match_list() + }, null, !1), + this.noinfo = this.me.getChildByName("noinfo"), + this.nolimitlist = e.scriptMap["capsui.NoLimitList"], + this.nolimitlist.init_nolimitlist(new Laya.Handler(this,this.load_info), new Laya.Handler(this,this.render_item)), + this.label_id = this.me.getChildByName("id").getChildByName("id"), + this.clearData() + } + return e.prototype.onShow = function() { + var e = this; + this.have_data ? this.only_follow && this.follow_changed ? this.refresh_match_list() : this.nolimitlist.wantToRefreshAll() : app.NetAgent.sendReq2Lobby("Lobby", "fetchCustomizedContestList", { + start: 0, + count: 100 + }, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("fetchCustomizedContestList", i, n); + else { + if (app.Log.log(JSON.stringify(n)), + n = JSON.parse(JSON.stringify(n)), + e.have_data = !0, + n.contests) + for (a = 0; a < n.contests.length; a++) { + r = n.contests[a]; + e.match_infos[r.unique_id] || (e.all_match_list.push(r.unique_id), + e.match_infos[r.unique_id] = r), + e.match_infos[r.unique_id].follow = !1 + } + if (n.follow_contests) + for (var a = 0; a < n.follow_contests.length; a++) { + var r = n.follow_contests[a]; + e.match_infos[r.unique_id] || (e.all_match_list.push(r.unique_id), + e.match_infos[r.unique_id] = r), + e.match_infos[r.unique_id].follow = !0 + } + e.refresh_match_list() + } + }), + this.follow_changed = !1, + this.label_id.text = game.Tools.encode_account_id2(GameMgr.Inst.account_id).toString() + } + , + e.prototype.clearData = function() { + this.have_data = !1, + this.match_infos = {}, + this.all_match_list = [], + this.match_ids = [], + this.only_follow = !1, + this.check_follow.visible = !1, + this.follow_changed = !1, + this.nolimitlist.reset() + } + , + e.prototype.load_info = function(e) { + for (var i = this, n = [], a = 0, r = 0; r < 20 && r + e < this.match_ids.length; r++) { + var s = this.match_ids[r + e]; + null == this.match_infos[s].public_notice && n.push(s), + a++ + } + 0 == n.length ? this.nolimitlist.loadOver(!0, a) : app.NetAgent.sendReq2Lobby("Lobby", "fetchCustomizedContestExtendInfo", { + uid_list: n + }, function(e, a) { + if (e || a.error) + t.UIMgr.Inst.showNetReqError("fetchCustomizedContestExtendInfo", e, a.error), + i.nolimitlist.loadOver(!1, 0); + else { + app.Log.log(JSON.stringify(a)); + var r = 0; + if (a.extend_list) + for (var s = 0; s < a.extend_list.length; s++) { + var o = a.extend_list[s]; + i.match_infos[o.unique_id].public_notice = o.public_notice, + r++ + } + r != n.length ? (i.nolimitlist.loadOver(!1, 0), + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2084))) : i.nolimitlist.loadOver(!0, r) + } + }) + } + , + e.prototype.refresh_match_list = function(t, e) { + var i = this; + if (void 0 === t && (t = -1), + void 0 === e && (e = ""), + this.match_ids = [], + -1 != t) + this.match_ids.push(t); + else + for (var n = 0; n < this.all_match_list.length; n++) { + var a = this.all_match_list[n] + , r = this.match_infos[a]; + if (!this.only_follow || r.follow) { + var s = !0; + if ("" != e) { + var o = r.contest_name; + game.Tools.stringContainerSub(o, e) || (s = !1) + } + s && this.match_ids.push(a) + } + } + this.match_ids = this.match_ids.sort(function(t, e) { + var n = i.match_infos[t] + , a = i.match_infos[e]; + if ((1 == n.contest_type && 3 != n.state) == (1 == a.contest_type && 3 != a.state)) { + if (n.state == a.state) + return 1 == n.state ? n.start_time - a.start_time : 2 == n.state ? n.finish_time - a.finish_time : a.finish_time - n.finish_time; + return (2 == n.state ? -1 : n.state) - (2 == a.state ? -1 : a.state) + } + return a.contest_type - n.contest_type + }), + this.nolimitlist.reset(), + 0 == this.match_ids.length ? -1 != t ? this.show_noinfo(game.Tools.strOfLocalization(2083) + t) : this.only_follow ? this.show_noinfo(game.Tools.strOfLocalization(2085)) : this.show_noinfo(game.Tools.strOfLocalization(2086)) : (this.nolimitlist.total_count = this.match_ids.length, + this.noinfo.visible = !1) + } + , + e.prototype.render_item = function(t) { + var e = t.index + , i = t.container + , a = this.match_ids[e] + , r = this.match_infos[a]; + i.getChildByName("follow").visible = r.follow; + var s = i.getChildByName("name"); + s.text = r.contest_name; + var o = i.getChildByName("official") + , l = i.getChildByName("bg") + , h = i.getChildByName("content") + , c = game.Tools.strWithoutForbidden(r.public_notice, !0); + if (c && c.length > 0) { + if (h.text = c, + h.textField.textHeight > 110) { + for (var _ = 0, u = 200 < c.length ? 200 : c.length, d = 0; _ < u; ) + d = (_ + u) / 2, + h.text = c.substring(0, d) + "...", + h.textField.textHeight <= 110 ? _ = d + 1 : u = d; + h.text = c.substring(0, d - 1) + "..." + } + } else + h.text = ""; + i.getChildByName("prepare").visible = !1, + i.getChildByName("start").visible = !1, + i.getChildByName("end").visible = !1; + var f = i.getChildByName("id"); + f.text = "ID:" + r.contest_id; + var p, m = 0; + switch (r.state) { + case 1: + p = i.getChildByName("prepare"), + m = r.start_time; + break; + case 2: + p = i.getChildByName("start"), + m = r.finish_time; + break; + case 3: + p = i.getChildByName("end"), + m = r.finish_time + } + p && (p.visible = !0, + p.getChildByName("time").text = game.Tools.time2YearMounthDate(m) + " " + game.Tools.time2HourMinute(m, !0)), + i.getChildByName("check").clickHandler = Laya.Handler.create(this, function() { + n.Inst.pop_out_notice(r) + }, null, !1); + i.getChildByName("btn_enter").clickHandler = Laya.Handler.create(this, function() { + n.Inst.enter_match(a, r.contest_id) + }, null, !1), + 1 == r.contest_type ? (l.skin = game.Tools.localUISrc("myres/match_lobby/match_bg1.png"), + o.visible = !0, + s.x = 130, + s.color = "#e5935b", + f.color = "#e5935b", + i.getChildByName("check").getChildByName("join").skin = game.Tools.localUISrc("myres/match_lobby/btn_enter1.png")) : (l.skin = game.Tools.localUISrc("myres/match_lobby/match_bg0.png"), + o.visible = !1, + s.x = 35, + s.color = "#daae72", + f.color = "#daae72", + i.getChildByName("check").getChildByName("join").skin = game.Tools.localUISrc("myres/bothui/invite_btn1.png")) + } + , + e.prototype.change_match_follow = function(t, e) { + this.match_infos[t] && (this.match_infos[t].follow = e, + this.follow_changed = !0) + } + , + e.prototype.show_noinfo = function(t) { + this.noinfo.text = t, + this.noinfo.visible = !0 + } + , + e.prototype.get_match_data = function(t) { + return this.match_infos[t] + } + , + e + }() + , n = function(n) { + function a() { + var t = n.call(this, new ui.lobby.match_lobbyUI) || this; + return t.locking = !1, + a.Inst = t, + t + } + return __extends(a, n), + a.prototype.onCreate = function() { + var n = this; + this.container_top = this.me.getChildByName("top"), + this.container_top.getChildByName("btn_back").clickHandler = Laya.Handler.create(this, function() { + n.locking || (n.content.clearData(), + n.close(), + Laya.timer.once(200, n, function() { + t.UI_Lobby.Inst.enable = !0 + })) + }, null, !1), + this.content = new i(this.me.getChildByName("root")), + this.pop_info = new e(this.me.getChildByName("pop_info")) + } + , + a.prototype.show = function() { + var e = this; + game.Scene_Lobby.Inst.change_bg("indoor", !1), + this.locking = !0, + this.enable = !0, + this.pop_info.me.visible = !1, + this.content.onShow(), + t.UIBase.anim_alpha_in(this.container_top, { + y: -30 + }, 150), + t.UIBase.anim_alpha_in(this.content.me, { + y: 30 + }, 150), + Laya.timer.once(200, this, function() { + e.locking = !1 + }) + } + , + a.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_alpha_out(this.container_top, { + y: -30 + }, 150), + t.UIBase.anim_alpha_out(this.content.me, { + y: 30 + }, 150), + Laya.timer.once(200, this, function() { + e.locking = !1, + e.enable = !1 + }) + } + , + a.prototype.enter_match = function(e, i) { + this.close(), + Laya.timer.once(200, this, function() { + t.UI_Match_Room.Inst.show(e) + }) + } + , + a.prototype.change_match_follow = function(t, e) { + this.content.change_match_follow(t, e) + } + , + a.prototype.clear_data = function() { + this.content.clearData() + } + , + a.prototype.pop_out_notice = function(t) { + this.pop_info.show(t) + } + , + a + }(t.UIBase); + t.UI_Match_Lobby = n +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t) { + var e = this; + this.locking = !1, + this.datas = [], + this.me = t, + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? (this.root = t.getChildByName("root_chs"), + t.getChildByName("root_en").visible = !1) : (this.root = t.getChildByName("root_en"), + t.getChildByName("root_chs").visible = !1), + this.scrollview = this.root.getChildByName("container_infos").scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_item)), + this.light_scrollbar = this.root.getChildByName("container_infos").getChildByName("light_scrollbar"), + this.scrollpoint = this.light_scrollbar.getChildByName("scrollpoint"), + this.scrollview.me.on("ratechange", this, function() { + e.refresh_scorllbar() + }), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.root.getChildByName("btn_close1").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1) + } + return e.prototype.show = function(e) { + var i = this; + e = JSON.parse(JSON.stringify(e)), + this.locking = !0, + this.me.visible = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.scrollview.reset(), + this.datas = [], + this.datas.push({ + name: game.Tools.strOfLocalization(2087), + infos: [game.Tools.room_mode_desc(e.mode)], + isdefault: [!0] + }); + var n = e.mode < 10 + , a = e.detail_rule + , r = null != a.time_fixed ? a.time_fixed : 5 + , s = null != a.time_add ? a.time_add : 20; + if (this.datas.push({ + name: game.Tools.strOfLocalization(2088), + infos: [r.toString() + "+" + s.toString() + game.Tools.strOfLocalization(2019)], + isdefault: [!0] + }), + n) { + o = "3"; + if (null != a.dora_count) + switch (a.dora_count) { + case 0: + o = "0"; + break; + case 3: + o = "3"; + break; + case 4: + o = "4" + } + this.datas.push({ + name: game.Tools.strOfLocalization(2089), + infos: [o], + isdefault: ["3" === o] + }) + } else { + var o = "2"; + if (null != a.dora_count) + switch (a.dora_count) { + case 0: + o = "0"; + break; + case 2: + o = "2" + } + this.datas.push({ + name: game.Tools.strOfLocalization(2089), + infos: [o], + isdefault: ["2" === o] + }) + } + this.datas.push({ + name: game.Tools.strOfLocalization(2090), + infos: [game.Tools.strOfLocalization(0 === a.shiduan ? 2091 : 2092)], + isdefault: [0 !== a.shiduan] + }); + var l = function(t, e, n, r, s) { + var o = n; + null != a[e] && (o = a[e]), + i.datas.push({ + name: t, + infos: [o ? r : s], + isdefault: [o === n] + }) + } + , h = function(t, e, n) { + var r = n; + null != a[e] && (r = a[e]), + i.datas.push({ + name: t, + infos: [r.toString()], + isdefault: [r === n] + }) + }; + if (h(game.Tools.strOfLocalization(2093), "init_point", n ? 25e3 : 35e3), + h(game.Tools.strOfLocalization(2094), "fandian", n ? 3e4 : 4e4), + l(game.Tools.strOfLocalization(2095), "can_jifei", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + h(game.Tools.strOfLocalization(2096), "tianbian_value", 0), + h(game.Tools.strOfLocalization(2097), "liqibang_value", 1e3), + h(game.Tools.strOfLocalization(2098), "changbang_value", n ? 300 : 200), + n) { + var c = 1e3 + , _ = 1500 + , u = 3e3; + null != a.noting_fafu_1 && (c = a.noting_fafu_1), + null != a.noting_fafu_2 && (_ = a.noting_fafu_2), + null != a.noting_fafu_3 && (u = a.noting_fafu_3), + this.datas.push({ + name: game.Tools.strOfLocalization(2099), + infos: [c.toString(), _.toString(), u.toString()], + isdefault: [1e3 === c, 1500 === _, 3e3 === u] + }) + } else { + var c = 1e3 + , _ = 2e3; + null != a.noting_fafu_1 && (c = a.noting_fafu_1), + null != a.noting_fafu_2 && (_ = a.noting_fafu_2), + this.datas.push({ + name: game.Tools.strOfLocalization(2099), + infos: [c.toString(), _.toString()], + isdefault: [1e3 === c, 2e3 === _] + }) + } + if (h(game.Tools.strOfLocalization(2100), "jingsuanyuandian", n ? 25e3 : 35e3), + n) { + var d = null != a.shunweima_2 ? a.shunweima_2 : 5 + , f = null != a.shunweima_3 ? a.shunweima_3 : -5 + , p = null != a.shunweima_4 ? a.shunweima_4 : -15 + , m = -(d + f + p); + this.datas.push({ + name: game.Tools.strOfLocalization(2101), + infos: [(m > 0 ? "+" : "") + m.toString(), (d > 0 ? "+" : "") + d.toString(), (f > 0 ? "+" : "") + f.toString(), (p > 0 ? "+" : "") + p.toString()], + isdefault: [15 === m, 5 === d, -5 === f, -15 === p] + }) + } else { + m = -((d = null != a.shunweima_2 ? a.shunweima_2 : 0) + (f = null != a.shunweima_3 ? a.shunweima_3 : -15)); + this.datas.push({ + name: game.Tools.strOfLocalization(2101), + infos: [(m > 0 ? "+" : "") + m.toString(), (d > 0 ? "+" : "") + d.toString(), (f > 0 ? "+" : "") + f.toString()], + isdefault: [15 === m, 0 === d, -15 === f] + }) + } + if (l(game.Tools.strOfLocalization(2102), "bianjietishi", !0, game.Tools.strOfLocalization(2103), game.Tools.strOfLocalization(2104)), + l(game.Tools.strOfLocalization(2105), "have_liujumanguan", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2106), "have_qieshangmanguan", !1, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2107), "have_biao_dora", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2108), "have_gang_biao_dora", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2109), "have_li_dora", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2110), "have_gang_li_dora", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2111), "ming_dora_immediately_open", !1, game.Tools.strOfLocalization(2103), game.Tools.strOfLocalization(2104)), + n && l(game.Tools.strOfLocalization(2112), "have_sifenglianda", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2113), "have_sigangsanle", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + n && l(game.Tools.strOfLocalization(2114), "have_sijializhi", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2115), "have_jiuzhongjiupai", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + n && l(game.Tools.strOfLocalization(2116), "have_sanjiahele", !1, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2117), "have_toutiao", !1, game.Tools.strOfLocalization(2103), game.Tools.strOfLocalization(2104)), + l(game.Tools.strOfLocalization(2118), "have_helelianzhuang", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2119), "have_helezhongju", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2120), "have_tingpailianzhuang", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2121), "have_tingpaizhongju", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2122), "have_yifa", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2123), "have_nanruxiru", !0, game.Tools.strOfLocalization(2092), game.Tools.strOfLocalization(2091)), + l(game.Tools.strOfLocalization(2210), "disable_multi_yukaman", !1, game.Tools.strOfLocalization(2103), game.Tools.strOfLocalization(2104)), + n) { + var g = ""; + g = a.guyi_mode ? game.Tools.strOfLocalization(2103) : game.Tools.strOfLocalization(2104), + this.datas.push({ + name: game.Tools.strOfLocalization(3035), + infos: [g], + isdefault: [!a.guyi_mode] + }) + } + this.scrollview.reset(), + this.scrollview.addItem(this.datas.length) + } + , + e.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + e.prototype.render_item = function(t) { + var e = t.index + , i = t.container; + i.getChildByName("name").text = this.datas[e].name; + for (var n = this.datas[e].infos, a = this.datas[e].isdefault, r = 0; r < n.length && r < 4; r++) { + var s = i.getChildByName("item" + r); + s.visible = !0, + s.getChildByName("label_name").text = n[r], + s.getChildByName("label_name").color = a[r] ? "#402031" : "#03751a" + } + for (r = n.length; r < 4; r++) + i.getChildByName("item" + r).visible = !1 + } + , + e.prototype.refresh_scorllbar = function() { + this.scrollview.need_scroll ? (this.light_scrollbar.visible = !0, + this.scrollpoint.height = this.light_scrollbar.height * this.scrollview.view_height / this.scrollview.total_height, + this.scrollpoint.y = this.scrollview.rate * this.light_scrollbar.height * (1 - this.scrollview.view_height / this.scrollview.total_height)) : this.light_scrollbar.visible = !1 + } + , + e + }() + , i = function() { + function e(t) { + var e = this; + this.locking = !1, + this.me = t, + this.root = t.getChildByName("root"), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.root.getChildByName("btn_close1").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.title = this.root.getChildByName("title"), + this.info = this.root.getChildByName("info") + } + return e.prototype.show = function(e) { + var i = this; + this.locking = !0, + this.me.visible = !0; + var n = e.code; + if (this.title.text = "", + this.info.text = "", + 2511 == n) + this.title.text = game.Tools.strOfLocalization(2205), + this.info.text = game.Tools.strOfLocalization(2206); + else if (2518 == n) { + this.title.text = game.Tools.strOfLocalization(2207); + var a = JSON.parse(e.json_param) + , r = cfg.level_definition.level_definition.find(a.required_level); + this.info.text = game.Tools.strOfLocalization(2208, [r["full_name_" + GameMgr.client_language]]) + } else if (2519 == n) { + this.title.text = game.Tools.strOfLocalization(2207); + a = JSON.parse(e.json_param); + this.info.text = game.Tools.strOfLocalization(2209, [a.max_game_count]) + } + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })) + } + , + e.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + e + }() + , n = function() { + function e(t) { + var e = this; + this.me = t, + this.root = this.me.getChildByName("root"), + this.title = this.root.getChildByName("title"), + this.input = this.root.getChildByName("input").getChildByName("txtinput"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_cancel = this.root.getChildByName("btn_cancel"), + this.me.visible = !1, + this.btn_cancel.clickHandler = Laya.Handler.create(this, function() { + e.hide(null) + }, null, !1), + this.container_hidename = this.root.getChildByName("hidename"), + this.sp_checkbox = this.container_hidename.getChildByName("checkbox").getChildByName("checkbox"); + var i = this.container_hidename.getChildByName("w0"); + this.container_hidename.getChildByName("w1").x = i.x + i.textField.textWidth + 10, + this.container_hidename.getChildByName("btn").clickHandler = new Laya.Handler(this,function() { + e.sp_checkbox.visible = !e.sp_checkbox.visible, + e.refresh_share_uuid() + } + ) + } + return e.prototype.show_share = function(e) { + var i = this; + this.title.text = game.Tools.strOfLocalization(2124), + this.sp_checkbox.visible = !1, + this.btn_confirm.visible = !1, + this.input.editable = !1, + this.uuid = e, + this.refresh_share_uuid(), + this.me.visible = !0, + this.locking = !0, + this.btn_confirm.getChildAt(0).text = game.Tools.strOfLocalization(2127), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })) + } + , + e.prototype.refresh_share_uuid = function() { + var t = game.Tools.encode_account_id(GameMgr.Inst.account_id) + , e = this.uuid; + this.sp_checkbox.visible ? this.input.text = game.Tools.strOfLocalization(2126) + ": " + GameMgr.Inst.link_url + "?paipu=" + game.Tools.EncodePaipuUUID(e) + "_a" + t + "_2" : this.input.text = game.Tools.strOfLocalization(2126) + ": " + GameMgr.Inst.link_url + "?paipu=" + e + "_a" + t + } + , + e.prototype.show_check = function() { + var e = this; + this.title.text = game.Tools.strOfLocalization(2128), + this.btn_confirm.visible = !0, + this.container_hidename.visible = !1, + this.btn_confirm.getChildAt(0).text = game.Tools.strOfLocalization(2129), + this.btn_confirm.clickHandler = Laya.Handler.create(this, function() { + e.hide(Laya.Handler.create(e, function() { + var t = e.input.text.split("=") + , i = t[t.length - 1].split("_") + , n = 0; + i.length > 1 && (n = "a" == i[1].charAt(0) ? game.Tools.decode_account_id(parseInt(i[1].substr(1))) : parseInt(i[1])); + var a = 0; + if (i.length > 2) { + var r = parseInt(i[2]); + r && (a = r) + } + GameMgr.Inst.checkPaiPu(i[0], n, a) + })) + }, null, !1), + this.input.editable = !0, + this.input.text = "", + this.me.visible = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + e.prototype.hide = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + i.locking = !1, + i.me.visible = !1, + e && e.run() + })) + } + , + e + }() + , a = function() { + function t(t) { + this.me = t + } + return t.prototype.onEnterRoom = function() {} + , + t.prototype.show = function() {} + , + t.prototype.close = function() {} + , + t + }() + , r = function() { + function e(e) { + var i = this; + this.match_id = -1, + this.infos = [], + this.show_index = [], + this.me = e, + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_item)); + var n = this.me.getChildByName("only_system"); + this.only_system_flag = n.getChildByName("check"), + n.clickHandler = new Laya.Handler(this,function() { + i.only_system_flag.visible = !i.only_system_flag.visible, + i.refresh_all_info() + } + ), + n.visible = "chs" != GameMgr.client_type && "chs_t" != GameMgr.client_type, + this.txt_input = this.me.getChildByName("input").getChildByName("txtinput"), + this.btn_send = this.me.getChildByName("send"), + this.btn_send.clickHandler = Laya.Handler.create(this, function() { + "" != i.txt_input.text && (game.Tools.setGrayDisable(i.btn_send, !0), + Laya.timer.once(5e3, i, function() { + game.Tools.setGrayDisable(i.btn_send, !1) + }), + app.NetAgent.sendReq2Lobby("Lobby", "sayChatMessage", { + content: i.txt_input.text + }, function(e, i) { + (e || i.error) && t.UIMgr.Inst.showNetReqError("sayChatMessage", e, i) + }), + i.txt_input.text = "") + }, null, !1), + this.txt_input.on(laya.events.Event.KEY_DOWN, this, function(e) { + if (e.keyCode == Laya.Keyboard.ENTER) { + if (!i.btn_send.mouseEnabled) + return; + if ("" == i.txt_input.text) + return; + game.Tools.setGrayDisable(i.btn_send, !0), + Laya.timer.once(5e3, i, function() { + game.Tools.setGrayDisable(i.btn_send, !1) + }), + app.NetAgent.sendReq2Lobby("Lobby", "sayChatMessage", { + content: i.txt_input.text + }, function(e, i) { + (e || i.error) && t.UIMgr.Inst.showNetReqError("sayChatMessage", e, i) + }), + i.txt_input.text = "" + } + }), + this.btn_send.visible = "chs" != GameMgr.client_type && "chs_t" != GameMgr.client_type, + this.me.getChildByName("input").visible = "chs" != GameMgr.client_type && "chs_t" != GameMgr.client_type, + this.container_get_word_height = e.getChildByName("container_get_word_height"), + this.test_height_div = new Laya.HTMLDivElement, + this.container_get_word_height.addChild(this.test_height_div), + this.test_height_div.pos(0, 0), + this.test_height_div.width = this.container_get_word_height.width, + this.test_height_div.style.lineHeight = 30, + this.test_height_div.style.valign = "top", + this.test_height_div.style.width = this.container_get_word_height.width, + this.test_height_div.style.align = "left", + app.NetAgent.AddListener2Lobby("NotifyCustomContestAccountMsg", Laya.Handler.create(this, function(t) { + t.unique_id == i.match_id && i.addInfos(2, t) + })), + app.NetAgent.AddListener2Lobby("NotifyCustomContestSystemMsg", Laya.Handler.create(this, function(t) { + t.unique_id == i.match_id && i.addInfos(1, t) + })), + this.scrollbar = this.me.getChildByName("scrollbar_light"), + this.scrollpoint = this.scrollbar.getChildByName("scrollpoint"), + this.scrollview.me.on("ratechange", this, function() { + i.refresh_scrollbar() + }) + } + return e.prototype.on_enter_room = function() { + var e = this; + this.match_id = _.Inst.match_id, + this.infos = [], + this.show_index = [], + this.scrollview.reset(), + this.only_system_flag.visible = !1, + this.txt_input.text = "", + app.NetAgent.sendReq2Lobby("Lobby", "joinCustomizedContestChatRoom", { + unique_id: this.match_id + }, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2130)); + else if (n.chat_history) + for (var a = n.chat_history.length - 1; a >= 0; a--) { + var r = n.chat_history[a] + , s = net.MessageWrapper.decodeMessage(r) + , o = s.$type.name; + "NotifyCustomContestSystemMsg" == o ? e.addInfos(1, s) : "NotifyCustomContestAccountMsg" == o && "chs" != GameMgr.client_type && "chs_t" != GameMgr.client_type && e.addInfos(2, s) + } + }) + } + , + e.prototype.on_leave_room = function() { + this.match_id = -1, + this.show_index = [], + this.infos = [], + this.scrollview.reset(), + app.NetAgent.sendReq2Lobby("Lobby", "leaveCustomizedContestChatRoom", {}, function(t, e) { + t || e.error + }) + } + , + e.prototype.addInfos = function(t, e) { + this.infos.push({ + type: t, + content: e, + height: 0 + }); + var i = this.get_content_str(this.infos[this.infos.length - 1]); + this.test_height_div.innerHTML = i; + var n = this.scrollview.near_bottom + , a = this.test_height_div.contextHeight + 10; + this.infos[this.infos.length - 1].height = a, + 1 != t && 0 != this.only_system_flag.visible || (this.show_index.push(this.infos.length - 1), + this.scrollview.addItem(1, a), + n && (this.scrollview.rate = 1)), + 1 == t && (1 == e.type ? _.Inst.page_ob.setNeedFetch() : 2 == e.type && _.Inst.page_paipu.setNeedFetch()) + } + , + e.prototype.refresh_all_info = function() { + this.scrollview.reset(), + this.show_index = []; + for (var t = [], e = 0; e < this.infos.length; e++) + 1 != this.infos[e].type && 0 != this.only_system_flag.visible || (this.show_index.push(e), + t.push(this.infos[e].height)); + this.scrollview.addItems(t), + this.scrollview.rate = 1 + } + , + e.prototype.get_content_str = function(t) { + var e = ""; + if (1 == t.type) { + if (e += "", + e += game.Tools.strOfLocalization(2131), + 1 == t.content.type) { + for (var i = t.content.game_start.players, n = 0; n < i.length; n++) + 0 != n && (n == i.length - 1 ? e += game.Tools.strOfLocalization(2132) : e += "、"), + 0 === i[n].account_id ? e += game.Tools.strOfLocalization(2133) : e += i[n].nickname; + e += game.Tools.strOfLocalization(2134) + } else if (2 == t.content.type) { + e += game.Tools.strOfLocalization(2135); + for (var i = t.content.game_end.players, n = 0; n < i.length; n++) + 0 != n && (e += ","), + e += "[" + (n + 1).toString() + "]", + 0 === i[n].account_id ? e += game.Tools.strOfLocalization(2133) : e += i[n].nickname, + e += "(" + (i[n].total_point > 0 ? "+" : "") + i[n].total_point / 1e3 + game.Tools.strOfLocalization(2136) + ")" + } + e += "" + } else if (2 == t.type) { + e += "" + t.content.sender + "", + t.content.verified && (e += ""), + e += ":"; + var a = t.content.content; + e += "" + (a = game.Tools.strWithoutForbidden(a)) + "" + } + return e + } + , + e.prototype.render_item = function(e) { + var i = e.index + , n = e.container + , a = n.getChildByName("container_content").getChildByName("content"); + null == a && ((a = new Laya.HTMLDivElement).name = "content", + n.getChildByName("container_content").addChild(a), + a.pos(0, 0), + a.width = this.test_height_div.width, + a.style.lineHeight = this.test_height_div.style.lineHeight, + a.style.valign = this.test_height_div.style.valign, + a.style.width = a.width, + a.style.align = this.test_height_div.style.align); + var r = this.infos[this.show_index[i]]; + n.height = r.height, + a.innerHTML = this.get_content_str(r); + var s = n.getChildByName("btn_click"); + 1 == r.type ? s.clickHandler = null : (s.clickHandler = Laya.Handler.create(this, function() { + r.content.account_id && t.UI_OtherPlayerInfo.Inst.show(r.content.account_id) + }, null, !1), + s.width = n.width, + s.height = n.height, + s.pos(0, 0)) + } + , + e.prototype.refresh_scrollbar = function() { + if (this.scrollview.need_scroll) { + var t = this.scrollview.rate; + this.scrollpoint.height = this.scrollbar.height * this.scrollview.view_height / this.scrollview.total_height, + this.scrollpoint.y = t * this.scrollbar.height * (1 - this.scrollview.view_height / this.scrollview.total_height), + this.scrollbar.visible = !0 + } else + this.scrollbar.visible = !1 + } + , + e + }() + , s = function() { + function t(t) { + var e = this; + this.tab_index = 0, + this.me = t, + this.chat = new r(t.getChildByName("chat")), + this.btn_chat = t.getChildByName("btn_chat"), + this.btn_chat.clickHandler = Laya.Handler.create(this, function() { + 1 != e.tab_index && e.change_tab(1) + }, null, !1), + this.btn_info = t.getChildByName("btn_info"), + this.btn_info.clickHandler = Laya.Handler.create(this, function() { + 0 != e.tab_index && e.change_tab(0) + }, null, !1), + this.container_notice = t.getChildByName("notice"), + this.panel = this.container_notice.getChildByName("panel"), + this.panel.vScrollBarSkin = "", + this.label_content = this.panel.getChildByName("content"), + this.scrollbar = this.container_notice.getChildByName("scrollbar"), + this.scrollpoint = this.scrollbar.getChildByName("scrollpoint"), + this.panel.vScrollBar.on("change", this, function() { + e.refresh_scrollbar() + }), + this.me.getChildByName("nochat").visible = !1 + } + return t.prototype.on_enter_room = function() { + this.chat.on_enter_room() + } + , + t.prototype.on_leave_room = function() { + this.chat.on_leave_room() + } + , + t.prototype.set_notice = function(t) { + this.label_content.text = game.Tools.strWithoutForbidden(t, !0), + this.label_content.height = this.label_content.textField.textHeight, + this.panel.refresh(), + this.scrollbar.visible = this.label_content.height > this.panel.height, + this.panel.vScrollBar.value = 0, + this.refresh_scrollbar() + } + , + t.prototype.refresh_scrollbar = function() { + if (this.label_content.height > this.panel.height) { + var t = this.panel.vScrollBar.value / this.panel.vScrollBar.max; + this.scrollpoint.height = this.scrollbar.height * this.panel.height / this.label_content.height, + this.scrollpoint.y = t * this.scrollbar.height * (1 - this.panel.height / this.label_content.height) + } + } + , + t.prototype.change_tab = function(t) { + if (this.tab_index = t, + game.Tools.during_chat_close()) { + this.chat.me.visible = !1; + var e = this.me.getChildByName("nochat"); + 1 == t ? (e.visible = !0, + e.text = "功能维护中,祝大家新年快乐") : e.visible = !1 + } else + this.chat.me.visible = 1 == t, + this.me.getChildByName("nochat").visible = !1; + this.btn_chat.getChildByName("inchoose").visible = 1 == t, + this.container_notice.visible = 0 == t, + this.btn_info.getChildByName("inchoose").visible = 0 == t + } + , + t + }() + , o = function() { + function e(e) { + var i = this; + this.player_count = 1, + this.me = e, + this.label_rank = e.getChildByName("rank"), + this.label_my_near_point_word = e.getChildByName("my_near_point"), + this.label_my_near_point_value = this.label_my_near_point_word.getChildByName("v"), + this.label_my_near_rank_word = e.getChildByName("my_near_rank"), + this.label_my_near_rank_value = this.label_my_near_rank_word.getChildByName("v"), + this.label_my_match_count = e.getChildByName("my_match_count").getChildByName("v"), + this.btn_start = e.getChildByName("btn_start"), + this.label_btn = this.btn_start.getChildByName("label_name"), + this.btn_start.clickHandler = Laya.Handler.create(this, function() { + game.Tools.setGrayDisable(i.btn_start, !0), + _.Inst.during_waiting_match ? app.NetAgent.sendReq2Lobby("Lobby", "stopCustomizedContest", {}, function(e, n) { + game.Tools.setGrayDisable(i.btn_start, !1), + e || n.error ? t.UIMgr.Inst.showNetReqError("stopCustomizedContest", e, n) : (_.Inst.during_waiting_match = !1, + i.refresh_start_btn()) + }) : app.NetAgent.sendReq2Lobby("Lobby", "startCustomizedContest", { + unique_id: _.Inst.match_id + }, function(e, n) { + if (game.Tools.setGrayDisable(i.btn_start, !1), + e) + t.UIMgr.Inst.showNetReqError("startCustomizedContest", e, null); + else if (n.error) { + var a = n.error; + 2511 == a.code || 2519 == a.code || 2518 == a.code ? _.Inst.showError(a) : t.UIMgr.Inst.showNetReqError("startCustomizedContest", "", n) + } else + _.Inst.during_waiting_match = !0, + i.refresh_start_btn() + }) + }, null, !1), + this.label_online = e.getChildByName("count_online"), + app.NetAgent.AddListener2Lobby("NotifyCustomContestState", new Laya.Handler(this,function(t) { + t.unique_id == _.Inst.match_id && (_.Inst.match_data.state = t.state, + i.refresh_start_btn()) + } + )) + } + return e.prototype.on_enter_room = function() { + var t = this + , e = _.Inst.match_data; + _.Inst.player_report; + this.me.getChildByName("starttime").getChildByName("date").text = game.Tools.time2YearMounthDate(e.start_time), + this.me.getChildByName("starttime").getChildByName("time").text = game.Tools.time2HourMinute(e.start_time, !0), + this.me.getChildByName("endtime").getChildByName("date").text = game.Tools.time2YearMounthDate(e.finish_time), + this.me.getChildByName("endtime").getChildByName("time").text = game.Tools.time2HourMinute(e.finish_time, !0); + var i = []; + if (i.push(game.Tools.room_mode_desc(e.game_mode.mode)), + e.game_mode.detail_rule) { + var n = e.game_mode.detail_rule; + 0 === n.shiduan ? i.push(game.Tools.strOfLocalization(2137)) : i.push(game.Tools.strOfLocalization(2138)); + var a = null != n.time_fixed ? n.time_fixed : 5 + , r = null != n.time_add ? n.time_add : 20; + i.push(a.toString() + "+" + r.toString() + game.Tools.strOfLocalization(2019)); + switch (null != n.dora_count ? n.dora_count : 3) { + case 0: + i.push(game.Tools.strOfLocalization(2044)); + break; + case 2: + i.push(game.Tools.strOfLocalization(2047)); + break; + case 3: + i.push(game.Tools.strOfLocalization(2045)); + break; + case 4: + i.push(game.Tools.strOfLocalization(2046)) + } + } else + i.push(game.Tools.strOfLocalization(2138)), + i.push("5+20" + game.Tools.strOfLocalization(2019)), + i.push(game.Tools.strOfLocalization(2045)); + for (var s = 0; s < 4; s++) { + var o = this.me.getChildByName("rule" + s); + s >= i.length ? o.visible = !1 : (o.visible = !0, + o.getChildByName("label_name").text = i[s]) + } + this.me.getChildByName("check_rule").clickHandler = new Laya.Handler(this,function() { + _.Inst.show_rule() + } + ), + this.refresh_my_rank(), + this.refresh_start_btn(), + this.player_count = 0, + this.label_online.text = "1", + this.nxt_refresh_count_time = 1, + this.refresh_online(), + Laya.timer.loop(3e3, this, function() { + t.refresh_online() + }) + } + , + e.prototype.on_leave_room = function() { + Laya.timer.clearAll(this) + } + , + e.prototype.refresh_my_rank = function() { + var t = _.Inst.match_data + , e = _.Inst.player_report + , i = 0; + t.rank_rule && (i = t.rank_rule); + var n = 5; + if (this.label_my_near_point_word.visible = !0, + this.label_my_near_rank_word.visible = !0, + 2 == i ? (this.label_my_near_point_word.text = game.Tools.strOfLocalization(2139, ["5"]), + this.label_my_near_rank_word.text = game.Tools.strOfLocalization(2499)) : 1 == i ? (this.label_my_near_point_word.text = game.Tools.strOfLocalization(2139, ["3"]), + this.label_my_near_rank_word.text = game.Tools.strOfLocalization(2499)) : 12 == i ? (this.label_my_near_point_word.text = game.Tools.strOfLocalization(3054, ["2"]), + this.label_my_near_rank_word.text = game.Tools.strOfLocalization(3055, ["2"]), + n = 2) : 13 == i ? (this.label_my_near_point_word.text = game.Tools.strOfLocalization(3054, ["3"]), + this.label_my_near_rank_word.text = game.Tools.strOfLocalization(3055, ["3"]), + n = 3) : 14 == i ? (this.label_my_near_point_word.text = game.Tools.strOfLocalization(3054, ["4"]), + this.label_my_near_rank_word.text = game.Tools.strOfLocalization(3055, ["4"]), + n = 4) : 15 == i ? (this.label_my_near_point_word.text = game.Tools.strOfLocalization(3054, ["5"]), + this.label_my_near_rank_word.text = game.Tools.strOfLocalization(3055, ["5"]), + n = 3) : 0 == i && (this.label_my_near_point_word.text = game.Tools.strOfLocalization(2139, ["-"]), + this.label_my_near_rank_word.text = game.Tools.strOfLocalization(2499)), + this.label_my_near_point_word.fontSize = 27, + this.label_my_near_rank_word.fontSize = 27, + this.label_my_near_point_word.textField.textWidth > this.label_my_near_point_word.width && (this.label_my_near_point_word.fontSize = 27 * this.label_my_near_point_word.width / this.label_my_near_point_word.textField.textWidth), + this.label_my_near_rank_word.textField.textWidth > this.label_my_near_rank_word.width && (this.label_my_near_rank_word.fontSize = 27 * this.label_my_near_rank_word.width / this.label_my_near_rank_word.textField.textWidth), + e) { + this.label_rank.text = null == e.rank || 0 == e.rank ? "--" : e.rank.toString(), + this.label_my_near_point_value.text = null == e.point ? "--" : (e.point / 1e3).toString(); + var a = "" + , r = !1; + if (e.game_ranks) + for (s = 0; s < n; s++) + "" != a && (a += "/"), + s < e.game_ranks.length ? (a += e.game_ranks[s].toString(), + r = !0) : a += "-"; + else + for (s = 0; s < n; s++) + "" != a && (a += "/"), + a += "-"; + r ? this.label_my_match_count.text = e.total_game_count.toString() : (this.label_my_near_point_value.text = "--", + this.label_my_match_count.text = "--"), + this.label_my_near_rank_value.text = a + } else { + this.label_rank.text = "--", + this.label_my_near_point_value.text = "--", + this.label_my_match_count.text = "--"; + for (var a = "", s = 0; s < n; s++) + "" != a && (a += "/"), + a += "-"; + this.label_my_near_rank_value.text = a + } + } + , + e.prototype.refresh_online = function() { + var t = this + , e = this.player_count; + e <= 0 ? this.label_online.text = "--" : (e > 50 && e < 100 ? e += Math.floor(10 * Math.random() - 5) : e >= 100 && (e = Math.floor(e * (.12 * Math.random() + .94) + 7 * Math.random() - 3)), + this.label_online.text = e.toString()), + Laya.timer.currTimer >= this.nxt_refresh_count_time && (app.NetAgent.sendReq2Lobby("Lobby", "fetchCustomizedContestOnlineInfo", { + unique_id: _.Inst.match_id + }, function(e, i) { + e || i.error ? t.player_count = 1 : t.player_count = i.online_player + }), + this.player_count < 100 ? this.nxt_refresh_count_time = Laya.timer.currTimer + 5e3 : this.player_count < 500 ? this.nxt_refresh_count_time = Laya.timer.currTimer + 24e3 * (this.player_count - 100) / 400 : this.nxt_refresh_count_time = Laya.timer.currTimer + 29e3) + } + , + e.prototype.refresh_start_btn = function() { + var t = _.Inst.match_data; + 1 == t.state ? (game.Tools.setGrayDisable(this.btn_start, !0), + this.label_btn.text = game.Tools.strOfLocalization(2140), + this.btn_start.skin = game.Tools.localUISrc("myres/match_lobby/match_btn2.png")) : 2 == t.state ? (game.Tools.setGrayDisable(this.btn_start, !1), + _.Inst.during_waiting_match ? (this.label_btn.text = game.Tools.strOfLocalization(2141), + this.btn_start.skin = game.Tools.localUISrc("myres/match_lobby/match_btn3.png")) : (this.label_btn.text = game.Tools.strOfLocalization(2142), + this.btn_start.skin = game.Tools.localUISrc("myres/match_lobby/match_btn2.png"))) : 3 == t.state && (game.Tools.setGrayDisable(this.btn_start, !0), + this.label_btn.text = game.Tools.strOfLocalization(2143), + this.btn_start.skin = game.Tools.localUISrc("myres/match_lobby/match_btn2.png")) + } + , + e + }() + , l = function(e) { + function i(i) { + var n = e.call(this, i) || this; + return n.label_name = i.getChildByName("name"), + n.check_follow = i.getChildByName("check_follow"), + n.label_follow = n.check_follow.getChildByName("word"), + n.check_flag = n.check_follow.getChildByName("check"), + n.check_follow.clickHandler = Laya.Handler.create(n, function() { + _.Inst.follow = !_.Inst.follow, + n.check_flag.visible = _.Inst.follow, + n.label_follow.text = game.Tools.strOfLocalization(n.check_flag.visible ? 2144 : 2145), + t.UI_Match_Lobby.Inst.change_match_follow(_.Inst.match_id, _.Inst.follow); + var e = n.check_flag.visible ? "followCustomizedContest" : "unfollowCustomizedContest"; + app.NetAgent.sendReq2Lobby("Lobby", e, { + unique_id: _.Inst.match_id + }, function() {}) + }, null, !1), + n.container_left = new s(i.getChildByName("container_left")), + n.container_right = new o(i.getChildByName("container_right")), + n + } + return __extends(i, e), + i.prototype.onEnterRoom = function() { + var t = _.Inst.match_data; + _.Inst.player_report; + this.label_name.text = t.contest_name, + this.container_left.set_notice(t.private_notice), + this.container_left.change_tab(0), + this.container_left.on_enter_room(), + this.container_right.on_enter_room(), + this.check_flag.visible = _.Inst.follow, + this.label_follow.text = game.Tools.strOfLocalization(this.check_flag.visible ? 2144 : 2145) + } + , + i.prototype.on_leave_room = function() { + this.container_left.on_leave_room(), + this.container_right.on_leave_room() + } + , + i.prototype.show = function() { + this.me.visible = !0 + } + , + i.prototype.close = function() { + this.me.visible = !1 + } + , + i + }(a) + , h = function(e) { + function i(t) { + var i = e.call(this, t) || this; + return i.next_index = -1, + i.record_list = [], + i.last_fetch_time = -1e8, + i.nolimitlst = t.scriptMap["capsui.NoLimitList"], + i.nolimitlst.init_nolimitlist(Laya.Handler.create(i, i.load_next, null, !1), Laya.Handler.create(i, i.render_item, null, !1)), + i.me.getChildByName("checkother").clickHandler = Laya.Handler.create(i, function() { + _.Inst.pop_check_paipu.show_check() + }, null, !1), + i + } + return __extends(i, e), + i.prototype.onEnterRoom = function() { + this.last_fetch_time = -1e8, + this.match_id = _.Inst.match_id, + this.record_list = [], + this.next_index = -1 + } + , + i.prototype.show = function() { + this.me.visible = !0, + Laya.timer.currTimer > this.last_fetch_time + 6e4 && (this.next_index = -1, + this.record_list = [], + this.nolimitlst.reset(), + this.nolimitlst.total_count = 1, + this.last_fetch_time = Laya.timer.currTimer) + } + , + i.prototype.close = function() { + this.me.visible = !1 + } + , + i.prototype.setNeedFetch = function() { + this.last_fetch_time = -1e8 + } + , + i.prototype.load_next = function() { + var e = this + , i = { + unique_id: this.match_id + }; + this.next_index >= 0 && (i.last_index = this.next_index), + app.NetAgent.sendReq2Lobby("Lobby", "fetchCustomizedContestGameRecords", i, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("fetchCustomizedContestGameRecords", i, n), + e.nolimitlst.loadOver(!1, 0); + else { + var a = 0; + if (n.record_list) { + a = n.record_list.length; + for (var r = 0; r < a; r++) + e.record_list.push(n.record_list[r]) + } + null != n.next_index && n.next_index >= 0 ? (e.next_index = n.next_index, + a > 0 ? (e.nolimitlst.total_count = e.record_list.length + 1, + e.nolimitlst.loadOver(!0, a)) : (e.nolimitlst.total_count = e.record_list.length, + e.nolimitlst.loadOver(!0, a))) : (e.nolimitlst.total_count = e.record_list.length, + e.nolimitlst.loadOver(!0, a)) + } + }) + } + , + i.prototype.render_item = function(e) { + for (var i = this, n = e.index, a = e.container, r = this.record_list[n], s = 0; s < 4; s++) { + var o = a.getChildByName("p" + s.toString()); + if (r.result.players.length <= s) + o.visible = !1; + else { + o.visible = !0; + var l = o.getChildByName("chosen") + , h = o.getChildByName("rank") + , c = o.getChildByName("rank_word") + , u = o.getChildByName("name") + , d = o.getChildByName("score") + , f = r.result.players[s]; + d.text = f.part_point_1; + for (var p = 0, m = game.Tools.strOfLocalization(2133), g = 0, y = !1, v = 0; v < r.accounts.length; v++) + if (r.accounts[v].seat == f.seat) { + p = r.accounts[v].account_id, + m = r.accounts[v].nickname, + g = r.accounts[v].verified, + y = r.accounts[v].account_id == GameMgr.Inst.account_id; + break + } + game.Tools.SetNickname(u, { + account_id: p, + nickname: m, + verified: g + }), + l.visible = y, + d.color = y ? "#ffc458" : "#b98930", + u.getChildByName("name").color = y ? "#dfdfdf" : "#a0a0a0", + c.color = h.color = y ? "#57bbdf" : "#489dbc"; + var b = o.getChildByName("rank_word"); + if ("en" == GameMgr.client_language) + switch (b.y = 51, + s) { + case 0: + b.text = "st"; + break; + case 1: + b.text = "nd"; + break; + case 2: + b.text = "rd"; + break; + case 3: + b.text = "th" + } + else + b.y = 46 + } + } + var w = new Date(1e3 * r.end_time) + , x = ""; + x += w.getFullYear() + "/", + x += (w.getMonth() < 9 ? "0" : "") + (w.getMonth() + 1).toString() + "/", + x += (w.getDate() < 10 ? "0" : "") + w.getDate() + " ", + x += (w.getHours() < 10 ? "0" : "") + w.getHours() + ":", + x += (w.getMinutes() < 10 ? "0" : "") + w.getMinutes(), + a.getChildByName("date").text = x, + a.getChildByName("check").clickHandler = Laya.Handler.create(this, function() { + i.locking || (_.Inst.during_waiting_match ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2146)) : GameMgr.Inst.checkPaiPu(i.record_list[n].uuid, 0, 0)) + }, null, !1), + a.getChildByName("share").clickHandler = Laya.Handler.create(this, function() { + i.locking || _.Inst.pop_check_paipu.show_share(i.record_list[n].uuid) + }, null, !1); + var I = a.getChildByName("room") + , C = game.Tools.get_room_desc(r.config); + I.text = C.text + } + , + i + }(a) + , c = function(e) { + function i(t) { + var i = e.call(this, t) || this; + return i.live_datas = [], + i.last_fetch_time = -1e6, + i.scrollview = i.me.getChildByName("scrollview").scriptMap["capsui.CScrollView"], + i.scrollview.init_scrollview(Laya.Handler.create(i, i.render_scrollview, null, !1)), + i + } + return __extends(i, e), + i.prototype.onEnterRoom = function() { + var t = _.Inst.match_data; + this.match_id = t.unique_id, + this.match_name = t.contest_name, + this.is_sima = t.game_mode.mode < 10, + this.last_fetch_time = -1e6 + } + , + i.prototype.show = function() { + var e = this; + this.me.visible = !0, + Laya.timer.currTimer > this.last_fetch_time + 1e4 && (this.scrollview.reset(), + this.live_datas = [], + app.NetAgent.sendReq2Lobby("Lobby", "fetchCustomizedContestGameLiveList", { + unique_id: this.match_id + }, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("fetchCustomizedContestGameLiveList", i, n); + else { + if (n.live_list) + for (var a = 0; a < n.live_list.length; a++) + e.live_datas.push(n.live_list[a]); + e.scrollview.addItem(e.live_datas.length), + e.last_fetch_time = Laya.timer.currTimer + } + })) + } + , + i.prototype.close = function() { + this.me.visible = !1 + } + , + i.prototype.setNeedFetch = function() { + this.last_fetch_time = -1e6 + } + , + i.prototype.render_scrollview = function(e) { + var i = this + , n = e.index + , a = e.container + , r = e.cache_data + , s = this.live_datas[n]; + a.getChildByName("mode").text = this.match_name; + var o = new Date(1e3 * s.start_time) + , l = o.getHours() + ":"; + o.getMinutes() < 10 && (l += "0"), + l += o.getMinutes().toString(), + a.getChildByName("time").text = l; + for (var h = this.is_sima ? 4 : 3, c = 0; c < 4; c++) { + var u = "p" + c + , d = a.getChildByName(u); + if (c >= h) + d.visible = !1; + else { + if (d.visible = !0, + !r[u]) { + var f = {}; + f.level = new t.UI_Level(d.getChildByName("rank")), + f.title = new t.UI_PlayerTitle(d.getChildByName("title")), + f.name = d.getChildByName("name"), + r[u] = f + } + if (c < s.players.length) { + var p = s.players[c]; + r[u].level.id = p[this.is_sima ? "level" : "level3"].id, + r[u].title.id = game.Tools.titleLocalization(p.account_id, p.title), + game.Tools.SetNickname(r[u].name, p) + } else + r[u].level.id = this.is_sima ? 10101 : 20101, + r[u].title.id = 0, + game.Tools.SetNickname(r[u].name, { + account_id: 0, + nickname: game.Tools.strOfLocalization(2133), + verified: 0 + }) + } + } + a.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + _.Inst.during_waiting_match ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2147)) : app.NetAgent.sendReq2Lobby("Lobby", "fetchCustomizedContestAuthInfo", { + unique_id: _.Inst.match_id + }, function(e, n) { + e || n.error ? t.UIMgr.Inst.showNetReqError("fetchCustomizedContestAuthInfo", e, n) : n.observer_level && 1 == n.observer_level ? app.NetAgent.sendReq2Lobby("Lobby", "createGameObserveAuth", { + game_uuid: s.uuid + }, function(e, n) { + e || n.error ? t.UI_Live_Broadcast.fetchInfo(s.uuid, Laya.Handler.create(i, function(e) { + e.success && t.UI_Live_Broadcast.goToWatch(s.uuid, e.data, s.players[0].account_id) + })) : game.MJNetMgr.Inst.OpenConnectObserve(n.token, n.location) + }) : t.UI_Live_Broadcast.fetchInfo(s.uuid, Laya.Handler.create(i, function(e) { + e.success && t.UI_Live_Broadcast.goToWatch(s.uuid, e.data, s.players[0].account_id) + })) + }) + }, null, !1) + } + , + i + }(a) + , _ = function(a) { + function r() { + var t = a.call(this, new ui.lobby.match_roomUI) || this; + return t.tabs = [], + t.locking = !1, + t.match_data = null, + t.player_report = null, + t.tab_index = -1, + t.during_waiting_match = !1, + r.Inst = t, + game.LobbyNetMgr.Inst.add_connect_listener(new Laya.Handler(t,function(e) { + t.enable && "reconnect_success" == e && t.refresh_data() + } + )), + t + } + return __extends(r, a), + r.prototype.onCreate = function() { + var a = this; + this.container_top = this.me.getChildByName("top"), + this.label_match_title = this.container_top.getChildByName("title"), + this.label_match_id = this.container_top.getChildByName("id"), + this.container_top.getChildByName("btn_back").clickHandler = Laya.Handler.create(this, function() { + a.locking || (a.during_waiting_match ? app.NetAgent.sendReq2Lobby("Lobby", "stopCustomizedContest", {}, function(e, i) { + e || i.error ? t.UIMgr.Inst.showNetReqError("stopCustomizedContest", e, i) : (r.Inst.during_waiting_match = !1, + a.page_main.container_right.refresh_start_btn(), + a.close()) + }) : a.close()) + }, null, !1), + this.container_main = this.me.getChildByName("main"), + this.tabs = []; + for (var s = function(t) { + o.tabs.push(o.container_main.getChildByName("tabs").getChildAt(t)), + o.tabs[t].clickHandler = Laya.Handler.create(o, function() { + a.locking || a.tab_index != t && null != a.match_data && a.change_tab(t) + }, null, !1) + }, o = this, _ = 0; _ < 3; _++) + s(_); + this.page_main = new l(this.container_main.getChildByName("page_main")), + this.page_paipu = new h(this.container_main.getChildByName("page_paipu")), + this.page_ob = new c(this.container_main.getChildByName("page_ob")), + this.pop_rule = new e(this.me.getChildByName("pop_rule")), + this.pop_check_paipu = new n(this.me.getChildByName("pop_check_paipu")), + this.pop_no_access = new i(this.me.getChildByName("pop_no_access")), + app.NetAgent.AddListener2Lobby("NotifyRoomGameStart", Laya.Handler.create(this, function(t) { + a.enable && (app.Log.log("NotifyRoomGameStart:" + JSON.stringify(t)), + a.onGameStart(t)) + })) + } + , + r.prototype.show = function(t) { + this.match_id = t, + GameMgr.Inst.custom_match_id = this.match_id, + this.refresh_data() + } + , + r.prototype.refresh_data = function() { + var e = this; + this.page_main.me.visible = !1, + this.page_paipu.me.visible = !1, + this.page_ob.me.visible = !1, + app.NetAgent.sendReq2Lobby("Lobby", "enterCustomizedContest", { + unique_id: this.match_id + }, function(i, n) { + i || n.error ? t.UIMgr.Inst.showNetReqError("enterCustomizedContest", i, n) : (app.Log.log(JSON.stringify(n)), + e.match_data = n.detail_info, + e.player_report = n.player_report, + e.label_match_id.text = "ID:" + e.match_data.contest_id, + e.follow = n.is_followed, + e.page_main.onEnterRoom(), + e.page_ob.onEnterRoom(), + e.page_paipu.onEnterRoom(), + e.change_tab(0)) + }), + this.change_tab(-1), + this.pop_check_paipu.me.visible = !1, + this.pop_no_access.me.visible = !1, + this.pop_rule.me.visible = !1, + this.enable = !0, + this.locking = !0, + t.UIBase.anim_alpha_in(this.container_top, { + y: -30 + }, 200), + t.UIBase.anim_alpha_in(this.container_main, { + y: 30 + }, 200), + this.label_match_id.text = "ID:--", + this.label_match_id.x = this.label_match_title.textField.textWidth * this.label_match_title.scaleX + this.label_match_title.x + 10, + Laya.timer.once(200, this, function() { + e.locking = !1 + }) + } + , + r.prototype.close = function() { + var e = this; + this.match_data = null, + this.match_id = -1, + GameMgr.Inst.custom_match_id = -1, + this.locking = !0, + t.UIBase.anim_alpha_out(this.container_top, { + y: -30 + }, 200), + t.UIBase.anim_alpha_out(this.container_main, { + y: 30 + }, 200), + Laya.timer.once(200, this, function() { + e.enable = !1, + e.locking = !1, + e.change_tab(-1), + t.UI_Match_Lobby.Inst.show() + }), + app.NetAgent.sendReq2Lobby("Lobby", "leaveCustomizedContest", {}, function() {}), + this.page_main.on_leave_room() + } + , + r.prototype.change_tab = function(t) { + switch (this.tab_index) { + case 0: + this.page_main.close(); + break; + case 1: + this.page_paipu.close(); + break; + case 2: + this.page_ob.close() + } + switch (this.tab_index = t, + this.tab_index) { + case 0: + this.page_main.show(); + break; + case 1: + this.page_paipu.show(); + break; + case 2: + this.page_ob.show() + } + for (var e = 0; e < this.tabs.length; e++) + this.tabs[e].skin = game.Tools.localUISrc(t == e ? "myres/shop/tab_choose.png" : "myres/shop/tab_unchoose.png"), + this.tabs[e].getChildAt(0).color = t == e ? "#d9b263" : "#8cb65f" + } + , + r.prototype.show_rule = function() { + this.pop_rule.show(this.match_data.game_mode) + } + , + r.prototype.onGameStart = function(e) { + this.match_data = null, + this.enable = !1, + this.during_waiting_match = !1, + this.page_main.on_leave_room(), + t.UI_Lobby.Inst.enable = !1, + t.UI_Match_Lobby.Inst.clear_data(), + game.MJNetMgr.Inst.OpenConnect(e.connect_token, e.game_uuid, e.location, !1, null) + } + , + r.prototype.showError = function(t) { + this.pop_no_access.show(t) + } + , + r + }(t.UIBase); + t.UI_Match_Room = _ +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e; + !function() { + function t(t) { + this.cd = 300, + this.pre_t = 0, + this.items = [], + this.me = t, + this.templete = t.getChildByName("templete"), + this.templete.visible = !1 + } + t.prototype.reset = function() { + Laya.timer.clearAll(this); + for (var t = 0; t < this.items.length; t++) + this.items[t].destroy(!0); + this.items = [], + this.pre_t = 0 + } + , + t.prototype.fly = function(t) { + var e = this + , i = this.templete.scriptMap["capsui.UICopy"].getNodeClone() + , n = i.getChildByName("icon") + , a = i.getChildByName("count") + , r = t.getChildByName("icon") + , s = t.getChildByName("count"); + n.skin = game.Tools.localUISrc(r.skin), + a.text = s.text, + n.x = r.x, + a.x = s.x, + this.items.push(i); + var o = this.pre_t + this.cd - Laya.timer.currTimer; + o < 120 && (o = 120), + i.visible = !1; + var l = t.parent.localToGlobal(new Laya.Point(t.x,t.y)); + Laya.timer.once(o, this, function() { + i.visible = !0, + i.x = l.x, + i.y = l.y, + i.alpha = 10; + var t = Laya.timer.currTimer + , n = e; + Laya.timer.frameLoop(1, i, function() { + var e = Laya.timer.currTimer - t; + if (e >= 600) { + for (var a = 0; a < n.items.length; a++) + if (n.items[a] === i) { + for (var r = a; r < n.items.length - 1; r++) + n.items[r] = n.items[r + 1]; + break + } + i.destroy(!0), + Laya.timer.clearAll(i) + } else { + var s = e / 600; + i.y = l.y - 50 * s, + i.alpha = s < .7 ? 1 : (1 - s) / .3 + } + }) + }), + this.pre_t = o + Laya.timer.currTimer + } + }(); + !function(t) { + t[t.none = 0] = "none", + t[t.small = 1] = "small", + t[t.big = 2] = "big", + t[t.passed = 3] = "passed" + }(e || (e = {})); + var i = function(i) { + function n() { + var e = i.call(this, new ui.lobby.match_shilianUI) || this; + return e.container_top = null, + e.money = null, + e.root = null, + e.container_step = null, + e.steps = [], + e.container_down = null, + e.btn_start = null, + e.btn_getreward = null, + e.btn_rule = null, + e.btn_quit = null, + e.container_tips = null, + e.rand_tips = [], + e.container_result = null, + e.shine = null, + e._gray_filter = null, + e.locking = !1, + e.reward_fly = null, + e._inmatch = !1, + e._step_index = 0, + e._can_reward = !1, + e._fail = !1, + e._gray_filter = new Laya.ColorFilter(t.GRAY_FILTER), + n.Inst = e, + e + } + return __extends(n, i), + n.prototype.onCreate = function() {} + , + n.prototype.setStepState = function(t, i) { + var n = this.steps[t]; + i == e.none ? (n.root.scaleX = n.root.scaleY = 1, + n.passed.visible = !1, + n.container_info.y = 98, + n.qidian.visible = !1, + n.fandian.visible = !1, + n.contianer_reward.visible = !0, + n.contianer_reward.alpha = 1, + n.star.visible = !1, + n.container_main.filters = []) : i == e.big ? (n.root.scaleX = n.root.scaleY = 1.1, + n.passed.visible = !1, + n.container_info.y = 144, + n.qidian.visible = !0, + n.qidian.alpha = 1, + n.fandian.visible = !0, + n.qidian.alpha = 1, + n.contianer_reward.visible = !0, + n.contianer_reward.alpha = 1, + n.star.visible = !1, + n.container_main.filters = []) : i == e.small ? (n.root.scaleX = n.root.scaleY = .85, + n.passed.visible = !1, + n.container_info.y = 98, + n.qidian.visible = !1, + n.fandian.visible = !1, + n.contianer_reward.visible = !1, + n.star.visible = !0, + n.star.alpha = 1, + n.container_main.filters = []) : i == e.passed && (n.root.scaleX = n.root.scaleY = .85, + n.passed.visible = !0, + n.container_info.y = 98, + n.qidian.visible = !1, + n.fandian.visible = !1, + n.contianer_reward.visible = !1, + n.star.visible = !0, + n.star.alpha = 1, + n.container_main.filters = [this._gray_filter]) + } + , + n.prototype.show_backin = function(t, i, n) { + var a = this; + this.enable = !0, + this.locking = !0, + this._inmatch = !0, + this._fail = n, + this._can_reward = i, + this._step_index = t; + for (var r = 0; r < this.steps.length; r++) + r < t ? this.setStepState(r, e.passed) : r == t ? this.setStepState(r, e.big) : this.setStepState(r, e.small); + this._show_init(), + n ? (this.btn_start.visible = !1, + this.btn_quit.visible = !1, + this.btn_getreward.visible = !1, + this.shine.visible = !1, + this.btn_rule.visible = !0, + Laya.timer.once(500, this, function() { + a.locking = !1, + a.showResult(!1) + })) : (this.btn_start.visible = !i, + this.btn_getreward.visible = i, + this.btn_quit.visible = !0, + this.container_result.visible = n, + this.shine.visible = !1, + this.btn_rule.visible = !0, + Laya.timer.once(500, this, function() { + a.locking = !1 + })) + } + , + n.prototype.show_newin = function(i, n, a, r) { + var s = this; + this.locking = !0, + this.enable = !0, + this._inmatch = i, + this._step_index = n, + this._can_reward = a, + this._fail = r; + for (var o = 0; o < this.steps.length; o++) { + i ? o < n ? this.setStepState(o, e.passed) : o == n ? this.setStepState(o, e.big) : this.setStepState(o, e.small) : this.setStepState(o, e.none); + var l = this.steps[o]; + l.root.alpha = 0, + t.UIBase.anim_alpha_in(l.root, { + y: 150 + }, 200, 60 * o, null, Laya.Ease.strongOut) + } + this.btn_start.visible = i && !a, + this.btn_quit.visible = i, + this.btn_getreward.visible = i && a, + this.container_result.visible = !1, + this.btn_rule.visible = !0, + this.shine.visible = !1, + this._show_init(), + this.container_top.alpha = 1, + this.root.alpha = 1, + this.container_down.alpha = 1, + t.UIBase.anim_alpha_in(this.container_top, { + y: -30 + }, 200), + t.UIBase.anim_alpha_in(this.container_down, { + y: 30 + }, 200), + Laya.timer.once(800, this, function() { + s.locking = !1, + i || (i = !0, + s.matchStart()) + }) + } + , + n.prototype.matchStart = function() { + this._inmatch = !0, + this.btn_start.visible = !0, + this.btn_start.alpha = 0, + Laya.Tween.to(this.btn_start, { + alpha: 1 + }, 200), + this._step_index = 0, + this._can_reward = !1, + this.btn_quit.visible = !0, + this.btn_quit.alpha = 0, + Laya.Tween.to(this.btn_quit, { + alpha: 1 + }, 200), + this.steps[0].anim_small2big.play(0, !1); + for (var t = 1; t < this.steps.length; t++) + this.steps[t].anim_middle2small.play(0, !1) + } + , + n.prototype._show_init = function() { + for (var t = this, e = 0, i = 0; i < this.rand_tips.length; i++) + this.rand_tips[i].visible = i == e; + Laya.timer.loop(8e3, this, function() { + ++e >= t.rand_tips.length && (e = 0); + for (var i = 0; i < t.rand_tips.length; i++) + t.rand_tips[i].visible = i == e + }), + this.money.onEnable() + } + , + n.prototype.close = function(e) { + var i = this; + this.locking = !0, + this.reward_fly.reset(), + t.UIBase.anim_alpha_out(this.container_top, { + y: -30 + }, 200), + t.UIBase.anim_alpha_out(this.root, { + y: 100 + }, 200), + Laya.timer.once(300, this, function() { + Laya.timer.clearAll(i), + i.enable = !1, + i.locking = !1, + e && e.run() + }) + } + , + n.prototype.showResult = function(e) { + var i = this; + this.container_result.visible = !0; + (e ? this.me.success_in : this.me.fail_in).play(0, !1), + this.container_result.getChildByName("success").visible = e, + this.container_result.getChildByName("fail").visible = !e, + this.container_result.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + var n = e ? i.me.success_out : i.me.fail_out; + i.locking = !0, + n.play(0, !1), + Laya.timer.once(300, i, function() { + i.close(Laya.Handler.create(i, function() { + t.UI_Lobby.Inst.enable = !0 + })) + }) + }, null, !1) + } + , + n.prototype.getRewardSuccess = function(t) { + var e = this + , i = this.steps[t]; + this.locking = !0; + for (var n = 0; n < i.rewards.length; n++) + this.reward_fly.fly(i.rewards[n]); + t + 1 < this.steps.length ? (this._step_index = t + 1, + this._can_reward = !1, + i.anim_big2small.play(0, !1), + Laya.timer.once(500, this, function() { + i.container_main.filters = [e._gray_filter] + }), + Laya.timer.once(700, this, function() { + e.steps[t + 1].anim_small2big.play(0, !1), + Laya.timer.once(500, e, function() { + e.locking = !1, + e.btn_start.visible = !0, + e.btn_start.alpha = 0, + Laya.Tween.to(e.btn_start, { + alpha: 1 + }, 150) + }) + })) : (this._can_reward = !1, + Laya.timer.once(300 * i.rewards.length + 200, this, function() { + e.showResult(!0) + })) + } + , + n.Inst = null, + n + }(t.UIBase); + t.UI_Match_Shilian = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t) { + this.me = t, + this.title = t.getChildByName("title"), + this.bar_v = t.getChildByName("bar").getChildByName("v").mask, + this.label_add = t.getChildByName("bar").getChildByName("num"), + this.icon = t.getChildByName("icon") + } + return t.prototype.show = function() { + var t = view.DesktopMgr.Inst.rewardinfo.match_chest + , e = cfg.desktop.chest.get(t.chest_id); + this.bar_v.width = 384 * t.origin / e.exp_step, + this.label_add.text = "", + this.title.text = e["name_" + GameMgr.client_language], + game.LoadMgr.setImgSkin(this.icon, e.icon), + this.me.visible = !0 + } + , + t.prototype.doanim = function(t) { + var e = this + , i = view.DesktopMgr.Inst.rewardinfo.match_chest + , n = cfg.desktop.chest.get(i.chest_id) + , a = i.final - i.origin + (i.is_graded ? n.exp_step : 0); + this.label_add.text = "+" + a.toString(), + this.label_add.scaleX = this.label_add.scaleY = 0, + Laya.Tween.to(this.label_add, { + scaleX: 1, + scaleY: 1 + }, 200, Laya.Ease.backOut); + var r = i.is_graded ? 1 : i.final / n.exp_step; + Laya.timer.once(500, this, function() { + var a = (r - i.origin / n.exp_step) / .001; + Laya.Tween.to(e.bar_v, { + width: 384 * r + }, a), + Laya.timer.once(a + 500, e, function() { + i.is_graded ? game.Tools.showRewards(i, Laya.Handler.create(e, function() { + e.bar_v.width = 0; + var a = i.final / n.exp_step + , r = a / .001; + Laya.Tween.to(e.bar_v, { + width: 384 * a + }, r), + Laya.timer.once(r + 200, e, function() { + t.run() + }) + })) : t.run() + }) + }) + } + , + t.prototype.close = function() { + this.me.visible = !1, + game.LoadMgr.clearImgSkin(this.icon) + } + , + t + }() + , i = function() { + function e(e) { + this.me = e, + this.title = e.getChildByName("title"), + this.bar_v = e.getChildByName("bar").getChildByName("v").mask, + this.label_add = e.getChildByName("bar").getChildByName("num"), + this.icon = e.getChildByName("icon"), + this.container_gift = e.getChildByName("gift"), + this.container_gift.visible = !1, + this.container_item = this.container_gift.getChildByName("item"), + this.icon_gift = this.container_item.getChildByName("icon"), + this.gift_num = this.container_gift.getChildByName("num"), + this.container_item.getChildByName("btn").clickHandler = new Laya.Handler(this,function() { + t.UI_ItemDetail.Inst.show(cfg.desktop.settings.account_friendship_bar_reward_id.int_value) + } + ) + } + return e.prototype.show = function() { + var t = view.DesktopMgr.Inst.rewardinfo.character_gift; + this.bar_v.width = 384 * t.origin / cfg.desktop.settings.account_friendship_bar_length.int_value, + this.label_add.text = ""; + var e = cfg.desktop.settings.account_friendship_bar_reward_id.int_value + , i = cfg.item_definition.item.find(e); + game.LoadMgr.setImgSkin(this.icon, i.icon_transparent), + game.LoadMgr.setImgSkin(this.icon_gift, i.icon), + this.container_gift.visible = !1, + this.me.visible = !0 + } + , + e.prototype.doanim = function(e) { + var i = this + , n = view.DesktopMgr.Inst.rewardinfo.character_gift; + this.label_add.text = "+" + n.add, + this.label_add.scaleX = this.label_add.scaleY = 0, + Laya.Tween.to(this.label_add, { + scaleX: 1, + scaleY: 1 + }, 200, Laya.Ease.backOut); + var a = cfg.desktop.settings.account_friendship_bar_length.int_value + , r = n.is_graded ? 1 : n.final / a; + Laya.timer.once(500, this, function() { + var s = (r - n.origin / a) / .001; + Laya.Tween.to(i.bar_v, { + width: 384 * r + }, s), + Laya.timer.once(s + 500, i, function() { + n.is_graded ? (i.container_gift.x = i.icon.x, + i.container_gift.y = i.icon.y, + i.container_gift.alpha = 1, + i.container_gift.visible = !0, + i.container_item.scaleX = 1, + i.container_item.scaleY = 1, + i.container_item.alpha = 0, + i.gift_num.alpha = 0, + Laya.Tween.to(i.container_item, { + alpha: 1 + }, 300, null, Laya.Handler.create(i, function() { + Laya.timer.once(300, i, function() { + Laya.Tween.to(i.container_gift, { + x: i.icon.x + 200 + }, 200), + Laya.Tween.to(i.container_item, { + scaleX: .7, + scaleY: .7 + }, 200, null, Laya.Handler.create(i, function() { + t.UIBase.anim_pop_out(i.gift_num, Laya.Handler.create(i, function() { + Laya.timer.once(500, i, function() { + i.bar_v.width = 0; + var t = n.final / a + , r = t / .001; + Laya.Tween.to(i.bar_v, { + width: 384 * t + }, r), + Laya.timer.once(r + 200, i, function() { + e.run() + }) + }) + })) + })) + }) + }))) : e.run() + }) + }) + } + , + e.prototype.close = function() { + this.me.visible = !1, + game.LoadMgr.clearImgSkin(this.icon) + } + , + e + }() + , n = function() { + function e(t) { + this.hearts = [], + this.me = t, + this.container_hearts = t.getChildByName("hearts"); + for (var e = 0; e < this.container_hearts.numChildren; e++) { + var i = this.container_hearts.getChildAt(e); + this.hearts.push({ + me: i, + mask: i.getChildByName("v").mask + }) + } + this.label_num = t.getChildByName("num") + } + return e.prototype.show = function() { + this.me.visible = !0; + var e = view.DesktopMgr.Inst.rewardinfo; + this.target_level = e.main_character.level, + this.target_exp = e.main_character.exp; + var i = t.UI_Sushe.main_chara_info; + this.chara_info = i, + this.current_exp = i.exp, + this.current_level = i.level; + for (var n = 0; n < this.hearts.length; n++) + n < i.level ? this.hearts[n].mask.scaleY = 1 : n == i.level ? this.hearts[n].mask.scaleY = i.exp / cfg.level_definition.character.get(i.level + 1).exp * .82 + .1 : this.hearts[n].mask.scaleY = 0, + this.chara_info.is_upgraded ? this.hearts[n].me.getChildByName("v").getChildByName("h").skin = game.Tools.localUISrc("myres/bothui/heart_gold.png") : this.hearts[n].me.getChildByName("v").getChildByName("h").skin = game.Tools.localUISrc("myres/bothui/bf_heart.png"); + game.Tools.child_align_center(this.container_hearts, [10, 10, 10, 10]), + this.label_num.text = "", + this.chara_info.level = this.target_level, + this.chara_info.exp = this.target_exp + } + , + e.prototype.doanim = function(t) { + var e = this + , i = view.DesktopMgr.Inst.rewardinfo.main_character; + i ? (this.current_level < 5 ? this.label_num.text = "+" + i.add.toString() : this.label_num.text = "", + this.label_num.scaleX = this.label_num.scaleY = 0, + Laya.Tween.to(this.label_num, { + scaleX: 1, + scaleY: 1 + }, 200, Laya.Ease.backOut), + i.level < this.current_level ? t.run() : i.level == this.current_level && i.exp < this.current_exp ? t.run() : (this.anim_complete = t, + this.current_level < 5 ? Laya.timer.once(300, this, function() { + e._exp_up() + }) : this.anim_complete && this.anim_complete.run())) : t.run() + } + , + e.prototype._exp_up = function() { + var e = this + , i = this.current_level + , n = this.current_exp / cfg.level_definition.character.get(i + 1).exp + , a = 0; + a = i != this.target_level ? 1 : this.target_exp / cfg.level_definition.character.get(this.target_level + 1).exp; + var r = this.hearts[i]; + r.mask.scaleY = n; + var s = (a - n) / .0015; + Laya.Tween.to(r.mask, { + scaleY: .82 * a + .1 + }, s, null, Laya.Handler.create(this, function() { + e.me.visible && (i != e.target_level ? Laya.timer.once(500, e, function() { + t.UI_Character_star_up.Inst.show(e.chara_info, null), + Laya.timer.once(500, e, function() { + for (var t = 0; t < e.hearts.length; t++) + t < e.target_level ? e.hearts[t].mask.scaleY = 1 : t == e.target_level ? e.hearts[t].mask.scaleY = e.target_exp / cfg.level_definition.character.get(e.target_level + 1).exp * .92 : e.hearts[t].mask.scaleY = 0; + e.anim_complete && e.anim_complete.run() + }) + }) : e.anim_complete && e.anim_complete.run()) + })) + } + , + e.prototype.close = function() { + this.me.visible = !1 + } + , + e + }() + , a = function(a) { + function r() { + var t = a.call(this, new ui.mj.rewardprogressUI) || this; + return r.Inst = t, + t + } + return __extends(r, a), + r.prototype.onCreate = function() { + this.page_box = new e(this.me.getChildByName("container_box")), + this.page_jiban_gift = new i(this.me.getChildByName("container_jibanliwu")), + this.page_jiban = new n(this.me.getChildByName("container_jiban")) + } + , + r.prototype.show = function(e) { + var i = this + , n = view.DesktopMgr.Inst.rewardinfo; + this.page_jiban.me.visible = !1, + this.page_jiban_gift.me.visible = !1, + this.complete = e, + this.page_box.show(), + t.UIBase.anim_alpha_in(this.page_box.me, { + x: -50 + }, 150), + n.main_character ? (this.page_jiban.show(), + t.UIBase.anim_alpha_in(this.page_jiban.me, { + x: -50 + }, 150, 60)) : n.character_gift && (this.page_jiban_gift.show(), + t.UIBase.anim_alpha_in(this.page_jiban_gift.me, { + x: -50 + }, 150, 60)), + Laya.timer.once(600, this, function() { + i.page_box.doanim(Laya.Handler.create(i, function() { + Laya.timer.once(500, i, function() { + n.main_character ? i.page_jiban.doanim(Laya.Handler.create(i, function() { + e.run() + })) : n.character_gift ? i.page_jiban_gift.doanim(Laya.Handler.create(i, function() { + e.run() + })) : e.run() + }) + })) + }), + this.enable = !0 + } + , + r.prototype.close = function() { + this.page_box.close(), + this.page_jiban_gift.close(), + this.page_jiban.close(), + this.enable = !1 + } + , + r + }(t.UIBase); + t.UI_MJReward = a +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t) { + this.me = t, + this.icon = this.me.getChildByName("item"), + this.name = this.me.getChildByName("name"), + this.count = this.me.getChildByName("count") + } + return e.prototype.show = function(e) { + this.me.visible = !0, + t.UIBase.anim_pop_out(this.me, null); + var i = game.GameUtility.get_item_view(e.id); + game.LoadMgr.setImgSkin(this.icon, i.icon), + this.name.text = i.name, + this.count.text = "+" + e.count, + this.count.alpha = 0, + t.UIBase.anim_alpha_in(this.count, { + x: -60 + }, 150, 400) + } + , + e + }() + , i = function(t) { + function i() { + var e = t.call(this, new ui.mj.activity_taskUI) || this; + return e.cells = [], + e.locking = !1, + e.complete = null, + e.activity_reward = [], + e.index = 0, + i.Inst = e, + e + } + return __extends(i, t), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.cells = []; + for (var i = 0; i < 3; i++) + this.cells.push(new e(this.root.getChildByName("task" + i))); + this.btn = this.me.getChildByName("btn_close"), + this.btn.clickHandler = new Laya.Handler(this,function() { + t.locking || t.close_one() + } + ) + } + , + i.prototype.show = function(t, e) { + this.locking = !0, + this.complete = e; + for (var i = 0; i < this.cells.length; i++) + this.cells[i].me.visible = !1; + this.enable = !0, + this.index = 0, + this.activity_reward = t.activity_reward, + this.show_one(this.activity_reward[0]) + } + , + i.prototype.show_one = function(t) { + var e = this; + this.locking = !0, + this.root.alpha = 1; + for (r = 0; r < this.cells.length; r++) + this.cells[r].me.visible = !1; + for (var i = t.rewards, n = function(t) { + t < a.cells.length && Laya.timer.once(600 * t, a, function() { + e.cells[t].show(i[t]) + }) + }, a = this, r = 0; r < i.length; r++) + n(r); + var s = 600 * ((i.length > this.cells.length ? this.cells.length : i.length) + 1); + Laya.timer.once(s, this, function() { + e.locking = !1 + }) + } + , + i.prototype.close_one = function() { + var t = this; + this.locking = !0, + Laya.Tween.to(this.root, { + alpha: 0 + }, 150, null, Laya.Handler.create(this, function() { + t.locking = !1, + t.index++, + t.index < t.activity_reward.length ? t.show_one(t.activity_reward[t.index]) : (t.enable = !1, + t.complete && t.complete.run()) + })) + } + , + i + }(t.UIBase); + t.UI_MJReward_Activity = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.mj.task_progressUI) || this; + return t.tasks = [], + t.locking = !1, + i.Inst = t, + t + } + return __extends(i, e), + i.record = function() { + this.datas = []; + for (var e = 0; e < t.UI_Activity_Xuanshang.datas.length; e++) + this.datas.push({ + id: t.UI_Activity_Xuanshang.datas[e].id, + counter: t.UI_Activity_Xuanshang.datas[e].counter, + achieved: t.UI_Activity_Xuanshang.datas[e].achieved + }) + } + , + i.needShow = function() { + var e = []; + if (view.DesktopMgr.Inst && view.DesktopMgr.Inst.mode == view.EMJMode.play) + for (var i = t.UI_Activity_Xuanshang.datas, n = 0; n < this.datas.length; n++) + if (!this.datas[n].achieved) + for (var a = 0; a < i.length; a++) + if (i[a].id == this.datas[n].id) { + (i[a].achieved || i[a].counter != this.datas[n].counter) && e.push({ + id: this.datas[n].id, + oc: this.datas[n].counter, + nc: i[a].counter, + achieved: i[a].achieved + }); + break + } + return e + } + , + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.tasks = []; + for (var e = 0; e < 3; e++) { + var i = this.root.getChildByName("task" + e); + this.tasks.push({ + container: i, + bg: i.getChildByName("bg"), + item_icon: i.getChildByName("item"), + item_name: i.getChildByName("item_name"), + item_count: i.getChildByName("item_count"), + desc: i.getChildByName("requirement"), + progress_bar: i.getChildByName("bar").getChildByName("val"), + progress_label: i.getChildByName("progress"), + img_finish: i.getChildByName("finished") + }) + } + this.btn_close = this.me.getChildByName("btn_close"), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + t.locking || t.hide() + }, null, !1) + } + , + i.prototype.show = function(e, i, n) { + var a = this; + this.enable = !0, + this.locking = !0, + this.compelte = n, + Laya.timer.clearAll(this), + this.btn_close.visible = !1, + t.UIBase.anim_alpha_in(this.root, { + x: 0 + }, 200, 0, Laya.Handler.create(this, function() {}, null, !1)); + for (var r = 0, s = 0, o = function() { + r == ++s && (a.locking = !1, + a.btn_close.visible = !0, + Laya.timer.once(2e3, a, function() { + a.locking || (a.btn_close.visible = !1, + a.hide()) + })) + }, l = function(t) { + var n = h.tasks[t]; + if (t + i < e.length) { + var s = e[t + i]; + n.container.visible = !0; + var l = cfg.events.dailyevent.get(s.id) + , c = cfg.item_definition.currency.get(l.reward_type); + c && (n.item_icon.skin = game.LoadMgr.getResImageSkin(c.icon), + n.item_name.text = c["name_" + GameMgr.client_language]); + var _ = cfg.item_definition.item.get(l.reward_type); + _ && (n.item_icon.skin = game.LoadMgr.getResImageSkin(_.icon), + n.item_name.text = _["name_" + GameMgr.client_language]), + n.desc.text = l["desc_" + GameMgr.client_language], + n.item_count.text = l.reward_num.toString(), + n.img_finish.visible = !1, + n.progress_bar.scaleX = s.oc / l.target, + n.progress_label.text = s.oc.toString() + "/" + l.target.toString(); + var u = 0 + , d = ((u = s.achieved ? 1 : s.nc / l.target) - s.oc / l.target) / 1 * 1e3; + r++, + Laya.timer.once(600, h, function() { + Laya.Tween.to(n.progress_bar, { + scaleX: u + }, d, Laya.Ease.strongOut, Laya.Handler.create(a, function() { + var t = s.nc; + t > l.target && (t = l.target), + n.progress_label.text = t.toString() + "/" + l.target.toString(), + s.achieved ? (n.img_finish.visible = !0, + n.img_finish.alpha = 0, + n.img_finish.scaleX = n.img_finish.scaleY = 2, + Laya.timer.once(200, a, function() { + Laya.Tween.to(n.img_finish, { + alpha: 1, + scaleX: 1, + scaleY: 1 + }, 120, Laya.Ease.strongIn, Laya.Handler.create(a, function() { + o() + })) + })) : o() + })) + }) + } else + n.container.visible = !1 + }, h = this, c = 0; c < this.tasks.length; c++) + l(c); + return r + i + } + , + i.prototype.hide = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_alpha_out(this.root, { + x: 0 + }, 200, 0, Laya.Handler.create(this, function() { + e.enable = !1, + Laya.timer.clearAll(e), + e.compelte.run() + })) + } + , + i.datas = [], + i + }(t.UIBase); + t.UI_MJTask_Progress = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.mycard_pay_infoUI) || this; + return t.locking = !1, + t.order_id = 0, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_confirm").clickHandler = Laya.Handler.create(this, function() { + t.locking || (t.close(), + app.NetAgent.sendReq2Lobby("Lobby", "verifyMyCardOrder", { + order_id: t.order_id, + account_id: GameMgr.Inst.account_id + }, function(t, e) {})) + }, null, !1), + this.locking = !1 + } + , + i.prototype.show = function(e, i) { + var n = this; + this.locking = !0, + this.enable = !0, + this.order_id = e, + this.root.getChildByName("desc").text = i, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_MyCard_Pay_Info = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.need_bind_mailUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close() + } + ), + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + e.locking || (e.close(), + GameMgr.Inst.sociotype >= 1 ? t.UI_Bind_Mail0.Inst.show() : t.UI_Bind_Mail1.Inst.show()) + } + ) + } + , + i.prototype.show = function() { + var e = this; + this.locking = !0, + this.enable = !0, + this.root.getChildByName("info").text = game.Tools.strOfLocalization(2808), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Need_Bind_Mail = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.nicknameUI) || this; + return t.locking = !1, + t.btn_cd = 0, + t + } + return __extends(i, e), + i.show = function() { + var e = new i; + t.UIMgr.Inst.AddLobbyUI(e), + Laya.timer.frameOnce(5, this, function() { + e.show() + }) + } + , + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.lb = this.root.getChildByName("lb"), + this.input = this.root.getChildByName("txtinput"), + this.yes = this.root.getChildByName("yes"), + this.no = this.root.getChildByName("no"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_confirm.clickHandler = Laya.Handler.create(this, this.onBtnConfrim, null, !1), + this.root.getChildByName("btn_logout").clickHandler = new Laya.Handler(this,function() { + t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(2718), Laya.Handler.create(e, function() { + app.NetAgent.sendReq2Lobby("Lobby", "logout", {}, function() {}), + Laya.LocalStorage.setItem("_pre_sociotype", ""), + Laya.Browser.window.conch ? Laya.Browser.window.conch && Laya.Browser.window.conch.exit && Laya.Browser.window.conch.exit() : Laya.Browser.window.location.href = GameMgr.Inst.link_url + })) + } + ), + this.input.on("focus", this, function() { + e.lb.visible = !1, + e.yes.visible = !1, + e.no.visible = !1 + }), + this.input.on("blur", this, function() { + e.lb.visible = !e.input.text || "" == e.input.text + }), + this.input.on("input", this, function() { + e.input.text && e.input.text + }), + this.root_xinshou = this.me.getChildByName("root_xinshou"), + this.root_xinshou.getChildByName("btn_no").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close_course() + }, null, !1), + this.root_xinshou.getChildByName("btn_yes").clickHandler = Laya.Handler.create(this, function() { + e.locking || (e.enable = !1, + t.UI_Rules.Inst.show(1, Laya.Handler.create(e, function() { + e.destroy(), + game.Scene_Lobby.Inst.pending_ui_jump() + }))) + }, null, !1), + this.root.getChildByName("en_no_space").visible = "en" == GameMgr.client_language + } + , + i.prototype.show = function() { + var e = this; + this.enable = !0, + this.locking = !0, + this.yes.visible = !1, + this.no.visible = !1, + this.root_xinshou.visible = !1, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + i.prototype.close_nickname = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.root.visible = !1, + e.enable = !1, + e.destroy(), + t.UI_XinShouYinDao.Inst.show(0, Laya.Handler.create(e, function() { + game.Scene_Lobby.Inst.pending_ui_jump() + })) + })) + } + , + i.prototype.show_course = function() { + var e = this; + this.root_xinshou.visible = !0, + this.root_xinshou.getChildByName("name").text = this.input.text + " " + game.Tools.strOfLocalization(2150), + this.locking = !0, + t.UIBase.anim_pop_out(this.root_xinshou, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + i.prototype.close_course = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root_xinshou, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + e.destroy(), + game.Scene_Lobby.Inst.pending_ui_jump() + })) + } + , + i.prototype.have_invalid_char = function(t) { + for (var e = 0; e < t.length; e++) { + var i = t.charCodeAt(e); + if (!(i >= "0".charCodeAt(0) && i <= "9".charCodeAt(0)) && !(i >= "a".charCodeAt(0) && i <= "z".charCodeAt(0) || i >= "A".charCodeAt(0) && i <= "Z".charCodeAt(0) || i >= 11904 && i <= 40959)) { + for (var n = !1, a = 0; a < "~@!#%&()_+={}:;<>".length; a++) + if ("~@!#%&()_+={}:;<>"[a] == t[e]) { + n = !0; + break + } + if (!n) + return !0 + } + } + return !1 + } + , + i.prototype.onBtnConfrim = function() { + var e = this; + if (!this.locking && "" != this.input.text) { + for (var i = this.input.text, n = 0, a = 0, r = 0; r < i.length; r++) { + if (i.charCodeAt(r) > 255) { + if (n + 2 > 14) + break; + n += 2 + } else { + if (n + 1 > 14) + break; + n += 1 + } + a++ + } + if (a == i.length) { + var s = this.input.text; + if (this.have_invalid_char(s) || app.Taboo.test(s)) + this.no.visible = !0; + else if (!(Laya.timer.currTimer < this.btn_cd)) { + this.btn_cd = Laya.timer.currTimer + 700; + var o = {}; + o.nickname = s, + GameMgr.Inst._ad_str && (o.advertise_str = GameMgr.Inst._ad_str), + app.NetAgent.sendReq2Lobby("Lobby", "createNickname", o, function(i, n) { + e.btn_cd = 0, + i || n.error ? t.UIMgr.Inst.showNetReqError("createNickname", i, n) : (app.PlayerBehaviorStatistic.fb_trace_force(app.EBehaviorType.Level_1), + GameMgr.Inst.account_data.nickname = s, + GameMgr.Inst.fetch_login_info(), + GameMgr.inDmm || (GameMgr.Inst.account_setting[game.EAccountSetKey.user_xieyi.toString()] = 1), + e.close_nickname()) + }), + GameMgr.inDmm || app.NetAgent.sendReq2Lobby("Lobby", "updateAccountSettings", { + setting: { + key: game.EAccountSetKey.user_xieyi, + value: 1 + } + }, function(t, e) {}); + var l = t.UI_Sushe.characters + , h = Math.floor(Math.random() * l.length); + t.UI_Sushe.main_character_id = t.UI_Sushe.characters[h].charid, + app.NetAgent.sendReq2Lobby("Lobby", "changeMainCharacter", { + character_id: t.UI_Sushe.main_character_id + }, function(t, e) {}), + GameMgr.Inst.account_data.avatar_id = t.UI_Sushe.characters[h].skin + } + } else + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2750)) + } + } + , + i + }(t.UIBase); + t.UI_Nickname = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.number_inputUI) || this; + return t.title = null, + t.txtinput = null, + t.locking = !1, + t.root = null, + t._when_inputed = null, + t._when_cancel = null, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_cancel").clickHandler = Laya.Handler.create(this, function() { + t._btn_cancel() + }, null, !1), + this.root.getChildByName("btn_confirm").clickHandler = Laya.Handler.create(this, this._btn_confirm, null, !1), + this.txtinput = this.root.getChildByName("input").getChildByName("txtinput"), + this.title = this.root.getChildByName("title"); + for (var e = this.root.getChildByName("numpad"), i = function(i) { + var a = e.getChildByName("n" + i) + , r = a.getChildByName("s"); + r.alpha = 0; + var s = !1; + a.on("mousedown", n, function() { + r.alpha = 0, + s = !0, + Laya.Tween.to(r, { + alpha: 1 + }, 50, null, null, 0, !0, !0) + }), + a.on("mouseup", n, function() { + Laya.Tween.to(r, { + alpha: 0 + }, 50, null, null, 0, !0, !0), + s && t.txtinput.text.length < t.txtinput.maxChars && (t.txtinput.text = t.txtinput.text + i.toString()), + s = !1 + }), + a.on("mouseout", n, function() { + Laya.Tween.to(r, { + alpha: 0 + }, 50, null, null, 0, !0, !0), + s = !1 + }) + }, n = this, a = 0; a < 10; a++) + i(a); + var r = (o = e.getChildByName("clear")).getChildByName("s"); + r.alpha = 0; + var s = !1; + o.on("mousedown", this, function() { + r.alpha = 0, + s = !0, + Laya.Tween.to(r, { + alpha: 1 + }, 50, null, null, 0, !0, !0) + }), + o.on("mouseup", this, function() { + Laya.Tween.to(r, { + alpha: 0 + }, 50, null, null, 0, !0, !0), + s && (t.txtinput.text = ""), + s = !1 + }), + o.on("mouseout", this, function() { + Laya.Tween.to(r, { + alpha: 0 + }, 50, null, null, 0, !0, !0), + s = !1 + }); + var o = e.getChildByName("del") + , l = o.getChildByName("s"); + l.alpha = 0; + var h = !1; + o.on("mousedown", this, function() { + l.alpha = 0, + h = !0, + Laya.Tween.to(l, { + alpha: 1 + }, 50, null, null, 0, !0, !0) + }), + o.on("mouseup", this, function() { + if (Laya.Tween.to(l, { + alpha: 0 + }, 50, null, null, 0, !0, !0), + h) { + var e = t.txtinput.text; + e.length > 0 && (e = e.substr(0, e.length - 1)), + t.txtinput.text = e + } + h = !1 + }), + o.on("mouseout", this, function() { + Laya.Tween.to(l, { + alpha: 0 + }, 50, null, null, 0, !0, !0), + h = !1 + }) + } + , + i.prototype.show = function(e, i, n) { + var a = this; + void 0 === n && (n = null), + this.enable = !0, + this.txtinput.text = "", + this.title.text = e, + this._when_cancel = n, + this._when_inputed = i, + this.locking || (this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + a.locking = !1 + }))) + } + , + i.prototype._hide = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + i.locking = !1, + i.enable = !1, + e.run() + })) + } + , + i.prototype._btn_confirm = function() { + var t = this; + this.locking || this._hide(Laya.Handler.create(this, function() { + var e = t._when_inputed; + t._when_inputed = null, + t._when_cancel = null; + var i = 0; + t.txtinput.text && "" != t.txtinput.text && (i = parseInt(t.txtinput.text)), + i || (i = 0), + e && e.runWith(i) + })) + } + , + i.prototype._btn_cancel = function() { + var t = this; + this.locking || this._hide(Laya.Handler.create(this, function() { + var e = t._when_cancel; + t._when_inputed = null, + t._when_cancel = null, + e && e.run() + })) + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_NumberInput = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.obUI) || this; + return t.modes = [], + t.mode_index = 0, + t.mode0_list = [], + t.mode1_list = [], + t.live_datas = [], + t.live_show_datas = [], + t.fetch_id = 0, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.container_top = this.me.getChildByName("top"), + this.container_top.getChildByName("btn_back").clickHandler = Laya.Handler.create(this, function() { + e._locking || e.hide(Laya.Handler.create(e, function() { + t.UIMgr.Inst.showLobby() + })) + }, null, !1), + this.root = this.me.getChildByName("root"), + this.scrollview = this.root.getChildByName("scrollview").scriptMap["capsui.CScrollView"], + this.dropdown0 = this.root.getChildByName("dropdown0").scriptMap["capsui.CDropdown"], + this.dropdown1 = this.root.getChildByName("dropdown1").scriptMap["capsui.CDropdown"], + this.root.getChildByName("btn_dropdown0").clickHandler = Laya.Handler.create(this, function() { + e._locking || e.dropdown0.locking || e.dropdown0.down() + }, null, !1), + this.root.getChildByName("btn_dropdown1").clickHandler = Laya.Handler.create(this, function() { + e._locking || e.dropdown1.locking || e.dropdown1.down() + }, null, !1), + this.scrollview.init_scrollview(Laya.Handler.create(this, this.render_scrollview, null, !1)), + this.dropdown0.init(Laya.Handler.create(this, this.render_dropdown0, null, !1), Laya.Handler.create(this, this.onDropdown0Change, null, !1)), + this.dropdown1.init(Laya.Handler.create(this, this.render_dropdown1, null, !1), Laya.Handler.create(this, this.onDropdown1Change, null, !1)), + this.modes = [], + this.mode_index = 0, + cfg.game_live.select_filters.forEach(function(t) { + if (1 == t.open) { + 1 == t.initial && (e.mode_index = e.modes.length); + var i = cfg.desktop.matchmode.get(t.mode_id); + e.modes.push({ + id: t.id, + name0: t["name1_" + GameMgr.client_language], + name1: t["name2_" + GameMgr.client_language], + sima: !i || i.mode < 10 + }) + } + }), + this.btn_fresh = this.root.getChildByName("btn_refresh"), + this.btn_fresh.clickHandler = Laya.Handler.create(this, function() { + e._locking || (game.Tools.setGrayDisable(e.btn_fresh, !0), + e.refresh_content(), + Laya.timer.once(2e3, e, function() { + game.Tools.setGrayDisable(e.btn_fresh, !1) + })) + }, null, !1), + this.check_friend = this.root.getChildByName("check_friend").getChildByName("checkbox"), + this.check_friend.visible = !1, + this.root.getChildByName("check_friend").clickHandler = Laya.Handler.create(this, function() { + e._locking || (e.check_friend.visible = !e.check_friend.visible, + e.onShowDataChange()) + }, null, !1), + this.noinfo = this.root.getChildByName("noinfo"), + this.noinfo.visible = !1 + } + , + i.prototype.show = function() { + var e = this; + game.Scene_Lobby.Inst.change_bg("indoor", !1), + this._locking = !0, + this.enable = !0, + game.Tools.setGrayDisable(this.btn_fresh, !1), + t.UIBase.anim_alpha_in(this.container_top, { + y: -30 + }, 150), + t.UIBase.anim_alpha_in(this.root, { + y: 30 + }, 150, 0), + Laya.timer.once(150, this, function() { + e._locking = !1 + }), + -1 == this.mode_index && (this.mode_index = 0); + var i = this.modes[this.mode_index].name0 + , n = this.modes[this.mode_index].name1; + this.mode0_list = [], + this.mode1_list = []; + for (var a = 0, r = 0, s = 0; s < this.modes.length; s++) { + for (var o = !1, l = 0; l < this.mode0_list.length; l++) + if (this.mode0_list[l] == this.modes[s].name0) { + o = !0; + break + } + o || (this.modes[s].name0 == i && (a = this.mode0_list.length), + this.mode0_list.push(this.modes[s].name0)), + this.modes[s].name0 == i && (this.modes[s].name1 == n && (r = this.mode1_list.length), + this.mode1_list.push(this.modes[s].name1)) + } + this.dropdown0.reset_show(a, this.mode0_list.length), + this.dropdown1.reset_show(r, this.mode1_list.length), + this.refresh_content() + } + , + i.prototype.hide = function(e) { + var i = this; + this._locking = !0, + t.UIBase.anim_alpha_out(this.container_top, { + y: -30 + }, 150), + t.UIBase.anim_alpha_out(this.root, { + y: 30 + }, 150, 0), + Laya.timer.clearAll(this), + Laya.timer.once(150, this, function() { + i._locking = !1, + i.enable = !1, + e && e.run() + }) + } + , + i.prototype.onDisable = function() { + Laya.timer.clearAll(this) + } + , + i.prototype.render_dropdown0 = function(t) { + var e = t.index; + t.container.getChildAt(0).text = this.mode0_list[e] + } + , + i.prototype.onDropdown0Change = function(t) { + for (var e = [], i = this.mode0_list[t], n = this.mode1_list[this.dropdown1.choosed_index], a = 0; a < this.modes.length; a++) + this.modes[a].name0 == i && e.push(this.modes[a].name1); + this.mode1_list = e; + for (var r = -1, a = 0; a < e.length; a++) + if (e[a] == n) { + r = a; + break + } + -1 == r && (r = 0), + this.dropdown1.reset_show(r, this.mode1_list.length), + this.refresh_content() + } + , + i.prototype.render_dropdown1 = function(t) { + var e = t.index; + t.container.getChildAt(0).text = this.mode1_list[e] + } + , + i.prototype.onDropdown1Change = function(t) { + this.refresh_content() + } + , + i.prototype.render_scrollview = function(e) { + var i = this + , n = e.index + , a = e.container + , r = e.cache_data + , s = this.live_show_datas[n]; + a.getChildByName("mode").text = this.modes[this.mode_index].name0 + "·" + this.modes[this.mode_index].name1; + var o = new Date(1e3 * s.start_time) + , l = o.getHours() + ":"; + o.getMinutes() < 10 && (l += "0"), + l += o.getMinutes().toString(), + a.getChildByName("time").text = l; + for (var h = this.modes[this.mode_index].sima, c = h ? 4 : 3, _ = 0; _ < 4; _++) { + var u = "p" + _ + , d = a.getChildByName(u); + if (!r[u]) { + var f = {}; + f.level = new t.UI_Level(d.getChildByName("rank")), + f.title = new t.UI_PlayerTitle(d.getChildByName("title")), + f.name = d.getChildByName("name"), + r[u] = f + } + if (_ >= c) + d.visible = !1; + else if (d.visible = !0, + _ < s.players.length) { + var p = s.players[_]; + r[u].level.id = p[h ? "level" : "level3"].id, + r[u].title.id = game.Tools.titleLocalization(p.account_id, p.title), + game.Tools.SetNickname(r[u].name, p) + } else + r[u].level.id = h ? 10101 : 20101, + r[u].title.id = 0, + r[u].name.text = game.Tools.strOfLocalization(2133) + } + a.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + i._locking || (t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : t.UI_Live_Broadcast.fetchInfo(s.uuid, Laya.Handler.create(i, function(e) { + e.success && t.UI_Live_Broadcast.goToWatch(s.uuid, e.data, s.players[0].account_id) + }))) + }, null, !1) + } + , + i.prototype.onShowDataChange = function() { + this.scrollview.reset(), + this.live_show_datas = []; + for (var t = 0; t < this.live_datas.length; t++) + if (this.check_friend.visible) { + for (var e = !1, i = 0; i < 4; i++) + if (!(i >= this.live_datas[t].players.length)) { + var n = this.live_datas[t].players[i].account_id; + if (game.FriendMgr.find(n)) { + e = !0; + break + } + } + e && this.live_show_datas.push(this.live_datas[t]) + } else + this.live_show_datas.push(this.live_datas[t]); + 0 == this.live_show_datas.length ? this.noinfo.visible = !0 : (this.noinfo.visible = !1, + this.scrollview.addItem(this.live_show_datas.length)) + } + , + i.prototype.refresh_content = function() { + var e = this; + this.scrollview.reset(), + this.live_datas = [], + this.mode_index = 0; + for (var i = this.mode0_list[this.dropdown0.choosed_index], n = this.mode1_list[this.dropdown1.choosed_index], a = 0; a < this.modes.length; a++) + this.modes[a].name0 == i && this.modes[a].name1 == n && (this.mode_index = a); + var r = 1e5 * Math.random(); + this.fetch_id = r, + app.NetAgent.sendReq2Lobby("Lobby", "fetchGameLiveList", { + filter_id: this.modes[this.mode_index].id + }, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("fetchGameLiveList", i, n); + else { + if (e.fetch_id != r) + return; + e.live_datas = []; + for (var a = 0; a < n.live_list.length; a++) { + n.live_list[a].players, + GameMgr.client_language; + e.live_datas.push(n.live_list[a]) + } + e.onShowDataChange() + } + }) + } + , + i + }(t.UIBase); + t.UI_Ob = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t) { + var e = this; + this.rounds = [], + this.locking = !1, + this.enable = !1, + this.me = t, + this.me.visible = !1, + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.renderInfo, null, !1)), + this.btn_up = this.me.getChildByName("up"), + this.btn_down = this.me.getChildByName("down"), + this.btn_up.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.scrollview.scrollDelta(-100) + }, null, !1), + this.btn_down.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.scrollview.scrollDelta(100) + }, null, !1), + this.scrollview.me.on("ratechange", this, function() { + e.btn_up.visible = e.scrollview.rate > 0, + e.btn_down.visible = e.scrollview.need_scroll && e.scrollview.rate < 1 + }), + this.enable = !1 + } + return e.prototype.show = function(e) { + var i = this; + this.enable = !0, + this.locking = !0, + this.me.visible = !0, + this.scrollview.reset(), + this.rounds = e; + for (var n = 0; n < e.length; n++) { + var a = this.caluH(e[n]); + a, + this.scrollview.addItem(1, a) + } + t.UIBase.anim_alpha_in(this.me, { + y: 30 + }, 120, 0, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.btn_up.visible = !1, + this.btn_down.visible = this.scrollview.need_scroll + } + , + e.prototype.close = function() { + var e = this; + this.enable = !1, + this.locking = !0, + t.UIBase.anim_alpha_out(this.me, { + y: 30 + }, 120, 0, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + e.prototype.caluH = function(t) { + var e = t.actions[t.actions.length - 1]; + if ("RecordNoTile" == e.name) { + for (var i = e.data, n = [], a = 0; a < view.DesktopMgr.Inst.player_count; a++) + n.push({ + old_score: i.scores[0].old_scores[a], + delta: 0 + }); + for (a = 0; a < i.scores.length; a++) + for (var r = 0; r < view.DesktopMgr.Inst.player_count; r++) + n[r].delta += i.scores[a].delta_scores[r]; + for (var s = [], a = 0; a < n.length; a++) + n[a].delta > 0 && s.push(a); + return 120 + (0 == s.length ? 0 : 40 * (s.length - 1)) + } + return "RecordLiuJu" == e.name ? 120 : "RecordHule" == e.name ? e.data.hules[0].zimo ? 120 : 180 + 40 * (e.data.hules.length - 1) : 120 + } + , + e.prototype.renderInfo = function(t) { + for (var e = this, i = t.index, a = t.container, r = this.rounds[i], s = 0; s < r.actions.length; s++) + if ("RecordNewRound" == r.actions[s].name) { + var o = void 0; + o = "chs" == GameMgr.client_language ? ["东", "南", "西", "北"] : "jp" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? ["東", "南", "西", "北"] : ["East", "South", "West", "North"], + a.getChildByName("container_title").getChildByName("chang").text = o[r.actions[s].data.chang % 4], + a.getChildByName("container_title").getChildByName("ju").text = (r.actions[s].data.ju + 1).toString(), + a.getChildByName("container_title").getChildByName("ben").text = r.actions[s].data.ben.toString(); + for (var l = 0, h = a.getChildByName("container_title"), c = [3, 3, 50, 3, 0], _ = 0; _ < h.numChildren; _++) { + l += (f = h.getChildAt(_)).textField.textWidth * f.scaleX, + l += c[_] + } + for (var u = h.width / 2 - l / 2, d = 0; d < h.numChildren; d++) { + var f = h.getChildAt(d); + f.x = u, + u += f.textField.textWidth * f.scaleX + c[d], + "haolong" == f.font ? f.y = 34 : f.y = 31 + } + break + } + var p = r.actions[r.actions.length - 1] + , m = p.data + , g = a + , y = a.getChildByName("line") + , v = a.getChildByName("liuju") + , b = a.getChildByName("win") + , w = a.getChildByName("lose"); + if (y.visible = !1, + v.visible = !1, + b.visible = !1, + w.visible = !1, + "RecordNoTile" == p.name) { + for (var x = [], s = 0; s < view.DesktopMgr.Inst.player_count; s++) + x.push({ + old_score: m.scores[0].old_scores[s], + delta: 0 + }); + for (s = 0; s < m.scores.length; s++) + for (E = 0; E < view.DesktopMgr.Inst.player_count; E++) + x[E].delta += m.scores[s].delta_scores[E]; + for (var I = [], s = 0; s < x.length; s++) + x[s].delta > 0 && I.push(s); + if (g.height = 120 + (0 == I.length ? 0 : 40 * (I.length - 1)), + m.liujumanguan) { + b.visible = !0; + (M = b.getChildByName("info")).text = game.Tools.strOfLocalization(2170), + M.color = "#8d8fac"; + for (var C = b.getChildByName("player"), s = 0; s < C.numChildren; s++) { + L = C.getChildAt(s); + s < I.length ? (L.visible = !0, + L.getChildByName("name").text = view.DesktopMgr.Inst.getPlayerName(I[s]).nickname, + L.getChildByName("point").text = "+" + x[I[s]].delta.toString()) : L.visible = !1 + } + } else if (b.visible = !0, + b.getChildByName("info").text = "", + v.visible = !0, + v.text = game.Tools.strOfLocalization(2171), + v.color = "#8d8fac", + m.scores) + for (var C = b.getChildByName("player"), s = 0; s < C.numChildren; s++) { + L = C.getChildAt(s); + s < I.length ? (L.visible = !0, + L.getChildByName("name").text = view.DesktopMgr.Inst.getPlayerName(I[s]).nickname, + L.getChildByName("point").text = "+" + x[I[s]].delta.toString()) : L.visible = !1 + } + } else if ("RecordLiuJu" == p.name) { + var S = ["", game.Tools.strOfLocalization(2172), game.Tools.strOfLocalization(2173), game.Tools.strOfLocalization(2174), game.Tools.strOfLocalization(2175), game.Tools.strOfLocalization(2176)]; + v.visible = !0, + v.text = S[m.type], + v.color = "#8d8fac", + g.height = 120 + } else if ("RecordHule" == p.name) + if (p.data.hules[0].zimo) { + b.visible = !0; + (M = b.getChildByName("info")).text = game.Tools.strOfLocalization(2177), + M.color = "#ea3694"; + for (var C = b.getChildByName("player"), s = 0; s < C.numChildren; s++) { + L = C.getChildAt(s); + if (0 == s) { + L.visible = !0; + T = m.hules[0].seat; + L.getChildByName("name").text = view.DesktopMgr.Inst.getPlayerName(T).nickname; + D = m.delta_scores[T]; + L.getChildByName("point").text = "+" + D.toString() + } else + L.visible = !1 + } + g.height = 120 + } else { + b.visible = !0; + (M = b.getChildByName("info")).text = game.Tools.strOfLocalization(2178), + M.color = "#ef3538"; + for (var C = b.getChildByName("player"), s = 0; s < C.numChildren; s++) { + L = C.getChildAt(s); + if (s < m.hules.length) { + L.visible = !0; + T = m.hules[s].seat; + L.getChildByName("name").text = view.DesktopMgr.Inst.getPlayerName(T).nickname; + D = m.delta_scores[T]; + L.getChildByName("point").text = "+" + D.toString() + } else + L.visible = !1 + } + y.visible = !0, + y.y = 80 + 40 * m.hules.length, + w.visible = !0, + w.y = 83 + 40 * m.hules.length; + for (var M = w.getChildByName("info"), C = w.getChildByName("player"), s = 0; s < C.numChildren; s++) { + var L = C.getChildAt(s); + if (0 == s) { + L.visible = !0; + for (var T = 0, E = 0; E < m.delta_scores.length; E++) + m.delta_scores[E] < m.delta_scores[T] && (T = E); + L.getChildByName("name").text = view.DesktopMgr.Inst.getPlayerName(T).nickname; + var D = m.delta_scores[T]; + L.getChildByName("point").text = D.toString() + } else + L.visible = !1 + } + g.height = 180 + 40 * (p.data.hules.length - 1) + } + else + v.visible = !0, + v.text = game.Tools.strOfLocalization(3036), + v.color = "#8ADB97", + g.height = 120; + g.clickHandler = Laya.Handler.create(this, function() { + e.locking || (n.Inst.jumpRound(i), + e.close()) + }, null, !1), + a.getChildByName("bg").height = a.height - 4 + } + , + e + }() + , i = function() { + function e(t) { + var e = this; + this.locking = !1, + this.enable = !1, + this.have0 = !1, + this.me = t, + this.me.visible = !1, + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.renderInfo, null, !1)), + this.btn_up = this.me.getChildByName("up"), + this.btn_down = this.me.getChildByName("down"), + this.btn_up.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.scrollview.scrollDelta(-100) + }, null, !1), + this.btn_down.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.scrollview.scrollDelta(100) + }, null, !1), + this.scrollview.me.on("ratechange", this, function() { + e.btn_up.visible = e.scrollview.rate > 0, + e.btn_down.visible = e.scrollview.need_scroll && e.scrollview.rate < 1 + }), + this.enable = !1 + } + return e.prototype.show = function(e, i) { + var n = this; + this.enable = !0, + this.locking = !0, + this.have0 = i, + this.me.visible = !0, + this.scrollview.reset(), + this.scrollview.addItem(e + (i ? 1 : 0)), + t.UIBase.anim_alpha_in(this.me, { + y: 30 + }, 100, 0, Laya.Handler.create(this, function() { + n.locking = !1 + })), + this.btn_up.visible = !1, + this.btn_down.visible = this.scrollview.need_scroll + } + , + e.prototype.close = function() { + var e = this; + this.enable = !1, + this.locking = !0, + t.UIBase.anim_alpha_out(this.me, { + y: 30 + }, 100, 0, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + e.prototype.renderInfo = function(t) { + var e = this + , i = t.index + , a = t.container; + a.getChildByName("num").text = (i + (this.have0 ? 0 : 1)).toString(), + a.clickHandler = Laya.Handler.create(this, function() { + e.locking || (n.Inst.jumpXun(i + (e.have0 ? 0 : 1)), + e.close()) + }, null, !1); + var r = a + , s = []; + "en" == GameMgr.client_language ? (s.push(r.getChildByName("xun")), + s.push(r.getChildByName("num"))) : (s.push(r.getChildByName("num")), + s.push(r.getChildByName("xun"))), + game.Tools.sprite_align_center(s, 115, [10]); + for (var o = 1; o < r.numChildren; o++) { + var l = r.getChildAt(o); + "haolong" == l.font ? l.y = 42 : l.y = 39 + } + } + , + e + }() + , n = function(n) { + function a() { + var t = n.call(this, new ui.mj.ob_replayUI) || this; + return t.root = null, + t.label_chang = null, + t.label_ju = null, + t.label_xun = null, + t.img_play = null, + t.img_stop = null, + t.btn_preround = null, + t.btn_nextround = null, + t.page_chang = null, + t.page_xun = null, + t.origin_actions = [], + t.rounds = [], + t.round_index = 0, + t.action_index = 0, + t.locking_time = 0, + t.anim_time = 0, + t._auto_play = !1, + t.locking = !1, + a.Inst = t, + t + } + return __extends(a, n), + Object.defineProperty(a.prototype, "auto_play", { + get: function() { + return this._auto_play + }, + set: function(t) { + this._auto_play = t, + this.img_play.visible = !t, + this.img_stop.visible = t + }, + enumerable: !0, + configurable: !0 + }), + a.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"); + var n = this.me.getChildByName("root").getChildByName("round"); + n.clickHandler = Laya.Handler.create(this, function() { + t.page_chang.locking || (t.locking, + t.auto_play && (t.auto_play = !1), + t.page_xun.enable && t.page_xun.close(), + t.page_chang.enable ? t.page_chang.close() : t.page_chang.show(t.rounds)) + }, null, !1), + this.label_chang = n.getChildByName("chang"), + this.label_ju = n.getChildByName("ju"); + var a = this.me.getChildByName("root").getChildByName("turn"); + this.label_xun = a.getChildByName("xun"), + a.clickHandler = Laya.Handler.create(this, function() { + t.locking, + t.page_xun.locking || (t.auto_play && (t.auto_play = !1), + t.page_chang.enable && t.page_chang.close(), + t.page_xun.enable ? t.page_xun.close() : t.page_xun.show(t.rounds[t.round_index].xun.length, 0 != t.rounds[t.round_index].xun[0])) + }, null, !1), + this.page_chang = new e(this.me.getChildByName("info_chang")), + this.page_xun = new i(this.me.getChildByName("info_xun")), + this.me.getChildByName("root").getChildByName("play").clickHandler = Laya.Handler.create(this, function() { + t.locking, + t.auto_play = !t.auto_play + }, null, !1), + this.me.getChildByName("root").getChildByName("nextstep").clickHandler = Laya.Handler.create(this, function() { + t.locking, + t.locking_time > Laya.timer.currTimer ? t.auto_play && (t.auto_play = !1) : t.nextStep() + }, null, !1), + this.me.getChildByName("root").getChildByName("prestep").clickHandler = Laya.Handler.create(this, function() { + t.locking, + t.preStep() + }, null, !1), + this.me.getChildByName("root").getChildByName("nextturn").clickHandler = Laya.Handler.create(this, function() { + t.locking, + t.nextXun() + }, null, !1), + this.me.getChildByName("root").getChildByName("preturn").clickHandler = Laya.Handler.create(this, function() { + t.locking, + t.preXun() + }, null, !1), + this.btn_preround = this.me.getChildByName("root").getChildByName("preround"), + this.btn_preround.clickHandler = Laya.Handler.create(this, function() { + t.locking, + t.preRound() + }, null, !1), + this.btn_nextround = this.me.getChildByName("root").getChildByName("nextround"), + this.btn_nextround.clickHandler = Laya.Handler.create(this, function() { + t.locking, + t.nextRound() + }, null, !1), + this.img_play = this.me.getChildByName("root").getChildByName("play").getChildByName("play"), + this.img_stop = this.me.getChildByName("root").getChildByName("play").getChildByName("pause") + } + , + a.prototype._isRoundEnd = function(t) { + return "RecordNoTile" == t || "RecordLiuJu" == t || "RecordHule" == t + } + , + a.prototype.show = function(e) { + var i = this; + this.enable = !0, + this.origin_actions = e, + this.auto_play = !1, + this.page_chang.enable = !1, + this.page_chang.me.visible = !1, + this.page_xun.enable = !1, + this.page_xun.me.visible = !1, + this.initData(), + this.locking = !0, + t.UIBase.anim_alpha_in(this.root, { + x: 30 + }, 150, 0, Laya.Handler.create(this, function() { + i.locking = !1, + t.UI_ReplayWheel.Inst.enable = !0 + })), + this.round_index = this.rounds.length - 1, + this.action_index = this.rounds[this.round_index].actions.length - 1, + this._refreshBarshow() + } + , + a.prototype.close = function() { + var e = this; + this.reset(), + this.locking = !0, + t.UIBase.anim_alpha_out(this.root, { + x: 30 + }, 150, 0, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + t.UI_ReplayWheel.Inst.enable = !1 + })) + } + , + a.prototype.initData = function() { + var t = null; + this.rounds = []; + for (var e = this.origin_actions, i = 0; i < e.length; i++) { + var n = e[i]; + null == t && (t = { + xun: [], + actions: [] + }), + t.actions.push(n), + this._isRoundEnd(n.name) && (this.pengding_xun(t), + this.rounds.push(t), + t = null) + } + null != t && (this.pengding_xun(t), + this.rounds.push(t)), + this.action_index = -1, + this.round_index = -1, + this.label_chang.text = "东", + this.label_ju.text = "1", + this.label_xun.text = "0", + this.auto_play = !1; + var a = []; + "en" != GameMgr.client_language ? (a.push(this.label_xun.parent.getChildByName("xun")), + a.push(this.label_xun.parent.getChildByName("turn"))) : (a.push(this.label_xun.parent.getChildByName("turn")), + a.push(this.label_xun.parent.getChildByName("xun"))), + this.btn_nextround.visible = this.rounds.length > 1, + this.btn_preround.visible = this.rounds.length > 1, + game.Tools.sprite_align_center(a, 80, [5]) + } + , + a.prototype.reset = function() { + this.auto_play = !1, + this.page_chang.enable && this.page_chang.close(), + this.page_xun.enable && this.page_xun.close() + } + , + a.prototype.pengding_xun = function(t) { + t.xun = []; + for (var e = view.DesktopMgr.Inst.seat, i = !1, n = 0; n < t.actions.length; n++) { + var a = t.actions[n]; + "RecordNewRound" == a.name ? a.data.ju == e && (i = !0, + t.xun.push(n)) : "RecordDealTile" == a.name || "RecordChiPengGang" == a.name ? a.data.seat == e && (i || (i = !0, + t.xun.push(n))) : "RecordDiscardTile" != a.name && "RecordAnGangAddGang" != a.name && "RecordBaBei" != a.name || (i = !1) + } + } + , + a.prototype.get_currentxun = function() { + var t = this.rounds[this.round_index]; + if (0 == t.xun.length) + return 1; + for (var e = t.xun.length, i = 0; i < t.xun.length; i++) + if (this.action_index < t.xun[i]) { + e = i; + break + } + return e < 0 && (e = 0), + e + } + , + a.prototype.nextStep = function(t) { + if (void 0 === t && (t = !1), + (t || !(this.locking_time > Laya.timer.currTimer)) && !(this.round_index >= this.rounds.length)) { + if (this.round_index < 0 || this.rounds[this.round_index].actions.length <= this.action_index + 1 ? (this.round_index++, + this.action_index = 0, + this.round_index == this.rounds.length && (this.round_index = 0)) : this.action_index++, + this.btn_nextround.visible = this.rounds.length > 1, + this.btn_preround.visible = this.rounds.length > 1, + this.action_index > 0 && "RecordDiscardTile" == this.rounds[this.round_index].actions[this.action_index - 1].name) { + var e = this.rounds[this.round_index].actions[this.action_index - 1].data.seat; + e != view.DesktopMgr.Inst.seat && view.DesktopMgr.Inst.players[view.DesktopMgr.Inst.seat2LocalPosition(e)].RecordLiPai(0) + } + this.locking_time = Laya.timer.currTimer + this.doRecord(this.rounds[this.round_index].actions[this.action_index]), + this._refreshBarshow() + } + } + , + a.prototype._refreshBarshow = function() { + var t = ""; + if ("chs" == GameMgr.client_language) + switch (view.DesktopMgr.Inst.index_change % 4) { + case 0: + t += "东"; + break; + case 1: + t += "南"; + break; + case 2: + t += "西"; + break; + case 3: + t += "北" + } + else if ("jp" == GameMgr.client_language || "chs_t" == GameMgr.client_language) + switch (view.DesktopMgr.Inst.index_change % 4) { + case 0: + t += "東"; + break; + case 1: + t += "南"; + break; + case 2: + t += "西"; + break; + case 3: + t += "北" + } + else + switch (view.DesktopMgr.Inst.index_change % 4) { + case 0: + t += "East"; + break; + case 1: + t += "South"; + break; + case 2: + t += "West"; + break; + case 3: + t += "North" + } + this.label_chang.text = t, + this.label_ju.text = (view.DesktopMgr.Inst.index_ju + 1).toString(); + this.label_xun.text = this.get_currentxun().toString(); + var e = []; + "en" != GameMgr.client_language ? (e.push(this.label_xun.parent.getChildByName("xun")), + e.push(this.label_xun.parent.getChildByName("turn"))) : (e.push(this.label_xun.parent.getChildByName("turn")), + e.push(this.label_xun.parent.getChildByName("xun"))), + game.Tools.sprite_align_center(e, 80, [5]), + function(t, e) { + for (var i = 0, n = 1; n < t.numChildren; n++) + 1 != n && (i += 3), + i += (r = t.getChildAt(n)).textField.textWidth * r.scaleX; + for (var a = t.width / 2 - i / 2, n = 1; n < t.numChildren; n++) { + var r = t.getChildAt(n); + r.x = a, + a += r.textField.textWidth * r.scaleX + 3, + "haolong" == r.font ? r.y = e + 3 : r.y = e + } + }(this.label_chang.parent, 40) + } + , + a.prototype.doRecord = function(t) { + try { + var e = 0; + switch (t.name) { + case "RecordNewRound": + this.anim_time = view.ActionNewRound.record(t.data), + e = this.anim_time + (this._auto_play, + 0); + break; + case "RecordDiscardTile": + this.anim_time = view.ActionDiscardTile.record(t.data), + e = this.anim_time + (this._auto_play ? 500 : 0); + break; + case "RecordDealTile": + this.anim_time = view.ActionDealTile.record(t.data), + e = this.anim_time + (this._auto_play ? 500 : 0); + break; + case "RecordChiPengGang": + this.anim_time = view.ActionChiPengGang.record(t.data), + e = this.anim_time + (this._auto_play ? 500 : 0); + break; + case "RecordAnGangAddGang": + this.anim_time = view.ActionAnGangAddGang.record(t.data), + e = this.anim_time + (this._auto_play ? 200 : 0); + break; + case "RecordBaBei": + this.anim_time = view.ActionBabei.record(t.data), + e = this.anim_time + (this._auto_play ? 200 : 0); + break; + case "RecordHule": + this.anim_time = view.ActionHule.record(t.data), + e = this.anim_time; + break; + case "RecordLiuJu": + this.anim_time = view.ActionLiuJu.record(t.data), + e = this.anim_time; + break; + case "RecordNoTile": + this.anim_time = view.ActionNoTile.record(t.data), + e = this.anim_time + } + return this.anim_time += Laya.timer.currTimer, + e + } catch (e) { + var i = {}; + return i.error = e.message, + i.stack = e.stack, + i.method = "UI_Ob_Replay doRecord", + i.name = t.name, + i.data = t.data, + GameMgr.Inst.onFatalError(i), + 1e6 + } + } + , + a.prototype.doFastRecord = function(t) { + try { + switch (t.name) { + case "RecordNewRound": + view.ActionNewRound.fastrecord(t.data); + break; + case "RecordDiscardTile": + view.ActionDiscardTile.fastrecord(t.data); + break; + case "RecordDealTile": + view.ActionDealTile.fastrecord(t.data); + break; + case "RecordChiPengGang": + view.ActionChiPengGang.fastrecord(t.data); + break; + case "RecordAnGangAddGang": + view.ActionAnGangAddGang.fastrecord(t.data); + break; + case "RecordHule": + view.ActionHule.fastrecord(t.data); + break; + case "RecordLiuJu": + view.ActionLiuJu.fastrecord(t.data); + break; + case "RecordNoTile": + view.ActionNoTile.fastrecord(t.data); + break; + case "RecordBaBei": + view.ActionBabei.fastrecord(t.data) + } + } catch (i) { + var e = {}; + return e.error = i.message, + e.stack = i.stack, + e.method = "UI_Ob_Replay doRecord", + e.name = t.name, + e.data = t.data, + GameMgr.Inst.onFatalError(e), + 1e6 + } + return 0 + } + , + a.prototype.update = function() { + !this.auto_play || this.locking_time > Laya.timer.currTimer || this.round_index >= 0 && this.round_index < this.rounds.length && this.action_index + 1 < this.rounds[this.round_index].actions.length && this.nextStep() + } + , + a.prototype.jumpToLastRoundXun = function() { + if (this.locking_time > Laya.timer.currTimer) + this.auto_play && (this.auto_play = !1); + else { + this.round_index = (this.round_index - 1 + this.rounds.length) % this.rounds.length; + var t = this.rounds[this.round_index].actions.length - 3; + t < 1 && (t = 1), + this._jumpStep(this.round_index, t) + } + } + , + a.prototype.nextXun = function() { + if (this.locking_time > Laya.timer.currTimer) + this.auto_play && (this.auto_play = !1); + else if (!(this.round_index >= this.rounds.length || this.round_index < 0)) { + var t = this.rounds[this.round_index]; + if (this.action_index != t.actions.length - 1) { + var e = 0; + if (0 == t.xun.length) + e = t.actions.length - 1; + else if (t.xun[0] > this.action_index) + e = t.xun[0]; + else { + var i = this.get_currentxun(); + e = i == t.xun.length ? t.actions.length - 1 : t.xun[i] + } + this._jumpStep(this.round_index, e) + } + } + } + , + a.prototype.preXun = function() { + if (this.locking_time > Laya.timer.currTimer) + this.auto_play && (this.auto_play = !1); + else if (!(this.round_index >= this.rounds.length || this.round_index < 0)) { + var t = this.rounds[this.round_index]; + if (0 != this.action_index) { + var e = 0; + if (0 == t.xun.length) + e = 0; + else if (t.xun[0] > this.action_index) + e = 0; + else { + var i = this.get_currentxun() - 1; + e = 0 == i ? 0 : t.xun[i - 1] + } + this._jumpStep(this.round_index, e) + } else + this.jumpToLastRoundXun() + } + } + , + a.prototype.preStep = function() { + if (this.locking_time > Laya.timer.currTimer) + this.auto_play && (this.auto_play = !1); + else if (!(this.round_index >= this.rounds.length || this.round_index < 0)) { + this.rounds[this.round_index]; + 0 != this.action_index ? this._jumpStep(this.round_index, this.action_index - 1) : this.jumpToLastRoundXun() + } + } + , + a.prototype.nextRound = function() { + this.page_xun.enable && this.page_xun.close(), + this.locking_time > Laya.timer.currTimer ? this.auto_play && (this.auto_play = !1) : this._jumpStep((this.round_index + 1) % this.rounds.length, 0) + } + , + a.prototype.preRound = function() { + this.page_xun.enable && this.page_xun.close(), + this.locking_time > Laya.timer.currTimer ? this.auto_play && (this.auto_play = !1) : this._jumpStep((this.round_index - 1 + this.rounds.length) % this.rounds.length, 0) + } + , + a.prototype.jumpRound = function(t) { + this.page_xun.enable && this.page_xun.close(), + this.locking_time > Laya.timer.currTimer ? this.auto_play && (this.auto_play = !1) : t < 0 || t >= this.rounds.length || this._jumpStep(t, 0) + } + , + a.prototype.jumpXun = function(t) { + if (this.locking_time > Laya.timer.currTimer) + this.auto_play && (this.auto_play = !1); + else if (!(this.round_index >= this.rounds.length || this.round_index < 0)) { + var e = this.rounds[this.round_index] + , i = 0; + i = 0 == e.xun.length ? 0 : 0 == t ? 0 : e.xun[t - 1], + this._jumpStep(this.round_index, i) + } + } + , + a.prototype.onWheelClick = function() { + if (!this.page_chang.locking && !this.page_xun.locking) + return this.page_chang.enable || this.page_xun.enable ? (this.page_chang.enable && this.page_chang.close(), + void (this.page_xun.enable && this.page_xun.close())) : void this.nextStep() + } + , + a.prototype._jumpStep = function(t, e) { + var i = this.rounds[t]; + this.round_index = t; + for (var n = 0; n < e; n++) { + if (n > 0 && "RecordDiscardTile" == this.rounds[this.round_index].actions[n - 1].name) { + (a = this.rounds[this.round_index].actions[n - 1].data.seat) != view.DesktopMgr.Inst.seat && view.DesktopMgr.Inst.players[view.DesktopMgr.Inst.seat2LocalPosition(a)].RecordLiPai(0) + } + this.doFastRecord(i.actions[n]) + } + if (e == i.actions.length - 1) + this.action_index = e - 1, + this.nextStep(); + else { + if (e > 0 && "RecordDiscardTile" == this.rounds[this.round_index].actions[e - 1].name) { + var a = this.rounds[this.round_index].actions[e - 1].data.seat; + a != view.DesktopMgr.Inst.seat && view.DesktopMgr.Inst.players[view.DesktopMgr.Inst.seat2LocalPosition(a)].RecordLiPai(0) + } + this.doFastRecord(i.actions[e]), + this.action_index = e, + this._refreshBarshow() + } + } + , + a.prototype.onChangeMainBody = function() { + var t = this.round_index + , e = this.action_index; + this.initData(), + this.reset(), + t >= this.rounds.length || t < 0 || this._jumpStep(t, e) + } + , + a.Inst = null, + a + }(t.UIBase); + t.UI_Ob_Replay = n +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.openboxUI) || this; + return t.locking = !1, + t.datas = [], + t.choosed_index = -1, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.blackBg = this.me.getChildByName("backbg"), + this.root = this.me.getChildByName("root"), + this.box_name = this.root.getChildByName("box_name"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.scroll_view = this.root.scriptMap["capsui.CScrollView"], + this.scroll_view.init_scrollview(new Laya.Handler(this,this.render_item), -1, 4), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close() + } + ), + this.btn_confirm.clickHandler = new Laya.Handler(this,function() { + if (!e.locking && -1 != e.choosed_index) { + var i = e.datas[e.choosed_index].item_id + , n = e.datas[e.choosed_index].count; + app.NetAgent.sendReq2Lobby("Lobby", "openManualItem", { + item_id: e.box_id, + count: n, + select_id: i + }, function(e, a) { + if (e || a.error) + t.UIMgr.Inst.showNetReqError("openManualItem", e, a); + else { + var r = game.GameUtility.get_item_view(i); + t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2781, [r.name, n.toString()])) + } + }), + e.close() + } + } + ) + } + , + i.prototype.show = function(e) { + var i = this; + this.enable = !0, + this.locking = !0, + this.blackBg.alpha = 0, + Laya.Tween.to(this.blackBg, { + alpha: .3 + }, 150), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.box_id = e, + this.choosed_index = -1, + this.datas = []; + for (var n = cfg.item_definition.item.get(e), a = cfg.item_definition.item_manual_pool.findGroup(n.iargs[0]), r = 0; r < a.length; r++) + this.datas.push({ + item_id: a[r].res_id, + count: a[r].res_count + }); + this.scroll_view.reset(), + this.scroll_view.addItem(this.datas.length), + game.Tools.setGrayDisable(this.btn_confirm, !0), + this.box_name.text = n["name_" + GameMgr.client_language] + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + Laya.Tween.to(this.blackBg, { + alpha: 0 + }, 150), + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i.prototype.render_item = function(t) { + var e = this + , i = t.index + , n = t.container + , a = this.datas[i].item_id + , r = this.datas[i].count + , s = n.getChildByName("btn"); + if (s.clickHandler = Laya.Handler.create(this, function() { + e.choosed_index == i ? e.changeSelect(-1) : e.changeSelect(i) + }, null, !1), + game.LoadMgr.setImgSkin(s.getChildByName("icon"), cfg.item_definition.item.get(a).icon), + r <= 1) + s.getChildByName("num").visible = !1; + else { + var o = s.getChildByName("num"); + o.visible = !0, + o.text = r.toString() + } + s.getChildByName("chosen").visible = this.choosed_index == i + } + , + i.prototype.changeSelect = function(t) { + var e = this.choosed_index; + this.choosed_index = t, + -1 != e && this.scroll_view.wantToRefreshItem(e), + -1 != this.choosed_index && this.scroll_view.wantToRefreshItem(this.choosed_index), + -1 == e && -1 != this.choosed_index && game.Tools.setGrayDisable(this.btn_confirm, !1), + -1 != e && -1 == this.choosed_index && game.Tools.setGrayDisable(this.btn_confirm, !0) + } + , + i + }(t.UIBase); + t.UI_OpenBox = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? new ui.both_ui.otherplayerinfoUI : new ui.both_ui.otherplayerinfo_enUI) || this; + return t.account_id = 0, + t.origin_x = 0, + t.origin_y = 0, + t.root = null, + t.title = null, + t.level = null, + t.btn_addfriend = null, + t.btn_report = null, + t.illust = null, + t.name = null, + t.detail_data = null, + t.locking = !1, + t.tab_info4 = null, + t.tab_info3 = null, + t.tab_note = null, + t.tab_img_dark = "", + t.tab_img_chosen = "", + t.player_data = null, + t.tab_index = 1, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? (this.tab_img_chosen = game.Tools.localUISrc("myres/bothui/info_tab_chosen.png"), + this.tab_img_dark = game.Tools.localUISrc("myres/bothui/info_tab_dark.png")) : (this.tab_img_chosen = game.Tools.localUISrc("myres/bothui/info_tabheng_chosen.png"), + this.tab_img_dark = game.Tools.localUISrc("myres/bothui/info_tabheng_dark.png")), + this.root = this.me.getChildByName("root"), + this.origin_x = this.root.x, + this.origin_y = this.root.y, + this.container_info = this.root.getChildByName("container_info"), + this.title = new t.UI_PlayerTitle(this.container_info.getChildByName("title")), + this.name = this.container_info.getChildByName("name"), + this.level = new t.UI_Level(this.container_info.getChildByName("rank")), + this.detail_data = new t.UI_PlayerData(this.container_info.getChildByName("data")), + this.illust = new t.UI_Character_Skin(this.root.getChildByName("illust").getChildByName("illust")), + this.btn_addfriend = this.container_info.getChildByName("btn_add"), + this.btn_addfriend.clickHandler = Laya.Handler.create(this, function() { + e.btn_addfriend.visible = !1, + e.btn_report.x = 343, + app.NetAgent.sendReq2Lobby("Lobby", "applyFriend", { + target_id: e.account_id + }, function(t, e) {}) + }, null, !1), + this.btn_report = this.container_info.getChildByName("btn_report"), + this.btn_report.clickHandler = new Laya.Handler(this,function() { + t.UI_Report_Nickname.Inst.show(e.account_id) + } + ), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.close() + }, null, !1), + this.note = new t.UI_PlayerNote(this.root.getChildByName("container_note"),null), + this.tab_info4 = this.root.getChildByName("tab_info4"), + this.tab_info4.clickHandler = Laya.Handler.create(this, function() { + e.locking || 1 != e.tab_index && e.changeMJCategory(1) + }, null, !1), + this.tab_info3 = this.root.getChildByName("tab_info3"), + this.tab_info3.clickHandler = Laya.Handler.create(this, function() { + e.locking || 2 != e.tab_index && e.changeMJCategory(2) + }, null, !1), + this.tab_note = this.root.getChildByName("tab_note"), + this.tab_note.clickHandler = Laya.Handler.create(this, function() { + e.locking || "chs" != GameMgr.client_type && "chs_t" != GameMgr.client_type && (game.Tools.during_chat_close() ? t.UIMgr.Inst.ShowErrorInfo("功能维护中,祝大家新年快乐") : e.container_info.visible && (e.container_info.visible = !1, + e.tab_info4.skin = e.tab_img_dark, + e.tab_info3.skin = e.tab_img_dark, + e.tab_note.skin = e.tab_img_chosen, + e.tab_index = 3, + e.note.show())) + }, null, !1), + this.locking = !1 + } + , + i.prototype.show = function(e, i) { + var n = this; + void 0 === i && (i = 1), + GameMgr.Inst.BehavioralStatistics(14), + this.account_id = e, + this.enable = !0, + this.locking = !0, + this.root.y = 560, + this.player_data = null, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })), + this.detail_data.reset(), + app.NetAgent.sendReq2Lobby("Lobby", "fetchAccountStatisticInfo", { + account_id: e + }, function(e, i) { + e || i.error ? t.UIMgr.Inst.showNetReqError("fetchAccountStatisticInfo", e, i) : (n.detail_data.setData(i), + n.changeMJCategory(n.tab_index)) + }), + this.note.init_data(e), + this.refreshBaseInfo(), + this.btn_report.visible = e != GameMgr.Inst.account_id, + this.tab_index = i, + this.container_info.visible = !0, + this.tab_info4.skin = 1 == this.tab_index ? this.tab_img_chosen : this.tab_img_dark, + this.tab_info3.skin = 2 == this.tab_index ? this.tab_img_chosen : this.tab_img_dark, + this.tab_note.skin = this.tab_img_dark, + this.note.close(), + this.tab_note.visible = "chs" != GameMgr.client_type && "chs_t" != GameMgr.client_type, + this.player_data ? (this.level.id = this.player_data[1 == this.tab_index ? "level" : "level3"].id, + this.level.exp = this.player_data[1 == this.tab_index ? "level" : "level3"].score) : (this.level.id = 1 == this.tab_index ? 10101 : 20101, + this.level.exp = 0) + } + , + i.prototype.refreshBaseInfo = function() { + var e = this; + this.title.id = 0, + this.illust.me.visible = !1, + game.Tools.SetNickname(this.name, { + account_id: 0, + nickname: "", + verified: 0 + }), + this.btn_addfriend.visible = !1, + this.btn_report.x = 343, + app.NetAgent.sendReq2Lobby("Lobby", "fetchAccountInfo", { + account_id: this.account_id + }, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("fetchAccountInfo", i, n); + else { + var a = n.account; + e.player_data = a, + game.Tools.SetNickname(e.name, a), + e.title.id = game.Tools.titleLocalization(a.account_id, a.title), + e.level.id = a.level.id, + e.level.id = e.player_data[1 == e.tab_index ? "level" : "level3"].id, + e.level.exp = e.player_data[1 == e.tab_index ? "level" : "level3"].score, + e.illust.me.visible = !0, + e.illust.setSkin(a.avatar_id, "waitingroom"), + game.Tools.is_same_zone(GameMgr.Inst.account_id, e.account_id) && e.account_id != GameMgr.Inst.account_id && null == game.FriendMgr.find(e.account_id) ? (e.btn_addfriend.visible = !0, + e.btn_report.x = 520) : (e.btn_addfriend.visible = !1, + e.btn_report.x = 343), + e.note.sign.setSign(a.signature) + } + }) + } + , + i.prototype.changeMJCategory = function(t) { + this.tab_index = t, + this.container_info.visible = !0, + this.detail_data.changeMJCategory(t), + this.tab_info4.skin = 1 == this.tab_index ? this.tab_img_chosen : this.tab_img_dark, + this.tab_info3.skin = 2 == this.tab_index ? this.tab_img_chosen : this.tab_img_dark, + this.tab_note.skin = this.tab_img_dark, + this.note.close(), + this.player_data ? (this.level.id = this.player_data[1 == this.tab_index ? "level" : "level3"].id, + this.level.exp = this.player_data[1 == this.tab_index ? "level" : "level3"].score) : (this.level.id = 1 == this.tab_index ? 10101 : 20101, + this.level.exp = 0) + } + , + i.prototype.close = function() { + var e = this; + this.enable && (this.locking || (this.locking = !0, + this.detail_data.close(), + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })))) + } + , + i.prototype.onDisable = function() { + this.detail_data.close(), + this.illust.clear(), + Laya.loader.clearTextureRes(this.level.icon.skin) + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_OtherPlayerInfo = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var i = t.call(this, new ui.lobby.lobby_overallUI) || this; + return i.onClick = null, + e.Inst = i, + i + } + return __extends(e, t), + e.prototype.onCreate = function() { + var t = this; + this.btn = this.me.getChildByName("btn"), + this.btn.clickHandler = new Laya.Handler(this,function() { + t.onClick && t.onClick.run() + } + ) + } + , + e.prototype.show = function(t) { + this.onClick = t, + this.enable = !0 + } + , + e.prototype.close = function() { + this.onClick = null, + this.enable = !1 + } + , + e + }(t.UIBase); + t.UI_Overall = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e, i = function() { + function e(t) { + var e = this; + this.me = t, + this.title = this.me.getChildByName("title"), + this.input = this.me.getChildByName("input").getChildByName("txtinput"), + this.btn_confirm = this.me.getChildByName("btn_confirm"), + this.btn_cancel = this.me.getChildByName("btn_cancel"), + this.me.visible = !1, + this.btn_cancel.clickHandler = Laya.Handler.create(this, function() { + e.hide(null) + }, null, !1), + this.container_hidename = this.me.getChildByName("hidename"), + this.sp_checkbox = this.container_hidename.getChildByName("checkbox").getChildByName("checkbox"); + var i = this.container_hidename.getChildByName("w0"); + this.container_hidename.getChildByName("w1").x = i.x + i.textField.textWidth + 10, + this.container_hidename.getChildByName("btn").clickHandler = new Laya.Handler(this,function() { + e.sp_checkbox.visible = !e.sp_checkbox.visible, + e.refresh_share_uuid() + } + ) + } + return e.prototype.show_share = function(e) { + var i = this; + this.title.text = game.Tools.strOfLocalization(2124), + this.sp_checkbox.visible = !1, + this.btn_confirm.visible = !1, + this.input.editable = !1, + this.uuid = e, + this.refresh_share_uuid(), + this.me.visible = !0, + this.locking = !0, + this.container_hidename.visible = !0, + this.btn_confirm.getChildAt(0).text = game.Tools.strOfLocalization(2127), + t.UIBase.anim_pop_out(this.me, Laya.Handler.create(this, function() { + i.locking = !1 + })) + } + , + e.prototype.refresh_share_uuid = function() { + var t = game.Tools.encode_account_id(GameMgr.Inst.account_id) + , e = this.uuid; + this.sp_checkbox.visible ? this.input.text = game.Tools.strOfLocalization(2126) + ": " + GameMgr.Inst.link_url + "?paipu=" + game.Tools.EncodePaipuUUID(e) + "_a" + t + "_2" : this.input.text = game.Tools.strOfLocalization(2126) + ": " + GameMgr.Inst.link_url + "?paipu=" + e + "_a" + t + } + , + e.prototype.show_check = function() { + var e = this; + t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : (this.title.text = game.Tools.strOfLocalization(2128), + this.btn_confirm.visible = !0, + this.container_hidename.visible = !1, + this.btn_confirm.getChildAt(0).text = game.Tools.strOfLocalization(2129), + this.btn_confirm.clickHandler = Laya.Handler.create(this, function() { + e.hide(Laya.Handler.create(e, function() { + var t = e.input.text.split("=") + , i = t[t.length - 1].split("_") + , n = 0; + i.length > 1 && (n = "a" == i[1].charAt(0) ? game.Tools.decode_account_id(parseInt(i[1].substr(1))) : parseInt(i[1])); + var a = 0; + if (i.length > 2) { + var r = parseInt(i[2]); + r && (a = r) + } + GameMgr.Inst.checkPaiPu(i[0], n, a) + })) + }, null, !1), + this.input.editable = !0, + this.input.text = "", + this.me.visible = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.me, Laya.Handler.create(this, function() { + e.locking = !1 + }))) + } + , + e.prototype.hide = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.me, Laya.Handler.create(this, function() { + i.locking = !1, + i.me.visible = !1, + e && e.run() + })) + } + , + e + }(), n = function() { + function e(t) { + var e = this; + this.me = t, + this.blackbg = t.getChildByName("blackbg"), + this.root = t.getChildByName("root"), + this.input = this.root.getChildByName("input").getChildByName("txtinput"), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close() + } + ), + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + e.locking || (game.Tools.calu_word_length(e.input.text) > 30 ? e.toolong.visible = !0 : (e.close(), + r.addCollect(e.uuid, e.start_time, e.end_time, e.input.text))) + } + ), + this.toolong = this.root.getChildByName("toolong") + } + return e.prototype.show = function(e, i, n) { + var a = this; + this.uuid = e, + this.start_time = i, + this.end_time = n, + this.me.visible = !0, + this.locking = !0, + this.input.text = "", + this.toolong.visible = !1, + this.blackbg.alpha = 0, + Laya.Tween.to(this.blackbg, { + alpha: .5 + }, 150), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + a.locking = !1 + })) + } + , + e.prototype.close = function() { + var e = this; + this.locking = !0, + Laya.Tween.to(this.blackbg, { + alpha: 0 + }, 150), + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + e + }(); + !function(t) { + t[t.ALL = 0] = "ALL", + t[t.FRIEND = 1] = "FRIEND", + t[t.RANK = 2] = "RANK", + t[t.MATCH = 4] = "MATCH", + t[t.COLLECT = 100] = "COLLECT" + }(e || (e = {})); + var a = function() { + function i(t) { + this.uuid_list = [], + this.type = t, + this.reset() + } + return i.prototype.reset = function() { + this.count = 0, + this.true_count = 0, + this.have_more_paipu = !0, + this.uuid_list = [], + this.duringload = !1 + } + , + i.prototype.loadList = function() { + var i = this; + if (!this.duringload && this.have_more_paipu) { + if (this.duringload = !0, + this.type == e.COLLECT) { + for (var n = [], a = 0, s = 0; s < 10; s++) { + var o = this.count + s; + if (o >= r.collect_lsts.length) + break; + a++; + var l = r.collect_lsts[o]; + r.record_map[l] || n.push(l), + this.uuid_list.push(l) + } + n.length > 0 ? app.NetAgent.sendReq2Lobby("Lobby", "fetchGameRecordsDetail", { + uuid_list: n + }, function(e, s) { + if (i.duringload = !1, + r.Inst.onLoadStateChange(i.type, !1), + e || s.error) + t.UIMgr.Inst.showNetReqError("fetchGameRecordsDetail", e, s); + else if (app.Log.log(JSON.stringify(s)), + s.record_list && s.record_list.length == n.length) { + for (var o = 0; o < s.record_list.length; o++) { + var l = s.record_list[o].uuid; + r.record_map[l] || (r.record_map[l] = s.record_list[o]) + } + i.count += a, + i.count >= r.collect_lsts.length && (i.have_more_paipu = !1, + r.Inst.onLoadOver(i.type)), + r.Inst.onLoadMoreLst(i.type, a) + } else + i.have_more_paipu = !1, + r.Inst.onLoadOver(i.type) + }) : (this.duringload = !1, + this.count += a, + this.count >= r.collect_lsts.length && (this.have_more_paipu = !1, + r.Inst.onLoadOver(this.type)), + r.Inst.onLoadMoreLst(this.type, a)) + } else + app.NetAgent.sendReq2Lobby("Lobby", "fetchGameRecordList", { + start: this.true_count, + count: 10, + type: this.type + }, function(n, a) { + if (i.duringload = !1, + r.Inst.onLoadStateChange(i.type, !1), + n || a.error) + t.UIMgr.Inst.showNetReqError("fetchGameRecordList", n, a); + else if (app.Log.log(JSON.stringify(a)), + a.record_list && a.record_list.length > 0) { + for (var s = a.record_list, o = 0, l = 0; l < s.length; l++) { + var h = s[l].uuid; + if (i.type == e.RANK && s[l].config && s[l].config.meta) { + var c = s[l].config.meta; + if (c) { + var _ = cfg.desktop.matchmode.get(c.mode_id); + if (_ && 5 == _.room) + continue + } + } + o++, + i.uuid_list.push(h), + r.record_map[h] || (r.record_map[h] = s[l]) + } + i.count += o, + i.true_count += s.length, + r.Inst.onLoadMoreLst(i.type, o), + i.have_more_paipu = !0 + } else + i.have_more_paipu = !1, + r.Inst.onLoadOver(i.type) + }); + Laya.timer.once(700, this, function() { + i.duringload && r.Inst.onLoadStateChange(i.type, !0) + }) + } + } + , + i.prototype.removeAt = function(t) { + for (var e = 0; e < this.uuid_list.length - 1; e++) + e >= t && (this.uuid_list[e] = this.uuid_list[e + 1]); + this.uuid_list.pop(), + this.count--, + this.true_count-- + } + , + i + }() + , r = function(r) { + function s() { + var t = r.call(this, new ui.lobby.paipuUI) || this; + return t.top = null, + t.container_scrollview = null, + t.scrollview = null, + t.loading = null, + t.tabs = [], + t.pop_otherpaipu = null, + t.pop_collectinput = null, + t.label_collect_count = null, + t.noinfo = null, + t.locking = !1, + t.current_type = e.ALL, + s.Inst = t, + t + } + return __extends(s, r), + s.init = function() { + var t = this; + this.paipuLst[e.ALL] = new a(e.ALL), + this.paipuLst[e.FRIEND] = new a(e.FRIEND), + this.paipuLst[e.RANK] = new a(e.RANK), + this.paipuLst[e.MATCH] = new a(e.MATCH), + this.paipuLst[e.COLLECT] = new a(e.COLLECT), + this.collect_lsts = [], + this.record_map = {}, + this.collect_info = {}, + app.NetAgent.sendReq2Lobby("Lobby", "fetchCollectedGameRecordList", {}, function(e, i) { + if (e || i.error) + ; + else { + if (i.record_list) { + for (var n = i.record_list, a = 0; a < n.length; a++) { + var r = { + uuid: n[a].uuid, + time: n[a].end_time, + remarks: n[a].remarks + }; + t.collect_lsts.push(r.uuid), + t.collect_info[r.uuid] = r + } + t.collect_lsts = t.collect_lsts.sort(function(e, i) { + return t.collect_info[i].time - t.collect_info[e].time + }) + } + i.record_collect_limit && (t.collect_limit = i.record_collect_limit) + } + }) + } + , + s.onAccountUpdate = function() { + this.Inst && this.Inst.enable && (this.Inst.label_collect_count.text = this.collect_lsts.length.toString() + "/" + this.collect_limit.toString()) + } + , + s.reset = function() { + this.paipuLst[e.ALL] && this.paipuLst[e.ALL].reset(), + this.paipuLst[e.FRIEND] && this.paipuLst[e.FRIEND].reset(), + this.paipuLst[e.RANK] && this.paipuLst[e.RANK].reset(), + this.paipuLst[e.MATCH] && this.paipuLst[e.MATCH].reset() + } + , + s.addCollect = function(e, i, n, a) { + var r = this; + if (!this.collect_info[e]) + if (this.collect_lsts.length + 1 > this.collect_limit) + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2767)); + else { + app.NetAgent.sendReq2Lobby("Lobby", "addCollectedGameRecord", { + uuid: e, + remarks: a, + start_time: i, + end_time: n + }, function(t, e) {}); + var o = { + uuid: e, + remarks: a, + time: n + }; + this.collect_info[e] = o, + this.collect_lsts.push(e), + this.collect_lsts = this.collect_lsts.sort(function(t, e) { + return r.collect_info[e].time - r.collect_info[t].time + }), + s.Inst.onCollectChange(e, -1) + } + } + , + s.removeCollect = function(t) { + var e = this; + if (this.collect_info[t]) { + app.NetAgent.sendReq2Lobby("Lobby", "removeCollectedGameRecord", { + uuid: t + }, function(t, e) {}), + delete this.collect_info[t]; + for (var i = -1, n = 0; n < this.collect_lsts.length; n++) + if (this.collect_lsts[n] == t) { + this.collect_lsts[n] = this.collect_lsts[this.collect_lsts.length - 1], + i = n; + break + } + this.collect_lsts.pop(), + this.collect_lsts = this.collect_lsts.sort(function(t, i) { + return e.collect_info[i].time - e.collect_info[t].time + }), + s.Inst.onCollectChange(t, i) + } + } + , + s.prototype.onCreate = function() { + var e = this; + this.top = this.me.getChildByName("top"), + this.top.getChildByName("btn_back").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close(Laya.Handler.create(e, function() { + t.UIMgr.Inst.showLobby() + })) + }, null, !1), + this.container_scrollview = this.me.getChildByName("scrollview"), + this.scrollview = this.container_scrollview.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, function(t) { + e.setItemValue(t.index, t.container) + }, null, !1)), + this.container_scrollview.on("ratechange", this, function() { + var t = s.paipuLst[e.current_type]; + (1 - e.scrollview.rate) * t.count < 3 && (t.duringload || (t.have_more_paipu ? t.loadList() : 0 == t.count && (e.noinfo.visible = !0))) + }), + this.loading = this.container_scrollview.getChildByName("loading"), + this.loading.visible = !1, + this.container_scrollview.getChildByName("checkother").clickHandler = Laya.Handler.create(this, function() { + e.pop_otherpaipu.me.visible || e.pop_otherpaipu.show_check() + }, null, !1), + this.tabs = []; + for (var a = 0; a < 5; a++) + this.tabs.push(this.container_scrollview.getChildByName("tabs").getChildAt(a)), + this.tabs[a].clickHandler = new Laya.Handler(this,this.changeTab,[a, !1]); + this.pop_otherpaipu = new i(this.me.getChildByName("pop_otherpaipu")), + this.pop_collectinput = new n(this.me.getChildByName("pop_collect")), + this.label_collect_count = this.container_scrollview.getChildByName("collect_limit").getChildByName("value"), + this.label_collect_count.text = "0/20", + this.noinfo = this.container_scrollview.getChildByName("noinfo") + } + , + s.prototype.show = function() { + var e = this; + GameMgr.Inst.BehavioralStatistics(20), + game.Scene_Lobby.Inst.change_bg("indoor", !1), + this.enable = !0, + this.pop_otherpaipu.me.visible = !1, + this.pop_collectinput.me.visible = !1, + t.UIBase.anim_alpha_in(this.top, { + y: -30 + }, 200), + t.UIBase.anim_alpha_in(this.container_scrollview, { + y: 30 + }, 200), + this.locking = !0, + this.loading.visible = !1, + Laya.timer.once(200, this, function() { + e.locking = !1 + }), + this.changeTab(0, !0), + this.label_collect_count.text = s.collect_lsts.length.toString() + "/" + s.collect_limit.toString() + } + , + s.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_alpha_out(this.top, { + y: -30 + }, 150), + t.UIBase.anim_alpha_out(this.container_scrollview, { + y: 30 + }, 150), + Laya.timer.once(150, this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + }) + } + , + s.prototype.changeTab = function(t, i) { + var n = [e.ALL, e.RANK, e.FRIEND, e.MATCH, e.COLLECT]; + if (i || n[t] != this.current_type) { + if (this.loading.visible = !1, + this.noinfo.visible = !1, + this.current_type = n[t], + this.current_type == e.COLLECT && s.paipuLst[this.current_type].reset(), + this.scrollview.reset(), + this.current_type != e.COLLECT) { + var a = s.paipuLst[this.current_type].count; + a > 0 && this.scrollview.addItem(a) + } + for (var r = 0; r < this.tabs.length; r++) { + var o = this.tabs[r]; + o.getChildByName("img").skin = game.Tools.localUISrc(t == r ? "myres/shop/tab_choose.png" : "myres/shop/tab_unchoose.png"), + o.getChildByName("label_name").color = t == r ? "#d9b263" : "#8cb65f" + } + } + } + , + s.prototype.setItemValue = function(e, i) { + var n = this; + if (this.enable) { + var a = s.paipuLst[this.current_type]; + if (a || !(e >= a.uuid_list.length)) { + for (var r = s.record_map[a.uuid_list[e]], o = 0; o < 4; o++) { + var l = i.getChildByName("p" + o.toString()); + if (o < r.result.players.length) { + l.visible = !0; + var h = l.getChildByName("chosen") + , c = l.getChildByName("rank") + , _ = l.getChildByName("rank_word") + , u = l.getChildByName("name") + , d = l.getChildByName("score") + , f = r.result.players[o]; + d.text = f.part_point_1 || "0"; + for (var p = 0, m = game.Tools.strOfLocalization(2133), g = 0, y = !1, v = 0; v < r.accounts.length; v++) + if (r.accounts[v].seat == f.seat) { + p = r.accounts[v].account_id, + m = r.accounts[v].nickname, + g = r.accounts[v].verified, + y = r.accounts[v].account_id == GameMgr.Inst.account_id; + break + } + game.Tools.SetNickname(u, { + account_id: p, + nickname: m, + verified: g + }), + h.visible = y, + d.color = y ? "#ffc458" : "#b98930", + u.getChildByName("name").color = y ? "#dfdfdf" : "#a0a0a0", + _.color = c.color = y ? "#57bbdf" : "#489dbc"; + var b = l.getChildByName("rank_word"); + if ("en" == GameMgr.client_language) + switch (o) { + case 0: + b.text = "st"; + break; + case 1: + b.text = "nd"; + break; + case 2: + b.text = "rd"; + break; + case 3: + b.text = "th" + } + } else + l.visible = !1 + } + var w = new Date(1e3 * r.end_time) + , x = ""; + x += w.getFullYear() + "/", + x += (w.getMonth() < 9 ? "0" : "") + (w.getMonth() + 1).toString() + "/", + x += (w.getDate() < 10 ? "0" : "") + w.getDate() + " ", + x += (w.getHours() < 10 ? "0" : "") + w.getHours() + ":", + x += (w.getMinutes() < 10 ? "0" : "") + w.getMinutes(), + i.getChildByName("date").text = x, + i.getChildByName("check").clickHandler = Laya.Handler.create(this, function() { + n.locking || (t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : GameMgr.Inst.checkPaiPu(r.uuid, GameMgr.Inst.account_id, 0)) + }, null, !1), + i.getChildByName("share").clickHandler = Laya.Handler.create(this, function() { + n.locking || n.pop_otherpaipu.me.visible || (n.pop_otherpaipu.show_share(r.uuid), + GameMgr.Inst.BehavioralStatistics(21)) + }, null, !1); + var I = i.getChildByName("room") + , C = game.Tools.get_room_desc(r.config); + I.text = C.text; + var S = ""; + if (1 == r.config.category) + S = game.Tools.strOfLocalization(2023); + else if (4 == r.config.category) + S = game.Tools.strOfLocalization(2025); + else if (2 == r.config.category) { + var M = r.config.meta; + if (M) { + var L = cfg.desktop.matchmode.get(M.mode_id); + L && (S = L["room_name_" + GameMgr.client_language]) + } + } + if (s.collect_info[r.uuid]) { + var T = s.collect_info[r.uuid] + , E = i.getChildByName("remarks_info") + , D = i.getChildByName("input") + , N = D.getChildByName("txtinput") + , A = i.getChildByName("btn_input") + , B = !1 + , k = function() { + B ? (E.visible = !1, + D.visible = !0, + N.text = E.text, + A.visible = !1) : (T.remarks && "" != T.remarks ? E.text = game.Tools.strWithoutForbidden(T.remarks) : E.text = S, + E.visible = !0, + D.visible = !1, + A.visible = !0) + }; + k(), + A.clickHandler = Laya.Handler.create(this, function() { + B = !0, + k() + }, null, !1), + N.on("blur", this, function() { + B && (game.Tools.calu_word_length(N.text) > 30 ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2765)) : N.text != T.remarks && (T.remarks = N.text, + app.NetAgent.sendReq2Lobby("Lobby", "changeCollectedGameRecordRemarks", { + uuid: r.uuid, + remarks: N.text + }, function(t, e) {}))), + B = !1, + k() + }); + (R = i.getChildByName("collect")).clickHandler = Laya.Handler.create(this, function() { + s.removeCollect(r.uuid) + }, null, !1), + R.getChildByName("img").skin = game.Tools.localUISrc("myres/lobby/collect_star.png") + } else { + i.getChildByName("input").visible = !1, + i.getChildByName("btn_input").visible = !1, + i.getChildByName("remarks_info").visible = !0, + i.getChildByName("remarks_info").text = S; + var R = i.getChildByName("collect"); + R.clickHandler = Laya.Handler.create(this, function() { + n.pop_collectinput.show(r.uuid, r.start_time, r.end_time) + }, null, !1), + R.getChildByName("img").skin = game.Tools.localUISrc("myres/lobby/collect_star_gray.png") + } + } + } + } + , + s.prototype.onLoadStateChange = function(t, e) { + this.current_type == t && (this.loading.visible = e) + } + , + s.prototype.onLoadMoreLst = function(t, e) { + this.current_type == t && this.scrollview.addItem(e) + } + , + s.prototype.onLoadOver = function(t) { + if (this.current_type == t) { + 0 == s.paipuLst[this.current_type].count && (this.noinfo.visible = !0) + } + } + , + s.prototype.onCollectChange = function(t, i) { + if (this.current_type == e.COLLECT) + i >= 0 && (s.paipuLst[e.COLLECT].removeAt(i), + this.scrollview.delItem(i)); + else + for (var n = s.paipuLst[this.current_type].uuid_list, a = 0; a < n.length; a++) + if (n[a] == t) { + this.scrollview.wantToRefreshItem(a); + break + } + this.label_collect_count.text = s.collect_lsts.length.toString() + "/" + s.collect_limit.toString() + } + , + s.Inst = null, + s.paipuLst = {}, + s.collect_lsts = [], + s.record_map = {}, + s.collect_info = {}, + s.collect_limit = 20, + s + }(t.UIBase); + t.UI_PaiPu = r +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.pifuquan_lessUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close(null) + } + ), + this.root.getChildByName("btn_cancel").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close(null) + } + ), + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + e.locking || (e.onConfrim && e.onConfrim.runWith(Laya.Handler.create(e, function() { + t.UI_Recharge.Inst.show("pifuquan", e.back) + })), + e.close(null)) + } + ) + } + , + i.prototype.show = function(e, i) { + var n = this; + this.back = i, + this.onConfrim = e, + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })) + } + , + i.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + })) + } + , + i + }(t.UIBase); + t.UI_Pifuquanless = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e; + !function(t) { + t[t.none = 0] = "none", + t[t.during = 1] = "during", + t[t.success = 2] = "success" + }(e || (e = {})); + var i = function(i) { + function n() { + var t = i.call(this, new ui.lobby.pipeiUI) || this; + return t.state = e.none, + n.Inst = t, + app.NetAgent.AddListener2Lobby("NotifyRoomGameStart", Laya.Handler.create(t, function(e) { + t.enable && (app.Log.log("NotifyRoomGameStart:" + JSON.stringify(e)), + t.onGameStart(e)) + })), + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.info = this.root.getChildByName("text"), + this.title = this.root.getChildByName("ttt"), + this.btn = this.root.getChildByName("btn"), + this.btn.clickHandler = Laya.Handler.create(this, function() { + e.locking || (e.btn.disabled = !0, + app.NetAgent.sendReq2Lobby("Lobby", "cancelMatch", {}, function(i, n) { + i || n.error ? t.UIMgr.Inst.showNetReqError("cancelMatch", i, n) : e.close() + })) + }, null, !1), + this.btn.disabled = !1 + } + , + n.prototype.tryToClose = function(i) { + var n = this; + this.state == e.none ? (this.enable = !1, + i.runWith(!0)) : this.state == e.during ? app.NetAgent.sendReq2Lobby("Lobby", "cancelMatch", {}, function(e, a) { + e || a.error ? (t.UIMgr.Inst.showNetReqError("cancelMatch", e, a), + i.runWith(!1)) : (n.enable = !1, + i.runWith(!0), + n.close()) + }) : this.state == e.success && i.runWith(!1) + } + , + n.prototype.show = function(i) { + var n = this; + this.enable = !0, + this.locking = !0, + this.btn.disabled = !1, + this.root.scaleX = this.root.scaleY = 1, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })), + Laya.timer.clearAll(this); + var a = 0; + this.state = e.none, + Laya.timer.loop(1e3, this, function() { + var t = game.Tools.strOfLocalization(2151); + a = (a + 1) % 4; + for (var e = 0; e < a; e++) + t += "."; + n.info.text = t + }), + Laya.timer.once(300, this, function() { + n.state = e.during, + n.enable && !n.locking && app.NetAgent.sendReq2Lobby("Lobby", "matchGame", { + match_mode: i + }, function(i, a) { + (i || a.error) && (t.UIMgr.Inst.showNetReqError("matchGame", i, a), + n.close(), + n.state = e.none) + }) + }) + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + n.prototype.onDisable = function() { + Laya.timer.clearAll(this) + } + , + n.prototype.onGameStart = function(i) { + this.state = e.success, + this.enable = !1, + t.UI_Lobby.Inst.enable = !1, + game.MJNetMgr.Inst.OpenConnect(i.connect_token, i.game_uuid, i.location, !1, null) + } + , + n.prototype.onMatchTimeout = function(i) { + this.close(), + this.state = e.none, + t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(2152), null) + } + , + n.Inst = null, + n + }(t.UIBase); + t.UI_PiPei = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.pipeichenggongUI) || this; + return t.blackbg = null, + t.root = null, + t.shine = null, + t.img_duanwei = null, + t.img_mode = null, + t.label_time = null, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.blackbg = this.me.getChildByName("blackbg"), + this.root = this.me.getChildByName("root"), + this.shine = this.root.getChildByName("shine"), + this.img_duanwei = this.root.getChildByName("duanwei"), + this.img_mode = this.root.getChildByName("mode"), + this.label_time = this.root.getChildByName("time"), + app.NetAgent.AddListener2Lobby("NotifyMatchGameStart", Laya.Handler.create(this, function(e) { + app.Log.log("NotifyMatchGameStart:" + JSON.stringify(e)), + t.show(e) + })) + } + , + i.prototype.show = function(e) { + var i = this; + this.enable = !0, + view.AudioMgr.PlayAudio(115, 1, 1.4), + t.UIMgr.Inst.closeUIWithTag_Lobby(), + Laya.timer.once(3e3, this, function() { + t.UIMgr.Inst.closeUIWithTag_Lobby() + }), + this.blackbg.alpha = 0, + Laya.Tween.to(this.blackbg, { + alpha: .7 + }, 150, null), + this.shine.alpha = 0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + Laya.Tween.to(i.shine, { + alpha: .5 + }, 500) + })); + var n = e.match_mode_id + , a = cfg.desktop.matchmode.get(n); + if (a) { + switch (a.room) { + case 1: + this.img_duanwei.skin = game.Tools.localUISrc("myres/lobby/w_tongzhijian.png"); + break; + case 2: + this.img_duanwei.skin = game.Tools.localUISrc("myres/lobby/w_yinzhijian.png"); + break; + case 3: + this.img_duanwei.skin = game.Tools.localUISrc("myres/lobby/w_jinzhijian.png"); + break; + case 4: + this.img_duanwei.skin = game.Tools.localUISrc("myres/lobby/w_yuzhijian.png"); + break; + case 5: + this.img_duanwei.skin = game.Tools.localUISrc("jp" == GameMgr.client_language ? "myres/lobby/w_luandou2.png" : "myres/lobby/w_luandou.png"); + break; + case 6: + this.img_duanwei.skin = game.Tools.localUISrc("myres/lobby/w_wangzuo.png"); + break; + case 100: + this.img_duanwei.skin = game.Tools.localUISrc("myres/lobby/w_xiuxian.png"); + break; + case 200: + this.img_duanwei.skin = game.Tools.localUISrc("myres/lobby/w_dora3.png"); + break; + case 210: + this.img_duanwei.skin = game.Tools.localUISrc("myres/lobby/w_peipai.png"); + break; + case 220: + this.img_duanwei.skin = game.Tools.localUISrc("myres/lobby/w_muyu.png"); + break; + default: + this.img_duanwei.skin = "" + } + switch (a.mode) { + case 1: + this.img_mode.skin = game.Tools.localUISrc("myres/lobby/w_sirendong.png"); + break; + case 2: + this.img_mode.skin = game.Tools.localUISrc("myres/lobby/w_sirennan.png"); + break; + case 11: + this.img_mode.skin = game.Tools.localUISrc("myres/lobby/w_sanrendong.png"); + break; + case 12: + this.img_mode.skin = game.Tools.localUISrc("myres/lobby/w_sanrennan.png"); + break; + default: + this.img_mode.skin = "" + } + if (a.level_limit > GameMgr.Inst.account_data.level.id) { + (r = {}).type = "匹配成功显示问题", + r.account_data = GameMgr.Inst.account_data, + r.msg = e, + GameMgr.Inst.postInfo2Server(r) + } + } else + this.img_duanwei.skin = "", + this.img_mode.skin = ""; + if (!t.UI_PiPeiYuYue.Inst.matchYuYued(n)) { + var r = {}; + r.type = "匹配成功显示问题2", + r.account_data = GameMgr.Inst.account_data, + r.msg = e, + r.yuyued = t.UI_PiPeiYuYue.Inst.getAllYuYue(), + GameMgr.Inst.postInfo2Server(r) + } + this.label_time.text = game.Tools.strOfLocalization(2153) + "(3)", + Laya.timer.once(1300, this, function() { + i.label_time.text = game.Tools.strOfLocalization(2153) + "(2)" + }), + Laya.timer.once(2300, this, function() { + i.label_time.text = game.Tools.strOfLocalization(2153) + "(1)" + }), + Laya.timer.once(3300, this, function() { + i.label_time.text = "Go!!!" + }), + Laya.timer.once(4e3, this, function() { + i.enable = !1, + t.UI_PiPeiYuYue.Inst.onPiPeiOver(), + game.MJNetMgr.Inst.OpenConnect(e.connect_token, e.game_uuid, e.location, !1, null) + }) + } + , + i + }(t.UIBase); + t.UI_PiPeiChengGong = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t) { + var e = this; + this.me = t, + this.bg = t.getChildByName("bg"), + this.label_mode = this.bg.getChildByName("mode"), + this.label_duanwei = this.bg.getChildByName("duanwei"), + this.btn_close = this.bg.getChildByName("btn_close"), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + i.Inst.matchLocking(e.match_id) || e.close() + }, null, !1), + this.match_id = -1, + this.me.visible = !1 + } + return e.prototype.setData = function(e, n) { + this.build_time = Laya.timer.currTimer, + this.match_id = e, + this.pos = n, + this.me.visible = !0; + var a = cfg.desktop.matchmode.get(e); + if (a) { + switch (this.label_duanwei.text = a["room_name_" + GameMgr.client_language], + a.room) { + case 1: + this.label_duanwei.color = "#d26f69"; + break; + case 2: + this.label_duanwei.color = "#cfcdd2"; + break; + case 3: + this.label_duanwei.color = "#dbb036"; + break; + case 4: + this.label_duanwei.color = "#3db98d"; + break; + case 5: + this.label_duanwei.color = "#8264fb"; + break; + case 6: + this.label_duanwei.color = "#ff2b72"; + break; + case 100: + case 200: + case 210: + this.label_duanwei.color = "#91af5c"; + break; + default: + this.label_duanwei.color = "#d28eed" + } + this.label_mode.text = game.Tools.room_mode_desc(a.mode) + } else + this.label_duanwei.text = "", + this.label_mode.text = ""; + this.during_close = !1, + this.me.x = 0, + this.me.y = this.me.height * n, + this.bg.x = 5, + this.bg.alpha = 1; + var r = this; + Laya.timer.once(150, this, function() { + app.NetAgent.sendReq2Lobby("Lobby", "matchGame", { + match_mode: e + }, function(e, n) { + (e || n.error) && (t.UIMgr.Inst.showNetReqError("matchGame", e, n), + t.UIBase.anim_alpha_out(r.bg, { + x: 60, + alpha: 0 + }, 150, 0, Laya.Handler.create(r, function() { + var t = r.match_id + , e = r.pos; + r.match_id = -1, + r.pos = -1, + r.me.visible = !1, + i.Inst.onCloseOver(t, e) + }))) + }) + }) + } + , + e.prototype.changePos = function(t) { + if (this.pos = t, + !this.during_close) { + Laya.Tween.clearAll(this); + var e = this.me.y + , i = t * this.me.height + , n = Math.abs(e - i) / 1; + Laya.Tween.to(this.me, { + y: i + }, n) + } + } + , + e.prototype.close = function() { + if (!this.during_close) { + var e = this; + this.during_close = !0, + app.NetAgent.sendReq2Lobby("Lobby", "cancelMatch", { + match_mode: this.match_id + }, function(n, a) { + n || a.error ? (t.UIMgr.Inst.showNetReqError("cancelMatch", n, a), + e.during_close = !1) : t.UIBase.anim_alpha_out(e.bg, { + x: 60, + alpha: 0 + }, 150, 0, Laya.Handler.create(e, function() { + e.during_close = !1; + var t = e.match_id + , n = e.pos; + e.match_id = -1, + e.pos = -1, + e.me.visible = !1, + i.Inst.onCloseOver(t, n) + })) + }) + } + } + , + e + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.lobby.pipeiyuyueUI) || this; + return t.root = null, + t.bg = null, + t.label_time = null, + t.img_arrow = null, + t.panel_content = null, + t.cell_templete = null, + t.btn_open = null, + t.cells = [], + t.current_count = 0, + t.inopen = !0, + t.start_time = 0, + t.bg_width0 = 337, + t.bg_width1 = 515, + n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.root = this.me.getChildByName("root"), + this.bg = this.root.getChildByName("bg"), + this.label_time = this.root.getChildByName("time"), + this.img_arrow = this.root.getChildByName("arrow"), + this.panel_content = this.root.getChildByName("lst"), + this.cell_templete = this.panel_content.getChildByName("templete"), + this.cell_templete.visible = !1; + for (var n = 0; n < 10; n++) { + var a = this.cell_templete.scriptMap["capsui.UICopy"].getNodeClone(); + this.cells.push(new e(a)) + } + this.btn_open = this.root.getChildByName("btn_open"), + this.btn_open.clickHandler = Laya.Handler.create(this, function() { + i.inopen = !i.inopen, + i.refreshshow() + }, null, !1), + app.NetAgent.AddListener2Lobby("NotifyMatchTimeout", Laya.Handler.create(this, function(e) { + app.Log.log("NotifyMatchTimeout:" + JSON.stringify(e)), + t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(2152), null), + i.onPiPeiOver() + })), + game.LobbyNetMgr.Inst.add_connect_listener(Laya.Handler.create(this, function(t) { + i.enable && i.onPiPeiOver() + }, null, !1)) + } + , + n.prototype.addMatch = function(e) { + var i = this; + if (this.current_count >= 6) + return t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(3004)), + !1; + if (this.matchYuYued(e)) + return !0; + for (var n = -1, a = 0; a < this.cells.length; a++) + if (-1 == this.cells[a].match_id) { + n = a; + break + } + if (n >= 0) { + 0 == this.current_count && (this.inopen = !0, + this.enable = !0, + this.bg.width = this.bg_width1, + this.bg.height = 60, + this.start_time = Laya.timer.currTimer, + this.label_time.text = "00:00", + Laya.timer.loop(100, this, function() { + if (!t.UI_PiPeiChengGong.Inst.enable) { + var e = Laya.timer.currTimer - i.start_time; + e /= 1e3; + var n = "" + , a = Math.floor(e / 60); + a < 10 && (n += "0"), + n += a, + n += ":", + (a = Math.floor(e) % 60) < 10 && (n += "0"), + n += a, + i.label_time.text = n + } + })); + this.cells[n].setData(e, this.current_count), + this.current_count++, + this.refreshshow() + } + return !0 + } + , + n.prototype.refreshshow = function() { + var t = this; + Laya.Tween.clearAll(this.bg), + Laya.Tween.clearAll(this.panel_content); + var e = this.cell_templete.height; + if (this.img_arrow.rotation = this.inopen ? 0 : 180, + this.inopen) + if (this.bg.width < this.bg_width1 - .001) + if (this.panel_content.visible = !1, + 0 == this.current_count) + this.enable = !1; + else { + o = (this.bg_width1 - this.bg.width) / 1; + Laya.Tween.to(this.bg, { + width: this.bg_width1 + }, o, null, Laya.Handler.create(this, function() { + t.bg.width = t.bg_width1, + t.refreshshow() + })) + } + else { + this.bg.width = this.bg_width1; + var i = this.bg.height + , n = 70 + this.current_count * e + , a = Math.abs(i - n); + if (a < 10) + this.bg.height = n, + this.panel_content.height = this.bg.height - 60, + this.panel_content.visible = !0, + 0 == this.current_count && (this.enable = !1); + else { + o = a / 1; + Laya.Tween.to(this.bg, { + height: n + }, o, null, Laya.Handler.create(this, function() { + t.bg.height = n, + 0 == t.current_count && (t.enable = !1) + })), + this.panel_content.height = i - 59, + this.panel_content.visible = !0, + Laya.Tween.to(this.panel_content, { + height: n - 60 + }, o) + } + } + else if (0 == this.current_count) + this.enable = !1; + else if (this.bg.height > 60.001) { + o = (this.bg.height - 60) / 1; + Laya.Tween.to(this.bg, { + height: 60 + }, o, null, Laya.Handler.create(this, function() { + t.bg.height = 60, + t.refreshshow() + })), + this.panel_content.visible = !0, + this.panel_content.height = this.bg.height - 60, + Laya.Tween.to(this.panel_content, { + height: .1 + }, o, null, Laya.Handler.create(this, function() { + t.panel_content.visible = !1 + })) + } else { + this.panel_content.visible = !1, + this.bg.height = 60; + var r = this.bg.width + , s = this.bg_width0; + if (this.bg.width < s + 10) + this.bg.width = s; + else { + var o = Math.abs(r - s) / 1; + Laya.Tween.to(this.bg, { + width: s + }, o, null, Laya.Handler.create(this, function() { + t.bg.width = s + })) + } + } + } + , + n.prototype.matchYuYued = function(t) { + return -1 != this.getMatchID(t) + } + , + n.prototype.getMatchID = function(t) { + for (var e = 0; e < this.cells.length; e++) + if (this.cells[e].match_id === t) + return e; + return -1 + } + , + n.prototype.getAllYuYue = function() { + for (var t = [], e = 0; e < this.cells.length; e++) + t.push(this.cells[e].match_id); + return t + } + , + n.prototype.matchLocking = function(t) { + var e = this.getMatchID(t); + return -1 != e && (Laya.timer.currTimer < this.cells[e].build_time + 200 || !!this.cells[e].during_close) + } + , + n.prototype.cancelPiPei = function(t) { + if (!this.matchLocking(t)) { + var e = this.getMatchID(t); + -1 != e && this.cells[e].close() + } + } + , + n.prototype.onCloseOver = function(t, e) { + for (var i = 0; i < this.cells.length; i++) + -1 != this.cells[i].match_id && this.cells[i].pos >= e && this.cells[i].changePos(this.cells[i].pos - 1); + this.current_count--, + this.refreshshow(), + this.me.event("cancelPiPei", t) + } + , + n.prototype.onDisable = function() { + Laya.Tween.clearAll(this), + Laya.timer.clearAll(this) + } + , + n.prototype.onPiPeiOver = function() { + this.enable = !1; + for (var t = 0; t < this.cells.length; t++) + this.cells[t].me.visible = !1, + this.cells[t].match_id = -1, + this.cells[t].pos = -1; + this.current_count = 0, + this.me.event("pipeiover") + } + , + n + }(t.UIBase); + t.UI_PiPeiYuYue = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(e) { + var n = this; + this.change_cd = 0, + t.Inst = this, + this.me = e, + this.input = e.getChildByName("input"), + e.getChildByName("btn_confirm").clickHandler = Laya.Handler.create(this, function() { + var t = n.input.text; + t == GameMgr.Inst.account_data.signature || (GameMgr.Inst.account_data.signature = t, + app.NetAgent.sendReq2Lobby("Lobby", "modifySignature", { + signature: t + }, function(t, e) {}), + n.change_cd = Laya.timer.currTimer + 3e4, + i.Inst.note.sign.setSign(t)), + n.me.visible = !1 + }, null, !1), + this.input.on("input", this, function() { + if (n.input.text && "" != n.input.text) { + for (var t = n.input.text, e = 0, i = 0, a = 0; a < t.length; a++) { + if (t.charCodeAt(a) > 255) { + if (e + 2 > 180) + break; + e += 2 + } else { + if (e + 1 > 180) + break; + e += 1 + } + i++ + } + i != t.length && (n.input.text = t.substr(0, i)) + } + }) + } + return t.prototype.show = function() { + this.me.visible = !0, + this.input.text = GameMgr.Inst.account_data.signature + } + , + t.Inst = null, + t + }(); + t.Sign_Input = e; + var i = function(i) { + function n() { + var t = i.call(this, "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? new ui.lobby.playerinfoUI : new ui.lobby.playerinfo_enUI) || this; + return t.origin_x = 0, + t.origin_y = 0, + t.root = null, + t.title = null, + t.level = null, + t.input = null, + t.name = null, + t.detail_data = null, + t.tab_info4 = null, + t.tab_info3 = null, + t.tab_note = null, + t.note_readpoint = null, + t.locking = !1, + t.havenewcomment = !1, + t.tab_img_dark = "", + t.tab_img_chosen = "", + t.tab_index = 1, + n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? (this.tab_img_chosen = game.Tools.localUISrc("myres/bothui/info_tab_chosen.png"), + this.tab_img_dark = game.Tools.localUISrc("myres/bothui/info_tab_dark.png")) : (this.tab_img_chosen = game.Tools.localUISrc("myres/bothui/info_tabheng_chosen.png"), + this.tab_img_dark = game.Tools.localUISrc("myres/bothui/info_tabheng_dark.png")), + this.root = this.me.getChildByName("root"), + this.origin_x = this.root.x, + this.origin_y = this.root.y, + this.container_info = this.root.getChildByName("container_info"), + this.title = new t.UI_PlayerTitle(this.container_info.getChildByName("title")), + this.name = this.container_info.getChildByName("name"), + this.level = new t.UI_Level(this.container_info.getChildByName("rank")), + this.detail_data = new t.UI_PlayerData(this.container_info.getChildByName("data")), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + i.close() + }, null, !1), + this.container_info.getChildByName("btn_title").clickHandler = Laya.Handler.create(this, function() { + t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : t.UI_TitleBook.Inst.show() + }, null, !1), + this.container_info.getChildByName("btn_changenickname").clickHandler = Laya.Handler.create(this, function() { + t.UI_Change_Nickname.Inst.show() + }, null, !1), + game.Tools.labelLocalizationSize(this.container_info.getChildByName("btn_changenickname").getChildAt(0), 180, .9), + this.container_info.getChildByName("btn_rank").clickHandler = Laya.Handler.create(this, function() { + t.UI_Introduce.Inst.show(i.tab_index) + }, null, !1), + this.tab_info4 = this.root.getChildByName("tab_info4"), + this.tab_info4.clickHandler = Laya.Handler.create(this, function() { + i.locking || 1 != i.tab_index && i.changeMJCategory(1) + }, null, !1), + this.tab_info3 = this.root.getChildByName("tab_info3"), + this.tab_info3.clickHandler = Laya.Handler.create(this, function() { + i.locking || 2 != i.tab_index && i.changeMJCategory(2) + }, null, !1), + this.tab_note = this.root.getChildByName("tab_note"), + this.tab_note.clickHandler = Laya.Handler.create(this, function() { + i.locking || "chs" != GameMgr.client_type && "chs_t" != GameMgr.client_type && (game.Tools.during_chat_close() ? t.UIMgr.Inst.ShowErrorInfo("功能维护中,祝大家新年快乐") : i.container_info.visible && (i.container_info.visible = !1, + i.tab_info4.skin = i.tab_img_dark, + i.tab_info3.skin = i.tab_img_dark, + i.tab_note.skin = i.tab_img_chosen, + i.tab_index = 3, + i.note.show())) + }, null, !1), + this.note_readpoint = this.tab_note.getChildByName("redpoint"), + this.note_readpoint.visible = !1, + this.note = new t.UI_PlayerNote(this.root.getChildByName("container_note"),this.note_readpoint), + this.locking = !1, + this.input = new e(this.me.getChildByName("container_sign_input")), + this.input.me.visible = !1 + } + , + n.prototype.show = function(e) { + var i = this; + void 0 === e && (e = 1), + this.locking || (this.enable = !0, + this.root.alpha = 0, + this.root.y = this.origin_y + 100, + this.locking = !0, + Laya.Tween.to(this.root, { + alpha: 1, + y: this.origin_y + }, 200, null, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.detail_data.reset(), + this.tab_index = e, + app.NetAgent.sendReq2Lobby("Lobby", "fetchAccountStatisticInfo", { + account_id: GameMgr.Inst.account_id + }, function(e, n) { + e || n.error ? t.UIMgr.Inst.showNetReqError("fetchAccountStatisticInfo", e, n) : (app.Log.log(JSON.stringify(n)), + i.detail_data.setData(n), + i.changeMJCategory(i.tab_index)) + }), + this.note.init_data(GameMgr.Inst.account_id), + this.refreshBaseInfo(), + this.input.me.visible = !1, + this.tab_index = this.tab_index, + this.container_info.visible = !0, + this.tab_info4.skin = 1 == this.tab_index ? this.tab_img_chosen : this.tab_img_dark, + this.tab_info3.skin = 2 == this.tab_index ? this.tab_img_chosen : this.tab_img_dark, + this.tab_note.skin = this.tab_img_dark, + this.note.close(), + this.tab_note.visible = "chs" != GameMgr.client_type && "chs_t" != GameMgr.client_type, + this.level.id = GameMgr.Inst.account_data[1 == this.tab_index ? "level" : "level3"].id, + this.level.exp = GameMgr.Inst.account_data[1 == this.tab_index ? "level" : "level3"].score) + } + , + n.prototype.refreshBaseInfo = function() { + var t = GameMgr.Inst.account_data; + game.Tools.SetNickname(this.name, t), + this.title.id = t.title, + this.note.sign.setSign(t.signature) + } + , + n.prototype.changeMJCategory = function(t) { + this.tab_index = t, + this.container_info.visible = !0, + this.detail_data.changeMJCategory(t), + this.tab_info4.skin = 1 == this.tab_index ? this.tab_img_chosen : this.tab_img_dark, + this.tab_info3.skin = 2 == this.tab_index ? this.tab_img_chosen : this.tab_img_dark, + this.tab_note.skin = this.tab_img_dark, + this.note.close(), + this.level.id = GameMgr.Inst.account_data[1 == this.tab_index ? "level" : "level3"].id, + this.level.exp = GameMgr.Inst.account_data[1 == this.tab_index ? "level" : "level3"].score + } + , + n.prototype.close = function() { + var t = this; + this.locking || (this.locking = !0, + Laya.Tween.to(this.root, { + alpha: 0, + y: this.origin_y + 100 + }, 200, null, Laya.Handler.create(this, function() { + t.locking = !1, + t.enable = !1 + }))) + } + , + n.prototype.onDisable = function() { + this.detail_data.close() + } + , + n.Inst = null, + n + }(t.UIBase); + t.UI_PlayerInfo = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t) { + this.locking = !1, + this.me = t, + this.info = t.getChildByName("text"), + t.getChildByName("btn").clickHandler = Laya.Handler.create(this, this.close, [1], !1), + t.getChildByName("btn_cancel").clickHandler = Laya.Handler.create(this, this.close, [0], !1) + } + return e.prototype.show = function(e, i) { + var n = this; + this.func_confirm = i, + this.info.text = e, + this.me.visible = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.me, Laya.Handler.create(this, function() { + n.locking = !1 + })) + } + , + e.prototype.close = function(e) { + var i = this; + this.locking || (this.locking = !0, + t.UIBase.anim_pop_hide(this.me, Laya.Handler.create(this, function() { + i.locking = !1, + i.me.visible = !1, + i.func_confirm && i.func_confirm.runWith(e), + i.func_confirm = null + }))) + } + , + e + }() + , i = function() { + function e(t) { + this.locking = !1, + this.me = t, + this.info = t.getChildByName("text"), + this.title = t.getChildByName("ttt"), + t.getChildByName("btn").clickHandler = Laya.Handler.create(this, this.close, [1], !1), + t.getChildByName("btn_cancel").clickHandler = Laya.Handler.create(this, this.close, [0], !1) + } + return e.prototype.show = function(e, i, n) { + var a = this; + this.title.text = e, + this.func_confirm = n, + this.info.text = i, + this.me.visible = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.me, Laya.Handler.create(this, function() { + a.locking = !1 + })) + } + , + e.prototype.close = function(e) { + var i = this; + this.locking || (this.locking = !0, + t.UIBase.anim_pop_hide(this.me, Laya.Handler.create(this, function() { + i.locking = !1, + i.me.visible = !1, + i.func_confirm && i.func_confirm.runWith(e), + i.func_confirm = null + }))) + } + , + e + }() + , n = function(t) { + function n() { + var e = t.call(this, new ui.both_ui.popwindowUI) || this; + return e.pop_notitle = null, + e.pop_withtitle = null, + n.Inst = e, + e + } + return __extends(n, t), + n.PopOutWithTitle = function(t, e, i) { + var n = this; + this.Inst.enable = !0, + this.Inst.pop_withtitle.show(t, e, Laya.Handler.create(this, function(t) { + n.Inst.enable = !1, + i && i.runWith(t) + })) + } + , + n.PopOutNoTitle = function(t, e) { + var i = this; + this.Inst.enable = !0, + this.Inst.pop_notitle.show(t, Laya.Handler.create(this, function(t) { + i.Inst.enable = !1, + e && e.runWith(t) + })) + } + , + n.prototype.onCreate = function() { + this.pop_notitle = new e(this.me.getChildByName("notitle")), + this.pop_withtitle = new i(this.me.getChildByName("title")), + this.pop_notitle.me.visible = !1, + this.pop_withtitle.me.visible = !1 + } + , + n.Inst = null, + n + }(t.UIBase); + t.UI_Popout = n +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.pop_buy_multiUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.name = this.root.getChildByName("label_name"), + this.desc = this.root.getChildByName("desc"), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.container_item = this.root.getChildByName("item"), + this.buyed = this.container_item.getChildByName("buyed"), + this.icon = new t.UI_Item_Skin(this.container_item.getChildByName("icon")), + this.label_count = this.root.getChildByName("count"), + this.container_danjia = this.root.getChildByName("danjia"), + this.container_left_count = this.root.getChildByName("left"), + this.label_refresh_info = this.root.getChildByName("refresh_info"), + this.container_price = this.root.getChildByName("price"), + this.btn_buy = this.root.getChildByName("btn_buy"), + this.btn_buy.clickHandler = Laya.Handler.create(this, this.on_buy, null, !1); + for (var i = ["-10", "-1", "+1", "+10"], n = function(t) { + var n = a.root.getChildByName(i[t]) + , r = n.getChildByName("s"); + r.alpha = 0; + var s = !1; + n.on("mousedown", a, function() { + r.alpha = 0, + s = !0, + Laya.Tween.to(r, { + alpha: 1 + }, 50, null, null, 0, !0, !0) + }), + n.on("mouseup", a, function() { + if (Laya.Tween.to(r, { + alpha: 0 + }, 50, null, null, 0, !0, !0), + s) + switch (t) { + case 0: + e.on_num_change(-10); + break; + case 1: + e.on_num_change(-1); + break; + case 2: + e.on_num_change(1); + break; + case 3: + e.on_num_change(10) + } + s = !1 + }), + n.on("mouseout", a, function() { + Laya.Tween.to(r, { + alpha: 0 + }, 50, null, null, 0, !0, !0), + s = !1 + }) + }, a = this, r = 0; r < i.length; r++) + n(r); + this.owned_count = this.root.getChildByName("owned_count") + } + , + i.prototype.show = function(e, i) { + var n = this; + this.me.visible = !0, + this.buy_info = e, + this.handle_buy = i, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })), + this.buy_info.single_count || (this.buy_info.single_count = 1); + for (var a = ["-10", "-1", "+1", "+10"], r = [-10, -1, 1, 10], s = 0; s < a.length; s++) { + var o = this.root.getChildByName(a[s]) + , l = r[s] * this.buy_info.single_count; + o.getChildAt(1).text = (l > 0 ? "+" : "") + l.toString() + } + this.container_price.getChildByName("icon").skin = this.buy_info.currency_icon, + this.buy_info.show_has ? (this.owned_count.visible = !0, + this.owned_count.text = game.Tools.strOfLocalization(2212, [t.UI_Bag.get_item_count(this.buy_info.item_id).toString()])) : this.owned_count.visible = !1; + var h = game.GameUtility.get_item_view(e.item_id); + this.name.text = h.name, + this.desc.text = h.desc, + this.icon.setSkin(this.buy_info.icon), + this.count = 1, + this.refresh(), + this.label_refresh_info.visible = this.buy_info.mounthly, + this.buy_info.buy_limit < 0 ? (this.container_left_count.visible = !1, + this.container_danjia.x = 393) : (this.container_left_count.visible = !0, + this.container_danjia.x = 300, + this.container_left_count.getChildByName("count").text = (this.buy_info.mounthly ? game.Tools.strOfLocalization(2184) : "") + (this.buy_info.buy_limit - this.buy_info.buyed_count).toString()), + this.container_danjia.getChildByName("icon").skin = this.buy_info.currency_icon, + this.container_danjia.getChildByName("price").text = this.buy_info.single_price.toString() + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.me.visible = !1, + e.locking = !1 + })), + this.handle_buy && (this.handle_buy = null) + } + , + i.prototype.on_buy = function() { + this.locking || (this.handle_buy && this.handle_buy.runWith(this.count), + this.close()) + } + , + i.prototype.on_num_change = function(t) { + this.count += t, + this.buy_info.buy_limit && this.buy_info.buy_limit >= 0 && this.count + this.buy_info.buyed_count > this.buy_info.buy_limit && (this.count = this.buy_info.buy_limit - this.buy_info.buyed_count), + this.count * this.buy_info.single_count >= 999 && (this.count = Math.floor(999 / this.buy_info.single_count)), + this.count < 1 && (this.count = 1), + this.refresh() + } + , + i.prototype.refresh = function() { + this.label_count.text = (this.count * this.buy_info.single_count).toString(); + var e = this.buy_info.buy_limit; + null != e && e < 0 ? (this.buyed.visible = !1, + this.icon.me.filters = [], + game.Tools.setGrayDisable(this.btn_buy, this.buy_info.single_price * this.count > this.buy_info.my_currency_count)) : this.buy_info.buy_limit <= this.buy_info.buyed_count ? (this.buyed.visible = !0, + this.icon.me.filters = [new Laya.ColorFilter(t.DARK_FILTER)], + game.Tools.setGrayDisable(this.btn_buy, !0)) : (this.buyed.visible = !1, + this.icon.me.filters = [], + game.Tools.setGrayDisable(this.btn_buy, this.buy_info.single_price * this.count > this.buy_info.my_currency_count)), + this.refresh_cost(this.count * this.buy_info.single_price) + } + , + i.prototype.refresh_cost = function(t) { + this.container_price.getChildByName("label0"), + this.container_price.getChildByName("icon"); + var e = this.container_price.getChildByName("count"); + e.text = t.toString(), + e.color = t <= this.buy_info.my_currency_count ? "#00ff00" : "#ff0000", + game.Tools.child_align_center(this.container_price, [10, 5]) + } + , + i + }(t.UIBase); + t.UI_Pop_Buy_Multi = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.pop_buy_singleUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.name = this.root.getChildByName("label_name"), + this.desc = this.root.getChildByName("desc"), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1), + this.container_item = this.root.getChildByName("item"), + this.buyed = this.container_item.getChildByName("buyed"), + this.icon = this.container_item.getChildByName("icon"), + this.container_price = this.root.getChildByName("price"), + this.btn_buy = this.root.getChildByName("btn_buy"), + this.btn_buy.clickHandler = Laya.Handler.create(this, this.on_buy, null, !1), + this.txt_owned_count = this.root.getChildByName("owned_count") + } + , + i.prototype.show = function(e, i) { + var n = this; + this.buy_info = e, + this.handle_buy = i, + this.me.visible = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })); + var a = game.GameUtility.get_item_view(this.buy_info.item_id); + this.name.text = a.name, + this.desc.text = a.desc, + game.LoadMgr.setImgSkin(this.icon, this.buy_info.icon), + this.refresh_cost(this.buy_info.single_price); + var r = cfg.item_definition.item.get(e.item_id) + , s = !1; + r && r.is_unique && t.UI_Bag.get_item_count(r.id) > 0 && (s = !0), + !s && (this.buy_info.buy_limit < 0 || this.buy_info.buyed_count < this.buy_info.buy_limit) ? (this.buyed.visible = !1, + this.icon.filters = [], + game.Tools.setGrayDisable(this.btn_buy, this.buy_info.single_price > this.buy_info.my_currency_count)) : (this.buyed.visible = !0, + this.buyed.skin = s ? game.Tools.localUISrc("myres/shop/owned.png") : this.buy_info.buyed_img, + this.icon.filters = [new Laya.ColorFilter(t.DARK_FILTER)], + game.Tools.setGrayDisable(this.btn_buy, !0)), + this.buy_info.show_has ? (this.txt_owned_count.visible = !0, + this.txt_owned_count.text = game.Tools.strOfLocalization(2212, [t.UI_Bag.get_item_count(this.buy_info.item_id).toString()])) : this.txt_owned_count.visible = !1 + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.me.visible = !1, + e.locking = !1 + })) + } + , + i.prototype.refresh_cost = function(t) { + this.container_price.getChildByName("label0"); + var e = this.container_price.getChildByName("icon") + , i = this.container_price.getChildByName("count"); + i.text = t.toString(), + i.color = t <= this.buy_info.my_currency_count ? "#00ff00" : "#ff0000", + e.skin = this.buy_info.currency_icon, + game.Tools.child_align_center(this.container_price, [10, 5]) + } + , + i.prototype.on_buy = function() { + this.locking || (this.handle_buy && this.handle_buy.run(), + this.close()) + } + , + i + }(t.UIBase); + t.UI_Pop_Buy_Single = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var e = t.call(this, new ui.common.preventaddictionUI) || this; + return e.container_tips = null, + e.container_time = null, + e.label_time = null, + e.next_show_tip_time = 0, + e.tips0 = null, + e.tips1 = null, + e.tips2 = null, + e + } + return __extends(e, t), + e.prototype.onCreate = function() { + this.container_tips = this.me.getChildByName("container_tips"), + this.container_time = this.me.getChildByName("container_time"), + this.label_time = this.container_time.getChildByName("time"), + this.tips0 = this.container_tips.getChildByName("l0"), + this.tips1 = this.container_tips.getChildByName("l1"), + this.tips2 = this.container_tips.getChildByName("l2"), + Laya.timer.loop(1e3, this, this.timePass) + } + , + e.prototype.onEnable = function() { + this.next_show_tip_time = 0; + var t = Math.ceil(((Laya.timer.currTimer - GameMgr.Inst.account_refresh_time) / 1e3 + GameMgr.Inst.account_data.anti_addiction.online_duration) / 60); + this.refreshTime(t), + this.caluNextTipsTime(t), + this.container_tips.visible = !1 + } + , + e.prototype.timePass = function() { + var t = Math.ceil(((Laya.timer.currTimer - GameMgr.Inst.account_refresh_time) / 1e3 + GameMgr.Inst.account_data.anti_addiction.online_duration) / 60); + this.refreshTime(t), + t >= this.next_show_tip_time && (this.tips0.visible = t < 180, + this.tips1.visible = t >= 180 && t < 300, + this.tips2.visible = t >= 300, + t < 180 && (this.tips0.text = game.Tools.strOfLocalization(2157, [Math.floor(t / 60).toString()])), + this.container_tips.visible = !0, + this.caluNextTipsTime(t)) + } + , + e.prototype.caluNextTipsTime = function(t) { + this.next_show_tip_time = t < 180 ? 60 * Math.ceil((t + 1) / 60) : t < 300 ? 30 * Math.ceil((t - 180 + 1) / 30) + 180 : 15 * Math.ceil((t - 300 + 1) / 15) + 300 + } + , + e.prototype.refreshTime = function(t) { + var e = Math.floor(t / 60) + , i = t % 60 + , n = ""; + e < 10 && (n += "0"), + n += e.toString(), + n += ":", + i < 10 && (n += "0"), + n += i, + this.label_time.text = n + } + , + e + }(t.UIBase); + t.UI_PreventAddiction = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.rankUI) || this; + return t.root = null, + t.title = null, + t.tabs = [], + t.nolimitlist = null, + t.locking = !1, + t.usedskin = [], + t.container_self = null, + t.self_head = null, + t.self_level = null, + t.self_title = null, + t.self_name = null, + t.tab_index = 0, + t.datas = [], + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.nolimitlist = this.root.getChildByName("content").scriptMap["capsui.NoLimitList"], + this.nolimitlist.init_nolimitlist(Laya.Handler.create(this, this._loadInfo, null, !1), Laya.Handler.create(this, function(t) { + e.setItemValue(t.index, t.container, t.cache_data) + }, null, !1)), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close(null) + }, null, !1), + this.container_self = this.root.getChildByName("self"), + this.self_head = new t.UI_Head(this.container_self.getChildByName("self").getChildByName("head")), + this.self_level = new t.UI_Level(this.container_self.getChildByName("self").getChildByName("rank")), + this.self_title = new t.UI_PlayerTitle(this.container_self.getChildByName("self").getChildByName("title")), + this.self_name = this.container_self.getChildByName("self").getChildByName("name"), + this.container_self.visible = !1, + this.datas.push({ + items: [], + self_rank: 0, + fetch_time: -1e8, + version: 0 + }), + this.datas.push({ + items: [], + self_rank: 0, + fetch_time: -1e8, + version: 0 + }); + for (var i = function(t) { + var i = n.root.getChildByName("tabs").getChildAt(t); + i.clickHandler = new Laya.Handler(n,function() { + e.locking || e.tab_index != t && e.change_tab(t) + } + ), + n.tabs.push({ + btn: i, + label: i.getChildAt(0) + }) + }, n = this, a = 0; a < 2; a++) + i(a); + this.title = this.root.getChildByName("title") + } + , + i.prototype.setItemValue = function(e, i, n) { + var a = this; + if (this.enable) { + var r = i.getChildByName("rank_img") + , s = i.getChildByName("rankno"); + e < 3 ? (s.visible = !1, + r.visible = !0, + r.skin = game.Tools.localUISrc("myres/lobby/rank_" + (e + 1).toString() + ".png")) : (s.visible = !0, + r.visible = !1, + s.text = (e + 1).toString()); + var o = this.datas[this.tab_index].load_item[e].detail; + n.hasOwnProperty("head") || (n.head = new t.UI_Head(i.getChildByName("head"))), + n.head.id = o.avatar_id, + n.head.head_frame = o.avatar_frame, + this._addusedskin(n.head.img_head.skin), + n.hasOwnProperty("rank") || (n.level = new t.UI_Level(i.getChildByName("rank"))), + n.level.id = o[0 == this.tab_index ? "level" : "level3"].id, + this._addusedskin(n.level.icon.skin), + n.hasOwnProperty("title") || (n.title = new t.UI_PlayerTitle(i.getChildByName("title"))), + n.title.id = game.Tools.titleLocalization(o.account_id, o.title), + this._addusedskin(n.title.img.skin); + var l = i.getChildByName("rankscore"); + l.text = o[0 == this.tab_index ? "level" : "level3"].score.toString(), + i.getChildByName("pt").x = l.x + l.scaleX * l.textField.textWidth + 10, + game.Tools.SetNickname(i.getChildByName("name"), o), + i.getChildByName("btn_see").clickHandler = Laya.Handler.create(this, function() { + t.UI_OtherPlayerInfo.Inst.show(o.account_id, a.tab_index + 1) + }, null, !1) + } + } + , + i.prototype.show = function() { + var e = this; + this.nolimitlist.reset(), + this.enable = !0, + this.locking = !0, + this.usedskin = [], + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })), + this.change_tab(0) + } + , + i.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + })) + } + , + i.prototype.onDisable = function() { + for (var t = 0; t < this.usedskin.length; t++) + Laya.loader.clearTextureRes(this.usedskin[t]); + this.usedskin = [] + } + , + i.prototype.change_tab = function(e) { + var i = this; + this.tab_index = e, + this.title.text = game.Tools.strOfLocalization(0 == this.tab_index ? 2796 : 2795), + this.nolimitlist.reset(), + this.container_self.visible = !1; + for (var n = 0; n < this.tabs.length; n++) + this.tabs[n].btn.mouseEnabled = e != n, + this.tabs[n].btn.skin = game.Tools.localUISrc(e == n ? "myres/bothui/info_tabheng_chosen.png" : "myres/bothui/info_tabheng_dark.png"), + this.tabs[n].label.color = e == n ? "#d9b263" : "#8cb65f"; + this.datas[e].fetch_time = Laya.timer.currTimer, + this.datas[e].items = [], + this.datas[e].load_item = [], + this.datas[e].version++, + this.datas[e].during_load = !1, + this.datas[e].load_index = 0, + app.NetAgent.sendReq2Lobby("Lobby", "fetchLevelLeaderboard", { + type: e + 1 + }, function(n, a) { + if (n || a.error) + t.UIMgr.Inst.showNetReqError("fetchLevelLeaderboard", n, a); + else { + for (var r = a.items.length, s = 0; s < r; s++) + i.datas[e].items.push(a.items[s]); + i.datas[e].self_rank = a.self_rank, + i.tab_index == e && (i.nolimitlist.total_count = i.datas[e].items.length, + i.setMeRank(), + i.container_self.visible = !0) + } + }) + } + , + i.prototype._loadInfo = function(e) { + var i = this; + if (e >= this.datas[this.tab_index].items.length) + this.nolimitlist.loadOver(!1, 0); + else { + var n = this.datas[this.tab_index]; + if (!n.during_load) { + var a = [] + , r = n.load_index + , s = e + 20; + if (s > n.items.length && (s = n.items.length), + s <= r) + this.nolimitlist.loadOver(!0, 0); + else { + for (var o = r; o < s; o++) + a.push(n.items[o].account_id); + var l = n.version; + n.during_load = !0, + app.NetAgent.sendReq2Lobby("Lobby", "fetchMultiAccountBrief", { + account_id_list: a + }, function(e, s) { + if (e || s.error) + t.UIMgr.Inst.showNetReqError("fetchMultiAccountBrief", e, s), + i.nolimitlist.loadOver(!1, 0); + else { + if (n.version != l) + return; + n.during_load = !1; + s.players.length; + for (var o = 0, h = 0; h < a.length && !(n.items[r + h].account_id == s.players[o].account_id && (n.load_item.push({ + account_id: n.items[r + h].account_id, + level: n.items[r + h].level, + detail: s.players[o] + }), + ++o >= s.players.length)); h++) + ; + n.load_index += a.length, + i.nolimitlist.loadOver(!0, o) + } + }) + } + } + } + } + , + i.prototype._addusedskin = function(t) { + for (var e = !1, i = 0; i < this.usedskin.length; i++) + if (t == this.usedskin[i]) { + e = !0; + break + } + e || this.usedskin.push(t) + } + , + i.prototype.setMeRank = function() { + if (this.enable) { + this.container_self.visible = !0; + var t = this.container_self.getChildByName("self").getChildByName("rank_img") + , e = this.container_self.getChildByName("self").getChildByName("rankno") + , i = this.datas[this.tab_index].self_rank; + i <= 0 ? (e.visible = !1, + t.visible = !1) : i <= 3 ? (e.visible = !1, + t.visible = !0, + t.skin = game.Tools.localUISrc("myres/lobby/rank_" + i.toString() + ".png")) : i <= 999 ? (e.visible = !0, + t.visible = !1, + e.text = i.toString(), + e.fontSize = 60) : (e.visible = !0, + t.visible = !1, + e.text = "999+", + e.fontSize = 45), + this.self_head.id = GameMgr.Inst.account_data.avatar_id, + this.self_head.head_frame = GameMgr.Inst.account_data.avatar_frame, + this.self_level.id = GameMgr.Inst.account_data[0 == this.tab_index ? "level" : "level3"].id, + this.self_title.id = GameMgr.Inst.account_data.title, + game.Tools.SetNickname(this.self_name, GameMgr.Inst.account_data); + var n = this.container_self.getChildByName("self").getChildByName("rankscore"); + n.text = GameMgr.Inst.account_data[0 == this.tab_index ? "level" : "level3"].score.toString(), + this.container_self.getChildByName("self").getChildByName("pt").x = n.x + n.scaleX * n.textField.textWidth + 10 + } + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_Rank = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t) { + this.stars = [], + this.me = t, + this.container_rank = t.getChildByName("rank"), + this.icon_new = this.container_rank.getChildByName("icon_new"), + this.icon_old = this.container_rank.getChildByName("icon_old"); + for (var e = 1; e <= 3; e++) + this.stars.push(this.container_rank.getChildByName("star" + e).getChildAt(0)); + this.container_bar = this.me.getChildByName("bar"), + this.barshine = this.container_bar.getChildByName("fullshine"), + this.barval = this.container_bar.getChildByName("container").mask, + this.scores = this.me.getChildByName("score"), + this.f_jinji = this.me.getChildByName("f_jinji"), + this.f_jiangduan = this.me.getChildByName("f_jiangduan"), + this.f_shengduan = this.me.getChildByName("f_shengduan"), + this.continue_add = this.me.getChildByName("+"), + this.label_add = this.continue_add.getChildByName("score"), + this.continue_minus = this.me.getChildByName("-"), + this.label_minus = this.continue_minus.getChildByName("score") + } + return t.prototype.reset = function() { + this.icon_new.alpha = 1, + this.icon_new.visible = !1, + this.icon_old.alpha = 1, + this.icon_old.visible = !1; + for (var t = 0; t < this.stars.length; t++) + this.stars[t].scaleX = this.stars[t].scaleY = 1, + this.stars[t].alpha = 1, + this.stars[t].visible = !1; + this.barshine.visible = !1, + this.barshine.alpha = 1, + this.f_jinji.visible = !1, + this.f_jiangduan.visible = !1, + this.f_shengduan.visible = !1, + this.scores.visible = !1 + } + , + t.prototype.showInit = function() { + this.reset(), + this.me.visible = !0; + var t = view.DesktopMgr.Inst.levelchangeinfo + , e = t.origin.id + , i = t.origin.score + , a = t.final.id; + t.final.score; + this.container_bar.visible = 10601 != e && 20601 != e; + var r = cfg.level_definition.level_definition.find(e) + , s = cfg.level_definition.level_definition.find(a) + , o = i / r.end_point * .78; + n.Inst.me, + this.barval; + if (this.barval.scaleY = o, + this.icon_old.visible = !0, + this.icon_old.skin = game.LoadMgr.getResImageSkin(r.primary_icon), + 10601 == e || 20601 == e) + for (l = 0; l < this.stars.length; l++) + this.stars[l].parent.visible = !1; + else + for (var l = 0; l < this.stars.length; l++) + this.stars[l].parent.visible = !0, + this.stars[l].visible = !0, + this.stars[l].alpha = l < r.secondary_level ? 1 : 0; + this.icon_new.visible = !1, + this.icon_new.skin = game.LoadMgr.getResImageSkin(s.primary_icon), + this.icon_old.scaleX = this.icon_old.scaleY = 1, + this.continue_add.visible = !1, + this.continue_minus.visible = !1 + } + , + t.prototype.showLevelChange = function() { + var t = this + , e = view.DesktopMgr.Inst.levelchangeinfo + , i = e.origin.id + , a = e.origin.score + , r = e.final.id + , s = e.final.score + , o = cfg.level_definition.level_definition.find(i) + , l = cfg.level_definition.level_definition.find(r) + , h = a / o.end_point * .78 + , c = s / l.end_point * .78 + , _ = n.Inst.me + , u = this.barval + , d = 0; + if (this.scores.text = 10601 == i || 20601 == i || 10601 == r || 20601 == r ? s.toString() : s.toString() + "/" + l.end_point.toString(), + this.scores.visible = !0, + this.scores.alpha = 0, + u.scaleY = h, + i == r) { + var f = Math.abs(h - c) / 3e-4; + f > 50 && (Laya.timer.once(d, this, function() { + Laya.Tween.to(u, { + scaleY: c + }, f), + t.play_exp_audio(f) + }), + d += f), + d += 100 + } else if (o.primary_level < l.primary_level) { + var p = (.78 - h) / 3e-4; + Laya.timer.once(d, this, function() { + Laya.Tween.to(u, { + scaleY: .78 + }, p), + t.play_exp_audio(p) + }), + d += p, + Laya.timer.once(d, this, function() { + t.barshine.visible = !0, + _.ani0.play(0, !1) + }), + d += _.ani0.count * _.ani0.interval, + Laya.timer.once(d, this, function() { + n.Inst.ShengDuan() + }), + d = -1 + } else if (o.primary_level > l.primary_level) { + this.icon_new.visible = !0, + this.icon_new.alpha = 0, + this.icon_new.skin = game.LoadMgr.getResImageSkin(l.primary_icon); + var m = h / 3e-4; + Laya.timer.once(d, this, function() { + Laya.Tween.to(u, { + scaleY: 0 + }, m), + t.play_exp_audio(m) + }), + d += m, + Laya.timer.once(d, this, function() { + var e = t.stars[0] + , i = game.FrontEffect.Inst.create_ui_effect(e.parent, "scene/effect_losestar.lh", new Laya.Point(0,0), 1); + Laya.timer.once(100, t, function() { + e.alpha = 0 + }), + Laya.timer.once(2e3, t, function() { + i.destory() + }) + }), + d += 1200, + Laya.timer.once(d, this, function() { + t.f_jiangduan.visible = !0, + _.ani_jiangduan.play(0, !1) + }), + d += 2300; + var g = (.78 - c) / 3e-4; + Laya.timer.once(d, this, function() { + u.scaleY = .78, + Laya.Tween.to(u, { + scaleY: c + }, g), + t.play_exp_audio(g) + }), + d += g + } else if (o.secondary_level < l.secondary_level) { + var y = (.78 - h) / 3e-4; + Laya.timer.once(d, this, function() { + Laya.Tween.to(u, { + scaleY: .78 + }, y), + t.play_exp_audio(y) + }), + d += y, + Laya.timer.once(d, this, function() { + t.barshine.visible = !0, + _.ani0.play(0, !1) + }), + d += _.ani0.interval * _.ani0.count, + Laya.timer.once(d, this, function() { + t.f_jinji.visible = !0; + var e = 2 == l.secondary_level ? t.stars[1] : t.stars[2] + , i = game.FrontEffect.Inst.create_ui_effect(e.parent, "scene/effect_getstar.lh", new Laya.Point(-.5,0), 1.2); + view.AudioMgr.PlayAudio(218), + Laya.timer.once(100, t, function() { + e.alpha = 1 + }), + Laya.timer.once(1e3, t, function() { + i.destory() + }) + }), + d += 1200; + var v = c / 3e-4; + Laya.timer.once(d, this, function() { + t.barshine.visible = !1, + u.scaleY = 0, + Laya.Tween.to(u, { + scaleY: c + }, v), + t.play_exp_audio(v) + }), + d += v + } else if (o.secondary_level > l.secondary_level) { + var b = h / 3e-4; + Laya.timer.once(d, this, function() { + Laya.Tween.to(u, { + scaleY: 0 + }, b), + t.play_exp_audio(b) + }), + d += b, + Laya.timer.once(d, this, function() { + t.f_shengduan.visible = !0; + var e = 2 == l.secondary_level ? t.stars[2] : t.stars[1] + , i = game.FrontEffect.Inst.create_ui_effect(e.parent, "scene/effect_losestar.lh", new Laya.Point(-.5,0), 1.2); + Laya.timer.once(100, t, function() { + e.alpha = 0 + }), + Laya.timer.once(2e3, t, function() { + i.destory() + }) + }), + d += 1800; + var w = (.78 - c) / 3e-4; + Laya.timer.once(d, this, function() { + u.scaleY = .78, + Laya.Tween.to(u, { + scaleY: c + }, w), + t.play_exp_audio(w) + }), + d += w + } + return d >= 0 && (Laya.timer.once(d, this, function() { + Laya.Tween.to(t.scores, { + alpha: 1 + }, 150), + view.DesktopMgr.Inst.ptchange > 0 && (t.label_add.text = view.DesktopMgr.Inst.ptchange.toString(), + t.continue_add.visible = !0, + t.continue_add.alpha = 0, + Laya.Tween.to(t.continue_add, { + alpha: 1 + }, 150)), + view.DesktopMgr.Inst.ptchange < 0 && (t.label_minus.text = view.DesktopMgr.Inst.ptchange.toString(), + t.continue_minus.visible = !0, + t.continue_minus.alpha = 0, + Laya.Tween.to(t.continue_minus, { + alpha: 1 + }, 150)) + }), + d += 150), + d + } + , + t.prototype.shengduanOver = function() { + var t = view.DesktopMgr.Inst.levelchangeinfo + , e = t.origin.id + , i = t.origin.score + , a = t.final.id + , r = t.final.score + , s = cfg.level_definition.level_definition.find(e) + , o = cfg.level_definition.level_definition.find(a) + , l = (s.end_point, + r / o.end_point * .78); + n.Inst.me, + this.barval; + if (this.f_jinji.visible = !1, + this.icon_old.visible = !0, + this.barshine.visible = !1, + this.icon_old.skin = game.LoadMgr.getResImageSkin(o.primary_icon), + 10601 == a || 20601 == a) { + for (h = 0; h < this.stars.length; h++) + this.stars[h].parent.visible = !1; + this.container_bar.visible = !1 + } else { + for (var h = 0; h < this.stars.length; h++) + this.stars[h].parent.visible = !0, + this.stars[h].visible = !0, + this.stars[h].alpha = h < o.secondary_level ? 1 : 0; + this.container_bar.visible = !0 + } + this.icon_new.visible = !1, + this.barval.scaleY = l, + this.scores.alpha = 1 + } + , + t.prototype.play_exp_audio = function(t) { + var e = this; + t < 0 || (view.AudioMgr.PlayAudio(220), + Laya.timer.once(150, this, function() { + e.play_exp_audio(t - 150) + })) + } + , + t + }() + , i = function() { + function t(t) { + this._effect_book = null, + this.me = t, + this._ui = n.Inst.me, + this.black = this.me.getChildByName("black"), + this.shine = this.me.getChildByName("shine"), + this.book_shine = this.me.getChildByName("book_shine"), + this.btn_open = this.me.getChildByName("btn_open"), + this.container_main = this.me.getChildByName("main"), + this.call = this.container_main.getChildByName("call"), + this.contianer_name = this.container_main.getChildByName("name"), + this.label_name = this.contianer_name.getChildByName("name"), + this.label_time = this.container_main.getChildByName("time"), + this.btn_close = this.container_main.getChildByName("btn_close"), + this.rank = this.container_main.getChildByName("rankbg").getChildByName("rank") + } + return t.prototype.show = function() { + var t = this; + this.me.visible = !0, + this.black.visible = !0, + this.black.alpha = 0, + this._ui.ani1.play(0, !1), + this.btn_open.visible = !1, + Laya.timer.once(500, this, function() { + view.AudioMgr.PlayAudio(105) + }), + Laya.timer.once(625, this, function() { + t.btn_open.visible = !0, + t._effect_book = game.FrontEffect.Inst.create_ui_effect(t.book_shine, "scene/effect_juanzhou.lh", new Laya.Point(0,0), 1), + Laya.timer.once(1e3, t, function() { + t.btn_open.clickHandler = Laya.Handler.create(t, t.openBook) + }) + }) + } + , + t.prototype.openBook = function() { + var t = this; + this._effect_book && this._effect_book.destory(), + this.container_main.visible = !0; + var e = view.DesktopMgr.Inst.levelchangeinfo + , i = e.final.id + , n = (e.final.score, + new Date); + this.label_time.text = n.getFullYear() + "." + (n.getMonth() + 1).toString() + "." + n.getDate(); + var a = cfg.level_definition.level_definition.find(i) + , r = GameMgr.Inst.account_data.nickname; + this.label_name.text = r, + this.contianer_name.width = this.label_name.x + this.label_name.textWidth + 34, + this.call.x = 30 + this.contianer_name.x + this.contianer_name.width, + this.rank.skin = game.LoadMgr.getResImageSkin(a.primary_icon), + this._ui.ani2.play(0, !1), + this.btn_close.clickHandler = null, + Laya.timer.once(8 / 24 * 1e3, this, function() { + view.AudioMgr.PlayAudio(228) + }); + for (var s = [29, 43, 56, 104], o = 0; o < s.length; o++) + Laya.timer.once(s[o] / 24 * 1e3, this, function() { + view.AudioMgr.PlayAudio(104) + }); + Laya.timer.once(88 / 24 * 1e3, this, function() { + var e = game.FrontEffect.Inst.create_ui_effect(t.rank.parent, "scene/effect_queshi_bang.lh", new Laya.Point(0,0), 0); + view.AudioMgr.PlayAudio(229), + Laya.timer.once(1e3, t, function() { + e.destory() + }) + }), + Laya.timer.once(this._ui.ani2.interval * this._ui.ani2.count, this, function() { + t.btn_close.clickHandler = Laya.Handler.create(t, t.closeBook, null, !0) + }) + } + , + t.prototype.closeBook = function() { + var t = this; + view.AudioMgr.PlayAudio(228), + n.Inst.pagerank.shengduanOver(), + this.btn_close.visible = !1, + this._ui.ani3.play(0, !1), + Laya.timer.once(this._ui.ani3.interval * this._ui.ani3.count, this, function() { + t.me.visible = !1, + n.Inst.AnimOver() + }) + } + , + t + }() + , n = function(n) { + function a() { + var t = n.call(this, new ui.mj.rankchangeUI) || this; + return t.atlas = "res/atlas/myres/mjdesktop/shengduan.atlas", + a.Inst = t, + t + } + return __extends(a, n), + a.prototype.onCreate = function() { + this.pagerank = new e(this.me.getChildByName("rank_change")), + this.pagerankup = new i(this.me.getChildByName("rankup")), + this.pagerank.me.visible = !1, + this.pagerankup.me.visible = !1, + Laya.loader.clearTextureRes(this.atlas) + } + , + a.prototype.show = function(e) { + var i = this; + this.complete = e, + this.enable = !0, + this.pagerank.showInit(), + this.pagerankup.me.visible = !1, + Laya.timer.clearAll(this), + t.UIBase.anim_alpha_in(this.pagerank.me, { + x: 0 + }, 100, 0), + Laya.timer.once(500, this, function() { + var t = i.pagerank.showLevelChange(); + t > 0 && Laya.timer.once(t, i, function() { + i.AnimOver() + }) + }) + } + , + a.prototype.close = function() { + this.enable = !1, + Laya.loader.clearTextureRes(this.atlas) + } + , + a.prototype.ShengDuan = function() { + this.pagerankup.show() + } + , + a.prototype.AnimOver = function() { + Laya.loader.clearTextureRes(this.atlas), + this.complete.run() + } + , + a.Inst = null, + a + }(t.UIBase); + t.UI_RankChange = n +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t) { + var e = this; + this.locking = !1, + this.me = t, + this.root = this.me.getChildByName("root"), + this.name = this.root.getChildByName("label_name"), + this.desc = this.root.getChildByName("desc"), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.container_item = this.root.getChildByName("item"), + this.buyed = this.container_item.getChildByName("buyed"), + this.icon = this.container_item.getChildByName("icon"), + this.container_price = this.root.getChildByName("price"), + this.btn_buy = this.root.getChildByName("btn_buy") + } + return e.prototype.show_recharge = function(e, i) { + var a = this; + this.me.visible = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + a.locking = !1 + })); + var r; + cfg.mall.goods_shelves.getGroup(e).forEach(function(t) { + t.goods_id == i && (r = t) + }); + var s = cfg.mall.goods.get(i); + this.name.text = s.name, + this.desc.text = s.desc, + game.LoadMgr.setImgSkin(this.icon, s.icon), + this.container_price.getChildByName("icon").visible = !1; + var o = null; + n.Inst.app_shop && (o = n.Inst.app_shop.getGoodsInfo(i)), + this.container_price.getChildByName("count").text = o ? o.price : r.price, + game.Tools.child_align_center(this.container_price, [20]), + this.buyed.visible = !1, + game.Tools.setGrayDisable(this.container_item, !1), + game.Tools.setGrayDisable(this.btn_buy, !1), + this.btn_buy.clickHandler = Laya.Handler.create(this, function() { + a.locking || (a.close(), + game.Tools.setGrayDisable(a.btn_buy, !0), + n.Inst.want_to_recharge(i)) + }, null, !1) + } + , + e.prototype.show_exchange = function(e) { + var i = this; + this.me.visible = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })); + var a = cfg.exchange.exchange.get(e); + this.name.text = a["name_" + GameMgr.client_language], + this.desc.text = a["desc_" + GameMgr.client_language], + game.LoadMgr.setImgSkin(this.icon, a.icon), + this.container_price.getChildByName("icon").skin = game.LoadMgr.getResImageSkin(cfg.item_definition.currency.get(a.source_currency).icon), + this.container_price.getChildByName("icon").visible = !0; + var r = t.UI_Bag.get_item_count(a.source_currency); + this.buyed.visible = !1, + game.Tools.setGrayDisable(this.container_item, !1), + game.Tools.setGrayDisable(this.btn_buy, r < a.source_value); + var s = this.container_price.getChildByName("count"); + s.text = a.source_value.toString(), + s.color = r < a.source_value ? "#ff0000" : "#00ff00", + game.Tools.child_align_center(this.container_price), + this.btn_buy.clickHandler = Laya.Handler.create(this, function() { + if (!i.locking) { + i.close(); + var a = Laya.Handler.create(i, function() { + game.Tools.setGrayDisable(i.btn_buy, !0), + n.Inst.want_to_exchange(e) + }); + GameMgr.inDmm ? t.UI_Dmm_Buy_Pop.Inst.show(game.Tools.strOfLocalization(8004), a) : a.run() + } + }, null, !1) + } + , + e.prototype.show_searchexchange = function(e) { + var i = this; + this.me.visible = !0, + t.UIBase.anim_pop_out(this.root, null); + var a = cfg.exchange.searchexchange.get(e); + this.name.text = a["name_" + GameMgr.client_language], + this.desc.text = a["desc_" + GameMgr.client_language], + game.LoadMgr.setImgSkin(this.icon, a.icon), + this.container_price.getChildByName("icon").skin = game.LoadMgr.getResImageSkin(cfg.item_definition.currency.get(a.source_currency).icon), + this.container_price.getChildByName("icon").visible = !0; + var r = t.UI_Bag.get_item_count(a.source_currency); + this.buyed.visible = !1, + game.Tools.setGrayDisable(this.container_item, !1), + game.Tools.setGrayDisable(this.btn_buy, r < a.source_value); + var s = this.container_price.getChildByName("count"); + s.text = a.source_value.toString(), + s.color = r < a.source_value ? "#ff0000" : "#00ff00", + game.Tools.child_align_center(this.container_price), + this.btn_buy.clickHandler = Laya.Handler.create(this, function() { + i.close(); + var a = Laya.Handler.create(i, function() { + game.Tools.setGrayDisable(i.btn_buy, !0), + n.Inst.want_to_searchexchange(e) + }); + GameMgr.inDmm ? t.UI_Dmm_Buy_Pop.Inst.show(game.Tools.strOfLocalization(8004), a) : a.run() + }, null, !1) + } + , + e.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.me.visible = !1, + e.locking = !1 + })) + } + , + e + }() + , i = function() { + function e(t) { + var e = this; + this.current_id = 0, + this.my_vip_id = 0, + this.me = t, + this.container_title = t.getChildByName("container_title"), + this.current_title_big = this.container_title.getChildByName("current_title_big"), + this.current_title_small = t.getChildByName("container_next").getChildByName("current_title_small"), + this.next_title = t.getChildByName("container_next").getChildByName("next_title"), + this.next_info = t.getChildByName("container_next").getChildByName("next_info"), + this.label_infos = []; + for (var i = t.getChildByName("container_infos"), n = 0; n < i.numChildren; n++) + this.label_infos.push(i.getChildAt(n)); + this.label_require = t.getChildByName("require"), + this.label_value = t.getChildByName("value"), + this.btn_left = t.getChildByName("btn_left"), + this.btn_left.clickHandler = Laya.Handler.create(this, function() { + e.current_id--, + e.refresh() + }, null, !1), + this.btn_right = t.getChildByName("btn_right"), + this.btn_right.clickHandler = Laya.Handler.create(this, function() { + e.current_id++, + e.refresh() + }, null, !1), + this.container_bar = t.getChildByName("bar").getChildByName("v"), + this.bar_v = t.getChildByName("bar").getChildByName("v").mask, + this.btn_get_reward = t.getChildByName("btn_get_reward"), + this.container_reward = t.getChildByName("container_reward") + } + return e.prototype.show = function() { + var t = this; + this.me.visible = !0; + var e = 0; + GameMgr.Inst.account_data.vip && (e = GameMgr.Inst.account_data.vip), + this.current_id = 1, + cfg.vip.vip.forEach(function(i) { + e >= i.charge && (t.current_id = i.id) + }), + this.my_vip_id = this.current_id; + var i = cfg.vip.vip.get(this.current_id); + if (i) { + var n = cfg.vip.vip.get(this.current_id + 1); + n ? (this.label_value.text = e.toString() + "/" + n.charge.toString(), + this.bar_v.width = this.container_bar.width * e / n.charge, + game.LoadMgr.setImgSkin(this.current_title_small, i.img), + game.LoadMgr.setImgSkin(this.next_title, n.img), + this.next_info.text = game.Tools.strOfLocalization(2158, [(n.charge - e).toString()]), + this.next_info.visible = !0, + this.next_title.visible = !0, + game.Tools.child_align_center(this.me.getChildByName("container_next"), [0, 30, 0])) : (this.label_value.text = e.toString(), + this.bar_v.width = this.container_bar.width, + game.LoadMgr.setImgSkin(this.current_title_small, i.img), + this.next_info.visible = !1, + this.next_title.visible = !1, + game.Tools.child_align_center(this.me.getChildByName("container_next"), [0, 30, 0])) + } else + this.me.getChildByName("container_next").visible = !1; + this.refresh() + } + , + e.prototype.close = function() { + this.me.visible = !1 + } + , + e.prototype.refresh = function() { + var e = this + , i = cfg.vip.vip.get(this.current_id); + if (i) { + game.LoadMgr.setImgSkin(this.current_title_big, i.img), + this.btn_left.visible = null != cfg.vip.vip.get(this.current_id - 1), + this.btn_right.visible = null != cfg.vip.vip.get(this.current_id + 1), + 0 == i.charge ? this.label_require.text = "" : this.label_require.text = game.Tools.strOfLocalization(2159, [i.charge.toString()]); + for (var a = [], r = 0; r < i.rewards.length; r++) + "" != i.rewards[r] && a.push(i.rewards[r]); + if (0 == a.length) + this.container_reward.visible = !1, + this.btn_get_reward.visible = !1, + this.label_require.visible = !0, + this.container_title.y = 334; + else { + this.container_reward.visible = !0, + this.container_title.y = 88; + for (var s = this.container_reward.getChildByName("container_item"), o = function(i) { + var r = s.getChildAt(i); + if (a.length > i) { + var o = r.width * a.length + (a.length < 1 ? 0 : 0 * (a.length - 1)) + , h = s.width / 2 - o / 2 + (r.width + 0) * i; + r.x = h, + r.y = 0, + r.visible = !0; + var c = a[i] + , _ = parseInt(c.split("-")[0]) + , u = parseInt(c.split("-")[1]); + r.getChildByName("btn").clickHandler = Laya.Handler.create(l, function() { + t.UI_ItemDetail.Inst.show(_) + }, null, !1); + var d = r.getChildByName("count"); + u > 1 ? (d.visible = !0, + d.text = u.toString()) : d.visible = !1; + var f = game.GameUtility.get_item_view(_); + game.LoadMgr.setImgSkin(r.getChildByName("btn").getChildByName("icon"), f.icon); + var p = r.getChildByName("btn").getChildByName("getted"); + n.vip_reward_getted ? n.vip_reward_getted[l.current_id - 1] ? (p.visible = !0, + l.label_require.visible = !0, + l.btn_get_reward.visible = !1) : (p.visible = !1, + l.my_vip_id >= l.current_id ? (l.btn_get_reward.visible = !0, + l.label_require.visible = !1, + l.btn_get_reward.clickHandler = Laya.Handler.create(l, function() { + var i = e.current_id; + app.NetAgent.sendReq2Lobby("Lobby", "gainVipReward", { + vip_level: i - 1 + }, function(a, r) { + a || r.error ? t.UIMgr.Inst.showNetReqError("gainVipReward", a, r) : (n.vip_reward_getted[i - 1] = 1, + e.refresh(), + t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2211))) + }) + }, null, !1)) : (l.btn_get_reward.visible = !1, + l.label_require.visible = !0)) : (p.visible = !1, + l.label_require.visible = !0, + l.btn_get_reward.visible = !1) + } else + r.visible = !1 + }, l = this, r = 0; r < s.numChildren; r++) + o(r) + } + for (var h = i["desc_" + GameMgr.client_language].split("\\n"), r = 0; r < this.label_infos.length; r++) + r < h.length ? (this.label_infos[r].text = h[r], + this.label_infos[r].visible = !0) : this.label_infos[r].visible = !1 + } + } + , + e + }() + , n = function(n) { + function a() { + var t = n.call(this, new ui.lobby.rechargeUI) || this; + return t.money = null, + t.tabs = [], + t.locking = !1, + t.goods_sheleve_id = "", + t.tab_index = -1, + t.items = [], + t.app_shop = null, + t.tab_infos = [], + a.Inst = t, + t + } + return __extends(a, n), + a.init = function() { + var e = this; + if (this.vip_reward_getted = null, + app.NetAgent.sendReq2Lobby("Lobby", "fetchVipReward", {}, function(t, i) { + if (t || i.error) + ; + else if (e.vip_reward_getted = {}, + i.gained_vip_levels) + for (var n = 0; n < i.gained_vip_levels.length; n++) + e.vip_reward_getted[i.gained_vip_levels[n]] = 1 + }), + "en" == GameMgr.client_type) { + (i = document.createElement("link")).rel = "stylesheet", + i.href = GameMgr.config_data.checkoutShopperUrl + "/checkoutshopper/sdk/2.1.0/adyen.css"; + (n = document.getElementsByTagName("head")[0]).appendChild(i); + (i = document.createElement("link")).rel = "stylesheet", + i.href = game.ResourceVersion.formatURL("css/adyen_custom.css"); + (n = document.getElementsByTagName("head")[0]).appendChild(i); + (i = document.createElement("script")).src = GameMgr.config_data.checkoutShopperUrl + "/checkoutshopper/sdk/2.1.0/adyen.js"; + (n = document.getElementsByTagName("script")[0]).parentNode.insertBefore(i, n) + } else if ("jp" == GameMgr.client_type) { + var i = document.createElement("script"); + i.src = GameMgr.config_data.jp_shop_js; + var n = document.getElementsByTagName("script")[0]; + n.parentNode.insertBefore(i, n) + } + app.NetAgent.AddListener2Lobby("NotifyPayResult", Laya.Handler.create(this, function(e) { + var i = e.goods_id; + if (1010 == i || 2010 == i || 3010 == i) { + var n = cfg.mall.month_ticket.get(i) + , r = ""; + 0 === e.pay_result ? (r = game.Tools.strOfLocalization(2161, [n["name_" + GameMgr.client_language]]), + app.PlayerBehaviorStatistic.recharged_count++, + app.PlayerBehaviorStatistic.fb_trace_pending(app.EBehaviorType.Purchase, app.PlayerBehaviorStatistic.recharged_count)) : r = game.Tools.strOfLocalization(2160, [n["name_" + GameMgr.client_language]]), + t.UI_LightTips.Inst.show(r), + t.UI_Activity_Yueka.OnBuyedYueka(i), + a.Inst && a.Inst.enable && a.Inst.change_tab(a.Inst.tab_index) + } else { + var n = cfg.mall.goods.get(i) + , r = ""; + 0 === e.pay_result ? (r = game.Tools.strOfLocalization(2161, [n.name]), + app.PlayerBehaviorStatistic.recharged_count++, + app.PlayerBehaviorStatistic.fb_trace_pending(app.EBehaviorType.Purchase, app.PlayerBehaviorStatistic.recharged_count)) : r = game.Tools.strOfLocalization(2160, [n.name]), + t.UI_LightTips.Inst.show(r) + } + t.UI_Payment_Wxcode.onPayResult(e), + t.UI_MyCard_Pay_Info.Inst.enable && t.UI_MyCard_Pay_Info.Inst.close() + }, null, !1)) + } + , + a.on_new_recharge_refresh = function(e) { + if (e.new_recharged_list) { + for (var i = 0; i < e.new_recharged_list.length; i++) + t.UI_Recharge.new_recharge_list[e.new_recharged_list[i]] = 1; + this.Inst && this.Inst.enable && this.Inst.scrollview.wantToRefreshAll() + } + } + , + a.open_new_window = function() { + return !((Laya.Browser.onIOS || Laya.Browser.onMac) && Laya.Browser.onSafari) + } + , + a.on_want_2_buy = function(e) { + var i = ""; + GameMgr.inDmm ? i = "shelves_005" : "chs" == GameMgr.client_type ? i = "shelves_001" : "jp" == GameMgr.client_type ? i = "shelves_002" : "en" == GameMgr.client_type ? i = "shelves_003" : "chs_t" == GameMgr.client_type && (i = "shelves_004"); + var n; + if (cfg.mall.goods_shelves.getGroup(i).forEach(function(t) { + t.goods_id == e && (n = t) + }), + game.Tools.CannotPay()) + t.UI_Payment_ChooseMethod_CHS.Inst.show(e, ""); + else if (GameMgr.iniOSWebview) + t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(2169), null); + else if ("chs" == GameMgr.client_type) + if (t.UI_ShiMingRenZheng.renzhenged || GameMgr.Inst.player_in_haiwai) { + var r = "" + , s = ""; + if (a.payment_info && "" != a.payment_info && (0 == a.payment_info_show_type && (r = a.payment_info), + 1 == a.payment_info_show_type && (s = a.payment_info)), + r && "" != r) + t.UI_Popout.PopOutNoTitle(r, null); + else { + 0 == t.UI_Payment_ChooseMethod_CHS.Inst.getShowedChoose().length ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(104), null) : n.is_monthcard ? t.UI_Payment_Yueka_CHS.Inst.show(s) : t.UI_Payment_ChooseMethod_CHS.Inst.show(e, s) + } + } else + t.UI_ShiMingRenZheng.Inst.show(); + else if ("chs_t" == GameMgr.client_type) { + var r = "" + , s = ""; + a.payment_info && "" != a.payment_info && (0 == a.payment_info_show_type && (r = a.payment_info), + 1 == a.payment_info_show_type && (s = a.payment_info)), + r && "" != r ? t.UI_Popout.PopOutNoTitle(r, null) : GameMgr.Inst.account_data.email_verify ? t.UI_Payment_ChooseMethod_CHS_T.Inst.show(e, s) : t.UI_Bind_Mail0.Inst.show(!1) + } else + "jp" == GameMgr.client_type ? GameMgr.Inst.account_data.birthday ? GameMgr.inDmm ? t.UI_Dmm_Buy_Pop.Inst.show(game.Tools.strOfLocalization(8e3, [Math.floor(n.currency_price / 1e3).toString()]), Laya.Handler.create(this, function() { + game.DmmSDK.recharge(e) + })) : n.is_monthcard ? t.UI_Payment_Yueka_EN.Inst.show("") : t.UI_Payment_ChooseMethod_EN.Inst.show(e, "") : t.UI_Agepending.Inst.show() : "en" == GameMgr.client_type && (n.is_monthcard ? t.UI_Payment_Yueka_EN.Inst.show("") : t.UI_Payment_ChooseMethod_EN.Inst.show(e, "")) + } + , + a.prototype.onCreate = function() { + var n = this; + this.container_top = this.me.getChildByName("top"), + this.container_top.getChildByName("btn_back").clickHandler = Laya.Handler.create(this, function() { + n.locking || n.close(Laya.Handler.create(n, function() { + n.func_back ? n.func_back.run() : t.UI_Lobby.Inst.enable = !0 + })) + }, null, !1), + this.money = new t.UI_Money(this.container_top,null,Laya.Handler.create(this, function() { + return n.locking + }, null, !1),null), + this.container_content = this.me.getChildByName("content"), + this.container_tab = this.container_content.getChildByName("tabs"), + this.tabs = []; + for (var a = function(t) { + var e = r.container_tab.getChildAt(t); + r.tabs.push(e), + e.clickHandler = Laya.Handler.create(r, function() { + n.tab_index != t && n.change_tab(t) + }, null, !1) + }, r = this, s = 0; s < this.container_tab.numChildren; s++) + a(s); + var o = this.container_content.getChildByName("right"); + this.container_right = o, + this.scrollview = o.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.render_good_shelves, null, !1), -1, 4), + this.page_vip = new i(this.container_content.getChildByName("page_vip")), + this.buy_single = new e(this.me.getChildByName("pop_buy_single")), + GameMgr.inConch && GameMgr.inGooglePlay && (this.app_shop = new game.GooglePlayShop, + this.app_shop.onGameStart()) + } + , + a.prototype.show = function(e, i) { + var n = this; + this.enable = !0, + this.locking = !0, + game.Scene_Lobby.Inst.change_bg("indoor", !1), + t.UIBase.anim_alpha_in(this.container_top, { + y: -30 + }, 150), + t.UIBase.anim_alpha_in(this.container_content, { + y: 30 + }, 150), + this.func_back = i, + this.money.onEnable(), + Laya.timer.once(150, this, function() { + n.locking = !1 + }), + this.tab_infos = [], + GameMgr.config_data.goods_sheleve_id && "" != GameMgr.config_data.goods_sheleve_id && a.open_payment && (GameMgr.inDmm ? this.goods_sheleve_id = "shelves_005" : "chs" == GameMgr.client_type ? this.goods_sheleve_id = "shelves_001" : "jp" == GameMgr.client_type ? this.goods_sheleve_id = "shelves_002" : "en" == GameMgr.client_type ? this.goods_sheleve_id = "shelves_003" : "chs_t" == GameMgr.client_type && (this.goods_sheleve_id = "shelves_004"), + this.tab_infos.push("huiyu"), + this.tab_infos.push("pifuquan")), + this.tab_infos.push("tongbi"), + "chs" == GameMgr.client_type && this.tab_infos.push("huishi"), + "chs" != GameMgr.client_type && this.tab_infos.push("vip"); + for (var r = 0; r < this.tabs.length; r++) + if (r < this.tab_infos.length) + switch (this.tabs[r].visible = !0, + this.tab_infos[r]) { + case "huiyu": + this.tabs[r].getChildByName("label_name").text = game.Tools.strOfLocalization(2165); + break; + case "tongbi": + this.tabs[r].getChildByName("label_name").text = game.Tools.strOfLocalization(2166); + break; + case "huishi": + this.tabs[r].getChildByName("label_name").text = game.Tools.strOfLocalization(2201); + break; + case "vip": + this.tabs[r].getChildByName("label_name").text = game.Tools.strOfLocalization(2167); + break; + case "pifuquan": + this.tabs[r].getChildByName("label_name").text = game.Tools.strOfLocalization(2857) + } + else + this.tabs[r].visible = !1; + this.refresh_info(e) + } + , + a.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_alpha_out(this.container_top, { + y: -30 + }, 150), + t.UIBase.anim_alpha_out(this.container_content, { + y: 30 + }, 150), + Laya.timer.once(150, this, function() { + i.locking = !1, + i.enable = !1, + i.tab_index = -1, + e.run() + }) + } + , + a.prototype.refresh_info = function(t) { + this.buy_single.me.visible = !1; + for (var e = 0, i = 0; i < this.tab_infos.length; i++) + if (this.tab_infos[i] == t) { + e = i; + break + } + this.change_tab(e) + } + , + a.prototype.change_tab = function(t) { + var e = this; + this.tab_index = t; + for (var i = 0; i < this.tabs.length; i++) + this.tabs[i].skin = game.Tools.localUISrc(t == i ? "myres/shop/tab_choose.png" : "myres/shop/tab_unchoose.png"), + this.tabs[i].getChildAt(0).color = t == i ? "#d9b263" : "#8cb65f"; + this.container_right.visible = !1, + this.page_vip.close(), + this.items = [], + this.scrollview.reset(), + "huiyu" == this.tab_infos[t] ? (this.container_right.visible = !0, + this.scrollview.change_render_handler(Laya.Handler.create(this, this.render_good_shelves, null, !1)), + cfg.mall.goods_shelves.getGroup(this.goods_sheleve_id).forEach(function(t) { + (t.is_monthcard || 2 != cfg.mall.goods.get(t.goods_id).type) && e.items.push(t.goods_id) + }), + this.scrollview.addItem(this.items.length)) : "pifuquan" == this.tab_infos[t] ? (this.container_right.visible = !0, + this.scrollview.change_render_handler(Laya.Handler.create(this, this.render_good_shelves, null, !1)), + cfg.mall.goods_shelves.getGroup(this.goods_sheleve_id).forEach(function(t) { + t.is_monthcard || 1 == cfg.mall.goods.get(t.goods_id).type || e.items.push(t.goods_id) + }), + this.items.push(4001), + this.scrollview.addItem(this.items.length)) : "tongbi" == this.tab_infos[t] ? (this.container_right.visible = !0, + this.scrollview.change_render_handler(Laya.Handler.create(this, this.render_recharge, null, !1)), + cfg.exchange.exchange.forEach(function(t) { + e.items.push(t.id) + }), + this.scrollview.addItem(this.items.length)) : "huishi" == this.tab_infos[t] ? (this.container_right.visible = !0, + this.scrollview.change_render_handler(Laya.Handler.create(this, this.render_searchexchange, null, !1)), + cfg.exchange.searchexchange.forEach(function(t) { + e.items.push(t.id) + }), + this.scrollview.addItem(this.items.length)) : "vip" == this.tab_infos[t] && this.page_vip.show() + } + , + a.prototype.render_recharge = function(t) { + var e = this + , i = t.index + , n = t.container + , a = cfg.exchange.exchange.get(this.items[i]) + , r = n.getChildByName("btn"); + r.clickHandler = Laya.Handler.create(this, function() { + e.buy_single.show_exchange(e.items[i]) + }, null, !1), + r.getChildByName("label_name").text = a["name_" + GameMgr.client_language], + game.LoadMgr.setImgSkin(r.getChildByName("icon"), a.icon), + r.filters = []; + var s = r.getChildByName("btn_buy").getChildByName("currency"); + s.visible = !0, + game.LoadMgr.setImgSkin(s, cfg.item_definition.currency.get(a.source_currency).icon), + r.getChildByName("btn_buy").getChildByName("label_gold").text = a.source_value.toString(), + game.Tools.child_align_center(r.getChildByName("btn_buy")), + r.getChildByName("shouchong").visible = !1, + r.getChildByName("desc").text = "", + r.getChildByName("left_days").visible = !1 + } + , + a.prototype.render_searchexchange = function(t) { + var e = this + , i = t.index + , n = t.container + , a = cfg.exchange.searchexchange.get(this.items[i]) + , r = n.getChildByName("btn"); + r.clickHandler = Laya.Handler.create(this, function() { + e.buy_single.show_searchexchange(e.items[i]) + }, null, !1), + r.getChildByName("label_name").text = a["name_" + GameMgr.client_language], + game.LoadMgr.setImgSkin(r.getChildByName("icon"), a.icon), + r.filters = []; + var s = r.getChildByName("btn_buy").getChildByName("currency"); + s.visible = !0, + game.LoadMgr.setImgSkin(s, cfg.item_definition.currency.get(a.source_currency).icon), + r.getChildByName("btn_buy").getChildByName("label_gold").text = a.source_value.toString(), + game.Tools.child_align_center(r.getChildByName("btn_buy")), + r.getChildByName("shouchong").visible = !1, + r.getChildByName("desc").text = "", + r.getChildByName("left_days").visible = !1 + } + , + a.prototype.render_good_shelves = function(e) { + var i = this + , n = e.index + , r = e.container + , s = r.getChildByName("btn"); + if ("pifuquan" == this.tab_infos[this.tab_index] && 8 == n) { + var o = cfg.exchange.fushiquanexchange.get(this.items[n]) + , l = r.getChildByName("btn"); + l.clickHandler = Laya.Handler.create(this, function() { + var e = Laya.Handler.create(i, function() { + var e = { + item_id: o.target_currency, + icon: o.icon, + currency_icon: game.LoadMgr.getResImageSkin(game.GameUtility.get_item_view(o.source_currency).icon), + single_price: o.source_value, + single_count: o.target_value, + my_currency_count: t.UI_Bag.get_item_count(100004), + mounthly: !1, + buy_limit: -1, + buyed_count: 0, + show_has: !1 + }; + t.UI_Pop_Buy_Multi.Inst.show(e, Laya.Handler.create(i, function(e) { + app.NetAgent.sendReq2Lobby("Lobby", "exchangeDiamond", { + id: o.id, + count: e + }, function(e, i) { + e || i.error ? t.UIMgr.Inst.showNetReqError("exchangeDiamond", e, i) : GameMgr.inDmm ? t.UI_LightTips.Inst.show_dmm(o.target_currency, o.target_value) : t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2191)) + }) + })) + }); + GameMgr.inDmm ? t.UI_Dmm_Buy_Pop.Inst.show(game.Tools.strOfLocalization(8004), e) : e.run() + }, null, !1), + l.getChildByName("label_name").text = o["name_" + GameMgr.client_language], + game.LoadMgr.setImgSkin(l.getChildByName("icon"), o.icon), + l.filters = []; + var h = l.getChildByName("btn_buy").getChildByName("currency"); + h.visible = !0, + game.LoadMgr.setImgSkin(h, cfg.item_definition.currency.get(o.source_currency).icon), + l.getChildByName("btn_buy").getChildByName("label_gold").text = o.source_value.toString(), + game.Tools.child_align_center(l.getChildByName("btn_buy")), + l.getChildByName("shouchong").visible = !1, + l.getChildByName("desc").text = "", + l.getChildByName("left_days").visible = !1 + } else { + var c; + if (cfg.mall.goods_shelves.getGroup(this.goods_sheleve_id).forEach(function(t) { + t.goods_id == i.items[n] && (c = t) + }), + s.clickHandler = Laya.Handler.create(this, function() { + a.on_want_2_buy(i.items[n]) + }, null, !1), + c.is_monthcard) { + u = cfg.mall.month_ticket.get(this.items[n]); + s.getChildByName("label_name").text = u["name_" + GameMgr.client_language], + game.LoadMgr.setImgSkin(s.getChildByName("icon"), u.icon), + s.filters = [], + s.getChildByName("btn_buy").getChildByName("currency").visible = !1; + d = null; + this.app_shop && (d = this.app_shop.getGoodsInfo(this.items[n])), + s.getChildByName("btn_buy").getChildByName("label_gold").text = d ? d.price : c.price, + game.Tools.child_align_center(s.getChildByName("btn_buy")), + s.getChildByName("shouchong").visible = !1, + s.getChildByName("desc").text = u["desc_" + GameMgr.client_language], + s.getChildByName("desc").color = "#f56aff"; + var _ = t.UI_Activity_Yueka.GetYuekaLeftDays(this.items[n]); + _ >= 0 ? (s.getChildByName("left_days").visible = !0, + s.getChildByName("left_days").getChildByName("val").text = game.Tools.strOfLocalization(2840, [_.toString()])) : s.getChildByName("left_days").visible = !1 + } else { + var u = cfg.mall.goods.get(this.items[n]); + s.getChildByName("label_name").text = u.name, + game.LoadMgr.setImgSkin(s.getChildByName("icon"), u.icon), + s.filters = [], + s.getChildByName("left_days").visible = !1, + s.getChildByName("btn_buy").getChildByName("currency").visible = !1; + var d = null; + this.app_shop && (d = this.app_shop.getGoodsInfo(this.items[n])), + s.getChildByName("btn_buy").getChildByName("label_gold").text = d ? d.price : c.price, + game.Tools.child_align_center(s.getChildByName("btn_buy")), + !u.first_extend_add || a.new_recharge_list[u.cny] ? (s.getChildByName("shouchong").visible = !1, + s.getChildByName("desc").text = u.normal_desc, + s.getChildByName("desc").color = "#f17828") : (s.getChildByName("shouchong").visible = !0, + s.getChildByName("desc").text = u.first_desc, + s.getChildByName("desc").color = "#f56aff") + } + } + } + , + a.prototype.want_to_exchange = function(e) { + app.NetAgent.sendReq2Lobby("Lobby", "exchangeCurrency", { + id: e + }, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("exchangeCurrency", i, n); + else if (GameMgr.inDmm) { + var a = cfg.exchange.exchange.get(e); + t.UI_LightTips.Inst.show_dmm(a.target_currency, a.target_value) + } else + t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2191)) + }) + } + , + a.prototype.want_to_searchexchange = function(e) { + app.NetAgent.sendReq2Lobby("Lobby", "exchangeChestStone", { + id: e, + count: 1 + }, function(e, i) { + e || i.error ? t.UIMgr.Inst.showNetReqError("exchangeChestStone", e, i) : t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2191)) + }) + } + , + a.prototype.want_to_recharge = function(e) { + this.app_shop && (t.UI_Payment_Loading.Inst.enable = !0, + this.app_shop.want2BuyItem(e, Laya.Handler.create(this, function() { + t.UI_Payment_Loading.Inst.enable = !1 + }))) + } + , + a.open_payment = !1, + a.payment_info_show_type = 1, + a.payment_info = "", + a.open_wx = !0, + a.wx_type = 0, + a.open_alipay = !0, + a.alipay_type = 0, + a.new_recharge_list = {}, + a.vip_reward_getted = null, + a + }(t.UIBase); + t.UI_Recharge = n +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var i = t.call(this, new ui.common.reconnectUI) || this; + return e.Inst = i, + i + } + return __extends(e, t), + e.prototype.onCreate = function() { + var t = this; + this.me.getChildByName("btn_ok").clickHandler = Laya.Handler.create(this, function() { + t.enable = !1, + game.MJNetMgr.Inst.OpenConnect(GameMgr.Inst.mj_game_token, GameMgr.Inst.mj_game_uuid, GameMgr.Inst.mj_server_location, !0, null) + }, null, !1) + } + , + e.Inst = null, + e + }(t.UIBase); + t.UI_Reconnect = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var i = t.call(this, new ui.entrance.remind_newUI) || this; + return i.process = null, + i._created = !1, + i._v = 0, + e.Inst = i, + i + } + return __extends(e, t), + e.prototype.onCreate = function() { + this.process = this.me.getChildByName("process"), + this.process.text = this._v.toString() + "/10", + this._created = !0 + } + , + e.prototype.setprocess = function(t) { + this._v = t, + this._created && (this.process.text = t.toString() + "/10") + } + , + e.Inst = null, + e + }(t.UIBase); + t.UI_Remind = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t) { + var e = this; + this.rounds = [], + this.locking = !1, + this.enable = !1, + this.me = t, + this.me.visible = !1, + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.renderInfo, null, !1)), + this.btn_up = this.me.getChildByName("up"), + this.btn_down = this.me.getChildByName("down"), + this.btn_up.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.scrollview.scrollDelta(-100) + }, null, !1), + this.btn_down.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.scrollview.scrollDelta(100) + }, null, !1), + this.scrollview.me.on("ratechange", this, function() { + e.btn_up.visible = e.scrollview.rate > 0, + e.btn_down.visible = e.scrollview.need_scroll && e.scrollview.rate < 1 + }), + this.enable = !1 + } + return e.prototype.show = function(e) { + var i = this; + this.enable = !0, + this.locking = !0, + this.me.visible = !0, + this.scrollview.reset(), + this.rounds = e; + for (var n = 0; n < e.length; n++) { + var a = this.caluH(e[n]); + a, + this.scrollview.addItem(1, a) + } + t.UIBase.anim_alpha_in(this.me, { + y: 30 + }, 120, 0, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.btn_up.visible = !1, + this.btn_down.visible = this.scrollview.need_scroll + } + , + e.prototype.close = function() { + var e = this; + this.enable = !1, + this.locking = !0, + t.UIBase.anim_alpha_out(this.me, { + y: 30 + }, 120, 0, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + e.prototype.caluH = function(t) { + var e = t.actions[t.actions.length - 1]; + if ("RecordNoTile" == e.name) { + for (var i = e.data, n = [], a = 0; a < view.DesktopMgr.Inst.player_count; a++) + n.push({ + old_score: i.scores[0].old_scores[a], + delta: 0 + }); + for (a = 0; a < i.scores.length; a++) + for (var r = 0; r < view.DesktopMgr.Inst.player_count; r++) + n[r].delta += i.scores[a].delta_scores[r]; + for (var s = [], a = 0; a < n.length; a++) + n[a].delta > 0 && s.push(a); + return 120 + (0 == s.length ? 0 : 40 * (s.length - 1)) + } + return "RecordLiuJu" == e.name ? 120 : e.data.hules[0].zimo ? 120 : 180 + 40 * (e.data.hules.length - 1) + } + , + e.prototype.renderInfo = function(t) { + for (var e = this, i = t.index, n = t.container, a = this.rounds[i], s = 0; s < a.actions.length; s++) + if ("RecordNewRound" == a.actions[s].name) { + var o = void 0; + o = "chs" == GameMgr.client_language ? ["东", "南", "西", "北"] : "jp" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? ["東", "南", "西", "北"] : ["East", "South", "West", "North"], + n.getChildByName("container_title").getChildByName("chang").text = o[a.actions[s].data.chang % 4], + n.getChildByName("container_title").getChildByName("ju").text = (a.actions[s].data.ju + 1).toString(), + n.getChildByName("container_title").getChildByName("ben").text = a.actions[s].data.ben.toString(); + for (var l = 0, h = n.getChildByName("container_title"), c = [3, 3, 50, 3, 0], _ = 0; _ < h.numChildren; _++) { + l += (f = h.getChildAt(_)).textField.textWidth * f.scaleX, + l += c[_] + } + for (var u = h.width / 2 - l / 2, d = 0; d < h.numChildren; d++) { + var f = h.getChildAt(d); + f.x = u, + u += f.textField.textWidth * f.scaleX + c[d], + "haolong" == f.font ? f.y = 34 : f.y = 31 + } + break + } + var p = a.actions[a.actions.length - 1] + , m = p.data + , g = n + , y = n.getChildByName("line") + , v = n.getChildByName("liuju") + , b = n.getChildByName("win") + , w = n.getChildByName("lose"); + if (y.visible = !1, + v.visible = !1, + b.visible = !1, + w.visible = !1, + "RecordNoTile" == p.name) { + for (var x = [], s = 0; s < view.DesktopMgr.Inst.player_count; s++) + x.push({ + old_score: m.scores[0].old_scores[s], + delta: 0 + }); + for (s = 0; s < m.scores.length; s++) + for (E = 0; E < view.DesktopMgr.Inst.player_count; E++) + x[E].delta += m.scores[s].delta_scores[E]; + for (var I = [], s = 0; s < x.length; s++) + x[s].delta > 0 && I.push(s); + if (g.height = 120 + (0 == I.length ? 0 : 40 * (I.length - 1)), + m.liujumanguan) { + b.visible = !0; + (M = b.getChildByName("info")).text = game.Tools.strOfLocalization(2170), + M.color = "#8d8fac"; + for (var C = b.getChildByName("player"), s = 0; s < C.numChildren; s++) { + L = C.getChildAt(s); + s < I.length ? (L.visible = !0, + L.getChildByName("name").text = view.DesktopMgr.Inst.getPlayerName(I[s]).nickname, + L.getChildByName("point").text = "+" + x[I[s]].delta.toString()) : L.visible = !1 + } + } else if (b.visible = !0, + b.getChildByName("info").text = "", + v.visible = !0, + v.text = game.Tools.strOfLocalization(2171), + m.scores) + for (var C = b.getChildByName("player"), s = 0; s < C.numChildren; s++) { + L = C.getChildAt(s); + s < I.length ? (L.visible = !0, + L.getChildByName("name").text = view.DesktopMgr.Inst.getPlayerName(I[s]).nickname, + L.getChildByName("point").text = "+" + x[I[s]].delta.toString()) : L.visible = !1 + } + } else if ("RecordLiuJu" == p.name) { + var S = ["", game.Tools.strOfLocalization(2172), game.Tools.strOfLocalization(2173), game.Tools.strOfLocalization(2174), game.Tools.strOfLocalization(2175), game.Tools.strOfLocalization(2176)]; + v.visible = !0, + v.text = S[m.type], + g.height = 120 + } else if (p.data.hules[0].zimo) { + b.visible = !0; + (M = b.getChildByName("info")).text = game.Tools.strOfLocalization(2177), + M.color = "#ea3694"; + for (var C = b.getChildByName("player"), s = 0; s < C.numChildren; s++) { + L = C.getChildAt(s); + if (0 == s) { + L.visible = !0; + T = m.hules[0].seat; + L.getChildByName("name").text = view.DesktopMgr.Inst.getPlayerName(T).nickname; + D = m.delta_scores[T]; + L.getChildByName("point").text = "+" + D.toString() + } else + L.visible = !1 + } + g.height = 120 + } else { + b.visible = !0; + (M = b.getChildByName("info")).text = game.Tools.strOfLocalization(2178), + M.color = "#ef3538"; + for (var C = b.getChildByName("player"), s = 0; s < C.numChildren; s++) { + L = C.getChildAt(s); + if (s < m.hules.length) { + L.visible = !0; + T = m.hules[s].seat; + L.getChildByName("name").text = view.DesktopMgr.Inst.getPlayerName(T).nickname; + D = m.delta_scores[T]; + L.getChildByName("point").text = "+" + D.toString() + } else + L.visible = !1 + } + y.visible = !0, + y.y = 80 + 40 * m.hules.length, + w.visible = !0, + w.y = 83 + 40 * m.hules.length; + for (var M = w.getChildByName("info"), C = w.getChildByName("player"), s = 0; s < C.numChildren; s++) { + var L = C.getChildAt(s); + if (0 == s) { + L.visible = !0; + for (var T = 0, E = 0; E < m.delta_scores.length; E++) + m.delta_scores[E] < m.delta_scores[T] && (T = E); + L.getChildByName("name").text = view.DesktopMgr.Inst.getPlayerName(T).nickname; + var D = m.delta_scores[T]; + L.getChildByName("point").text = D.toString() + } else + L.visible = !1 + } + g.height = 180 + 40 * (p.data.hules.length - 1) + } + g.clickHandler = Laya.Handler.create(this, function() { + e.locking || (r.Inst.jumpRound(i), + e.close()) + }, null, !1), + n.getChildByName("bg").height = n.height - 4 + } + , + e + }() + , i = function() { + function e(t) { + var e = this; + this.locking = !1, + this.enable = !1, + this.have0 = !1, + this.me = t, + this.me.visible = !1, + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.renderInfo, null, !1)), + this.btn_up = this.me.getChildByName("up"), + this.btn_down = this.me.getChildByName("down"), + this.btn_up.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.scrollview.scrollDelta(-100) + }, null, !1), + this.btn_down.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.scrollview.scrollDelta(100) + }, null, !1), + this.scrollview.me.on("ratechange", this, function() { + e.btn_up.visible = e.scrollview.rate > 0, + e.btn_down.visible = e.scrollview.need_scroll && e.scrollview.rate < 1 + }), + this.enable = !1 + } + return e.prototype.show = function(e, i) { + var n = this; + this.enable = !0, + this.locking = !0, + this.have0 = i, + this.me.visible = !0, + this.scrollview.reset(), + this.scrollview.addItem(e + (i ? 1 : 0)), + t.UIBase.anim_alpha_in(this.me, { + y: 30 + }, 100, 0, Laya.Handler.create(this, function() { + n.locking = !1 + })), + this.btn_up.visible = !1, + this.btn_down.visible = this.scrollview.need_scroll + } + , + e.prototype.close = function() { + var e = this; + this.enable = !1, + this.locking = !0, + t.UIBase.anim_alpha_out(this.me, { + y: 30 + }, 100, 0, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + e.prototype.renderInfo = function(t) { + var e = this + , i = t.index + , n = t.container; + n.getChildByName("num").text = (i + (this.have0 ? 0 : 1)).toString(), + n.clickHandler = Laya.Handler.create(this, function() { + e.locking || (r.Inst.jumpXun(i + (e.have0 ? 0 : 1)), + e.close()) + }, null, !1); + var a = n + , s = []; + "en" == GameMgr.client_language ? (s.push(a.getChildByName("xun")), + s.push(a.getChildByName("num"))) : (s.push(a.getChildByName("num")), + s.push(a.getChildByName("xun"))), + game.Tools.sprite_align_center(s, 115, [10]); + for (var o = 1; o < a.numChildren; o++) { + var l = a.getChildAt(o); + "haolong" == l.font ? l.y = 42 : l.y = 39 + } + } + , + e + }() + , n = function() { + function e(e) { + var i = this; + this.me = e, + this._btn_out = this.me.getChildByName("btn_out"), + this._btn_out.clickHandler = Laya.Handler.create(this, function() { + i.switch() + }, null, !1), + this._choosed_show_hand = this.me.getChildByName("btn_shoupai").getChildByName("choosed"), + this.me.getChildByName("btn_shoupai").clickHandler = Laya.Handler.create(this, function() { + i._choosed_show_hand.visible = !i._choosed_show_hand.visible, + view.DesktopMgr.Inst.onShowHandChange(i._choosed_show_hand.visible) + }, null, !1), + this._choosed_show_paopai = this.me.getChildByName("btn_paopai").getChildByName("choosed"), + this.me.getChildByName("btn_paopai").clickHandler = Laya.Handler.create(this, function() { + i._choosed_show_paopai.visible = !i._choosed_show_paopai.visible, + view.DesktopMgr.Inst.onShowPaopaiChange(i._choosed_show_paopai.visible) + }, null, !1), + this._choosed_show_anim = this.me.getChildByName("btn_anim").getChildByName("choosed"), + this.me.getChildByName("btn_anim").clickHandler = new Laya.Handler(this,function() { + i._choosed_show_anim.visible = !i._choosed_show_anim.visible, + view.DesktopMgr.Inst.record_show_anim = i._choosed_show_anim.visible + } + ), + this._choosed_hide_name = this.me.getChildByName("btn_hidename").getChildByName("choosed"), + this._btn_hide_name = this.me.getChildByName("btn_hidename"), + this._btn_hide_name.clickHandler = new Laya.Handler(this,function() { + i._choosed_hide_name.visible = !i._choosed_hide_name.visible, + r.Inst.hide_name = !i._choosed_hide_name.visible, + t.UI_DesktopInfo.Inst.refreshNames() + } + ), + this.me.getChildByName("label_word").visible = "chs" == GameMgr.client_language, + this.me.getChildByName("img_set").visible = "chs" != GameMgr.client_language + } + return e.prototype.reset = function() { + Laya.Tween.clearAll(this), + this.me.x = -258, + this._btn_out.disabled = !1, + this._choosed_show_hand.visible = !0, + this._choosed_show_paopai.visible = !0, + this._choosed_show_anim.visible = !0, + 2 & view.DesktopMgr.Inst.paipu_config ? (this._choosed_hide_name.visible = !1, + game.Tools.setGrayDisable(this._btn_hide_name, !0)) : (this._choosed_hide_name.visible = !0, + game.Tools.setGrayDisable(this._btn_hide_name, !1)) + } + , + e.prototype.switch = function() { + var t = this + , e = -258; + this.me.x < -100 && (e = -5), + this._btn_out.disabled = !0, + Laya.Tween.to(this.me, { + x: e + }, 200, Laya.Ease.strongOut, Laya.Handler.create(this, function() { + t._btn_out.disabled = !1 + }), 0, !0, !0) + } + , + e + }() + , a = function() { + function e(e) { + var i = this; + this.tiles = [], + this.container_input = null, + this.tile_count = 0, + this.gray_filter = null, + this.dora_filter = null, + this.lidora_filter = null, + this.noinfo = !0, + this.locking = !1, + this.enable = !1, + this.me = e, + this.root = e.getChildByName("root"), + this.content = this.root.getChildByName("content"), + this.content.vScrollBarSkin = ""; + var n = this.content.getChildByName("tile_templete"); + n.visible = !1; + for (var a = 0; a < 100; a++) { + var r = n.scriptMap["capsui.UICopy"].getNodeClone(); + r.visible = !1, + this.tiles.push(r) + } + this.container_input = this.content.getChildByName("input"), + this.gray_filter = new Laya.ColorFilter([.6, 0, 0, 0, 0, 0, .6, 0, 0, 0, 0, 0, .6, 0, 0, 0, 0, 0, 1, 0]), + this.dora_filter = new Laya.ColorFilter([.35, 0, 0, 0, 0, 0, .77, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]), + this.lidora_filter = new Laya.ColorFilter([1, 0, 0, 0, 0, 0, .64, 0, 0, 0, 0, 0, .44, 0, 0, 0, 0, 0, 1, 0]), + this.container_input.getChildByName("btn_what").clickHandler = Laya.Handler.create(this, function() { + i.locking || t.UI_Info_MD5.Inst.show() + }, null, !1) + } + return e.prototype.setTiles = function(t) { + this.tile_count = Math.floor(t.length / 2); + for (var e = "myres2/mjp/" + GameMgr.Inst.mjp_view + "/ui/", i = 0; 2 * i + 1 < t.length; i++) + this.tiles[i].skin = game.Tools.localUISrc(e + t.charAt(2 * i) + t.charAt(2 * i + 1) + ".png"), + this.tiles[i].visible = !0; + for (i = this.tile_count; i < this.tiles.length; i++) + this.tiles[i].visible = !1; + this.noinfo = !1, + this.container_input.getChildByName("txtinput").text = t + } + , + e.prototype.refresh = function() { + this.me.visible && (this.noinfo || this.setInfo()) + } + , + e.prototype.setInfo = function() { + if (!this.noinfo) { + var t = view.DesktopMgr.Inst.left_tile_count + , e = view.DesktopMgr.Inst.dora.length + , i = view.DesktopMgr.Inst.get_gang_count() + view.DesktopMgr.Inst.get_babei_count(); + i > 0 && view.DesktopMgr.Inst.waiting_lingshang_deal_tile && i--; + var n = this.tile_count - i - 14; + n < 0 && (n = 0); + for (var a = this.tiles[0].width, r = this.tiles[0].height + 10, s = 0; s < n; s++) { + var o = 0; + view.DesktopMgr.Inst.rule_mode == view.ERuleMode.Liqi3 ? o = s % 12 * a + 5 * Math.floor(s % 12 / 3) : o += 2 + s % 12 * a + 5 * Math.floor(s % 12 / 4), + this.tiles[s].x = o, + this.tiles[s].y = Math.floor(s / 12) * r, + this.tiles[s].filters = n - s <= t ? [] : [this.gray_filter] + } + for (var l = Math.ceil(n / 12) * r + 20, s = n; s < this.tile_count; s++) { + var h = this.tiles[s]; + h.x = (s - n) % 12 * a, + h.y = Math.floor((s - n) / 12) * r + l, + h.filters = [] + } + for (var c = view.DesktopMgr.Inst.rule_mode == view.ERuleMode.Liqi3 ? 8 : 4, s = 0; s < e; s++) + this.tiles[this.tile_count - c - 1 - 2 * s].filters = [this.dora_filter], + this.tiles[this.tile_count - c - 2 - 2 * s].filters = [this.lidora_filter]; + for (s = 0; s < i; s++) + this.tiles[this.tile_count - 1 - s].filters = [this.gray_filter]; + l += Math.ceil((this.tile_count - n) / 12) * r, + this.container_input.y = l + 80, + this.content.refresh() + } + } + , + e.prototype.setNoInfo = function() { + this.noinfo = !0 + } + , + e.prototype.show = function() { + var e = this; + this.locking || (this.noinfo ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2179)) : (this.locking = !0, + this.me.visible = !0, + this.refresh(), + t.UIBase.anim_alpha_in(this.me, { + y: 30 + }, 120, 0, Laya.Handler.create(this, function() { + e.locking = !1 + })))) + } + , + e.prototype.close = function() { + var e = this; + this.locking || (this.locking = !0, + t.UIBase.anim_alpha_out(this.me, { + y: 30 + }, 120, 0, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + }))) + } + , + e + }() + , r = function(r) { + function s() { + var t = r.call(this, new ui.mj.replayUI) || this; + return t.label_chang = null, + t.label_ju = null, + t.label_xun = null, + t.img_play = null, + t.img_stop = null, + t.btn_preround = null, + t.btn_nextround = null, + t.page_chang = null, + t.page_xun = null, + t.btn_change_score = null, + t.paipuconfig = null, + t.page_paishan = null, + t.data = null, + t.gameResult = null, + t.rounds = [], + t.round_index = 0, + t.action_index = 0, + t.locking_time = 0, + t._auto_play = !1, + t.hide_name = !1, + s.Inst = t, + t + } + return __extends(s, r), + Object.defineProperty(s.prototype, "auto_play", { + get: function() { + return this._auto_play + }, + set: function(t) { + this._auto_play = t, + this.img_play.visible = !t, + this.img_stop.visible = t + }, + enumerable: !0, + configurable: !0 + }), + s.prototype.onCreate = function() { + var r = this + , s = this.me.getChildByName("root").getChildByName("round"); + s.clickHandler = Laya.Handler.create(this, function() { + r.page_chang.locking || (r.auto_play && (r.auto_play = !1), + r.page_xun.enable && r.page_xun.close(), + r.page_paishan.me.visible && r.page_paishan.close(), + r.page_chang.enable ? r.page_chang.close() : r.page_chang.show(r.rounds)) + }, null, !1), + this.label_chang = s.getChildByName("chang"), + this.label_ju = s.getChildByName("ju"); + var o = this.me.getChildByName("root").getChildByName("turn"); + this.label_xun = o.getChildByName("xun"), + o.clickHandler = Laya.Handler.create(this, function() { + r.page_xun.locking || (r.auto_play && (r.auto_play = !1), + r.page_chang.enable && r.page_chang.close(), + r.page_paishan.me.visible && r.page_paishan.close(), + r.page_xun.enable ? r.page_xun.close() : r.page_xun.show(r.rounds[r.round_index].xun.length, 0 != r.rounds[r.round_index].xun[0])) + }, null, !1), + this.me.getChildByName("root").getChildByName("paishan").clickHandler = Laya.Handler.create(this, function() { + r.page_paishan.locking || (r.auto_play && (r.auto_play = !1), + r.page_chang.enable && r.page_chang.close(), + r.page_xun.enable && r.page_xun.close(), + r.page_paishan.me.visible ? r.page_paishan.close() : r.page_paishan.show()) + }, null, !1), + this.page_chang = new e(this.me.getChildByName("info_chang")), + this.page_xun = new i(this.me.getChildByName("info_xun")), + this.page_paishan = new a(this.me.getChildByName("info_paishan")), + this.me.getChildByName("root").getChildByName("play").clickHandler = Laya.Handler.create(this, function() { + r.auto_play = !r.auto_play + }, null, !1), + this.me.getChildByName("root").getChildByName("nextstep").clickHandler = Laya.Handler.create(this, function() { + r.locking_time > Laya.timer.currTimer ? r.auto_play && (r.auto_play = !1) : r.nextStep() + }, null, !1), + this.me.getChildByName("root").getChildByName("prestep").clickHandler = Laya.Handler.create(this, function() { + r.preStep() + }, null, !1), + this.me.getChildByName("root").getChildByName("nextturn").clickHandler = Laya.Handler.create(this, function() { + r.nextXun() + }, null, !1), + this.me.getChildByName("root").getChildByName("preturn").clickHandler = Laya.Handler.create(this, function() { + r.preXun() + }, null, !1), + this.btn_preround = this.me.getChildByName("root").getChildByName("preround"), + this.btn_preround.clickHandler = Laya.Handler.create(this, function() { + r.preRound() + }, null, !1), + this.btn_nextround = this.me.getChildByName("root").getChildByName("nextround"), + this.btn_nextround.clickHandler = Laya.Handler.create(this, function() { + r.nextRound() + }, null, !1), + this.img_play = this.me.getChildByName("root").getChildByName("play").getChildByName("play"), + this.img_stop = this.me.getChildByName("root").getChildByName("play").getChildByName("pause"), + this.btn_change_score = this.me.getChildByName("btn_change_score"), + this.btn_change_score.clickHandler = Laya.Handler.create(this, function() { + t.UI_DesktopInfo.Inst.onBtnShowScoreDelta() + }, null, !1), + this.paipuconfig = new n(this.me.getChildByName("config")) + } + , + s.prototype.onEnable = function() { + this.paipuconfig.reset(), + t.UI_ReplayWheel.Inst.enable = !0, + 2 & view.DesktopMgr.Inst.paipu_config ? this.hide_name = !0 : this.hide_name = !1 + } + , + s.prototype.onDisable = function() { + t.UI_ReplayWheel.Inst.enable = !1 + } + , + s.prototype._isRoundEnd = function(t) { + return "RecordNoTile" == t || "RecordLiuJu" == t || "RecordHule" == t + } + , + s.prototype.initData = function(t) { + this.data = t; + var e = t.game + , i = t.record + , n = null + , a = 0; + this.rounds = []; + for (var r = 0; r < e.records.length; r++) { + a += e.records[r].length; + var s = net.MessageWrapper.decodeMessage(e.records[r]) + , o = s.$type.name + , l = { + name: o, + data: s + }; + null == n && (n = { + xun: [], + actions: [] + }), + n.actions.push(l), + this._isRoundEnd(o) && (this.pengding_xun(n), + this.rounds.push(n), + n = null) + } + null != n && app.Log.Error("最后一份牌谱没有结束"), + this.gameResult = i, + this.action_index = -1, + this.round_index = -1, + this.label_chang.text = "东", + this.label_ju.text = "1", + this.label_xun.text = "0", + this.auto_play = !1; + var h = []; + "en" != GameMgr.client_language ? (h.push(this.label_xun.parent.getChildByName("xun")), + h.push(this.label_xun.parent.getChildByName("turn"))) : (h.push(this.label_xun.parent.getChildByName("turn")), + h.push(this.label_xun.parent.getChildByName("xun"))), + game.Tools.sprite_align_center(h, 80, [5]), + app.Log.log("牌谱大小:" + a + "B") + } + , + s.prototype.reset = function() { + this.auto_play = !1, + this.page_chang.enable && this.page_chang.close(), + this.page_xun.enable && this.page_xun.close(), + this.page_paishan.me.visible && (this.page_paishan.me.visible = !1) + } + , + s.prototype.onBack = function() { + this.locking_time = 0, + this.enable = !0, + this._jumpStep(this.round_index, this.rounds[this.round_index].actions.length - 2) + } + , + s.prototype.pengding_xun = function(t) { + t.xun = []; + for (var e = view.DesktopMgr.Inst.seat, i = !1, n = 0; n < t.actions.length; n++) { + var a = t.actions[n]; + "RecordNewRound" == a.name ? a.data.ju == e && (i = !0, + t.xun.push(n)) : "RecordDealTile" == a.name || "RecordChiPengGang" == a.name ? a.data.seat == e && (i || (i = !0, + t.xun.push(n))) : "RecordDiscardTile" != a.name && "RecordAnGangAddGang" != a.name && "RecordBaBei" != a.name || (i = !1) + } + } + , + s.prototype.get_currentxun = function() { + var t = this.rounds[this.round_index]; + if (0 == t.xun.length) + return 1; + for (var e = t.xun.length, i = 0; i < t.xun.length; i++) + if (this.action_index < t.xun[i]) { + e = i; + break + } + return e < 0 && (e = 0), + e + } + , + s.prototype.nextStep = function(e) { + if (void 0 === e && (e = !1), + (e || !(this.locking_time > Laya.timer.currTimer)) && !(this.round_index > this.rounds.length)) { + if (this.round_index == this.rounds.length && (this.round_index = -1), + this.round_index < 0 || this.rounds[this.round_index].actions.length <= this.action_index + 1) { + if (this.round_index + 1 >= this.rounds.length) + return view.DesktopMgr.Inst.gameEndResult = this.gameResult.result, + this.enable = !1, + t.UIMgr.Inst.ShowGameEnd(), + void this.action_index--; + this.round_index++, + this.action_index = 0 + } else + this.action_index++; + if (this.btn_nextround.visible = this.rounds.length > 1, + this.btn_preround.visible = this.rounds.length > 1, + this.action_index > 0 && "RecordDiscardTile" == this.rounds[this.round_index].actions[this.action_index - 1].name) { + var i = this.rounds[this.round_index].actions[this.action_index - 1].data.seat; + i != view.DesktopMgr.Inst.seat && view.DesktopMgr.Inst.players[view.DesktopMgr.Inst.seat2LocalPosition(i)].RecordLiPai(0) + } + var n = this.rounds[this.round_index].actions[this.action_index]; + view.DesktopMgr.Inst.record_show_anim || this._isRoundEnd(n.name) ? this.locking_time = Laya.timer.currTimer + this.doRecord(n) : (this.doFastRecord(n), + this.locking_time = Laya.timer.currTimer + 500), + this._refreshBarshow() + } + } + , + s.prototype._refreshBarshow = function() { + var t = ""; + if ("chs" == GameMgr.client_language) + switch (view.DesktopMgr.Inst.index_change % 4) { + case 0: + t += "东"; + break; + case 1: + t += "南"; + break; + case 2: + t += "西"; + break; + case 3: + t += "北" + } + else if ("jp" == GameMgr.client_language || "chs_t" == GameMgr.client_language) + switch (view.DesktopMgr.Inst.index_change % 4) { + case 0: + t += "東"; + break; + case 1: + t += "南"; + break; + case 2: + t += "西"; + break; + case 3: + t += "北" + } + else + switch (view.DesktopMgr.Inst.index_change % 4) { + case 0: + t += "East"; + break; + case 1: + t += "South"; + break; + case 2: + t += "West"; + break; + case 3: + t += "North" + } + this.label_chang.text = t, + this.label_ju.text = (view.DesktopMgr.Inst.index_ju + 1).toString(); + this.label_xun.text = this.get_currentxun().toString(); + var e = []; + "en" != GameMgr.client_language ? (e.push(this.label_xun.parent.getChildByName("xun")), + e.push(this.label_xun.parent.getChildByName("turn"))) : (e.push(this.label_xun.parent.getChildByName("turn")), + e.push(this.label_xun.parent.getChildByName("xun"))), + game.Tools.sprite_align_center(e, 80, [5]), + function(t, e) { + for (var i = 0, n = 1; n < t.numChildren; n++) + 1 != n && (i += 3), + i += (r = t.getChildAt(n)).textField.textWidth * r.scaleX; + for (var a = t.width / 2 - i / 2, n = 1; n < t.numChildren; n++) { + var r = t.getChildAt(n); + r.x = a, + a += r.textField.textWidth * r.scaleX + 3, + "haolong" == r.font ? r.y = e + 3 : r.y = e + } + }(this.label_chang.parent, 40) + } + , + s.prototype._get_autoplay_delay = function(t) { + switch (t.name) { + case "RecordNewRound": + return 0; + case "RecordDiscardTile": + case "RecordDealTile": + case "RecordChiPengGang": + return 500; + case "RecordAnGangAddGang": + case "RecordBaBei": + return 200 + } + return 0 + } + , + s.prototype.doRecord = function(t) { + try { + var e = 0; + switch (t.name) { + case "RecordNewRound": + e = view.ActionNewRound.record(t.data); + break; + case "RecordDiscardTile": + e = view.ActionDiscardTile.record(t.data); + break; + case "RecordDealTile": + e = view.ActionDealTile.record(t.data); + break; + case "RecordChiPengGang": + e = view.ActionChiPengGang.record(t.data); + break; + case "RecordAnGangAddGang": + e = view.ActionAnGangAddGang.record(t.data); + break; + case "RecordBaBei": + e = view.ActionBabei.record(t.data); + break; + case "RecordHule": + e = view.ActionHule.record(t.data); + break; + case "RecordLiuJu": + e = view.ActionLiuJu.record(t.data); + break; + case "RecordNoTile": + e = view.ActionNoTile.record(t.data) + } + return this.auto_play && (e += this._get_autoplay_delay(t)), + "RecordNewRound" != t.name && "RecordDealTile" != t.name || this.page_paishan.refresh(), + e + } catch (e) { + var i = {}; + return i.error = e.message, + i.stack = e.stack, + i.method = "ui_replay doRecord", + i.name = t.name, + i.data = t.data, + GameMgr.Inst.onFatalError(i), + 1e6 + } + } + , + s.prototype.doFastRecord = function(t) { + try { + switch (t.name) { + case "RecordNewRound": + view.ActionNewRound.fastrecord(t.data); + break; + case "RecordDiscardTile": + view.ActionDiscardTile.fastrecord(t.data); + break; + case "RecordDealTile": + view.ActionDealTile.fastrecord(t.data); + break; + case "RecordChiPengGang": + view.ActionChiPengGang.fastrecord(t.data); + break; + case "RecordAnGangAddGang": + view.ActionAnGangAddGang.fastrecord(t.data); + break; + case "RecordHule": + view.ActionHule.fastrecord(t.data); + break; + case "RecordLiuJu": + view.ActionLiuJu.fastrecord(t.data); + break; + case "RecordNoTile": + view.ActionNoTile.fastrecord(t.data); + break; + case "RecordBaBei": + view.ActionBabei.fastrecord(t.data) + } + "RecordNewRound" != t.name && "RecordDealTile" != t.name || this.page_paishan.refresh() + } catch (i) { + var e = {}; + return e.error = i.message, + e.stack = i.stack, + e.method = "ui_replay doRecord", + e.name = t.name, + e.data = t.data, + GameMgr.Inst.onFatalError(e), + 1e6 + } + return 0 + } + , + s.prototype.update = function() { + !this.auto_play || this.locking_time > Laya.timer.currTimer || this.round_index >= 0 && this.round_index < this.rounds.length && this.action_index + 1 < this.rounds[this.round_index].actions.length && this.nextStep() + } + , + s.prototype.jumpToLastRoundXun = function() { + if (this.locking_time > Laya.timer.currTimer) + this.auto_play && (this.auto_play = !1); + else { + this.round_index = (this.round_index - 1 + this.rounds.length) % this.rounds.length; + var t = this.rounds[this.round_index].actions.length - 3; + t < 1 && (t = 1), + this._jumpStep(this.round_index, t) + } + } + , + s.prototype.nextXun = function() { + if (this.locking_time > Laya.timer.currTimer) + this.auto_play && (this.auto_play = !1); + else if (!(this.round_index >= this.rounds.length || this.round_index < 0)) { + var t = this.rounds[this.round_index]; + if (this.action_index != t.actions.length - 1) { + var e = 0; + if (0 == t.xun.length) + e = t.actions.length - 1; + else if (t.xun[0] > this.action_index) + e = t.xun[0]; + else { + var i = this.get_currentxun(); + e = i == t.xun.length ? t.actions.length - 1 : t.xun[i] + } + this._jumpStep(this.round_index, e) + } else + this.nextStep() + } + } + , + s.prototype.preXun = function() { + if (this.locking_time > Laya.timer.currTimer) + this.auto_play && (this.auto_play = !1); + else if (!(this.round_index >= this.rounds.length || this.round_index < 0)) { + var t = this.rounds[this.round_index]; + if (0 != this.action_index) { + var e = 0; + if (0 == t.xun.length) + e = 0; + else if (t.xun[0] > this.action_index) + e = 0; + else { + var i = this.get_currentxun() - 1; + e = 0 == i ? 0 : t.xun[i - 1] + } + this._jumpStep(this.round_index, e) + } else + this.jumpToLastRoundXun() + } + } + , + s.prototype.preStep = function() { + if (this.locking_time > Laya.timer.currTimer) + this.auto_play && (this.auto_play = !1); + else if (!(this.round_index >= this.rounds.length || this.round_index < 0)) { + this.rounds[this.round_index]; + 0 != this.action_index ? this._jumpStep(this.round_index, this.action_index - 1) : this.jumpToLastRoundXun() + } + } + , + s.prototype.nextRound = function() { + this.page_xun.enable && this.page_xun.close(), + this.locking_time > Laya.timer.currTimer ? this.auto_play && (this.auto_play = !1) : this._jumpStep((this.round_index + 1) % this.rounds.length, 0) + } + , + s.prototype.preRound = function() { + this.page_xun.enable && this.page_xun.close(), + this.locking_time > Laya.timer.currTimer ? this.auto_play && (this.auto_play = !1) : this._jumpStep((this.round_index - 1 + this.rounds.length) % this.rounds.length, 0) + } + , + s.prototype.jumpRound = function(t) { + this.page_xun.enable && this.page_xun.close(), + this.locking_time > Laya.timer.currTimer ? this.auto_play && (this.auto_play = !1) : t < 0 || t >= this.rounds.length || this._jumpStep(t, 0) + } + , + s.prototype.jumpXun = function(t) { + if (this.locking_time > Laya.timer.currTimer) + this.auto_play && (this.auto_play = !1); + else if (!(this.round_index >= this.rounds.length || this.round_index < 0)) { + var e = this.rounds[this.round_index] + , i = 0; + i = 0 == e.xun.length ? 0 : 0 == t ? 0 : e.xun[t - 1], + this._jumpStep(this.round_index, i) + } + } + , + s.prototype.onWheelClick = function() { + if (!this.page_chang.locking && !this.page_xun.locking) + return this.page_chang.enable || this.page_xun.enable ? (this.page_chang.enable && this.page_chang.close(), + void (this.page_xun.enable && this.page_xun.close())) : void this.nextStep() + } + , + s.prototype.onChangeMainBody = function() { + var t = this.round_index + , e = this.action_index; + this.initData(this.data), + this.reset(), + t >= this.rounds.length || t < 0 || this._jumpStep(t, e) + } + , + s.prototype._jumpStep = function(t, e) { + var i = this.rounds[t]; + this.round_index = t; + for (var n = 0; n < e; n++) { + if (n > 0 && "RecordDiscardTile" == this.rounds[this.round_index].actions[n - 1].name) { + (a = this.rounds[this.round_index].actions[n - 1].data.seat) != view.DesktopMgr.Inst.seat && view.DesktopMgr.Inst.players[view.DesktopMgr.Inst.seat2LocalPosition(a)].RecordLiPai(0) + } + this.doFastRecord(i.actions[n]) + } + if (e == i.actions.length - 1) + this.action_index = e - 1, + this.nextStep(); + else { + if (e > 0 && "RecordDiscardTile" == this.rounds[this.round_index].actions[e - 1].name) { + var a = this.rounds[this.round_index].actions[e - 1].data.seat; + a != view.DesktopMgr.Inst.seat && view.DesktopMgr.Inst.players[view.DesktopMgr.Inst.seat2LocalPosition(a)].RecordLiPai(0) + } + this.doFastRecord(i.actions[e]), + this.action_index = e, + this._refreshBarshow() + } + } + , + s.prototype._lipai_all = function() { + for (var t = 1; t < view.DesktopMgr.Inst.players.length; t++) + view.DesktopMgr.Inst.players[t].RecordLiPai(0) + } + , + s.Inst = null, + s + }(t.UIBase); + t.UI_Replay = r +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.mj.replay_whellUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = 0; + this.me.getChildByName("wheel").on(Laya.Event.MOUSE_WHEEL, this, function(i) { + !function(i) { + if (!(Laya.timer.currTimer < e)) { + e = Laya.timer.currTimer + 50; + var n = i.delta; + n > 0 ? (t.UI_Replay.Inst.enable && t.UI_Replay.Inst.preXun(), + t.UI_Ob_Replay.Inst.enable && !t.UI_Ob_Replay.Inst.locking && t.UI_Ob_Replay.Inst.preXun()) : n < 0 && (t.UI_Replay.Inst.enable && t.UI_Replay.Inst.nextXun(), + t.UI_Ob_Replay.Inst.enable && !t.UI_Ob_Replay.Inst.locking && t.UI_Ob_Replay.Inst.nextXun()) + } + }(i) + }), + this.me.getChildByName("wheel").on(Laya.Event.MOUSE_DOWN, this, function(e) { + t.UI_Replay.Inst.enable && t.UI_Replay.Inst.onWheelClick(), + t.UI_Ob_Replay.Inst.enable && !t.UI_Ob_Replay.Inst.locking && t.UI_Ob_Replay.Inst.onWheelClick() + }) + } + , + i + }(t.UIBase); + t.UI_ReplayWheel = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.report_nicknameUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + e.locking || (e.close(), + app.NetAgent.sendReq2Lobby("Lobby", "userComplain", { + target_id: e.account_id, + type: 1 + }, function(e, i) { + e || i.error ? t.UIMgr.Inst.showNetReqError("userComplain", e, i) : t.UI_Report_Success.Inst.show() + })) + } + ), + this.root.getChildByName("btn_cancel").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close() + } + ) + } + , + i.prototype.show = function(e) { + var i = this; + this.enable = !0, + this.locking = !0, + this.account_id = e, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !1, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Report_Nickname = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.report_successUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + t.locking || t.close() + } + ) + } + , + i.prototype.show = function() { + var e = this; + this.enable = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !1, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Report_Success = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var i = t.call(this, new ui.common.rollnoticeUI) || this; + return i.speed = .18, + e.Inst = i, + i + } + return __extends(e, t), + e.init = function() { + var t = this; + app.NetAgent.sendReq2Lobby("Lobby", "fetchRollingNotice", {}, function(e, i) { + e || i.error || t.receiveInfo(i.notice) + }), + app.NetAgent.AddListener2Lobby("NotifyRollingNotice", Laya.Handler.create(this, function(e) { + t.receiveInfo(e.notice) + }, null, !1)) + } + , + e.receiveInfo = function(t) { + this.current_notice = t, + this.try2Show() + } + , + e.try2Show = function() { + var t = this; + null != this.current_notice && (1e3 * this.current_notice.end_time < Laya.timer.currTimer + GameMgr.Inst.server_time_delta ? this.current_notice = null : this.Inst.enable || this.Inst.show(this.current_notice.content, Laya.Handler.create(this, function() { + t.current_notice && Laya.timer.once(1e3 * t.current_notice.repeat_interval, t, t.try2Show) + }))) + } + , + e.prototype.onCreate = function() { + this.root = this.me.getChildByName("root"), + this.panel = this.root.getChildByName("content"), + this.label = this.panel.getChildByName("label") + } + , + e.prototype.show = function(t, e) { + this.label.text = t, + this.complete = e, + Laya.timer.clearAll(this), + this.root.visible = !0, + this.origin_x = this.panel.width + 500 * this.speed, + this.target_x = -(500 * this.speed + this.label.textField.textWidth), + this.start_time = Laya.timer.currTimer, + Laya.timer.frameLoop(1, this, this.__update, null, !0), + this.enable = !0 + } + , + e.prototype.close = function() { + this.complete && this.complete.run(), + Laya.timer.clearAll(this), + this.enable = !1 + } + , + e.prototype.__update = function() { + var t = Laya.timer.currTimer - this.start_time; + t >= (this.origin_x - this.target_x) / this.speed ? (this.root.visible = !1, + this.close()) : this.label.x = this.origin_x - this.speed * t + } + , + e.Inst = null, + e.current_notice = null, + e + }(t.UIBase); + t.UI_RollNotice = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t) { + var e = this; + this.tabs = [], + this.scrollview = null, + this.tab_index = -1, + this.me = t; + for (var i = this.me.getChildByName("tabs"), n = this.me.getChildByName("fans").getChildByName("content").getChildByName("templete").getChildByName("decs"), a = 1; a <= 8; a++) { + var r = i.getChildByName("tab_" + a); + this.tabs.push({ + choosed: r.getChildByName("unchoose"), + unchoosed: r.getChildByName("choosed"), + ids: [], + heights: [] + }), + r.clickHandler = Laya.Handler.create(this, this._changeTab, [a - 1], !1) + } + cfg.fandesc.fandesc.forEach(function(t) { + if (t.show) { + var i = t.tag - 1; + i >= 0 && i < e.tabs.length && (e.tabs[i].ids.push(t.id), + n.text = t["desc_" + GameMgr.client_language], + e.tabs[i].heights.push(n.textField.textHeight + 240)) + } + }), + this.scrollview = this.me.getChildByName("fans").scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, function(t) { + e._showItem(t.index, t.container) + }, null, !1)) + } + return t.prototype.onEnter = function() { + this.tab_index = -1, + this._changeTab(0) + } + , + t.prototype.show = function() { + this.me.visible = !0 + } + , + t.prototype.close = function() { + this.me.visible = !1 + } + , + t.prototype._changeTab = function(t) { + if (t != this.tab_index) { + this.tab_index = t; + for (var e = 0; e < this.tabs.length; e++) + this.tabs[e].choosed.visible = e == t, + this.tabs[e].unchoosed.visible = e != t; + this.scrollview.reset(), + this.scrollview.addItems(this.tabs[t].heights) + } + } + , + t.prototype._showItem = function(t, e) { + var i = cfg.fandesc.fandesc.get(this.tabs[this.tab_index].ids[t]); + e.getChildByName("name").text = i["name_" + GameMgr.client_language], + e.getChildByName("decs").text = i["desc_" + GameMgr.client_language], + e.getChildByName("limit").text = i["desc2_" + GameMgr.client_language]; + var n = e.getChildByName("tiles"); + n.y = 100 + e.getChildByName("decs").textField.textHeight, + e.height = this.tabs[this.tab_index].heights[t]; + for (var a = i.case, r = 0, s = 0, o = "myres2/mjp/" + game.GameUtility.get_view_res_name(game.EView.mjp) + "/ui/", l = 0; l < n.numChildren; l++) { + var h = n.getChildAt(l); + if (r >= a.length) + h.visible = !1; + else { + var c = ""; + "b" == a[r] ? (c = "back", + r++) : (c = a[r] + a[r + 1], + r += 2), + h.skin = game.Tools.localUISrc(o + c + ".png"), + h.visible = !0, + h.x = s, + h.y = 0, + s += h.width + } + for (; r < a.length && "|" == a[r]; ) + s += 20, + r++ + } + } + , + t + }() + , i = function() { + function t(t) { + var e = this; + this.locking = !1, + this.loadover = [], + this.urls = [game.Tools.localUISrc("course/course0.png"), game.Tools.localUISrc("course/course1.png"), game.Tools.localUISrc("course/course2.png"), game.Tools.localUISrc("course/course3.png"), game.Tools.localUISrc("course/course4.png"), game.Tools.localUISrc("course/course5.png"), game.Tools.localUISrc("course/course6.png"), game.Tools.localUISrc("course/course7.png"), game.Tools.localUISrc("course/course8.png")], + this.pageindex = 0, + this.me = t, + this.page = this.me.getChildByName("page"), + this.btn_pre = this.me.getChildByName("pre"), + this.btn_next = this.me.getChildByName("next"), + this.btn_close = this.me.getChildByName("btn_close"), + this.loading = this.me.getChildByName("loading"), + this.btn_pre.clickHandler = Laya.Handler.create(this, function() { + e.locking || 0 != e.pageindex && e.showPage(e.pageindex - 1) + }, null, !1), + this.btn_next.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.pageindex != e.urls.length - 1 && e.showPage(e.pageindex + 1) + }, null, !1); + for (var i = 0; i < this.urls.length; i++) + this.loadover.push(!1); + this.label_count = this.me.getChildByName("count") + } + return t.prototype.onEnter = function() { + this.pageindex = 0 + } + , + t.prototype.show = function() { + var t = this; + this.showPage(this.pageindex), + this.me.visible = !0; + for (var e = function(e) { + i.loadover.push(!1), + Laya.loader.load(i.urls[e], Laya.Handler.create(i, function() { + Laya.timer.frameOnce(3, t, function() { + t.loadover[e] = !0, + t.me.visible && t.pageindex == e && (t.loading.visible = !1, + t.page.source = Laya.loader.getRes(t.urls[e]), + t.page.visible = !0), + t.me.visible || Laya.loader.clearTextureRes(t.urls[e]) + }) + })) + }, i = this, n = 0; n < this.urls.length; n++) + e(n) + } + , + t.prototype.close = function() { + this.me.visible = !1; + for (var t = 0; t < this.urls.length; t++) + this.loadover[t] && Laya.loader.clearTextureRes(this.urls[t]) + } + , + t.prototype.showPage = function(t) { + this.pageindex = t, + this.btn_pre.visible = 0 != t, + this.btn_next.visible = t != this.urls.length - 1, + this.loadover[t] ? (this.page.visible = !0, + this.page.source = Laya.loader.getRes(this.urls[t]), + this.loading.visible = !1) : (this.page.visible = !1, + this.loading.visible = !0), + this.label_count.text = (this.pageindex + 1).toString() + "/" + this.urls.length.toString() + } + , + t + }() + , n = function(n) { + function a() { + var t = n.call(this, "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? new ui.both_ui.rulesUI : new ui.both_ui.rules_enUI) || this; + return t.root = null, + t.blackmask = null, + t.page_rule = null, + t.page_course = null, + t.locking = !1, + t.tab_index = 0, + t.func_close = null, + t.tab_fan = null, + t.tab_course = null, + t.tab_img_dark = "", + t.tab_img_chosen = "", + a.Inst = t, + t + } + return __extends(a, n), + a.prototype.onCreate = function() { + var t = this; + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? (this.tab_img_chosen = game.Tools.localUISrc("myres/bothui/info_tab_chosen.png"), + this.tab_img_dark = game.Tools.localUISrc("myres/bothui/info_tab_dark.png")) : (this.tab_img_chosen = game.Tools.localUISrc("myres/bothui/info_tabheng_chosen.png"), + this.tab_img_dark = game.Tools.localUISrc("myres/bothui/info_tabheng_dark.png")), + this.root = this.me.getChildByName("root"), + this.blackmask = this.me.getChildByName("bmask"), + this.page_rule = new e(this.root.getChildByName("page_fan")), + this.page_course = new i(this.root.getChildByName("page_course")), + this.tab_fan = this.root.getChildByName("tab_fan"), + this.root.getChildByName("tab_fan").clickHandler = Laya.Handler.create(this, function() { + t.changeTab(0) + }, null, !1), + this.tab_course = this.root.getChildByName("tab_course"), + this.root.getChildByName("tab_course").clickHandler = Laya.Handler.create(this, function() { + t.changeTab(1) + }, null, !1), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + t.close() + }, null, !1) + } + , + a.prototype.show = function(e, i) { + var n = this; + void 0 === e && (e = 0), + void 0 === i && (i = null), + this.locking = !0, + this.enable = !0, + this.page_course.onEnter(), + this.page_rule.onEnter(), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })), + this.blackmask.alpha = 0, + Laya.Tween.to(this.blackmask, { + alpha: .3 + }, 150), + this.tab_index = -1, + this.changeTab(e), + this.func_close = i + } + , + a.prototype.changeTab = function(t) { + t != this.tab_index && (this.tab_index = t, + 0 == this.tab_index ? (this.page_course.close(), + this.page_rule.show(), + this.tab_course.skin = this.tab_img_dark, + this.tab_fan.skin = this.tab_img_chosen) : (this.page_course.show(), + this.page_rule.close(), + this.tab_course.skin = this.tab_img_chosen, + this.tab_fan.skin = this.tab_img_dark)) + } + , + a.prototype.onDisable = function() { + this.page_course.close(), + this.page_course.close() + } + , + a.prototype.close = function() { + var e = this; + this.locking = !0, + Laya.Tween.to(this.blackmask, { + alpha: 0 + }, 150), + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + e.func_close && e.func_close.run() + })) + } + , + a.Inst = null, + a + }(t.UIBase); + t.UI_Rules = n +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.mj.scorechangeUI) || this; + return t.black_mask = null, + t.viewplayers = [], + t.container_arrow = null, + t.btn_confirm = null, + t.count_down = null, + t.label_waitingother = null, + t.change_num = [], + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + this.black_mask = this.me.getChildByName("black_mask"); + for (var e = 0; e < 4; e++) { + for (var i = this.me.getChildByName("player_" + e), n = [], a = 0; a < 7; a++) + n.push(i.getChildByName("container_score").getChildByName(a.toString())); + var r = { + name: i.getChildByName("name"), + txt_delta: i.getChildByName("label_delta"), + container_head: i.getChildByName("head"), + container: i, + x: i.x, + y: i.y, + rank_x: i.getChildByName("rank").x, + rank_y: i.getChildByName("rank").y, + head: new t.UI_Head(i.getChildByName("head")), + container_rank0: i.getChildByName("rank"), + rank0: i.getChildByName("rank").getChildByName("val"), + rank0_wei: i.getChildByName("rank").getChildAt(1), + container_rank1: i.getChildByName("rank1"), + rank1: i.getChildByName("rank1").getChildByName("val"), + rank1_wei: i.getChildByName("rank").getChildAt(1), + img_scores: n, + muyu: i.getChildByName("muyu") + }; + this.viewplayers.push(r) + } + this.container_arrow = this.me.getChildByName("container_arrow"), + this.btn_confirm = this.me.getChildByName("btn_confirm"), + this.count_down = this.btn_confirm.getChildByName("countdown"), + this.btn_confirm.clickHandler = Laya.Handler.create(this, this.onBtnConfirm, null, !1); + this.container_arrow.getChildByName("nums"); + this.label_waitingother = this.me.getChildByName("waitingother") + } + , + i.prototype.show = function(t) { + var e = this; + if (view.DesktopMgr.Inst.mode != view.EMJMode.paipu || view.DesktopMgr.Inst.record_show_anim) { + this.enable = !0, + this.black_mask.alpha = 0, + Laya.Tween.to(this.black_mask, { + alpha: .5 + }, 120); + for (var i = [], n = [], a = 0; a < t.length; a++) + i.push(a), + n.push(a); + i = i.sort(function(e, i) { + return 100 * (t[i].old_score - t[e].old_score) + e - i + }), + n = n.sort(function(e, i) { + return 100 * (t[i].old_score + t[i].delta - t[e].old_score - t[e].delta) + e - i + }); + for (var r = !1, a = 0; a < this.viewplayers.length; a++) { + this.viewplayers[a].container.visible = !1 + } + for (var s = function(a) { + var s = view.DesktopMgr.Inst.seat2LocalPosition(a) + , l = o.viewplayers[s]; + l.container.visible = !0; + var h = 0 + , c = 0; + switch (s) { + case 0: + c = -80; + break; + case 1: + h = -80; + break; + case 2: + c = 80; + break; + case 3: + h = 80 + } + l.container.x = l.x + h, + l.container.y = l.y + c, + l.container.alpha = 0, + Laya.Tween.to(l.container, { + alpha: 1, + x: l.x, + y: l.y + }, 100, null, null, 120); + var _ = view.DesktopMgr.Inst.player_datas[a] + , u = t[a] + , d = view.DesktopMgr.Inst.getPlayerName(a); + game.Tools.SetNickname(l.name, d), + l.head.id = _.avatar_id, + l.head.head_frame = _.avatar_frame, + o.setScore(l.img_scores, u.old_score); + for (var f = 0, p = 0; p < i.length; p++) + if (i[p] == a) { + f = p + 1; + break + } + for (var m = 0, p = 0; p < n.length; p++) + if (n[p] == a) { + m = p + 1; + break + } + l.container_rank0.visible = !0, + l.container_rank0.x = l.rank_x, + l.container_rank0.y = l.rank_y, + l.rank0.skin = game.Tools.localUISrc("myres/mjdesktop/s_" + f.toString() + ".png"), + l.rank0_wei.skin = game.Tools.localUISrc("myres/mjdesktop/s_" + f.toString() + "_" + f.toString() + ".png"), + l.container_rank0.alpha = 1, + l.txt_delta.visible = !1, + 0 != u.delta && (r = !0, + u.delta > 0 ? (l.txt_delta.text = "+" + u.delta, + l.txt_delta.color = "#64cf42") : (l.txt_delta.text = u.delta.toString(), + l.txt_delta.color = "#d61111"), + l.txt_delta.visible = !0, + l.txt_delta.alpha = 0, + Laya.Tween.to(l.txt_delta, { + alpha: 1 + }, 100, null, null, 250)), + l.container_rank1.visible = !1, + l.muyu.visible = view.DesktopMgr.Inst.muyu_info && view.DesktopMgr.Inst.muyu_info.seat == a, + Laya.timer.once(2500, o, function() { + r && (Laya.Tween.to(l.container_rank0, { + x: l.rank_x - 50, + alpha: 0 + }, 70, Laya.Ease.strongIn), + Laya.timer.once(300 + 300 * (4 - m), e, function() { + l.rank0.skin = game.Tools.localUISrc("myres/mjdesktop/s_" + m.toString() + ".png"), + l.rank0_wei.skin = game.Tools.localUISrc("myres/mjdesktop/s_" + m.toString() + "_" + m.toString() + ".png"), + Laya.Tween.to(l.container_rank0, { + x: l.rank_x, + alpha: 1 + }, 70, Laya.Ease.strongIn), + 1 == m ? (view.AudioMgr.PlayAudio(218), + Laya.timer.once(70, e, function() { + l.container_rank1.visible = !0, + l.rank1.skin = game.Tools.localUISrc("myres/mjdesktop/s_1.png"), + l.rank1_wei.skin = game.Tools.localUISrc("myres/mjdesktop/s_1_1.png"), + l.container_rank1.x = l.rank_x, + l.container_rank1.y = l.rank_y, + l.container_rank1.scaleX = l.container_rank1.scaleY = l.container_rank0.scaleX, + l.container_rank1.alpha = 1, + Laya.Tween.to(l.container_rank1, { + scaleX: 1.7, + scaleY: 1.7, + alpha: 0 + }, 500, Laya.Ease.strongOut) + })) : view.AudioMgr.PlayAudio(219) + })) + }) + }, o = this, a = 0; a < t.length; a++) + s(a); + this.container_arrow.visible = !0; + for (a = 0; a < 4; a++) + for (var l = a + 1; l < 4; l++) + this.container_arrow.getChildByName(a.toString() + l.toString()).visible = !1, + this.container_arrow.getChildByName(l.toString() + a.toString()).visible = !1; + if (Laya.timer.once(250, this, function() { + e.change_num = []; + for (var i = e.calu_line(t), n = 0; n < i.length; n++) { + var a = view.DesktopMgr.Inst.seat2LocalPosition(i[n].b) + , r = view.DesktopMgr.Inst.seat2LocalPosition(i[n].a) + , s = a.toString() + r.toString() + , o = e.container_arrow.getChildByName(s); + o.alpha = 0, + o.visible = !0, + Laya.Tween.to(o, { + alpha: 1 + }, 100) + } + }), + r) + for (var h = 0, a = 0; a < 33; a++) + Laya.timer.once(1200 + 30 * a, this, function() { + h % 5 == 0 && view.AudioMgr.PlayAudio(222); + for (var i = ++h / 33, n = 0; n < t.length; n++) + if (0 != t[n].delta) { + var a = view.DesktopMgr.Inst.seat2LocalPosition(n) + , r = Math.ceil(t[n].delta * i); + if (33 != h) { + var s = t[n].delta - r; + e.viewplayers[a].txt_delta.text = s > 0 ? "+" + s : s.toString() + } else + e.viewplayers[a].txt_delta.visible = !1; + e.setScore(e.viewplayers[a].img_scores, t[n].old_score + r) + } + }); + this.btn_confirm.visible = !1, + this.label_waitingother.visible = !1; + var c = r ? 4500 : 1200; + Laya.timer.once(c, this, function() { + e.btn_confirm.visible = !0, + e.btn_confirm.alpha = 0, + Laya.Tween.to(e.btn_confirm, { + alpha: 1 + }, 100); + for (var i = [], n = 0; n < t.length; n++) + i.push(t[n].delta + t[n].old_score); + if (view.DesktopMgr.Inst.setScores(i), + view.DesktopMgr.Inst.mode == view.EMJMode.play) { + e.count_down.text = "(3)", + e.count_down.visible = !0, + e.btn_confirm.getChildByName("confirm").x = 161; + for (var a = function(t) { + Laya.timer.once(1e3 * t, e, function() { + e.btn_confirm.visible && (e.count_down.text = "(" + (3 - t).toString() + ")") + }) + }, n = 0; n < 3; n++) + a(n); + Laya.timer.once(3e3, e, function() { + e.btn_confirm.visible && e.onBtnConfirm() + }) + } else + e.count_down.visible = !1, + e.btn_confirm.getChildByName("confirm").x = 127 + }) + } else + this.onBtnConfirm() + } + , + i.prototype.setScore = function(t, e) { + for (var i = e.toString(), n = 0; n < t.length; n++) + t[n].visible = !1; + for (n = 0; n < i.length && n < t.length; n++) { + var a = t[n]; + a.visible = !0; + var r = i.charAt(i.length - 1 - n); + a.skin = "-" == r ? game.Tools.localUISrc("myres/mjdesktop/ww_minus.png") : game.Tools.localUISrc("myres/mjdesktop/ww_" + r + ".png") + } + } + , + i.prototype.calu_line = function(t) { + for (var e = [], i = [], n = 0; n < t.length; n++) + i.push(t[n].delta); + for (; ; ) { + for (var a = -1, r = -1, s = -1, n = 0; n < i.length; n++) { + var o = -1 + , l = -1; + i[h = n] < 0 && (i[o = (h - 1 + i.length) % i.length] > 0 && (l = Math.min(-i[h], i[o])) > s && (s = l, + a = o, + r = h), + i[o = (h + 1) % i.length] > 0 && (l = Math.min(-i[h], i[o])) > s && (s = l, + a = o, + r = h)) + } + if (!(s > 0)) + break; + e.push({ + a: a, + b: r, + score: s + }), + i[a] -= s, + i[r] += s + } + for (; ; ) { + for (var a = -1, r = -1, s = -1, n = 0; n < i.length; n++) { + var h = n + , o = -1 + , l = -1; + i[h] < 0 && i[o = (h + 2) % i.length] > 0 && (l = Math.min(-i[h], i[o])) > s && (s = l, + a = o, + r = h) + } + if (!(s > 0)) + break; + e.push({ + a: a, + b: r, + score: s + }), + i[a] -= s, + i[r] += s + } + return e + } + , + i.prototype.onBtnConfirm = function() { + var e = this; + if (this.btn_confirm.visible = !1, + view.DesktopMgr.Inst.mode == view.EMJMode.play) + if (null != view.DesktopMgr.Inst.gameEndResult) + t.UIMgr.Inst.ShowGameEnd(), + this.enable = !1; + else { + view.DesktopMgr.Inst.Reset(), + Laya.timer.once(200, this, function() { + view.DesktopMgr.Inst.timestoped ? view.DesktopMgr.Inst.handles_after_timerun.push(Laya.Handler.create(e, function() { + app.NetAgent.sendReq2MJ("FastTest", "confirmNewRound", {}, function(t, e) {}) + })) : app.NetAgent.sendReq2MJ("FastTest", "confirmNewRound", {}, function(t, e) {}) + }), + this.label_waitingother.visible = !0; + var i = 0; + Laya.timer.loop(500, this, function() { + for (var t = game.Tools.strOfLocalization(2180), n = 0; n < i; n++) + t += "."; + i = (i + 1) % 4, + e.label_waitingother.text = t + }) + } + else if (view.DesktopMgr.Inst.mode == view.EMJMode.paipu) + t.UI_Replay.Inst.nextStep(!0), + this.enable = !1; + else if (view.DesktopMgr.Inst.mode == view.EMJMode.live_broadcast) { + this.label_waitingother.visible = !0; + var n = 0; + Laya.timer.loop(500, this, function() { + for (var t = game.Tools.strOfLocalization(2180), i = 0; i < n; i++) + t += "."; + n = (n + 1) % 4, + e.label_waitingother.text = t + }), + t.UI_Live_Broadcast.Inst.onScoreChangeConfirm() + } + } + , + i.prototype.onDisable = function() { + Laya.timer.clearAll(this) + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_ScoreChange = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.secondconfirmUI) || this; + return t.func_cancel = null, + t.func_confirm = null, + t.locking = !1, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_confirm").clickHandler = Laya.Handler.create(this, function() { + t.locking || (t.close(), + t.func_confirm && t.func_confirm.run(), + t.func_cancel = null, + t.func_confirm = null) + }, null, !1), + this.root.getChildByName("btn_cancel").clickHandler = Laya.Handler.create(this, function() { + t.locking || (t.close(), + t.func_cancel && t.func_cancel.run(), + t.func_cancel = null, + t.func_confirm = null) + }, null, !1), + this.root.getChildByName("btn_cancel").filters = [new Laya.ColorFilter([.3086, .6094, .082, 0, 0, .3086, .6094, .082, 0, 0, .3086, .6094, .082, 0, 0, 0, 0, 0, 1, 0])], + this.desc = this.root.getChildByName("desc"), + this.locking = !1 + } + , + i.prototype.show = function(e, i, n, a, r) { + var s = this; + void 0 === i && (i = null), + void 0 === n && (n = null), + void 0 === a && (a = 960), + void 0 === r && (r = 560), + this.func_cancel = n, + this.func_confirm = i, + this.set_desc(e), + this.root.x = a, + this.root.y = r, + this.root.getChildByName("btn_confirm").x = 122, + this.root.getChildByName("btn_cancel").x = 384, + this.root.getChildByName("btn_cancel").visible = !0, + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + s.locking = !1 + })) + } + , + i.prototype.show_only_confirm = function(e, i, n, a) { + var r = this; + void 0 === i && (i = null), + void 0 === n && (n = 960), + void 0 === a && (a = 560), + this.func_confirm = i, + this.set_desc(e), + this.root.x = n, + this.root.y = a, + this.root.getChildByName("btn_confirm").x = 253, + this.root.getChildByName("btn_cancel").visible = !1, + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + r.locking = !1 + })) + } + , + i.prototype.set_desc = function(t) { + this.desc.text = t, + this.desc.textField.textHeight > 1.5 * this.desc.fontSize ? this.desc.align = "left" : this.desc.align = "center" + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_SecondConfirm = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.shimingrenzhengUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.input_name = this.root.getChildByName("input_name").getChildByName("txtinput"), + this.input_id = this.root.getChildByName("input_id").getChildByName("txtinput"), + this.root.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + t.locking || t.renzheng() + }, null, !1), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1) + } + , + i.prototype.show = function(e) { + var i = this; + void 0 === e && (e = null), + this.locking = !0, + this.enable = !0, + this.complete = e, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.root.getChildByName("btn_close").visible = !1 + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i.prototype.test_dalu_id = function(t) { + if (!/^(([1][1-5])|([2][1-3])|([3][1-7])|([4][1-6])|([5][0-4])|([6][1-5])|([7][1])|([8][1-2]))\d{4}(([1][9]\d{2})|([2]\d{3}))(([0][1-9])|([1][0-2]))(([0][1-9])|([1-2][0-9])|([3][0-1]))\d{3}[0-9xX]$/.test(t)) + return !1; + var e = t.substr(6, 4) + , i = t.substr(10, 2) + , n = t.substr(12, 2) + , a = Date.parse(i + "-" + n + "-" + e) + , r = Date.now() + , s = new Date(e,i,0).getDate(); + if (a > r || n > s) + return !1; + for (var o = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2), l = new Array("1","0","X","9","8","7","6","5","4","3","2"), h = t.split(""), c = 0, _ = 0; _ < 17; _++) + c += parseInt(h[_]) * o[_]; + return h[17].toUpperCase() == l[c % 11].toUpperCase() + } + , + i.prototype.get_dalu_age = function(t) { + var e = t.substr(6, 4) + , i = t.substr(10, 2) + , n = t.substr(12, 2); + return Date.parse(i + "-" + n + "-" + e) + } + , + i.prototype.test_hk_id = function(t) { + if (10 != t.length) + return !1; + if ("(" != t.charAt(7) && "(" != t.charAt(7)) + return !1; + if (")" != t.charAt(9) && ")" != t.charAt(9)) + return !1; + var e = 0; + t = t.toUpperCase(); + var i = "A".charCodeAt(0) + , n = "Z".charCodeAt(0) + , a = "0".charCodeAt(0) + , r = t.charCodeAt(0); + if (r < i || r > n) + return !1; + e += 8 * (r - i + 1); + for (var s = 1; s <= 6; s++) { + var o = t.charCodeAt(s) - a; + if (o < 0 || o > 9) + return !1; + e += o * (8 - s) + } + return 0 == (e %= 11) ? "0" == t.charAt(8) : 1 == e ? "A" == t.charAt(8) : 11 - e == t.charCodeAt(8) - a + } + , + i.prototype.test_tw_id = function(t) { + if (10 != t.length) + return !1; + t = t.toUpperCase(); + for (var e = "ABCDEFGHJKLMNPQRSTUVXYWZIO", i = -1, n = 0; n < e.length; n++) + if (e.charAt(n) === t.charAt(0)) { + i = n; + break + } + if (-1 == i) + return !1; + for (var a = i + 10, r = Math.floor(a / 10), s = a % 10, o = "0".charCodeAt(0), l = r + 9 * s, n = 1; n <= 8; n++) { + var h = t.charCodeAt(n) - o; + if (h < 0 || h > 9) + return !1; + l += h * (9 - n) + } + var c = t.charCodeAt(9) - o; + return !(c < 0 || c > 9) && l % 10 == (10 - c) % 10 + } + , + i.prototype.test_aomen_id = function(t) { + return /^[1|5|7][0-9]{6}\([0-9Aa]\)/.test(t) + } + , + i.prototype.test_huzhao = function(t) { + return /^1[45][0-9]{7}|([P|p|S|s]\d{7})|([S|s|G|g]\d{8})|([Gg|Tt|Ss|Ll|Qq|Dd|Aa|Ff]\d{8})|([H|h|M|m]\d{8,10})$/.test(t) + } + , + i.prototype.test_taibaozheng = function(t) { + return /\d{10}\(B\)/.test(t) + } + , + i.prototype.test_taibaozheng2 = function(t) { + return /^([0-9]{8}|[0-9]{10})$/.test(t) + } + , + i.prototype.test_gangao_tongxingzheng = function(t) { + return /^[HMhm]{1}([0-9]{10}|[0-9]{8})$/.test(t) + } + , + i.prototype.test_tai_tongxingzheng = function(t) { + return /^[a-zA-Z][0-9]{9}$/.test(t) + } + , + i.prototype.test_id = function(t) { + return !!this.test_dalu_id(t) + } + , + i.prototype.renzheng = function() { + var e = this + , n = this.input_name.text; + if (n = n.replace("·", ""), + /^([\u4e00-\u9fa5]){2,10}$/.test(n)) { + var a = this.input_id.text; + a = (a = game.Tools.ToCDB(a)).replace(" ", ""); + this.test_id(a) ? app.NetAgent.sendReq2Lobby("Lobby", "updateIDCardInfo", { + fullname: this.input_name.text, + card_no: a + }, function(n, r) { + n || r.error ? t.UIMgr.Inst.showNetReqError("updateIDCardInfo", n, r) : (GameMgr.Inst.account_data.birthday = e.get_dalu_age(a), + i.renzhenged = !0, + e.close(), + t.UI_AgeSuccess_Chs.Inst.show(e.complete)) + }) : t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2183)) + } else + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2181)) + } + , + i.renzhenged = !1, + i + }(t.UIBase); + t.UI_ShiMingRenZheng = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.shopUI) || this; + return t.money = null, + t.tabs = [], + t.heads = [], + t.currencys = {}, + t.locking = !1, + t.shop_index = -1, + t.items = [], + t.usd_item_icon = {}, + i.Inst = t, + t + } + return __extends(i, e), + i.init = function() { + var e = this; + app.NetAgent.sendReq2Lobby("Lobby", "fetchShopInfo", {}, function(i, n) { + i || n.error ? t.UIMgr.Inst.showNetReqError("fetchShopInfo", i, n) : e.shopinfo = JSON.parse(JSON.stringify(n)).shop_info + }), + app.NetAgent.AddListener2Lobby("NotifyShopUpdate", Laya.Handler.create(this, function(t) { + e.shopinfo = t.shop_info, + e.Inst && e.Inst.enable && e.Inst.refresh_info() + }, null, !1)) + } + , + i.buyed_count = function(t, e) { + if (!this.shopinfo) + return 0; + var i = []; + if (e) { + if (!this.shopinfo.zhp) + return 0; + i = this.shopinfo.zhp.buy_records + } else + i = this.shopinfo.buy_records; + if (!i || 0 == i.length) + return 0; + for (var n = 0; n < i.length; n++) + if (i[n].id == t) + return i[n].count; + return 0 + } + , + i.update_buyed_count = function(t, e, i) { + if (!this.shopinfo) + return 0; + var n; + e ? (this.shopinfo.zhp || (this.shopinfo.zhp = {}), + this.shopinfo.zhp.buy_records || (this.shopinfo.zhp.buy_records = []), + n = this.shopinfo.zhp.buy_records) : (this.shopinfo.buy_records || (this.shopinfo.buy_records = []), + n = this.shopinfo.buy_records); + for (var a = !1, r = 0; r < n.length; r++) + if (n[r].id == t) { + n[r].count = i, + a = !0; + break + } + a || n.push({ + id: t, + count: i + }) + } + , + i.goods_on_sell = function(t) { + var e = cfg.shops.goods.get(t); + if (!e) + return !1; + var i = Date.now(); + return !(e.sell_start_time && "" != e.sell_start_time && game.Tools.ParseTime(e.sell_start_time) > i) && !(e.sell_end_time && "" != e.sell_end_time && game.Tools.ParseTime(e.sell_end_time) < i) + } + , + i.goods_discount_value = function(t) { + var e = cfg.shops.goods.get(t); + if (!e) + return 1; + if (!e.discount_start_time || "" == e.discount_start_time) + return 1; + if (!e.discount_end_time || "" == e.discount_end_time) + return 1; + var i = Date.now(); + if (game.Tools.ParseTime(e.discount_start_time) > i) + return 1; + if (game.Tools.ParseTime(e.discount_end_time) < i) + return 1; + var n = e.discount / 1e4; + return n < 0 ? 1 : n > 1 ? 1 : n + } + , + i.prototype.onCreate = function() { + var e = this; + this.container_top = this.me.getChildByName("top"), + this.container_top.getChildByName("btn_back").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close(Laya.Handler.create(e, function() { + t.UI_Lobby.Inst.enable = !0 + })) + }, null, !1), + this.money = new t.UI_Money(this.container_top,Laya.Handler.create(this, function(t) { + e.close(t) + }, null, !1),Laya.Handler.create(this, function() { + return e.locking + }, null, !1),new Laya.Handler(this,function() { + var t = e.shop_index; + return Laya.Handler.create(e, function() { + i.Inst.show(t) + }) + } + )), + this.container_content = this.me.getChildByName("content"), + this.container_tab = this.container_content.getChildByName("tabs"), + this.tabs = []; + for (var n = function(t) { + var i = a.container_tab.getChildByName("btn" + t); + a.tabs.push(i), + i.clickHandler = Laya.Handler.create(a, function() { + e.shop_index != t && e.change_tab(t) + }, null, !1) + }, a = this, r = 0; r < this.container_tab.numChildren; r++) + n(r); + var s = this.container_content.getChildByName("right"); + this.container_right = s, + this.timerefresh = s.getChildByName("head0").getChildByName("time"), + this.scrollview = s.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.render_item, null, !1), -1, 4), + this.heads = []; + for (r = 0; r < 4; r++) + this.heads.push(this.container_content.getChildByName("right").getChildByName("head" + r)); + this.btn_refreshZHP = this.heads[0].getChildByName("refresh"), + this.heads[0].getChildByName("refresh").clickHandler = Laya.Handler.create(this, function() { + e.locking || t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(2204), Laya.Handler.create(e, function() { + e.refresh_zhp() + }), null) + }, null, !1), + t.UI_Bag.add_item_listener(302002, Laya.Handler.create(this, function() { + 1 == e.shop_index && e.refresh_head_show() + }, null, !1)), + t.UI_Bag.add_item_listener(302003, Laya.Handler.create(this, function() { + 2 == e.shop_index && e.refresh_head_show() + }, null, !1)), + t.UI_Bag.add_item_listener(302004, Laya.Handler.create(this, function() { + 3 == e.shop_index && e.refresh_head_show() + }, null, !1)), + this.page_skin = new t.UI_Shop_Skin(this.container_content.getChildByName("skin_shop")) + } + , + i.prototype.have_red_point = function() { + return this.page_skin.have_red_point() + } + , + i.prototype.getLocalTime = function() { + var t = (new Date).getTime(); + return t = Math.ceil(t / 1e3), + t += 10800, + t %= 86400, + (t = 86400 - t) < 3600 ? (t = Math.ceil(t / 60), + game.Tools.strOfLocalization(2674, [t.toString()]) + game.Tools.strOfLocalization(2748)) : (t = Math.ceil(t / 3600), + game.Tools.strOfLocalization(2674, [t.toString()]) + game.Tools.strOfLocalization(2747)) + } + , + i.prototype.show = function(e) { + var i = this; + void 0 === e && (e = 0), + this.enable = !0, + this.locking = !0, + this.usd_item_icon = {}, + game.Scene_Lobby.Inst.change_bg("indoor", !1), + t.UIBase.anim_alpha_in(this.container_top, { + y: -30 + }, 150), + t.UIBase.anim_alpha_in(this.container_content, { + y: 30 + }, 150), + this.refresh_info(e), + this.money.onEnable(), + this.timerefresh.text = this.getLocalTime(), + Laya.timer.once(150, this, function() { + i.locking = !1 + }), + this.tabs[4].getChildByName("redpoint").visible = this.page_skin.have_red_point() + } + , + i.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_alpha_out(this.container_top, { + y: -30 + }, 150), + t.UIBase.anim_alpha_out(this.container_content, { + y: 30 + }, 150), + Laya.timer.once(150, this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + }) + } + , + i.prototype.onDisable = function() { + for (var t in this.usd_item_icon) + Laya.loader.clearTextureRes(game.LoadMgr.getResImageSkin(t)); + this.usd_item_icon = {} + } + , + i.prototype.refresh_info = function(t) { + void 0 === t && (t = 0), + i.shopinfo ? this.change_tab(t) : this.change_tab(-1) + } + , + i.prototype.change_tab = function(t) { + var e = this; + i.shopinfo || (t = -1), + this.shop_index = t; + for (l = 0; l < this.tabs.length; l++) + this.tabs[l].skin = game.Tools.localUISrc(t == l ? "myres/shop/tab_choose.png" : "myres/shop/tab_unchoose.png"), + this.tabs[l].getChildAt(0).color = t == l ? "#d9b263" : "#8cb65f"; + if (this.container_right.visible = !1, + this.page_skin.close(), + 4 == this.shop_index) + this.page_skin.show(), + this.tabs[4].getChildByName("redpoint").visible = !1; + else { + if (this.container_right.visible = !0, + this.refresh_head_show(), + this.items = [], + this.scrollview.reset(), + 0 == this.shop_index) { + var n = i.shopinfo.zhp; + if (n) { + if (n.goods) + for (l = 0; l < n.goods.length; l++) + this.items.push({ + shop_item_id: n.goods[l], + buyed_count: 0, + sort: l + }); + if (n.buy_records) + for (l = 0; l < n.buy_records.length; l++) + for (var a = n.buy_records[l], r = 0; r < this.items.length; r++) + this.items[r].shop_item_id == a.id && (this.items[r].buyed_count = a.count) + } + } else if (1 == this.shop_index || 2 == this.shop_index) { + cfg.shops.goods.forEach(function(t) { + t.category == e.shop_index && e.items.push({ + shop_item_id: t.id, + buyed_count: 0, + sort: t.sort + }) + }), + this.items = this.items.sort(function(t, e) { + return t.sort - e.sort + }); + if ((o = i.shopinfo).buy_records) + for (l = 0; l < o.buy_records.length; l++) + for (var a = o.buy_records[l], s = 0; s < this.items.length; s++) + this.items[s].shop_item_id == a.id && (this.items[s].buyed_count = a.count) + } else if (3 == this.shop_index) { + cfg.shops.goods.forEach(function(t) { + 4 == t.category && e.items.push({ + shop_item_id: t.id, + buyed_count: 0, + sort: t.sort + }) + }), + cfg.shops.goods.forEach(function(t) { + if (3 == t.category) { + if (t.sell_end_time && "" != t.sell_end_time) { + if (game.Tools.ParseTime(t.sell_end_time) - Date.now() <= 0) + return + } + e.items.push({ + shop_item_id: t.id, + buyed_count: 0, + sort: t.sort + 1e5 + }) + } + }), + this.items = this.items.sort(function(t, e) { + return t.sort - e.sort + }); + var o = i.shopinfo; + if (o.buy_records) + for (var l = 0; l < o.buy_records.length; l++) + for (var a = o.buy_records[l], h = 0; h < this.items.length; h++) + this.items[h].shop_item_id == a.id && (this.items[h].buyed_count = a.count) + } + this.scrollview.addItem(this.items.length) + } + } + , + i.prototype.refresh_head_show = function() { + for (var e = 0; e < this.heads.length; e++) + this.heads[e].visible = this.shop_index == e; + if (0 == this.shop_index) { + var n = i.shopinfo.zhp; + if (n) { + var a = this.heads[0].getChildByName("refresh") + , r = this.heads[0].getChildByName("noinfo") + , s = this.heads[0].getChildByName("count"); + if (a.visible = !1, + r.visible = !1, + s.text = "", + n.free_refresh && n.free_refresh.count < n.free_refresh.limit) + a.visible = !0, + a.getChildByName("pay").visible = !1, + a.getChildByName("free").visible = !0, + a.getChildByName("free").text = game.Tools.strOfLocalization(2185), + s.text = game.Tools.strOfLocalization(2186) + (n.free_refresh.limit - n.free_refresh.count); + else if (n.cost_refresh && n.cost_refresh.count < n.cost_refresh.limit) { + var o = cfg.shops.zhp_refresh_price.get(n.cost_refresh.count + 1); + if (o) { + a.visible = !0, + a.getChildByName("free").visible = !1; + var l = a.getChildByName("pay"); + l.visible = !0; + var h = l.getChildByName("count") + , c = l.getChildByName("icon") + , _ = l.getChildByName("money"); + h.text = game.Tools.strOfLocalization(2187), + s.text = game.Tools.strOfLocalization(2188) + (n.cost_refresh.limit - n.cost_refresh.count), + c.skin = game.LoadMgr.getResImageSkin(cfg.item_definition.currency.get(100001).icon), + _.text = "×" + o.refresh_price.toString(), + game.Tools.child_align_center(a.getChildByName("pay"), [30]) + } else + r.visible = !0 + } else + r.visible = !0 + } else + this.heads[0].visible = !1 + } else if (this.shop_index >= 1 && this.shop_index <= 3) { + var u = void 0; + switch (this.shop_index) { + case 1: + u = 302002; + break; + case 2: + u = 302003; + break; + case 3: + u = 302004 + } + var d = this.heads[this.shop_index]; + this.currencys[this.shop_index] || (this.currencys[this.shop_index] = new t.UI_Item_Skin(d.getChildByName("icon"))), + this.currencys[this.shop_index].setSkin(cfg.item_definition.item.get(u).icon_transparent), + d.getChildByName("count").text = "×" + t.UI_Bag.get_item_count(u).toString() + } + } + , + i.prototype.render_item = function(e) { + var n = this + , a = e.index + , r = e.container + , s = e.cache_data; + s.skin || (s.skin = new t.UI_Item_Skin(r.getChildByName("btn").getChildByName("icon"))); + var o, l, h = this.items[a], c = 0, _ = !1; + if (0 == this.shop_index) + l = cfg.item_definition.currency.get(100002).icon, + o = cfg.shops.zhp_goods.get(h.shop_item_id), + c = GameMgr.Inst.account_data.gold; + else { + var u = (o = cfg.shops.goods.get(h.shop_item_id)).currency; + l = 10 == Math.floor(u / 1e4) ? cfg.item_definition.currency.get(u).icon : cfg.item_definition.item.get(u).icon_transparent, + c = t.UI_Bag.get_item_count(u), + _ = 4 == o.category + } + var d = r.getChildByName("btn"); + if (d.clickHandler = Laya.Handler.create(this, function() { + if (t.UI_PiPeiYuYue.Inst.enable) + t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null); + else if (o.need_amount) { + e = { + item_id: o.item_id, + icon: o.icon, + currency_icon: game.LoadMgr.getResImageSkin(l), + single_price: o.price, + my_currency_count: c, + mounthly: _, + buy_limit: o.buy_limit, + buyed_count: h.buyed_count, + show_has: o.show_has + }; + t.UI_Pop_Buy_Multi.Inst.show(e, Laya.Handler.create(n, function(e) { + var a = Laya.Handler.create(n, function() { + 0 == n.shop_index ? i.Inst.want_to_buy_zhp(h.shop_item_id, e) : i.Inst.want_to_buy_othershop(h.shop_item_id, e) + }); + GameMgr.inDmm ? t.UI_Dmm_Buy_Pop.Inst.show(game.Tools.strOfLocalization(8004), a) : a.run() + })) + } else { + var e = { + item_id: o.item_id, + icon: o.icon, + currency_icon: game.LoadMgr.getResImageSkin(l), + single_price: o.price, + my_currency_count: c, + buy_limit: o.buy_limit, + buyed_count: h.buyed_count, + show_has: o.show_has, + buyed_img: game.Tools.localUISrc("myres/shop/buyed.png") + }; + t.UI_Pop_Buy_Single.Inst.show(e, Laya.Handler.create(n, function() { + var e = Laya.Handler.create(n, function() { + 0 == n.shop_index ? i.Inst.want_to_buy_zhp(h.shop_item_id, 1) : i.Inst.want_to_buy_othershop(h.shop_item_id, 1) + }); + GameMgr.inDmm ? t.UI_Dmm_Buy_Pop.Inst.show(game.Tools.strOfLocalization(8004), e) : e.run() + })) + } + }, null, !1), + d.getChildByName("label_name").text = o["name_" + GameMgr.client_language], + s.skin.setSkin(o.icon), + this.usd_item_icon[o.icon] = 1, + o.buy_limit >= 0) { + var f = cfg.item_definition.item.get(o.item_id); + if (4 == o.category) + if (h.buyed_count >= o.buy_limit) { + (g = d.getChildByName("buyed")).visible = !0, + f && f.is_unique ? g.skin = game.Tools.localUISrc("myres/shop/owned.png") : g.skin = game.Tools.localUISrc("myres/shop/buyed.png"), + d.getChildByName("icon").filters = [new Laya.ColorFilter(t.DARK_FILTER)], + d.getChildByName("btn_buy").filters = [new Laya.ColorFilter(t.GRAY_FILTER)], + d.getChildByName("count").visible = !0, + d.getChildByName("count").text = game.Tools.strOfLocalization(2189) + "0" + } else { + d.getChildByName("icon").filters = [], + d.getChildByName("btn_buy").filters = [], + d.getChildByName("buyed").visible = !1, + d.getChildByName("count").visible = !0; + m = o.buy_limit - h.buyed_count; + d.getChildByName("count").text = game.Tools.strOfLocalization(2189) + m + } + else { + var p = !0; + if (f && f.is_unique && t.UI_Bag.get_item_count(f.id) > 0 && (p = !1), + h.buyed_count >= o.buy_limit && (p = !1), + p) { + d.getChildByName("icon").filters = [], + d.getChildByName("btn_buy").filters = [], + d.getChildByName("buyed").visible = !1, + d.getChildByName("count").visible = !0; + var m = o.buy_limit - h.buyed_count; + d.getChildByName("count").text = m > 1 ? game.Tools.strOfLocalization(2190) + m.toString() : "" + } else { + d.getChildByName("icon").filters = [new Laya.ColorFilter(t.DARK_FILTER)], + d.getChildByName("btn_buy").filters = [new Laya.ColorFilter(t.GRAY_FILTER)]; + var g = d.getChildByName("buyed"); + f.is_unique ? g.skin = game.Tools.localUISrc("myres/shop/owned.png") : g.skin = game.Tools.localUISrc("myres/shop/buyed.png"), + g.visible = !0, + d.getChildByName("count").visible = !1 + } + } + } else + d.getChildByName("icon").filters = [], + d.getChildByName("btn_buy").filters = [], + d.getChildByName("buyed").visible = !1, + d.getChildByName("count").visible = !1; + if (o.sell_end_time && "" != o.sell_end_time) { + d.getChildByName("time_limit").visible = !0; + var y = d.getChildByName("count"); + y.visible = !0; + var v = game.Tools.ParseTime(o.sell_end_time) - Date.now(); + v <= 0 ? y.text = game.Tools.strOfLocalization(2818) : (v /= 1e3) <= 60 ? y.text = game.Tools.strOfLocalization(2819, ["1"]) : (v /= 60) < 60 ? y.text = game.Tools.strOfLocalization(2819, [Math.ceil(v).toString()]) : (v /= 60, + y.text = v < 24 ? game.Tools.strOfLocalization(2820, [Math.ceil(v).toString()]) : game.Tools.strOfLocalization(2821, [Math.ceil(v / 24).toString()])) + } else + d.getChildByName("time_limit").visible = !1; + d.getChildByName("btn_buy").getChildByName("currency").skin = game.LoadMgr.getResImageSkin(l), + d.getChildByName("btn_buy").getChildByName("label_gold").text = o.price, + game.Tools.child_align_center(d.getChildByName("btn_buy")) + } + , + i.prototype.want_to_buy_zhp = function(e, n) { + var a = this; + app.NetAgent.sendReq2Lobby("Lobby", "buyFromZHP", { + goods_id: e, + count: n + }, function(r, s) { + if (r || s.error) + t.UIMgr.Inst.showNetReqError("buyFromZHP", r, s); + else { + if (GameMgr.inDmm) { + var o = cfg.shops.zhp_goods.get(e); + t.UI_LightTips.Inst.show_dmm(o.item_id, 1) + } else + t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2191)); + if (view.AudioMgr.PlayAudio(106), + 0 == a.shop_index) + for (c = 0; c < a.items.length; c++) + if (a.items[c].shop_item_id == e) { + a.items[c].buyed_count += n, + a.scrollview.wantToRefreshItem(c); + break + } + var l = i.shopinfo.zhp; + if (l) { + l.buy_records || (l.buy_records = []); + for (var h = !1, c = 0; c < l.buy_records.length; c++) + if (l.buy_records[c].id == e) { + l.buy_records[c].count += n, + h = !0; + break + } + h || l.buy_records.push({ + id: e, + count: n + }) + } + } + }) + } + , + i.prototype.want_to_buy_othershop = function(e, n) { + var a = this; + app.NetAgent.sendReq2Lobby("Lobby", "buyFromShop", { + goods_id: e, + count: n, + deal_price: cfg.shops.goods.get(e).price * n + }, function(r, s) { + if (r || s.error) + t.UIMgr.Inst.showNetReqError("buyFromShop", r, s); + else { + if (view.AudioMgr.PlayAudio(106), + 0 != a.shop_index) + for (h = 0; h < a.items.length; h++) + if (a.items[h].shop_item_id == e) { + a.items[h].buyed_count += n, + a.scrollview.wantToRefreshItem(h); + break + } + i.shopinfo.buy_records || (i.shopinfo.buy_records = []); + for (var o = i.shopinfo.buy_records, l = !1, h = 0; h < o.length; h++) + if (o[h].id == e) { + o[h].count += n, + l = !0; + break + } + if (l || o.push({ + id: e, + count: n + }), + s.rewards && s.rewards.length > 0) + game.Tools.showRewards(s, null); + else if (GameMgr.inDmm) { + var c = cfg.shops.goods.get(e); + t.UI_LightTips.Inst.show_dmm(c.item_id, n) + } else + t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2191)) + } + }) + } + , + i.prototype.refresh_zhp = function() { + var e = this; + game.Tools.setGrayDisable(this.btn_refreshZHP, !0); + var n = i.shopinfo.zhp + , a = 0 + , r = 0; + n && (n.free_refresh && n.free_refresh.count && (a = n.free_refresh.count), + n.cost_refresh && n.cost_refresh.count < n.cost_refresh.limit && (r = n.cost_refresh.count)), + app.NetAgent.sendReq2Lobby("Lobby", "refreshZHPShop", { + free_refresh: a, + cost_refresh: r + }, function(n, a) { + if (game.Tools.setGrayDisable(e.btn_refreshZHP, !1), + n || a.error) { + if (a && a.error && 501 == a.error.code) + return void t.UI_Diamond_Less.Inst.show(Laya.Handler.create(e, e.close), Laya.Handler.create(e, function() { + i.Inst.show(0) + })); + t.UIMgr.Inst.showNetReqError("refreshZHPShop", n, a) + } else { + i.shopinfo.zhp = JSON.parse(JSON.stringify(a.zhp)); + i.shopinfo.zhp; + 0 == e.shop_index && e.change_tab(0) + } + }) + } + , + i.Inst = null, + i.shopinfo = null, + i + }(t.UIBase); + t.UI_Shop = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.shop_lobby_yulanUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.container_info = this.me.getChildByName("container_info"), + this.label_name = this.container_info.getChildByName("name"), + this.label_desc = this.container_info.getChildByName("info"), + this.container_right = this.me.getChildByName("container_right"), + this.container_buy = this.container_right.getChildByName("container_buy"), + this.container_right.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close(Laya.Handler.create(e, function() { + t.UI_Shop.Inst.show(4) + })) + } + ) + } + , + i.prototype.show = function(e) { + var i = this; + this.goods_id = e, + this.enable = !0, + game.Scene_Lobby.Inst.change_bg("yard", !1), + this.locking = !0, + t.UIBase.anim_alpha_in(this.container_right, { + x: 100 + }, 200), + t.UIBase.anim_alpha_in(this.container_info, { + x: -100 + }, 200), + Laya.timer.once(350, this, function() { + i.locking = !1 + }), + this.refresh_buy() + } + , + i.prototype.refresh_price = function(t, e, i, n) { + var a = t.getChildByName("container_origin_price") + , r = t.getChildByName("container_discount"); + if (a.visible = !1, + r.visible = !1, + i >= 1) + a.visible = !0, + a.getChildByName("now_price").text = e.toString(), + a.getChildByName("currency").skin = n; + else { + r.visible = !0, + r.getChildByName("discount").text = "-" + (100 - Math.ceil(100 * i)) + "%", + r.getChildByName("currency").skin = n; + var s = r.getChildByName("now_price") + , o = r.getChildByName("origin_price") + , l = r.getChildByName("del"); + o.text = e.toString(), + s.text = Math.floor(e * i).toString(), + l.width = o.textField.textWidth + 6 + } + } + , + i.prototype.refresh_buy = function() { + for (var e = this, n = cfg.shops.goods.get(this.goods_id), a = cfg.item_definition.item.get(n.item_id), r = a["desc_" + GameMgr.client_language]; r.indexOf("{name}") > 0; ) + r = r.replace("{name}", GameMgr.Inst.account_data.nickname); + if (r = r, + this.label_desc.text = r, + this.label_name.text = a["name_" + GameMgr.client_language], + t.UI_Bag.get_item_count(n.item_id) > 0) + this.container_buy.getChildByName("container_discount").visible = !1, + this.container_buy.getChildByName("container_origin_price").visible = !1, + this.container_buy.getChildByName("btn_buy").visible = !1, + this.container_buy.getChildByName("owned").visible = !0; + else { + var s = game.LoadMgr.getResImageSkin(game.GameUtility.get_item_view(n.currency).icon); + this.container_buy.getChildByName("owned").visible = !1, + this.refresh_price(this.container_buy, n.price, t.UI_Shop.goods_discount_value(n.id), s); + var o = this.container_buy.getChildByName("btn_buy"); + o.visible = !0, + o.clickHandler = Laya.Handler.create(this, function() { + var a = Laya.Handler.create(e, function() { + view.AudioMgr.PlayAudio(106), + t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2191)), + e.refresh_buy(), + t.UI_Bag.remove_item_listener(n.item_id, a) + }); + t.UI_Bag.add_item_listener(n.item_id, a), + t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(2822, [n["desc_" + GameMgr.client_language]]), Laya.Handler.create(e, function() { + app.NetAgent.sendReq2Lobby("Lobby", "buyFromShop", { + goods_id: e.goods_id, + count: 1, + deal_price: Math.floor(n.price * t.UI_Shop.goods_discount_value(n.id)) + }, function(r, s) { + if (game.Tools.setGrayDisable(o, !1), + r || s.error) { + if (s && s.error && (t.UI_Bag.remove_item_listener(n.item_id, a), + 501 == s.error.code && 100004 == n.currency)) + return void t.UI_Pifuquanless.Inst.show(Laya.Handler.create(e, e.close), Laya.Handler.create(e, function() { + game.Scene_Lobby.Inst.set_lobby_bg(n.item_id, Laya.Handler.create(e, function() { + i.Inst.show(n.id) + })) + })); + t.UIMgr.Inst.showNetReqError("buyFromShop", r, s) + } + }) + })) + }, null, !1) + } + } + , + i.prototype.close = function(e) { + var i = this; + Laya.timer.clearAll(this), + this.locking = !0, + t.UIBase.anim_alpha_out(this.container_info, { + x: -100 + }, 200), + t.UIBase.anim_alpha_out(this.container_right, { + x: 100 + }, 200), + Laya.timer.once(200, this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + }) + } + , + i.prototype.onDisable = function() { + game.Scene_Lobby.Inst.change_bg("indoor", !1), + game.Scene_Lobby.Inst.set_lobby_bg(game.GameUtility.get_view_id(game.EView.lobby_bg)) + } + , + i + }(t.UIBase); + t.UI_Shop_Lobby_Yulan = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.shop_pack_detailUI) || this; + return t.locking = !1, + t.goods_id = 0, + t.packs = [], + t.origin_total_price = 0, + t.discount_pack = 0, + t.now_total_price = 0, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.scrollview = this.root.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_cell)), + this.container_total_price = this.root.getChildByName("container_total_price"), + this.container_discount = this.root.getChildByName("container_discount"), + this.container_final_price = this.root.getChildByName("container_final_price"), + this.btn_buy = this.root.getChildByName("btn_buy"), + this.btn_buy.clickHandler = new Laya.Handler(this,this.onBuy), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + t.locking || t.close() + } + ) + } + , + i.prototype.onBuy = function() { + if (!this.locking) { + this.close(); + for (var e = [], i = 0; i < this.packs.length; i++) + this.packs[i].owned || e.push({ + id: this.packs[i].goods_id, + count: 1, + dealPrice: this.packs[i].now_price + }); + var n = this.when_buy_event + , a = this.goods_id; + n.runWith({ + event: "begin", + goods_id: a + }), + app.NetAgent.sendReq2Lobby("Lobby", "buyFromShop", { + goods_id: this.goods_id, + count: 1, + bill_short_cut: e, + deal_price: this.now_total_price + }, function(e, i) { + e || i.error ? t.UIMgr.Inst.showNetReqError("buyFromShop", e, i) : (view.AudioMgr.PlayAudio(106), + t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2191)), + n.runWith({ + event: "success", + goods_id: a + })) + }) + } + } + , + i.prototype.show = function(e, i) { + var n = this; + this.goods_id = e, + this.when_buy_event = i; + var a = cfg.shops.goods.get(this.goods_id); + if (a && 100 == a.category_goods) { + var r = cfg.shops.goods_package.getGroup(a.item_id); + if (r && 0 != r.length) { + this.packs = [], + this.origin_total_price = 0; + for (var s = "", o = 0; o < r.length; o++) { + var l = r[o].good_id + , h = r[o].good_count + , c = cfg.shops.goods.get(l) + , _ = c.price; + 0 == o && (s = game.LoadMgr.getResImageSkin(game.GameUtility.get_item_view(c.currency).icon)); + var u = t.UI_Shop.goods_discount_value(l) + , d = Math.floor(_ * u) + , f = !1; + 1 == c.category_goods && (f = t.UI_Sushe.skin_owned(c.item_id)), + this.packs.push({ + goods_id: l, + count: h, + origin_price: _, + discount: u, + now_price: d, + owned: f + }), + f || (this.origin_total_price += d) + } + this.discount_pack = t.UI_Shop.goods_discount_value(this.goods_id), + this.now_total_price = Math.floor(this.origin_total_price * this.discount_pack), + this.container_total_price.getChildByName("value").text = this.origin_total_price.toString(), + this.container_total_price.getChildByName("currency").skin = s, + this.container_discount.getChildByName("value").text = "-" + (100 - Math.ceil(100 * this.discount_pack)) + "%", + this.container_final_price.getChildByName("value").text = this.now_total_price.toString(), + this.container_final_price.getChildByName("currency").skin = s, + this.scrollview.reset(), + this.scrollview.addItem(this.packs.length), + this.enable = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + n.locking = !1 + })) + } + } + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i.prototype.onDisable = function() {} + , + i.prototype.refresh_price = function(t, e, i, n) { + var a = t.getChildByName("container_origin_price") + , r = t.getChildByName("container_discount"); + if (a.visible = !1, + r.visible = !1, + i >= 1) + a.visible = !0, + a.getChildByName("now_price").text = e.toString(), + a.getChildByName("currency").skin = n; + else { + r.visible = !0, + r.getChildByName("discount").text = "-" + (100 - Math.ceil(100 * i)) + "%"; + var s = r.getChildByName("now_price"); + r.getChildByName("currency0").skin = n, + r.getChildByName("currency1").skin = n; + var o = r.getChildByName("origin_price") + , l = r.getChildByName("del"); + o.text = e.toString(), + s.text = Math.floor(e * i).toString(), + l.width = o.textField.textWidth + 6 + } + } + , + i.prototype.render_cell = function(t) { + var e = t.index + , i = t.container + , n = this.packs[e] + , a = cfg.shops.goods.get(n.goods_id); + if (1 == a.category_goods) { + i.getChildByName("head").getChildByName("flag_skin").visible = !0; + var r = cfg.item_definition.skin.get(a.item_id); + game.LoadMgr.setImgSkin(i.getChildByName("head").getChildByName("icon"), r.path + "/bighead.png") + } else + i.getChildByName("head").getChildByName("flag_skin").visible = !1, + game.LoadMgr.setImgSkin(i.getChildByName("head").getChildByName("icon"), a.icon); + if (i.getChildByName("name").text = a["name_" + GameMgr.client_language], + i.getChildByName("desc").text = a["desc_" + GameMgr.client_language], + n.owned) + i.getChildByName("container_buy").visible = !1, + i.getChildByName("owned").visible = !0; + else { + i.getChildByName("container_buy").visible = !0, + i.getChildByName("owned").visible = !1; + var s = game.LoadMgr.getResImageSkin(game.GameUtility.get_item_view(a.currency).icon); + this.refresh_price(i.getChildByName("container_buy"), n.origin_price, n.discount, s) + } + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_Shop_Pack_Detail = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e; + !function(t) { + t[t.none = 0] = "none", + t[t.down = 1] = "down", + t[t.move = 2] = "move" + }(e || (e = {})); + var i = function(i) { + function n() { + var t = i.call(this, new ui.lobby.shop_skin_yulanUI) || this; + return t.skin_cells = [], + t.mouse_state = e.none, + n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.container_illust = this.me.getChildByName("illust"), + this.illust = this.container_illust.getChildByName("illust"), + this.container_info = this.me.getChildByName("container_info"), + this.label_name = this.container_info.getChildByName("name"), + this.label_character = this.container_info.getChildByName("character"), + this.label_desc = this.container_info.getChildByName("info"), + this.container_right = this.me.getChildByName("right"), + this.container_buy = this.container_right.getChildByName("container_buy"), + this.container_chooses = this.container_right.getChildByName("container_chooses"); + for (var n = 0; n < this.container_chooses.numChildren; n++) { + var a = this.container_chooses.getChildAt(n); + this.skin_cells.push({ + me: a, + mask: a.mask, + content: a.getChildByName("content"), + icon: a.getChildByName("content").getChildByName("icon"), + gray_mask: a.getChildByName("content").getChildByName("gray") + }) + } + this.btn_choose = this.container_right.getChildByName("btn_choose"); + var r = function() { + i.onChangeAngle(30 * Math.floor((i.target_angle + 15) / 30)) + }; + this.btn_choose.on("mousedown", this, function() { + i.locking || (i.mouse_state = e.down, + i.last_mouse_x = i.btn_choose.mouseX) + }), + this.btn_choose.on("mouseup", this, function() { + i.mouse_state == e.down ? function() { + for (var t = i.btn_choose.mouseX, e = 0; e < i.skin_cells.length; e++) { + var n = i.skin_cells[e]; + if (n.me.visible && n.me.x <= t && t <= n.me.x + n.me.width) { + if (n.goods_index == i.choosed_goods_index) + return; + i.onChangeAngle(30 * n.goods_index); + break + } + } + }() : i.mouse_state == e.move && r(), + i.mouse_state = e.none + }), + this.btn_choose.on("mousemove", this, function() { + var t = i.btn_choose.mouseX + , n = t - i.last_mouse_x; + i.mouse_state == e.down && Math.abs(n) > 10 && (i.mouse_state = e.move), + i.mouse_state == e.move && (i.onChangeAngle(i.target_angle - 180 * n / 400), + i.last_mouse_x = t) + }), + this.btn_choose.on("mouseover", this, function() { + i.mouse_state == e.move && r(), + i.mouse_state = e.none + }), + this.container_right.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + i.locking || i.close(Laya.Handler.create(i, function() { + t.UI_Shop.Inst.show(4) + })) + } + ), + this.btn_left = this.container_right.getChildByName("btn_left"), + this.btn_right = this.container_right.getChildByName("btn_right"), + this.btn_left.clickHandler = new Laya.Handler(this,function() { + i.locking || i.choosed_goods_index <= 0 || i.onChangeAngle(30 * (i.choosed_goods_index - 1)) + } + ), + this.btn_right.clickHandler = new Laya.Handler(this,function() { + i.locking || i.choosed_goods_index >= i.goods_lst.length - 1 || i.onChangeAngle(30 * (i.choosed_goods_index + 1)) + } + ) + } + , + n.prototype.onChangeAngle = function(t) { + t < 0 && (t = 0), + t > 30 * this.goods_lst.length - 30 && (t = 30 * this.goods_lst.length - 30), + this.target_angle = t; + var e = Math.floor((t + 15) / 30); + e != this.choosed_goods_index && (this.choosed_goods_index = e, + this.onCenterCharacterChange()) + } + , + n.prototype.refresh_scroll = function() { + for (var t = 30 * Math.floor(this.current_angle / 30) - 90, e = [], i = 0; i < this.skin_cells.length; i++) + e.push(!1); + for (var n = this.container_chooses.width / 2, i = 0; i <= 6; i++) { + var a = t + 30 * i + , r = a - this.current_angle; + if (Math.abs(r) < 89) { + var s = a / 30 + , o = s % this.skin_cells.length; + if (s >= 0 && s < this.goods_lst.length) { + e[o] = !0; + var l = this.skin_cells[o]; + if (this.skin_cells[o].goods_index != s) { + var h = this.goods_lst[s]; + l.me.visible = !0, + l.goods_index = s, + game.LoadMgr.setImgSkin(l.icon, h.icon + "/waitingroom.png") + } + for (var c = Math.cos(r * Math.PI / 180), _ = 0; _ < 4; _++) + c *= c; + l.gray_mask.alpha = 1 - c, + l.me.x = Math.sin((r - 15) * Math.PI / 180) * n + n, + l.me.width = (Math.sin((r + 15) * Math.PI / 180) - Math.sin((r - 15) * Math.PI / 180)) * n, + l.mask.width = l.me.width, + l.content.x = l.me.width / 2, + l.me.y = 0 + } + } + } + for (i = 0; i < this.skin_cells.length; i++) + e[i] || (this.skin_cells[i].goods_index = -1, + this.skin_cells[i].me.visible = !1, + this.skin_cells[i].me.width = 0) + } + , + n.prototype.refresh_price = function(t, e, i, n) { + var a = t.getChildByName("container_origin_price") + , r = t.getChildByName("container_discount"); + if (a.visible = !1, + r.visible = !1, + i >= 1) + a.visible = !0, + a.getChildByName("now_price").text = e.toString(), + a.getChildByName("currency").skin = n; + else { + r.visible = !0, + r.getChildByName("discount").text = "-" + (100 - Math.ceil(100 * i)) + "%", + r.getChildByName("currency").skin = n; + var s = r.getChildByName("now_price") + , o = r.getChildByName("origin_price") + , l = r.getChildByName("del"); + o.text = e.toString(), + s.text = Math.floor(e * i).toString(), + l.width = o.textField.textWidth + 6 + } + } + , + n.prototype.refresh_buy = function() { + var e = this + , i = cfg.shops.goods.get(this.goods_lst[this.choosed_goods_index].goods_id); + if (t.UI_Sushe.skin_owned(i.item_id)) + this.container_buy.getChildByName("container_discount").visible = !1, + this.container_buy.getChildByName("container_origin_price").visible = !1, + this.container_buy.getChildByName("btn_buy").visible = !1, + this.container_buy.getChildByName("owned").visible = !0; + else { + var a = game.LoadMgr.getResImageSkin(game.GameUtility.get_item_view(i.currency).icon); + this.container_buy.getChildByName("owned").visible = !1, + this.refresh_price(this.container_buy, i.price, t.UI_Shop.goods_discount_value(i.id), a); + var r = this.container_buy.getChildByName("btn_buy"); + r.visible = !0, + r.clickHandler = Laya.Handler.create(this, function() { + t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(2822, [i["name_" + GameMgr.client_language]]), Laya.Handler.create(e, function() { + app.NetAgent.sendReq2Lobby("Lobby", "buyFromShop", { + goods_id: e.goods_lst[e.choosed_goods_index].goods_id, + count: 1, + deal_price: Math.floor(i.price * t.UI_Shop.goods_discount_value(i.id)) + }, function(a, s) { + if (game.Tools.setGrayDisable(r, !1), + a || s.error) { + if (s && s.error && 501 == s.error.code && 100004 == i.currency) + return void t.UI_Pifuquanless.Inst.show(Laya.Handler.create(e, e.close), Laya.Handler.create(e, function() { + n.Inst.show(i.id) + })); + t.UIMgr.Inst.showNetReqError("buyFromShop", a, s) + } else + view.AudioMgr.PlayAudio(106), + t.UI_Sushe.add_skin(i.item_id), + t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2191)), + e.refresh_buy() + }) + })) + }, null, !1) + } + Laya.Tween.clearAll(this.container_buy), + this.container_buy.y = 640, + this.container_buy.alpha = 0, + Laya.Tween.to(this.container_buy, { + y: 570, + alpha: 1 + }, 200) + } + , + n.prototype.update_anim = function() { + if (this.current_angle != this.target_angle) { + var t = Math.abs(this.target_angle - this.current_angle) + , e = .005 / 30 * t * t + .1 + , i = Laya.timer.delta * e; + i >= t ? this.current_angle = this.target_angle : this.target_angle > this.current_angle ? this.current_angle += i : this.current_angle -= i, + this.refresh_scroll() + } + } + , + n.prototype.refresh_skin = function() { + var t = this.goods_lst[this.choosed_goods_index] + , e = (cfg.shops.goods.get(t.goods_id), + cfg.item_definition.skin.get(t.skin_id)); + game.LoadMgr.setImgSkin(this.illust, e.path + "/full.png"); + var i = 1e3 / e.full_height; + this.illust.height = 1e3, + this.illust.width = e.full_width * i, + this.illust.x = 620 - e.full_center_x * e.full_width * i, + this.illust.y = 40, + this.label_name.text = e["name_" + GameMgr.client_language], + this.label_character.text = cfg.item_definition.character.get(e.character_id)["name_" + GameMgr.client_language]; + for (var n = e["desc_" + GameMgr.client_language]; n.indexOf("{name}") > 0; ) + n = n.replace("{name}", GameMgr.Inst.account_data.nickname); + this.label_desc.text = n, + Laya.Tween.clearAll(this.container_illust), + Laya.Tween.clearAll(this.container_info), + this.container_illust.x = -200, + this.container_illust.alpha = 0, + Laya.Tween.to(this.container_illust, { + x: 0, + alpha: 1 + }, 200, Laya.Ease.linearNone), + this.container_info.x = -200, + this.container_info.alpha = 0, + Laya.Tween.to(this.container_info, { + x: 0, + alpha: 1 + }, 200, Laya.Ease.linearNone) + } + , + n.prototype.onCenterCharacterChange = function() { + this.refresh_skin(), + this.refresh_buy(), + this.btn_left.visible = this.choosed_goods_index > 0, + this.btn_right.visible = this.choosed_goods_index < this.goods_lst.length - 1 + } + , + n.prototype.show = function(i) { + var n = this; + void 0 === i && (i = -1), + this.goods_lst = [], + this.current_angle = 0, + this.choosed_goods_index = 0, + cfg.shops.goods.forEach(function(e) { + 5 == e.category && 1 == e.category_goods && t.UI_Shop.goods_on_sell(e.id) && (n.goods_lst.push({ + goods_id: e.id, + skin_id: e.item_id, + icon: cfg.item_definition.skin.get(e.item_id).path + }), + e.id == i && (n.choosed_goods_index = n.goods_lst.length - 1, + n.current_angle = 30 * n.choosed_goods_index)) + }), + this.target_angle = this.current_angle, + this.enable = !0, + this.onCenterCharacterChange(), + this.refresh_scroll(), + this.mouse_state = e.none, + Laya.timer.clearAll(this), + Laya.timer.frameLoop(1, this, this.update_anim), + this.locking = !0, + t.UIBase.anim_alpha_in(this.container_right, { + x: 100 + }, 200), + Laya.timer.once(350, this, function() { + n.locking = !1 + }) + } + , + n.prototype.close = function(e) { + var i = this; + Laya.timer.clearAll(this), + this.locking = !0, + t.UIBase.anim_alpha_out(this.container_right, { + x: 100 + }, 200), + t.UIBase.anim_alpha_out(this.container_illust, { + x: -100 + }, 200), + t.UIBase.anim_alpha_out(this.container_info, { + x: -100 + }, 200), + Laya.timer.once(200, this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + }) + } + , + n.prototype.onDisable = function() { + for (t = 0; t < this.skin_cells.length; t++) + this.skin_cells[t].icon.skin = "", + this.skin_cells[t].me.visible = !1, + this.skin_cells[t].me.width = 0, + this.skin_cells[t].mask.width = 0, + this.skin_cells[t].goods_index = -1; + this.illust.skin = ""; + for (var t = 0; t < this.goods_lst.length; t++) + Laya.loader.clearTextureRes(game.LoadMgr.getResImageSkin(this.goods_lst[t].icon + "/waitingroom.png")), + Laya.loader.clearTextureRes(game.LoadMgr.getResImageSkin(this.goods_lst[t].icon + "/full.png")); + this.goods_lst = [] + } + , + n + }(t.UIBase); + t.UI_Shop_Skin_Yulan = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.skin_yulanUI) || this; + return t.scale = 1, + t.during_move = !1, + t.mouse_start_x = 0, + t.mouse_start_y = 0, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.illust = this.me.getChildByName("illust"), + this.skin = new t.UI_Character_Skin(this.illust.getChildByName("illust")), + this.container_move = this.me.getChildByName("move"), + this.container_move.on("mousedown", this, function() { + e.during_move = !0, + e.mouse_start_x = e.container_move.mouseX, + e.mouse_start_y = e.container_move.mouseY + }), + this.container_move.on("mousemove", this, function() { + e.during_move && (e.move(e.container_move.mouseX - e.mouse_start_x, e.container_move.mouseY - e.mouse_start_y), + e.mouse_start_x = e.container_move.mouseX, + e.mouse_start_y = e.container_move.mouseY) + }), + this.container_move.on("mouseup", this, function() { + e.during_move = !1 + }), + this.container_move.on("mouseout", this, function() { + e.during_move = !1 + }), + this.btn_big = this.me.getChildByName("btn_big"), + this.btn_big.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.bigger() + }, null, !1), + this.btn_small = this.me.getChildByName("btn_small"), + this.btn_small.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.smaller() + }, null, !1), + this.btn_close = this.me.getChildByName("btn_close"), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.container_info = this.me.getChildByName("container_info"), + this.label_name = this.container_info.getChildByName("name"), + this.label_character = this.container_info.getChildByName("character"), + this.label_desc = this.container_info.getChildByName("info") + } + , + i.prototype.show = function(e, i) { + var n = this; + this.when_close = i, + this.skin.setSkin(e, "full"), + this.illust_start_x = this.illust.x, + this.illust_start_y = this.illust.y, + this.illust_center_x = 1017, + this.illust_center_y = 629, + this.scale = 1, + this.illust.scaleX = this.illust.scaleY = 1, + this.illust.x = this.illust_center_x, + this.illust.y = this.illust_center_y; + var a = cfg.item_definition.skin.get(e); + this.label_name.text = a["name_" + GameMgr.client_language], + this.label_character.text = cfg.item_definition.character.get(a.character_id)["name_" + GameMgr.client_language]; + for (var r = a["desc_" + GameMgr.client_language]; r.indexOf("{name}") > 0; ) + r = r.replace("{name}", GameMgr.Inst.account_data.nickname); + this.label_desc.text = r, + this.enable = !0, + this.locking = !0, + t.UIBase.anim_pop_out(this.btn_big, null), + t.UIBase.anim_pop_out(this.btn_small, null), + t.UIBase.anim_pop_out(this.btn_close, null), + this.illust.alpha = 1, + Laya.Tween.from(this.illust, { + x: this.illust_center_x - 100, + alpha: 0 + }, 200, Laya.Ease.backOut), + this.container_info.alpha = 0, + this.container_info.x = -100, + Laya.Tween.to(this.container_info, { + x: 0, + alpha: 1 + }, 200, Laya.Ease.backOut), + this.during_move = !1, + Laya.timer.once(250, this, function() { + n.locking = !1 + }) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + Laya.Tween.to(this.illust, { + alpha: 0 + }, 200), + Laya.Tween.to(this.container_info, { + alpha: 0 + }, 200), + t.UIBase.anim_pop_hide(this.btn_big, null), + t.UIBase.anim_pop_hide(this.btn_small, null), + t.UIBase.anim_pop_hide(this.btn_close, null), + Laya.timer.once(250, this, function() { + e.locking = !1, + e.enable = !1, + e.when_close && e.when_close.run() + }) + } + , + i.prototype.onDisable = function() { + this.skin.clear() + } + , + i.prototype.bigger = function() { + 1.1 * this.scale > 1.5 || (this.scale *= 1.1, + Laya.Tween.to(this.illust, { + scaleX: this.scale, + scaleY: this.scale + }, 100, null, null, 0, !0, !0)) + } + , + i.prototype.smaller = function() { + this.scale / 1.1 < .5 || (this.scale /= 1.1, + Laya.Tween.to(this.illust, { + scaleX: this.scale, + scaleY: this.scale + }, 100, null, null, 0, !0, !0)) + } + , + i.prototype.move = function(t, e) { + var i = this.illust.x + t + , n = this.illust.y + e; + i < this.illust_center_x - 600 ? i = this.illust_center_x - 600 : i > this.illust_center_x + 600 && (i = this.illust_center_x + 600), + n < this.illust_center_y - 1200 ? n = this.illust_center_y - 1200 : n > this.illust_center_y + 800 && (n = this.illust_center_y + 800), + this.illust.x = i, + this.illust.y = n + } + , + i + }(t.UIBase); + t.UI_Skin_Yulan = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t, e) { + var i = this; + this.scale = 1, + this.during_move = !1, + this.mouse_start_x = 0, + this.mouse_start_y = 0, + this.me = t, + this.container_illust = e, + this.illust = this.container_illust.getChildByName("illust"), + this.container_move = t.getChildByName("move"), + this.container_move.on("mousedown", this, function() { + i.during_move = !0, + i.mouse_start_x = i.container_move.mouseX, + i.mouse_start_y = i.container_move.mouseY + }), + this.container_move.on("mousemove", this, function() { + i.during_move && (i.move(i.container_move.mouseX - i.mouse_start_x, i.container_move.mouseY - i.mouse_start_y), + i.mouse_start_x = i.container_move.mouseX, + i.mouse_start_y = i.container_move.mouseY) + }), + this.container_move.on("mouseup", this, function() { + i.during_move = !1 + }), + this.container_move.on("mouseout", this, function() { + i.during_move = !1 + }), + this.btn_big = t.getChildByName("btn_big"), + this.btn_big.clickHandler = Laya.Handler.create(this, function() { + i.locking || i.bigger() + }, null, !1), + this.btn_small = t.getChildByName("btn_small"), + this.btn_small.clickHandler = Laya.Handler.create(this, function() { + i.locking || i.smaller() + }, null, !1), + this.btn_close = t.getChildByName("btn_close"), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + i.locking || i.close() + }, null, !1) + } + return e.prototype.show = function(e) { + var n = this; + this.locking = !0, + this.when_close = e, + this.illust_start_x = this.illust.x, + this.illust_start_y = this.illust.y, + this.illust_center_x = this.illust.x + 984 - 446, + this.illust_center_y = this.illust.y + 11 - 84, + this.container_illust.getChildByName("container_name").visible = !1, + this.container_illust.getChildByName("container_name_en").visible = !1, + this.container_illust.getChildByName("btn").visible = !1, + i.Inst.stopsay(), + this.scale = 1, + Laya.Tween.to(this.illust, { + x: this.illust_center_x, + y: this.illust_center_y + }, 200), + t.UIBase.anim_pop_out(this.btn_big, null), + t.UIBase.anim_pop_out(this.btn_small, null), + t.UIBase.anim_pop_out(this.btn_close, null), + this.during_move = !1, + Laya.timer.once(250, this, function() { + n.locking = !1 + }), + this.me.visible = !0 + } + , + e.prototype.close = function() { + var e = this; + this.locking = !0, + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? this.container_illust.getChildByName("container_name").visible = !0 : this.container_illust.getChildByName("container_name_en").visible = !0, + this.container_illust.getChildByName("btn").visible = !0, + Laya.Tween.to(this.illust, { + x: this.illust_start_x, + y: this.illust_start_y, + scaleX: 1, + scaleY: 1 + }, 200), + t.UIBase.anim_pop_hide(this.btn_big, null), + t.UIBase.anim_pop_hide(this.btn_small, null), + t.UIBase.anim_pop_hide(this.btn_close, null), + Laya.timer.once(250, this, function() { + e.locking = !1, + e.me.visible = !1, + e.when_close.run() + }) + } + , + e.prototype.bigger = function() { + 1.1 * this.scale > 1.5 || (this.scale *= 1.1, + Laya.Tween.to(this.illust, { + scaleX: this.scale, + scaleY: this.scale + }, 100, null, null, 0, !0, !0)) + } + , + e.prototype.smaller = function() { + this.scale / 1.1 < .5 || (this.scale /= 1.1, + Laya.Tween.to(this.illust, { + scaleX: this.scale, + scaleY: this.scale + }, 100, null, null, 0, !0, !0)) + } + , + e.prototype.move = function(t, e) { + var i = this.illust.x + t + , n = this.illust.y + e; + i < this.illust_center_x - 600 ? i = this.illust_center_x - 600 : i > this.illust_center_x + 600 && (i = this.illust_center_x + 600), + n < this.illust_center_y - 1200 ? n = this.illust_center_y - 1200 : n > this.illust_center_y + 800 && (n = this.illust_center_y + 800), + this.illust.x = i, + this.illust.y = n + } + , + e + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.lobby.susheUI) || this; + return t.contianer_illust = null, + t.illust = null, + t.container_name = null, + t.label_name = null, + t.label_cv = null, + t.container_page = null, + t.container_look_illust = null, + t.page_select_character = null, + t.page_visit_character = null, + t.origin_illust_x = 0, + t.chat_id = 0, + t._select_index = 0, + t.container_chat = null, + t.sound_channel = null, + t.chat_block = null, + t.illust_showing = !0, + n.Inst = t, + t + } + return __extends(n, i), + n.init = function(e) { + var i = this; + app.NetAgent.sendReq2Lobby("Lobby", "fetchCharacterInfo", {}, function(n, a) { + if (n || a.error) + t.UIMgr.Inst.showNetReqError("fetchCharacterInfo", n, a); + else { + if (app.Log.log("fetchCharacterInfo: " + JSON.stringify(a)), + (a = JSON.parse(JSON.stringify(a))).main_character_id && a.characters) { + if (i.characters = [], + a.characters) + for (r = 0; r < a.characters.length; r++) + i.characters.push(a.characters[r]); + if (i.skin_map = {}, + a.skins) + for (var r = 0; r < a.skins.length; r++) + i.skin_map[a.skins[r]] = 1; + i.main_character_id = a.main_character_id + } else + i.characters = [], + i.characters.push({ + charid: 200001, + level: 0, + exp: 0, + views: [], + skin: 400101, + is_upgraded: !1, + extra_emoji: [] + }), + i.characters.push({ + charid: 200002, + level: 0, + exp: 0, + views: [], + skin: 400201, + is_upgraded: !1, + extra_emoji: [] + }), + i.skin_map[400101] = 1, + i.skin_map[400201] = 1, + i.main_character_id = 200001; + i.send_gift_count = 0, + i.send_gift_limit = 0, + a.send_gift_count && (i.send_gift_count = a.send_gift_count), + a.send_gift_limit && (i.send_gift_limit = a.send_gift_limit), + e.run() + } + }), + app.NetAgent.sendReq2Lobby("Lobby", "fetchAllCommonViews", {}, function(e, n) { + if (e || n.error) + t.UIMgr.Inst.showNetReqError("fetchAllCommonViews", e, n); + else { + i.using_commonview_index = n.use, + i.commonViewList = [[], [], [], [], [], [], [], []]; + var a = n.views; + if (a) + for (var r = 0; r < a.length; r++) { + var s = a[r].values; + s && (i.commonViewList[a[r].index] = s) + } + GameMgr.Inst.load_mjp_view() + } + }) + } + , + n.on_data_updata = function(e) { + if (e.character) { + var i = JSON.parse(JSON.stringify(e.character)); + if (i.characters) + for (var n = i.characters, a = 0; a < n.length; a++) { + for (var r = !1, s = 0; s < this.characters.length; s++) + if (this.characters[s].charid == n[a].charid) { + this.characters[s] = n[a], + t.UI_Sushe_Visit.Inst && t.UI_Sushe_Visit.Inst.chara_info && t.UI_Sushe_Visit.Inst.chara_info.charid == this.characters[s].charid && (t.UI_Sushe_Visit.Inst.chara_info = this.characters[s]), + r = !0; + break + } + r || this.characters.push(n[a]) + } + if (i.skins) { + for (var o = i.skins, a = 0; a < o.length; a++) + this.skin_map[o[a]] = 1; + t.UI_Bag.Inst.on_skin_change() + } + } + } + , + n.chara_owned = function(t) { + for (var e = 0; e < this.characters.length; e++) + if (this.characters[e].charid == t) + return !0; + return !1 + } + , + n.skin_owned = function(t) { + return this.skin_map.hasOwnProperty(t.toString()) + } + , + n.add_skin = function(t) { + this.skin_map[t] = 1 + } + , + Object.defineProperty(n, "main_chara_info", { + get: function() { + for (var t = 0; t < this.characters.length; t++) + if (this.characters[t].charid == this.main_character_id) + return this.characters[t]; + return null + }, + enumerable: !0, + configurable: !0 + }), + n.on_view_remove = function(t) { + for (var e = 0; e < this.commonViewList.length; e++) + for (var i = this.commonViewList[e], n = 0; n < i.length; n++) + if (i[n].item_id == t) { + i[n].item_id = game.GameUtility.get_view_default_item_id(i[n].slot); + break + } + cfg.item_definition.item.get(t).type == game.EView.head_frame && GameMgr.Inst.account_data.avatar_frame == t && (GameMgr.Inst.account_data.avatar_frame = game.GameUtility.get_view_default_item_id(game.EView.head_frame)) + } + , + Object.defineProperty(n.prototype, "select_index", { + get: function() { + return this._select_index + }, + enumerable: !0, + configurable: !0 + }), + n.prototype.onCreate = function() { + var i = this; + this.contianer_illust = this.me.getChildByName("illust"), + this.illust = new t.UI_Character_Skin(this.contianer_illust.getChildByName("illust").getChildByName("illust")), + this.container_chat = this.contianer_illust.getChildByName("chat"), + this.chat_block = new t.UI_Character_Chat(this.container_chat), + this.contianer_illust.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + if (!i.page_visit_character.me.visible || !i.page_visit_character.cannot_click_say) + if (i.sound_channel) + i.stopsay(); + else { + if (!i.illust_showing) + return; + i.say("lobby_normal") + } + }, null, !1), + this.container_name = null, + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? (this.container_name = this.contianer_illust.getChildByName("container_name"), + this.contianer_illust.getChildByName("container_name_en").visible = !1) : (this.container_name = this.contianer_illust.getChildByName("container_name_en"), + this.contianer_illust.getChildByName("container_name").visible = !1), + this.label_name = this.container_name.getChildByName("label_name"), + this.label_cv = this.container_name.getChildByName("label_CV"), + this.origin_illust_x = this.contianer_illust.x, + this.container_page = this.me.getChildByName("container_page"), + this.page_select_character = new t.UI_Sushe_Select, + this.container_page.addChild(this.page_select_character.me), + this.page_visit_character = new t.UI_Sushe_Visit, + this.container_page.addChild(this.page_visit_character.me), + this.container_look_illust = new e(this.me.getChildByName("look_illust"),this.contianer_illust) + } + , + n.prototype.show = function(t) { + GameMgr.Inst.BehavioralStatistics(15), + game.Scene_Lobby.Inst.change_bg("indoor", !1), + this.enable = !0, + this.page_visit_character.me.visible = !1, + this.container_look_illust.me.visible = !1; + for (var e = 0, i = 0; i < n.characters.length; i++) + if (n.characters[i].charid == n.main_character_id) { + e = i; + break + } + 0 == t ? (this.change_select(e), + this.show_page_select()) : (this._select_index = -1, + this.illust_showing = !1, + this.contianer_illust.visible = !1, + this.page_select_character.show(1)) + } + , + n.prototype.starup_back = function() { + this.enable = !0, + this.change_select(this._select_index), + this.show_page_visit(!0) + } + , + n.prototype.go2Lobby = function() { + this.close(Laya.Handler.create(this, function() { + t.UIMgr.Inst.showLobby() + })) + } + , + n.prototype.close = function(e) { + var i = this; + this.illust_showing && t.UIBase.anim_alpha_out(this.contianer_illust, { + x: -30 + }, 150, 0), + Laya.timer.once(150, this, function() { + i.enable = !1, + e && e.run() + }) + } + , + n.prototype.onDisable = function() { + this.illust.clear(), + this.stopsay(), + this.container_look_illust.me.visible && this.container_look_illust.close() + } + , + n.prototype.hide_illust = function() { + var e = this; + this.illust_showing && (this.illust_showing = !1, + t.UIBase.anim_alpha_out(this.contianer_illust, { + x: -30 + }, 200, 0, Laya.Handler.create(this, function() { + e.contianer_illust.visible = !1 + }))) + } + , + n.prototype.open_illust = function() { + if (!this.illust_showing) + if (this.illust_showing = !0, + this._select_index >= 0) + this.contianer_illust.visible = !0, + this.contianer_illust.alpha = 1, + t.UIBase.anim_alpha_in(this.contianer_illust, { + x: -30 + }, 200); + else { + for (var e = 0, i = 0; i < n.characters.length; i++) + if (n.characters[i].charid == n.main_character_id) { + e = i; + break + } + this.change_select(e) + } + } + , + n.prototype.show_page_select = function() { + this.page_select_character.show(0) + } + , + n.prototype.show_page_visit = function(t) { + this.page_visit_character.show(n.characters[this._select_index], t) + } + , + n.prototype.change_select = function(e) { + this._select_index = e, + this.illust.clear(), + this.illust_showing = !0; + var i = n.characters[e]; + this.label_name.text = cfg.item_definition.character.get(i.charid)["name_" + GameMgr.client_language], + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? this.label_cv.text = "CV" + cfg.item_definition.character.get(i.charid)["desc_cv_" + GameMgr.client_language] : this.label_cv.text = "CV:" + cfg.item_definition.character.get(i.charid)["desc_cv_" + GameMgr.client_language], + this.illust.setSkin(i.skin, "full"), + this.contianer_illust.visible = !0, + Laya.Tween.clearAll(this.contianer_illust), + this.contianer_illust.x = this.origin_illust_x, + this.contianer_illust.alpha = 1, + t.UIBase.anim_alpha_in(this.contianer_illust, { + x: -30 + }, 230), + this.stopsay() + } + , + n.prototype.onChangeSkin = function(t) { + n.characters[this._select_index].skin = t, + this.change_select(this._select_index), + n.characters[this._select_index].charid == n.main_character_id && (GameMgr.Inst.account_data.avatar_id = t), + app.NetAgent.sendReq2Lobby("Lobby", "changeCharacterSkin", { + character_id: n.characters[this._select_index].charid, + skin: t + }, function(t, e) {}) + } + , + n.prototype.say = function(t) { + var e = this + , i = n.characters[this._select_index]; + this.chat_id++; + var a = this.chat_id + , r = view.AudioMgr.PlayCharactorSound(i, t, Laya.Handler.create(this, function() { + Laya.timer.once(1e3, e, function() { + a == e.chat_id && e.stopsay() + }) + })); + r && (this.chat_block.show(r.words), + this.sound_channel = r.sound) + } + , + n.prototype.stopsay = function() { + this.chat_block.close(!1), + this.sound_channel && (this.sound_channel.stop(), + Laya.SoundManager.removeChannel(this.sound_channel), + this.sound_channel = null) + } + , + n.prototype.to_look_illust = function() { + var t = this; + this.container_look_illust.show(Laya.Handler.create(this, function() { + t.page_select_character.show(0) + })) + } + , + n.characters = [], + n.skin_map = {}, + n.main_character_id = 0, + n.send_gift_count = 0, + n.send_gift_limit = 0, + n.commonViewList = [], + n.using_commonview_index = 0, + n.Inst = null, + n + }(t.UIBase); + t.UI_Sushe = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(e) { + var n = this; + this.scrollview = null, + this.select_index = 0, + this.me = e, + this.me.getChildByName("btn_visit").clickHandler = Laya.Handler.create(this, function() { + i.Inst.locking || i.Inst.close(Laya.Handler.create(n, function() { + t.UI_Sushe.Inst.show_page_visit(!1) + })) + }, null, !1), + this.me.getChildByName("btn_look").clickHandler = Laya.Handler.create(this, function() { + i.Inst.locking || i.Inst.close(Laya.Handler.create(n, function() { + t.UI_Sushe.Inst.to_look_illust() + })) + }, null, !1), + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_character_cell), -1, 3) + } + return e.prototype.show = function(e) { + this.me.visible = !0, + e ? this.me.alpha = 1 : t.UIBase.anim_alpha_in(this.me, { + x: 0 + }, 200, 0), + this.select_index = t.UI_Sushe.Inst.select_index, + this.scrollview.reset(), + this.scrollview.addItem(t.UI_Sushe.characters.length) + } + , + e.prototype.render_character_cell = function(e) { + var i = this + , n = e.index + , a = e.container + , r = e.cache_data; + r.index = n, + r.inited || (r.inited = !0, + a.getChildByName("btn").clickHandler = new Laya.Handler(this,function() { + i.onClickAtHead(r.index) + } + ), + r.skin = new t.UI_Character_Skin(a.getChildByName("btn").getChildByName("head"))); + var s = a.getChildByName("btn"); + s.getChildByName("choose").visible = n == this.select_index, + r.skin.setSkin(t.UI_Sushe.characters[n].skin, "bighead"), + s.getChildByName("using").visible = t.UI_Sushe.characters[n].charid == t.UI_Sushe.main_character_id, + s.getChildByName("label_name").text = cfg.item_definition.character.find(t.UI_Sushe.characters[n].charid)["name_" + GameMgr.client_language] + } + , + e.prototype.onClickAtHead = function(e) { + if (this.select_index == e) { + if (t.UI_Sushe.characters[e].charid != t.UI_Sushe.main_character_id) + if (t.UI_PiPeiYuYue.Inst.enable) + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2769)); + else { + var i = t.UI_Sushe.main_character_id; + t.UI_Sushe.main_character_id = t.UI_Sushe.characters[e].charid, + app.NetAgent.sendReq2Lobby("Lobby", "changeMainCharacter", { + character_id: t.UI_Sushe.main_character_id + }, function(t, e) {}), + GameMgr.Inst.account_data.avatar_id = t.UI_Sushe.characters[e].skin; + for (var n = 0; n < t.UI_Sushe.characters.length; n++) + t.UI_Sushe.characters[n].charid == i && this.scrollview.wantToRefreshItem(n); + this.scrollview.wantToRefreshItem(e) + } + } else { + var a = this.select_index; + this.select_index = e, + this.scrollview.wantToRefreshItem(a), + this.scrollview.wantToRefreshItem(e), + t.UI_Sushe.Inst.change_select(e) + } + } + , + e.prototype.close = function(e) { + var i = this; + this.me.visible && (e ? this.me.visible = !1 : t.UIBase.anim_alpha_out(this.me, { + x: 0 + }, 200, 0, Laya.Handler.create(this, function() { + i.me.visible = !1 + }))) + } + , + e + }() + , i = function(i) { + function n() { + var t = i.call(this, "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? new ui.lobby.sushe_selectUI : new ui.lobby.sushe_select_enUI) || this; + return t.bg_width_head = 988, + t.bg_width_zhuangban = 1819, + t.bg2_delta = -29, + t.container_top = null, + t.locking = !1, + t.tabs = [], + t.tab_index = 0, + n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.container_top = this.me.getChildByName("top"), + this.container_top.getChildByName("btn_back").clickHandler = Laya.Handler.create(this, function() { + i.locking || (1 == i.tab_index && i.container_zhuangban.changed ? t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(3022), Laya.Handler.create(i, function() { + i.close(), + t.UI_Sushe.Inst.go2Lobby() + }), null) : (i.close(), + t.UI_Sushe.Inst.go2Lobby())) + }, null, !1), + this.root = this.me.getChildByName("root"), + this.bg2 = this.root.getChildByName("bg2"), + this.bg = this.root.getChildByName("bg"); + for (var n = this.root.getChildByName("container_tabs"), a = function(e) { + r.tabs.push(n.getChildAt(e)), + r.tabs[e].clickHandler = new Laya.Handler(r,function() { + i.locking || i.tab_index != e && (1 == i.tab_index && i.container_zhuangban.changed ? t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(3022), Laya.Handler.create(i, function() { + i.change_tab(e) + }), null) : i.change_tab(e)) + } + ) + }, r = this, s = 0; s < n.numChildren; s++) + a(s); + this.container_head = new e(this.root.getChildByName("container_heads")), + this.container_zhuangban = new t.zhuangban.Container_Zhuangban(this.root.getChildByName("container_zhuangban0"),this.root.getChildByName("container_zhuangban1"),new Laya.Handler(this,function() { + return i.locking + } + )) + } + , + n.prototype.show = function(e) { + var i = this; + this.enable = !0, + this.locking = !0, + this.tab_index = e, + 0 == this.tab_index ? (this.bg.width = this.bg_width_head, + this.bg2.width = this.bg.width + this.bg2_delta, + this.container_zhuangban.close(!0), + this.container_head.show(!0), + t.UIBase.anim_alpha_in(this.container_top, { + y: -30 + }, 200), + t.UIBase.anim_alpha_in(this.root, { + x: 30 + }, 200)) : (this.bg.width = this.bg_width_zhuangban, + this.bg2.width = this.bg.width + this.bg2_delta, + this.container_zhuangban.show(!0), + this.container_head.close(!0), + t.UIBase.anim_alpha_in(this.container_top, { + y: -30 + }, 200), + t.UIBase.anim_alpha_in(this.root, { + y: 30 + }, 200)), + Laya.timer.once(200, this, function() { + i.locking = !1 + }); + for (var n = 0; n < this.tabs.length; n++) { + var a = this.tabs[n]; + a.skin = game.Tools.localUISrc(n == this.tab_index ? "myres/sushe/btn_shine2.png" : "myres/sushe/btn_dark2.png"); + var r = a.getChildByName("word"); + r.color = n == this.tab_index ? "#552c1c" : "#d3a86c", + r.scaleX = r.scaleY = n == this.tab_index ? 1.1 : 1, + n == this.tab_index && a.parent.setChildIndex(a, this.tabs.length - 1) + } + } + , + n.prototype.change_tab = function(e) { + var i = this; + this.tab_index = e; + for (var n = 0; n < this.tabs.length; n++) { + var a = this.tabs[n]; + a.skin = game.Tools.localUISrc(n == e ? "myres/sushe/btn_shine2.png" : "myres/sushe/btn_dark2.png"); + var r = a.getChildByName("word"); + r.color = n == e ? "#552c1c" : "#d3a86c", + r.scaleX = r.scaleY = n == e ? 1.1 : 1, + n == e && a.parent.setChildIndex(a, this.tabs.length - 1) + } + this.locking = !0, + 0 == this.tab_index ? (this.container_zhuangban.close(!1), + Laya.Tween.to(this.bg, { + width: this.bg_width_head + }, 200, Laya.Ease.strongOut, Laya.Handler.create(this, function() { + t.UI_Sushe.Inst.open_illust(), + i.container_head.show(!1) + })), + Laya.Tween.to(this.bg2, { + width: this.bg_width_head + this.bg2_delta + }, 200, Laya.Ease.strongOut)) : 1 == this.tab_index && (this.container_head.close(!1), + t.UI_Sushe.Inst.hide_illust(), + Laya.Tween.to(this.bg, { + width: this.bg_width_zhuangban + }, 200, Laya.Ease.strongOut, Laya.Handler.create(this, function() { + i.container_zhuangban.show(!1) + })), + Laya.Tween.to(this.bg2, { + width: this.bg_width_zhuangban + this.bg2_delta + }, 200, Laya.Ease.strongOut)), + Laya.timer.once(400, this, function() { + i.locking = !1 + }) + } + , + n.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_alpha_out(this.container_top, { + y: -30 + }, 150), + 0 == this.tab_index ? t.UIBase.anim_alpha_out(this.root, { + x: 30 + }, 150, 0, Laya.Handler.create(this, function() { + i.container_head.close(!0) + })) : t.UIBase.anim_alpha_out(this.root, { + y: 30 + }, 150, 0, Laya.Handler.create(this, function() { + i.container_zhuangban.close(!0) + })), + Laya.timer.once(150, this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + }) + } + , + n.prototype.onDisable = function() { + for (var e = 0; e < t.UI_Sushe.characters.length; e++) { + var i = t.UI_Sushe.characters[e].skin + , n = cfg.item_definition.skin.get(i); + n && Laya.loader.clearTextureRes(game.LoadMgr.getResImageSkin(n.path + "/bighead.png")) + } + } + , + n + }(t.UIBase); + t.UI_Sushe_Select = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t) { + var e = this; + this.speed = .001, + this.hearts = [], + this.heart_masks = [], + this.exp_limits = [], + this.preframe_time = 0, + this.heart_count = 5, + this.during_change = !1, + this.btn_heart = null, + this.label_val = null, + this.is_upgraded = !1, + this.val_show_starttime = -1, + this.me = t, + this.container_hearts = this.me.getChildByName("hearts"); + for (n = 0; n < 5; n++) { + var i = this.container_hearts.getChildByName("h" + n); + this.hearts.push(i), + this.heart_masks.push(i.getChildByName("v").mask) + } + this.bg_hearts = this.me.getChildByName("bg_hearts"), + this.exp_limits = []; + for (var n = 0; n < 5; n++) + this.exp_limits.push(cfg.level_definition.character.find(n + 1).exp); + this.btn_heart = this.me.getChildByName("btn_heart"), + this.label_val = this.container_hearts.getChildByName("heartval"), + this.btn_heart.clickHandler = Laya.Handler.create(this, function() { + e.is_upgraded || (e.label_val.visible ? e.label_val.visible = !1 : (e.label_val.visible = !0, + e.val_show_starttime = Laya.timer.currTimer)) + }, null, !1) + } + return t.prototype.show = function(t) { + Laya.timer.clearAll(this), + t.is_upgraded ? this.bg_hearts.skin = game.Tools.localUISrc("myres/sushe/heart_full.png") : this.bg_hearts.skin = game.Tools.localUISrc("myres/sushe/heart_normal.png"), + this.current_level = t.level, + this.current_exp_rate = t.exp / this.exp_limits[this.current_level], + this.isupgrad = t.is_upgraded, + this.label_val.visible = !1, + this.refresh_heart(this.current_level, this.current_exp_rate, t.is_upgraded), + this.during_change = !1, + this.preframe_time = Laya.timer.currTimer, + Laya.timer.frameLoop(1, this, this.update) + } + , + t.prototype.update = function() { + if (this.label_val.visible) { + Laya.timer.currTimer - this.val_show_starttime >= 5e3 && (this.label_val.visible = !1) + } + var t = Laya.timer.currTimer - this.preframe_time; + this.preframe_time = Laya.timer.currTimer, + this.during_change && (this.target_level != this.current_level ? (this.during_change = !1, + this.current_level = this.target_level, + this.current_exp_rate = this.target_exp_rate, + this.refresh_heart(this.target_level, this.target_exp_rate, this.isupgrad)) : (this.current_exp_rate += t * this.speed, + this.target_exp_rate < this.current_exp_rate ? (this.during_change = !1, + this.current_level = this.target_level, + this.current_exp_rate = this.target_exp_rate, + this.refresh_heart(this.target_level, this.target_exp_rate, this.isupgrad)) : this.refresh_heart(this.target_level, this.current_exp_rate, this.isupgrad))) + } + , + t.prototype.refresh_heart = function(t, e, i) { + this.is_upgraded = i, + this.label_val.text = ""; + for (var n = 0; n < this.heart_count; n++) { + var a = this.heart_masks[n]; + this.current_level > n ? a.scaleY = 1 : this.current_level == n ? (a.scaleY = .82 * e + .1, + this.label_val.x = this.hearts[n].x, + this.label_val.text = Math.ceil(e * this.exp_limits[n]).toString() + "/" + this.exp_limits[n].toString()) : a.scaleY = 0, + this.hearts[n].getChildByName("v").getChildByName("h").skin = i ? game.Tools.localUISrc("myres/bothui/heart_gold.png") : game.Tools.localUISrc("myres/bothui/bf_heart.png") + } + } + , + t.prototype.close = function() { + Laya.timer.clearAll(this) + } + , + t.prototype.after_give = function(t, e) { + var i = this + , n = t.exp / this.exp_limits[t.level] + , a = game.FrontEffect.Inst.create_ui_effect(this.hearts[this.current_level], e ? "scene/effect_heartup_favor.lh" : "scene/effect_heartup.lh", new Laya.Point(0,0), 1); + if (Laya.timer.once(2e3, null, function() { + a.destory() + }), + t.level > this.current_level) { + this.target_level = this.current_level, + this.target_exp_rate = 1, + this.during_change = !0; + var r = (1 - this.current_exp_rate) / this.speed; + Laya.timer.once(r + 200, this, function() { + var t = game.FrontEffect.Inst.create_ui_effect(i.hearts[i.current_level], "scene/effect_heartlevelup.lh", new Laya.Point(0,0), 1); + Laya.timer.once(2e3, null, function() { + t.destory() + }), + view.AudioMgr.PlayAudio(111) + }) + } else + t.level == this.current_level && n > this.current_exp_rate ? (this.target_level = t.level, + this.target_exp_rate = n, + this.during_change = !0) : Laya.timer.once(500, this, function() { + i.target_level = t.level, + i.target_exp_rate = n, + i.during_change = !0 + }) + } + , + t + }() + , i = function() { + function e(t, e, i) { + var n = this; + this.items = [], + this.tab_index = 0, + this.gift_choose_index = -1, + this.content_inshow = !1, + this.give_cd = 0, + this.sound_channel = null, + this.content = t, + this.block_exp = i, + this.container_tabs = e, + this.btn_gift = this.container_tabs.getChildByName("send"), + this.btn_gift.clickHandler = Laya.Handler.create(this, function() { + 2 != n.tab_index && n.change_tab(2) + }, null, !1), + this.btn_qiyue = this.container_tabs.getChildByName("sign"), + this.btn_qiyue.clickHandler = Laya.Handler.create(this, function() { + 1 != n.tab_index && n.change_tab(1) + }, null, !1), + this.scrollview = this.content.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.render_item, null, !1), -1, 4), + this.container_qiyue = this.content.getChildByName("page_qiyue"), + this.container_gift = this.content.getChildByName("page_gift"), + this.content.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + n.change_tab(0) + }, null, !1) + } + return e.prototype.reset = function() { + this.content.visible = !1, + this.content_inshow = !1, + this.tab_index = 0, + this.gift_choose_index = -1 + } + , + e.prototype.show = function(t) { + this.reset(), + this.chara_info = t, + this.btn_gift.visible = t.level < 5; + var e = cfg.item_definition.character.get(t.charid); + this.btn_qiyue.visible = !t.is_upgraded && e.can_marry > 0, + game.Tools.child_align_center(this.container_tabs, [7]), + this.change_tab(0) + } + , + e.prototype.change_tab = function(e) { + var i = this; + if (this.items = [], + this.scrollview.reset(), + this.container_gift.visible = !1, + this.container_qiyue.visible = !1, + this.tab_index = e, + 1 == e) { + this.btn_qiyue.getChildByName("chosen").visible = !0, + this.btn_qiyue.getChildByName("label").color = "#000000"; + for (var n = cfg.item_definition.character.get(this.chara_info.charid).star_5_material.split(","), a = !0, r = 0; r < n.length; r++) { + for (var s = n[r].split("-"), l = s[0].split("|"), h = 0, c = 0, _ = 0; _ < l.length; _++) + h = parseInt(l[_]), + c += t.UI_Bag.get_item_count(h); + var u = parseInt(s[1]); + u > c && (a = !1), + this.items.push({ + id: h, + need: u, + count: c + }) + } + if (this.container_qiyue.visible = !0, + this.chara_info.level >= 5) { + this.container_qiyue.getChildByName("nomet").visible = !1; + var d = this.container_qiyue.getChildByName("container_tupo_btn") + , f = d.getChildByName("send"); + f.clickHandler = Laya.Handler.create(this, this._tupo, null, !1), + a ? game.Tools.setGrayDisable(f, !1) : game.Tools.setGrayDisable(f, !0), + d.visible = !0 + } else + this.container_qiyue.getChildByName("container_tupo_btn").visible = !1, + this.container_qiyue.getChildByName("nomet").visible = !0 + } else + this.btn_qiyue.getChildByName("chosen").visible = !1, + this.btn_qiyue.getChildByName("label").color = "#cfcdcc"; + if (2 == e) { + this.btn_gift.getChildByName("chosen").visible = !0, + this.btn_gift.getChildByName("label").color = "#000000", + this.items = t.UI_Bag.find_items_by_category(t.EItemCategory.gift), + this.container_gift.visible = !0; + this.container_gift.getChildByName("send").clickHandler = Laya.Handler.create(this, this._send_gift, null, !1), + this.gift_choose_index = -1, + this.refresh_gift_bottom_btns() + } else + this.btn_gift.getChildByName("chosen").visible = !1, + this.btn_gift.getChildByName("label").color = "#cfcdcc", + this.sound_channel && (this.sound_channel.stop(), + Laya.SoundManager.removeChannel(this.sound_channel), + this.sound_channel = null), + o.Inst.closechat(!1); + this.scrollview.addItem(this.items.length), + 1 == e || 2 == e ? this.content_inshow || (this.content_inshow = !0, + this.content.visible = !0, + Laya.Tween.clearAll(this.content), + t.UIBase.anim_alpha_in(this.content, { + y: -50 + }, 150, 0, null, Laya.Ease.strongIn)) : this.content_inshow && (this.content_inshow = !1, + Laya.Tween.clearAll(this.content), + t.UIBase.anim_alpha_out(this.content, { + y: -50 + }, 150, 0, Laya.Handler.create(this, function() { + i.content.visible = !1 + }), Laya.Ease.strongIn)) + } + , + e.prototype.render_item = function(t) { + var e = t.index + , i = t.container; + 2 == this.tab_index ? this.render_item_gift(e, i) : 1 == this.tab_index && this.render_item_qiyue(e, i) + } + , + e.prototype.render_item_qiyue = function(e, i) { + var n = this.items[e] + , a = cfg.item_definition.item.get(n.id); + i.getChildByName("name").visible = !1; + var r = i.getChildByName("counts"); + r.visible = !0, + r.getChildByName("count_need").text = "/" + n.need.toString(); + var s = r.getChildByName("count_have"); + s.text = n.count.toString(), + s.color = n.count >= n.need ? "#00ff00" : "#ff0000", + game.Tools.child_align_center(r); + var o = i.getChildByName("btn"); + o.clickHandler = Laya.Handler.create(this, function() { + t.UI_ItemDetail.Inst.show(n.id, 2) + }, null, !1), + o.getChildByName("choosed").visible = !1, + game.LoadMgr.setImgSkin(o.getChildByName("icon"), a.icon), + o.getChildByName("num").visible = !1 + } + , + e.prototype.render_item_gift = function(e, i) { + var n = this + , a = this.items[e].item_id + , r = cfg.item_definition.item.get(a) + , s = i.getChildByName("name"); + s.text = r["name_" + GameMgr.client_language], + s.visible = !0, + i.getChildByName("counts").visible = !1; + var o = i.getChildByName("btn") + , l = o.getChildByName("choosed"); + l.visible = this.gift_choose_index == e, + o.clickHandler = Laya.Handler.create(this, function() { + if (n.gift_choose_index != e) { + var i = n.gift_choose_index; + n.gift_choose_index = e, + l.visible = !0, + i >= 0 && i < n.items.length && n.scrollview.wantToRefreshItem(i), + n.refresh_gift_bottom_btns() + } else + t.UI_ItemDetail.Inst.show(a) + }, null, !1), + game.LoadMgr.setImgSkin(o.getChildByName("icon"), r.icon); + var h = o.getChildByName("num"); + this.items[e].count > 1 ? (h.text = this.items[e].count.toString(), + h.visible = !0) : h.visible = !1 + } + , + e.prototype.refresh_gift_bottom_btns = function() { + var e = t.UI_Sushe.send_gift_limit - t.UI_Sushe.send_gift_count; + e < 0 && (e = 0), + this.container_gift.getChildByName("count").text = e.toString(); + var i = this.container_gift.getChildByName("send"); + game.Tools.setGrayDisable(i, !1), + game.Tools.sprite_align_center([this.container_gift.getChildByName("label_send"), this.container_gift.getChildByName("count")], 450, [10]) + } + , + e.prototype._tupo = function() { + var e = this; + if (t.UI_PiPeiYuYue.Inst.enable) + t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null); + else { + var i = this.container_qiyue.getChildByName("container_tupo_btn").getChildByName("send"); + game.Tools.setGrayDisable(i, !0), + app.NetAgent.sendReq2Lobby("Lobby", "upgradeCharacter", { + character_id: this.chara_info.charid + }, function(n, a) { + n || a.error ? (t.UIMgr.Inst.showNetReqError("upgradeCharacter", n, a), + game.Tools.setGrayDisable(i, !1)) : (o.Inst.close(), + Laya.timer.once(150, e, function() { + if (e.chara_info.is_upgraded = !0, + t.UI_Character_star_up.Inst.show(e.chara_info, Laya.Handler.create(e, function() { + t.UI_Sushe.Inst.starup_back() + })), + a.character) { + var i = a.character; + if (i.extra_emoji) { + e.chara_info.extra_emoji = []; + for (var n = 0; n < i.extra_emoji.length; n++) + e.chara_info.extra_emoji.push(i.extra_emoji[n]) + } + } + })) + }) + } + } + , + e.prototype.close_audio = function() { + this.sound_channel && (this.sound_channel.stop(), + Laya.SoundManager.removeChannel(this.sound_channel), + this.sound_channel = null), + o.Inst.closechat(!1) + } + , + e.prototype._send_gift = function() { + var e = this; + if (t.UI_PiPeiYuYue.Inst.enable) + t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null); + else if (!(this.gift_choose_index < 0 || this.gift_choose_index >= this.items.length || Laya.timer.currTimer < this.give_cd)) { + var i = this.chara_info.charid + , n = this.items[this.gift_choose_index].item_id; + if (99 != cfg.item_definition.item.get(n).type && t.UI_Sushe.send_gift_limit - t.UI_Sushe.send_gift_count <= 0) + t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(2213), null); + else { + this.give_cd = Laya.timer.currTimer + 1e4; + var a = this.container_gift.getChildByName("send"); + game.Tools.setGrayDisable(a, !0), + app.NetAgent.sendReq2Lobby("Lobby", "sendGiftToCharacter", { + character_id: i, + gifts: [{ + item_id: n, + count: 1 + }] + }, function(r, s) { + if (r || s.error) + game.Tools.setGrayDisable(a, !1), + e.give_cd = 0, + t.UIMgr.Inst.showNetReqError("sendGiftToCharacter", r, s); + else { + if (app.Log.log("sendGiftToCharacter: " + JSON.stringify(s)), + e.chara_info.charid == i) { + if (2 == e.tab_index) + for (u = 0; u < e.items.length; u++) + if (e.items[u].item_id == n) { + if (e.items[u].count <= 1) { + for (var l = u; l < e.items.length - 1; l++) + e.items[l] = e.items[l + 1]; + e.items.pop(), + e.gift_choose_index = -1, + e.scrollview.reset(), + e.scrollview.addItem(e.items.length) + } else + e.items[u].count--, + e.scrollview.wantToRefreshItem(u); + break + } + var h = cfg.item_definition.item.get(n).type == cfg.item_definition.character.get(i).favorite; + if (s.level > e.block_exp.current_level) { + o.Inst.locking = !0; + var c = (1 - e.block_exp.current_exp_rate) / e.block_exp.speed; + e.block_exp.after_give(s, h), + Laya.timer.once(c + 600, e, function() { + e.chara_info.level = s.level, + e.chara_info.exp = s.exp, + t.UI_Character_star_up.Inst.show(e.chara_info, Laya.Handler.create(e, function() { + t.UI_Sushe.Inst.starup_back() + })), + Laya.timer.once(600, e, function() { + o.Inst.close() + }), + e.give_cd = 0 + }); + for (var _ = function(i) { + var n = 50 * (i + 1); + Laya.timer.once(n + c + 600, e, function() { + e.sound_channel && (e.sound_channel.volume *= .5), + 3 == i && (t.UI_Sushe.Inst.stopsay(), + o.Inst.closechat(!0)) + }) + }, u = 0; u < 4; u++) + _(u) + } else { + if (e.block_exp.after_give(s, h), + e.give_cd = 0, + game.Tools.setGrayDisable(a, !1), + !e.sound_channel) { + var d = ""; + d = cfg.item_definition.character.get(i).favorite == cfg.item_definition.item.get(n).type ? "lobby_gift_favor" : "lobby_gift"; + var f = view.AudioMgr.PlayCharactorSound(e.chara_info, d, Laya.Handler.create(e, function() { + e.sound_channel = null, + o.Inst.closechat(!1) + })); + o.Inst.chat(f.words), + e.sound_channel = f.sound, + t.UI_Sushe.Inst.stopsay() + } + e.chara_info.exp = s.exp + } + } else { + for (u = 0; u < t.UI_Sushe.characters.length; u++) + if (t.UI_Sushe.characters[u].charid == i) { + t.UI_Sushe.characters[u].level = s.level, + t.UI_Sushe.characters[u].exp = s.exp; + break + } + e.give_cd = 0 + } + 99 != cfg.item_definition.item.get(n).type && t.UI_Sushe.send_gift_count++, + e.refresh_gift_bottom_btns() + } + }) + } + } + } + , + e + }() + , n = function() { + function n(n) { + var a = this; + this.head = null, + this.emos = [], + this._scrollbar = null, + this._scrollpoint = null, + this._drag_scroll = !1, + this.me = n, + this.me.visible = !1, + this.block_exp = new e(n.getChildByName("container_heart")), + this.block_gift = new i(n.getChildByName("container_gift"),n.getChildByName("tabs"),this.block_exp), + this.container_intro = n.getChildByName("intro"), + this.content = this.container_intro.getChildByName("content"), + this.content.vScrollBarSkin = "", + this.head = new t.UI_Character_Skin(this.container_intro.getChildByName("content").getChildByName("container_head").getChildByName("head")); + var r = this.content.getChildByName("container_emj").getChildByName("container").getChildByName("emo_templete"); + r.visible = !1; + for (var s = 0; s < 20; s++) + this.emos.push(new t.UI_Character_Emo(r.scriptMap["capsui.UICopy"].getNodeClone())), + this.emos[s].me.x = s % 4 * 184, + this.emos[s].me.y = 184 * Math.floor(s / 4); + this.content.getChildByName("container_emj").height = 652, + this.content.getChildByName("container_head").getChildByName("btn_skin").clickHandler = Laya.Handler.create(this, function() { + o.Inst.open_skin(new Laya.Handler(a,a.change_skin)) + }, null, !1), + this._scrollbar = this.container_intro.getChildByName("scrollbar"), + this._scrollpoint = this._scrollbar.getChildByName("scrollpoint"), + this._scrollbar && (this._scrollbar.on("mousedown", this, function() { + a._drag_scroll = !0; + var t = a._scrollbar.mouseY / a._scrollbar.height; + a.content.vScrollBar.value = a.content.vScrollBar.max * t + }), + this._scrollbar.on("mousemove", this, function() { + if (a._drag_scroll) { + var t = a._scrollbar.mouseY / a._scrollbar.height; + a.content.vScrollBar.value = a.content.vScrollBar.max * t + } + }), + this._scrollbar.on("mouseup", this, function() { + a._drag_scroll = !1 + }), + this._scrollbar.on("mouseout", this, function() { + a._drag_scroll = !1 + }), + this.content.vScrollBar.on("change", this, function() { + var t = a.content.vScrollBar.value / a.content.vScrollBar.max; + a._scrollpoint.y = a._scrollbar.height * t + })) + } + return n.prototype.show = function(t) { + var e = this.content.getChildByName("container_text") + , i = cfg.item_definition.character.get(t.charid); + if (e.getChildByName("height").text = i["desc_stature_" + GameMgr.client_language], + e.getChildByName("birth").text = i["desc_birth_" + GameMgr.client_language], + e.getChildByName("age").text = i["desc_age_" + GameMgr.client_language], + e.getChildByName("bloodtype").text = i.desc_bloodtype, + e.getChildByName("cv").text = i["desc_cv_" + GameMgr.client_language], + e.getChildByName("hobby").text = i["desc_hobby_" + GameMgr.client_language], + e.getChildByName("desc").text = i["desc_" + GameMgr.client_language], + "en" == GameMgr.client_language) { + var n = [new Laya.ColorFilter([.7, 0, 0, 0, 0, 0, .7, 0, 0, 0, 0, 0, .7, 0, 0, 0, 0, 0, 1, 0])]; + e.getChildByName("height").font = "en_shuhun", + e.getChildByName("height").filters = n, + e.getChildByName("birth").font = "en_shuhun", + e.getChildByName("birth").filters = n, + e.getChildByName("age").font = "en_shuhun", + e.getChildByName("age").filters = n, + e.getChildByName("bloodtype").font = "en_shuhun", + e.getChildByName("bloodtype").filters = n, + e.getChildByName("cv").font = "en_shuhun", + e.getChildByName("cv").filters = n, + e.getChildByName("hobby").font = "en_shuhun", + e.getChildByName("hobby").filters = n, + e.getChildByName("desc").font = "en_shuhun", + e.getChildByName("desc").filters = n + } + for (o = 0; o < 12; o += 2) { + var a = e.getChildAt(o); + e.getChildAt(o + 1).x = a.textField.textWidth * a.scaleX + a.x + 10 + } + this.head.setSkin(t.skin, "bighead"); + this.content.getChildByName("container_emj").y = e.getChildByName("desc").textField.textHeight * e.getChildByName("desc").scaleY + 561 - 194; + for (var r = [], s = {}, o = 0; o < 9; o++) + r.push({ + sub_id: o, + unlock_desc: "", + time_limit: !1, + after_unlock_desc: "", + sort: o + }), + s[o] = 1; + if (t.extra_emoji && t.extra_emoji.length > 0) + for (o = 0; o < t.extra_emoji.length; o++) + s[t.extra_emoji[o]] = 1; + var l = cfg.character.emoji.getGroup(t.charid); + if (l) + for (o = 0; o < l.length; o++) { + var h = l[o]; + 1 == h.unlock_type ? r.push({ + sub_id: h.sub_id, + unlock_desc: h["unlock_desc_" + GameMgr.client_language], + time_limit: !1, + after_unlock_desc: "", + sort: h.sub_id + }) : 3 == h.unlock_type ? r.push({ + sub_id: h.sub_id, + unlock_desc: h["unlock_desc_" + GameMgr.client_language], + time_limit: !1, + after_unlock_desc: "", + sort: h.sub_id + 1e4 + }) : 2 == h.unlock_type && s[h.sub_id] && r.push({ + sub_id: h.sub_id, + unlock_desc: h["unlock_desc_" + GameMgr.client_language], + time_limit: !0, + after_unlock_desc: h["after_unlock_desc_" + GameMgr.client_language], + sort: h.sub_id + 5e4 + }) + } + r = r.sort(function(t, e) { + return t.sort - e.sort + }), + this.content.getChildByName("container_emj").height = 100 + 184 * Math.ceil(r.length / 4); + for (o = 0; o < this.emos.length; o++) + if (o >= r.length) + this.emos[o].me.visible = !1; + else { + var c = r[o] + , _ = c.sub_id; + this.emos[o].me.visible = !0, + this.emos[o].setSkin(t.charid, _), + s.hasOwnProperty(_.toString()) ? (this.emos[o].me.getChildByName("lock").visible = !1, + this.emos[o].me.getChildByName("time_limit").visible = c.time_limit, + c.after_unlock_desc ? (this.emos[o].me.getChildByName("info").visible = !0, + this.emos[o].me.getChildByName("info").getChildByName("info").text = c.after_unlock_desc) : this.emos[o].me.getChildByName("info").visible = !1) : (this.emos[o].me.getChildByName("lock").visible = !0, + this.emos[o].me.getChildByName("info").visible = !0, + this.emos[o].me.getChildByName("info").getChildByName("info").text = c.unlock_desc, + this.emos[o].me.getChildByName("time_limit").visible = c.time_limit) + } + this.content.refresh(), + this._drag_scroll = !1, + this.block_exp.show(t), + this.block_gift.show(t), + this.me.visible = !0 + } + , + n.prototype.change_skin = function(e) { + t.UI_Sushe.Inst.onChangeSkin(e), + this.head.setSkin(e, "bighead") + } + , + n.prototype.close = function() { + this.me.visible = !1; + for (var t = 0; t < this.emos.length; t++) + this.emos[t].clear() + } + , + n + }() + , a = function() { + function e(t) { + this.sounds = [], + this.chara_info = null, + this.current_play_index = -1, + this.current_soundchannel = null, + this.volume_fixed = 0, + this.me = t, + this.me.visible = !1, + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.render_item, null, !1)) + } + return e.prototype.show = function(e) { + this.chara_info = e, + this.sounds = []; + for (var i = cfg.voice.sound.getGroup(cfg.item_definition.character.get(e.charid).sound), n = 0; n < i.length; n++) + this.sounds.push(i[n]); + this.volume_fixed = cfg.item_definition.character.get(e.charid).sound_volume, + this.scrollview.reset(), + this.scrollview.addItem(this.sounds.length), + this.me.visible = !0, + view.AudioMgr.refresh_music_volume(!0), + this.current_play_index = -1, + t.UI_Sushe.Inst.stopsay() + } + , + e.prototype.close = function() { + this.me.visible && (this.me.visible = !1, + view.AudioMgr.refresh_music_volume(!1), + this.current_soundchannel && (this.current_soundchannel.stop(), + Laya.SoundManager.removeChannel(this.current_soundchannel), + this.current_soundchannel = null, + this.current_play_index = -1, + o.Inst.closechat(!1))) + } + , + e.prototype.render_item = function(t) { + var e = this + , i = t.index + , n = t.container + , a = this.sounds[i]; + n.getChildByName("desc").text = a["name_" + GameMgr.client_language]; + var r = n.getChildByName("btn_play") + , s = r.getChildByName("img"); + s.skin = game.Tools.localUISrc(this.current_play_index == i ? "myres/bothui/bf_pause.png" : "myres/bothui/bf_play.png"), + r.clickHandler = Laya.Handler.create(this, function() { + if (e.current_play_index == i) + e.current_soundchannel && (e.current_soundchannel.stop(), + Laya.SoundManager.removeChannel(e.current_soundchannel), + e.current_soundchannel = null), + o.Inst.closechat(!1), + s.skin = game.Tools.localUISrc("myres/bothui/bf_play.png"), + e.current_play_index = -1; + else { + var t = e.current_play_index; + e.current_play_index = i, + t >= 0 && t < e.sounds.length && e.scrollview.wantToRefreshItem(t), + e.current_soundchannel && (Laya.SoundManager.removeChannel(e.current_soundchannel), + e.current_soundchannel.stop(), + e.current_soundchannel = null), + s.skin = game.Tools.localUISrc("myres/bothui/bf_pause.png"); + var n = Laya.timer.currTimer + , r = Laya.SoundManager.playSound(a.path + view.AudioMgr.suffix, 1, new Laya.Handler(e,function() { + var t = n + 2e3 - Laya.timer.currTimer; + t < 0 && (t = 0), + Laya.timer.once(t, e, function() { + if (e.current_soundchannel == r) { + e.current_soundchannel = null; + var t = e.current_play_index; + e.current_play_index = -1, + t >= 0 && t < e.sounds.length && e.scrollview.wantToRefreshItem(t), + o.Inst.closechat(!1) + } + }) + } + )); + e.current_soundchannel = r, + view.AudioMgr.getCVmute(e.chara_info.charid) ? e.current_soundchannel.volume = 0 : e.current_soundchannel.volume = e.volume_fixed * view.AudioMgr.getCVvolume(e.chara_info.charid), + view.AudioMgr.yuyinMuted ? e.current_soundchannel.volume = 0 : e.current_soundchannel.volume *= view.AudioMgr.yuyinVolume, + o.Inst.chat(a["words_" + GameMgr.client_language]) + } + }, null, !1); + var l = n.getChildByName("lock"); + !this.chara_info.is_upgraded && a.bond_limit ? (l.visible = !0, + r.visible = !1, + l.getChildByName("info").text = game.Tools.strOfLocalization(3067)) : this.chara_info.level >= a.level_limit ? (l.visible = !1, + r.visible = !0) : (l.visible = !0, + r.visible = !1, + l.getChildByName("info").text = game.Tools.strOfLocalization(2192, [a.level_limit.toString()])) + } + , + e + }() + , r = function() { + function e(t) { + var e = this; + this.skins = [], + this.me = t, + this.root = t.getChildByName("root"), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.close() + }, null, !1), + this.scrollview = this.root.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.render_item, null, !1), -1, 3) + } + return e.prototype.show = function(e, i) { + var n = this; + this.me.visible = !0, + t.UIBase.anim_pop_out(this.root, null), + this.chara_info = e, + this.when_change = i, + this.skins = []; + var a = cfg.item_definition.character.get(e.charid); + if (this.skins.push(a.init_skin), + a.can_marry && this.skins.push(a.full_fetter_skin), + a.skin_lib) + for (var r = 0; r < a.skin_lib.length; r++) + a.skin_lib[r] && this.skins.push(a.skin_lib[r]); + cfg.item_definition.skin.forEach(function(t) { + 0 != t.type && 1 != t.type && t.character_id == e.charid && n.skins.push(t.id) + }), + this.scrollview.reset(), + this.scrollview.addItem(this.skins.length) + } + , + e.prototype.close = function() { + var e = this; + this.when_change = null, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.me.visible = !1 + })) + } + , + e.prototype.render_item = function(e) { + var i = this + , n = e.index + , a = e.container + , r = e.cache_data + , s = a.getChildByName("btn"); + r.skin || (r.skin = new t.UI_Character_Skin(s.getChildByName("icon"))); + a.getChildByName("using").visible = this.skins[n] == this.chara_info.skin; + var o = cfg.item_definition.skin.get(this.skins[n]); + r.skin.setSkin(this.skins[n], "bighead"); + var l = s.getChildByName("locked"); + t.UI_Sushe.skin_owned(this.skins[n]) ? (l.visible = !1, + s.clickHandler = Laya.Handler.create(this, function() { + i.skins[n] != i.chara_info.skin && i.when_change && i.when_change.runWith(i.skins[n]), + i.close() + }, null, !1)) : (l.visible = !0, + l.getChildByName("info").text = o["lock_tips_" + GameMgr.client_language], + s.clickHandler = null) + } + , + e + }() + , s = function() { + function t(t) { + var e = this; + this.locking = !1, + this.me = t, + this.info = this.me.getChildByName("info"), + this.me.on("mousedown", this, function() { + e.locking || e.close() + }) + } + return t.prototype.show = function(t) { + var e = this; + this.info.text = t, + this.me.height = 120 + this.info.textField.textHeight, + this.me.visible = !0, + this.locking = !0, + this.me.scaleY = 0, + Laya.timer.clearAll(this), + Laya.Tween.to(this.me, { + scaleY: 1 + }, 150, null, Laya.Handler.create(this, function() { + e.locking = !1 + })), + Laya.timer.once(3e3, this, function() { + e.close() + }) + } + , + t.prototype.close = function() { + var t = this; + this.locking = !0, + Laya.timer.clearAll(this), + Laya.Tween.to(this.me, { + scaleY: 0 + }, 150, null, Laya.Handler.create(this, function() { + t.locking = !1, + t.me.visible = !1 + })) + } + , + t + }() + , o = function(e) { + function i() { + var t = e.call(this, new ui.lobby.visitUI) || this; + return t.tabs = [], + t.page_intro = null, + t.page_sound = null, + t.block_chat = null, + t.pop_skin = null, + t.locking = !1, + t.current_page = -1, + t.chara_info = null, + t.tab_img_dark = "", + t.tab_img_chosen = "", + i.Inst = t, + t + } + return __extends(i, e), + Object.defineProperty(i.prototype, "cannot_click_say", { + get: function() { + return 1 == this.current_page || null != this.page_intro.block_gift.sound_channel + }, + enumerable: !0, + configurable: !0 + }), + i.prototype.onCreate = function() { + var e = this; + this.container_top = this.me.getChildByName("top"), + this.container_top.getChildByName("btn_back").clickHandler = Laya.Handler.create(this, function() { + e.locking || e.back2select() + }, null, !1), + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? (this.tab_img_chosen = game.Tools.localUISrc("myres/sushe/bf_chosen.png"), + this.tab_img_dark = game.Tools.localUISrc("myres/sushe/bf_unchooesd.png")) : (this.tab_img_chosen = game.Tools.localUISrc("myres/sushe/bf_chosen_en.png"), + this.tab_img_dark = game.Tools.localUISrc("myres/sushe/bf_unchooesd_en.png")), + this.container_right = this.me.getChildByName("right"); + for (var i = function(t) { + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? (o.tabs.push(o.container_right.getChildByName("btn_page" + t)), + o.container_right.getChildByName("btn_page" + t + "_en").visible = !1) : (o.container_right.getChildByName("btn_page" + t).visible = !1, + o.tabs.push(o.container_right.getChildByName("btn_page" + t + "_en"))), + o.tabs[t].clickHandler = Laya.Handler.create(o, function() { + e.locking || e.current_page != t && e.change_page(t) + }, null, !1) + }, o = this, l = 0; l < 2; l++) + i(l); + this.page_intro = new n(this.container_right.getChildByName("page_intro")), + this.page_sound = new a(this.container_right.getChildByName("sound")), + this.block_chat = new t.UI_Character_Chat(this.me.getChildByName("chat")), + this.block_chat.me.visible = !1, + this.pop_skin = new r(this.me.getChildByName("pop_skin")), + this.info_levelup = new s(this.me.getChildByName("levelup")) + } + , + i.prototype.show = function(e, i) { + var n = this; + this.chara_info = e; + for (var a = 0; a < this.tabs.length; a++) + this.tabs[a].skin = this.tab_img_dark; + this.page_intro.close(), + this.page_sound.close(), + this.current_page = -1, + this.change_page(0), + this.block_chat.me.visible = !1, + this.pop_skin.me.visible = !1, + this.info_levelup.me.visible = !1, + this.me.visible = !0, + this.locking = !0, + t.UIBase.anim_alpha_in(this.container_top, { + y: -30 + }, 150), + t.UIBase.anim_alpha_in(this.container_right, { + x: 30 + }, 150), + t.UIBase.anim_alpha_in(this.block_chat.me, { + y: 30 + }, 150), + Laya.timer.once(150, this, function() { + n.locking = !1 + }), + i && Laya.timer.once(150, this, function() { + n.chara_info.is_upgraded ? n.info_levelup.show(game.Tools.strOfLocalization(2196)) : n.info_levelup.show(cfg.level_definition.character.get(n.chara_info.level)["unlock_desc_" + GameMgr.client_language]) + }) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_alpha_out(this.container_top, { + y: -30 + }, 150), + t.UIBase.anim_alpha_out(this.container_right, { + x: 30 + }, 150), + t.UIBase.anim_alpha_out(this.block_chat.me, { + y: 30 + }, 150), + Laya.timer.once(150, this, function() { + e.locking = !1, + e.me.visible = !1, + e.page_sound.me.visible && e.page_sound.close(), + e.page_intro.block_gift.close_audio() + }) + } + , + i.prototype.back2select = function() { + this.close(), + Laya.timer.once(150, this, function() { + t.UI_Sushe.Inst.show_page_select() + }) + } + , + i.prototype.change_page = function(t) { + if (this.current_page >= 0) + switch (this.tabs[this.current_page].skin = this.tab_img_dark, + this.current_page) { + case 0: + this.page_intro.close(); + break; + case 1: + this.page_sound.close() + } + if (this.current_page = t, + this.current_page >= 0) + switch (this.tabs[this.current_page].skin = this.tab_img_chosen, + this.current_page) { + case 0: + this.page_intro.show(this.chara_info); + break; + case 1: + this.page_sound.show(this.chara_info) + } + } + , + i.prototype.open_skin = function(t) { + this.pop_skin.show(this.chara_info, t) + } + , + i.prototype.chat = function(t) { + this.block_chat.show(t) + } + , + i.prototype.closechat = function(t) { + this.block_chat.close(t) + } + , + i + }(t.UIBase); + t.UI_Sushe_Visit = o +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(e, i) { + var n = this; + this.me = e, + this.effect_root = i, + this.btn_next = e.getChildByName("btn_next"), + this.btn_next.clickHandler = Laya.Handler.create(this, this.close, [!1], !1), + this.bg_sakura = e.getChildByName("bg_sakura"), + this.container_item = e.getChildByName("item"); + var a = this.container_item.getChildByName("btn"); + a.clickHandler = Laya.Handler.create(this, function() { + t.UI_ItemDetail.Inst.show(n.item_id) + }, null, !1), + this.icon = new t.UI_Item_Skin(a.getChildByName("icon_origin")), + this.label_count = this.icon.me.getChildByName("count"), + this.label_name = this.container_item.getChildByName("name_origin") + } + return e.prototype.show = function(e, i) { + var n = this; + this.item_id = e; + var r = cfg.item_definition.item.get(e); + this.icon.setSkin(r.icon), + r.category == t.EItemCategory.view ? (this.bg_sakura.visible = !0, + Laya.timer.once(250, this, function() { + var t = game.FrontEffect.Inst.create_ui_effect(n.effect_root, "scene/effect_get_zhuangban.lh", new Laya.Point(0,0), 1); + Laya.timer.once(2e3, null, function() { + t.destory() + }), + view.AudioMgr.PlayAudio(110) + })) : (this.bg_sakura.visible = !1, + Laya.timer.once(250, this, function() { + view.AudioMgr.PlayAudio(109) + })), + i > 1 ? (this.label_count.visible = !0, + this.label_count.text = i.toString()) : this.label_count.visible = !1, + this.label_name.text = r["name_" + GameMgr.client_language], + this.me.visible = !0, + this.me.alpha = 1, + this.me.y = 574, + a.Inst.me.WPin.play(0, !1), + this.btn_next.visible = !1, + Laya.timer.once(10 / 24 * 1e3 + 200, this, function() { + n.btn_next.visible = !0, + a.Inst.btn_pass.visible = !0, + a.Inst.btn_pass.clickHandler = Laya.Handler.create(n, function() { + a.Inst.btn_pass.visible = !1, + n.close(!0) + }, null, !1) + }) + } + , + e.prototype.close = function(t) { + var e = this; + a.Inst.btn_pass.visible = !1, + this.btn_next.visible = !1, + a.Inst.me.WPout.play(0, !1), + Laya.timer.once(5 / 24 * 1e3 + 500, this, function() { + e.me.visible = !1, + t ? a.Inst.show_result() : a.Inst.show_next() + }) + } + , + e + }() + , i = function() { + function e(e, i) { + this.me = e, + this.effect_root = i, + this.btn_next = this.me.getChildByName("btn_next"), + this.btn_next.clickHandler = Laya.Handler.create(this, this.close, [!1], !1); + var n = e.getChildByName("jianying"); + this.jianying_girl = n.getChildByName("jianying_girl"), + this.jianying_boy = n.getChildByName("jianying_boy"); + var a = e.getChildByName("container_illust"); + this.illust = new t.UI_Character_Skin(a.getChildByName("illust")); + var r = null; + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? (r = a.getChildByName("container_name_chs"), + a.getChildByName("container_name_en").visible = !1) : (r = a.getChildByName("container_name_en"), + a.getChildByName("container_name_chs").visible = !1), + this.label_name = r.getChildByName("label_name"), + this.label_cv = r.getChildByName("label_cv"), + this.chat = new t.UI_Character_Chat(a.getChildByName("chat")) + } + return e.prototype.close_sound = function() { + this.sound_channel && (this.sound_channel.stop(), + Laya.SoundManager.removeChannel(this.sound_channel), + this.sound_channel = null) + } + , + e.prototype.show = function(t) { + var e = this; + this.character_id = t; + var i = cfg.item_definition.character.get(t); + this.illust.setSkin(i.init_skin, "full"), + this.label_name.text = i["name_" + GameMgr.client_language], + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? this.label_cv.text = "cv" + i["desc_cv_" + GameMgr.client_language] : this.label_cv.text = "cv:" + i["desc_cv_" + GameMgr.client_language], + this.chat.close(!0), + this.jianying_boy.visible = 2 == i.sex, + this.jianying_girl.visible = 1 == i.sex, + this.close_sound(), + this.btn_next.visible = !1, + this.illust.me.parent.alpha = 1, + this.illust.me.parent.y = -8, + this.me.visible = !0, + a.Inst.me.JSin.play(0, !1), + Laya.timer.once(100 / 24 * 1e3, this, function() { + e.effect = game.FrontEffect.Inst.create_ui_effect(e.effect_root, "scene/effect_get_character.lh", new Laya.Point(0,0), 1), + view.AudioMgr.PlayAudio(107) + }), + Laya.timer.once(6450, this, function() { + var t = "" + , n = "" + , r = 0; + if (cfg.voice.sound.getGroup(i.sound).forEach(function(e) { + "lobby_selfintro" == e.type && (t = e.path, + n = e["words_" + GameMgr.client_language], + r = e.time_length) + }), + "" != t) { + var s = i.sound_volume; + view.AudioMgr.yuyinMuted ? s = 0 : s *= view.AudioMgr.yuyinVolume, + view.AudioMgr.getCVmute(i.id) ? s = 0 : s *= view.AudioMgr.getCVvolume(i.id), + e.sound_channel = view.AudioMgr.PlaySound(t, s, Laya.Handler.create(e, function() { + e.sound_channel = null + })) + } + "" != n && e.chat.show(n), + e.btn_next.visible = !0, + a.Inst.btn_pass.visible = !0, + a.Inst.btn_pass.clickHandler = Laya.Handler.create(e, function() { + a.Inst.btn_pass.visible = !1, + e.close(!0) + }, null, !1) + }) + } + , + e.prototype.close = function(t) { + var e = this; + a.Inst.btn_pass.visible = !1, + this.btn_next.visible = !1, + a.Inst.me.JSout.play(0, !1), + this.chat.close(!1), + this.close_sound(), + Laya.timer.once(800, this, function() { + e.me.visible = !1, + e.illust.clear(), + t ? a.Inst.show_result() : a.Inst.show_next() + }), + this.effect && (this.effect.destory(), + this.effect = null) + } + , + e + }() + , n = function() { + function e(e) { + var i = this; + this.effects = [], + this.me = e; + var n = e.getChildByName("tubiao"); + this.single_item = n.getChildByName("item1"), + this.container10 = n.getChildByName("container10"), + this.btn_confirm = e.getChildByName("confirm"), + this.btn_confirm.clickHandler = Laya.Handler.create(this, function() { + i.close(), + a.Inst.close() + }, null, !1), + this.btn_again = e.getChildByName("again"), + this.btn_again.clickHandler = new Laya.Handler(this,function() { + i.close(); + var e = a.Inst.chest_id; + app.NetAgent.sendReq2Lobby("Lobby", "openChest", { + chest_id: a.Inst.chest_id, + count: 1, + use_ticket: !0 + }, function(n, r) { + n || r.error ? (t.UIMgr.Inst.showNetReqError("openChest", n, r), + i.close()) : (t.UI_Treasure.on_chest_count_change([{ + faith_id: cfg.chest.chest.find(e).faith_id, + count: r.faith_count + }]), + a.Inst.show(e, r.results)) + }) + } + ) + } + return e.prototype.show = function(e) { + if (Laya.timer.clearAll(this), + 1 == e.length) + this.single_item.visible = !0, + this.container10.visible = !1, + this.render_item(e[0], this.single_item); + else { + this.single_item.visible = !1, + this.container10.visible = !0; + for (var i = 0; i < this.container10.numChildren; i++) { + var n = this.container10.getChildAt(i); + i < e.length ? (n.visible = !0, + this.render_item(e[i], n)) : n.visible = !1 + } + } + this.me.visible = !0, + a.Inst.me.XMJGin.play(0, !1); + var r = cfg.chest.chest.get(a.Inst.chest_id).ticket_id + , s = 0; + r && (s = t.UI_Bag.get_item_count(r)), + s > 0 && 1 == e.length ? (this.btn_again.visible = !0, + this.btn_confirm.x = 1140, + game.LoadMgr.setImgSkin(this.btn_again.getChildByName("price").getChildByName("icon"), cfg.item_definition.item.get(r).icon_transparent), + this.btn_again.getChildByName("price").getChildByName("count").text = "x1") : (this.btn_again.visible = !1, + this.btn_confirm.x = 968) + } + , + e.prototype.close = function() { + Laya.timer.clearAll(this), + this.me.visible = !1; + for (var t = 0; t < this.effects.length; t++) + this.effects[t].destory(); + this.effects = [] + } + , + e.prototype.render_item = function(e, i) { + var n = this + , a = i.getChildByName("btn"); + a.clickHandler = Laya.Handler.create(this, function() { + 30 == Math.floor(e.reward.id / 1e4) && t.UI_ItemDetail.Inst.show(e.reward.id) + }, null, !1); + var r = a.getChildByName("icon_origin") + , s = a.getChildByName("icon_final") + , o = i.getChildByName("name_orgin") + , l = i.getChildByName("name_final") + , h = a.getChildByName("gold_bg"); + if (h.visible = !1, + 20 == Math.floor(e.reward.id / 1e4)) { + var c = cfg.item_definition.character.get(e.reward.id) + , _ = cfg.item_definition.skin.get(c.init_skin); + game.LoadMgr.setImgSkin(r, _.path + "/smallhead.png"), + r.getChildByName("count").visible = !1, + o.text = c["name_" + GameMgr.client_language], + Laya.timer.once(10 / 24 * 1e3, this, function() { + h.visible = !0, + h.skin = game.Tools.localUISrc("tanfang/gold_bound.png"), + n.effects.push(game.FrontEffect.Inst.create_ui_effect(h, n.container10.visible ? "scene/effect_item_shine.lh" : "scene/effect_item_shine_big.lh", new Laya.Point(0,0), 1)) + }) + } else { + 4 != (u = cfg.item_definition.item.get(e.reward.id)).category && 5 != u.category || Laya.timer.once(10 / 24 * 1e3, this, function() { + h.visible = !0, + h.skin = game.Tools.localUISrc("tanfang/pink_bound.png"), + n.effects.push(game.FrontEffect.Inst.create_ui_effect(h, n.container10.visible ? "scene/effect_item_shine1.lh" : "scene/effect_item_shine_big1.lh", new Laya.Point(0,0), 1)) + }), + game.LoadMgr.setImgSkin(r, u.icon); + d = r.getChildByName("count"); + e.reward.count > 1 ? (d.visible = !0, + d.text = e.reward.count.toString()) : d.visible = !1, + o.text = u["name_" + GameMgr.client_language] + } + if (e.replace) { + if (s.visible = !0, + l.visible = !0, + 20 == Math.floor(e.replace.id / 1e4)) { + var c = cfg.item_definition.character.get(e.replace.id) + , _ = cfg.item_definition.skin.get(c.init_skin); + game.LoadMgr.setImgSkin(s, _.path + "/smallhead.png"), + s.getChildByName("count").visible = !1, + l.text = c["name_" + GameMgr.client_language] + } else { + var u = cfg.item_definition.item.get(e.replace.id); + game.LoadMgr.setImgSkin(s, u.icon); + var d = s.getChildByName("count"); + e.replace.count > 1 ? (d.visible = !0, + d.text = e.replace.count.toString()) : d.visible = !1, + l.text = u["name_" + GameMgr.client_language] + } + var f = Laya.timer.currTimer; + r.alpha = o.alpha = 1, + s.alpha = l.alpha = 0, + Laya.timer.frameLoop(1, this, function() { + var t = Laya.timer.currTimer - f; + if ((t -= 2600 * Math.floor(t / 2600)) < 800) + r.alpha = o.alpha = 1, + s.alpha = l.alpha = 0; + else if (t < 1300) { + e = (t - 800) / 500; + r.alpha = o.alpha = 1 - e, + s.alpha = l.alpha = e + } else if (t < 2100) + r.alpha = o.alpha = 0, + s.alpha = l.alpha = 1; + else { + var e = (t - 800 - 500 - 800) / 500; + r.alpha = o.alpha = e, + s.alpha = l.alpha = 1 - e + } + }) + } else + s.visible = !1, + l.visible = !1, + r.alpha = 1, + o.alpha = 1 + } + , + e + }() + , a = function(a) { + function r() { + var t = a.call(this, new ui.lobby.tangfang1UI) || this; + return r.Inst = t, + t + } + return __extends(r, a), + r.prototype.onCreate = function() { + var t = this; + this.btn_next = this.me.getChildByName("btn_next"), + this.btn_next.clickHandler = Laya.Handler.create(this, function() { + t.show_next() + }, null, !1), + this.tf_wupin = new e(this.me.getChildByName("tanfang_wupin"),this.me.getChildByName("effect_wuping")), + this.tf_juese = new i(this.me.getChildByName("tanfang_juese"),this.me.getChildByName("effect_juese")), + this.btn_pass = this.me.getChildByName("btn_pass"), + this.btn_pass.clickHandler = Laya.Handler.create(this, function() { + t.show_result() + }, null, !1), + this.final_result = new n(this.me.getChildByName("container_final_info")), + this.left_tree = this.me.getChildByName("left_tree"), + this.right_tree = this.me.getChildByName("right_tree"), + this.container_liuxing = this.me.getChildByName("container_scene").getChildByName("liuxing"), + this.container_jianying_sakura = this.me.getChildByName("tanfang_juese").getChildByName("jianying").getChildByName("scene_jianying_sakura") + } + , + r.prototype.show = function(t, e) { + var i = this; + this.chest_id = t, + this.results = e; + for (s = 1; s < this.results.length; s++) { + var n = Math.floor(Math.random() * (s + 1)) + , a = this.results[s]; + this.results[s] = this.results[n], + this.results[n] = a + } + for (var r = !1, s = 0; s < this.results.length; s++) + if (20 == Math.floor(this.results[s].reward.id / 1e4)) { + r = !0; + break + } + var o = !this.enable; + if (this.enable = !0, + this.tf_wupin.me.visible = !1, + this.tf_juese.me.visible = !1, + this.final_result.me.visible = !1, + this.left_tree.visible = !0, + this.right_tree.visible = !0, + this.btn_next.visible = !1, + this.btn_pass.visible = !1, + this.index = 0, + o) { + if (this.me.XMin_new.play(0, !1), + Laya.timer.once(20 / 24 * 1e3, this, function() { + view.AudioMgr.PlayAudio(108) + }), + this.me.getChildByName("container_scene").getChildByName("light").visible = !1, + Laya.timer.once(1200, this, function() { + i.me.getChildByName("container_scene").getChildByName("light").visible = !0, + i.me.light.play(0, !0) + }), + Laya.timer.once(1250, this, function() { + i.btn_next.visible = !0, + i.btn_pass.visible = !0 + }), + r && Math.random() < .8) { + var l = "scene/scene_tanfang_liuxing.ls"; + Laya.loader.create(l, Laya.Handler.create(this, function() { + Laya.timer.once(1500, i, function() { + i._scene_liuxing = Laya.loader.getRes(l), + i.container_liuxing.addChild(i._scene_liuxing), + i._scene_liuxing.visible = !0 + }) + })) + } + var h = "scene/scene_jianying_sakura.ls"; + Laya.loader.create(h, Laya.Handler.create(this, function() { + i._scene_jianying_sakura = Laya.loader.getRes(h), + i.container_jianying_sakura.addChild(i._scene_jianying_sakura), + i._scene_jianying_sakura.visible = !1 + })) + } else if (Laya.timer.once(200, this, function() { + i.btn_next.visible = !0, + i.btn_pass.visible = !0 + }), + r && Math.random() < .8) { + var c = "scene/scene_tanfang_liuxing.ls"; + Laya.loader.create(c, Laya.Handler.create(this, function() { + Laya.timer.once(500, i, function() { + i._scene_liuxing = Laya.loader.getRes(c), + i.container_liuxing.addChild(i._scene_liuxing), + i._scene_liuxing.visible = !0 + }) + })) + } + } + , + r.prototype.close = function() { + this.enable = !1, + t.UI_TanfangRoot.Inst.close(), + this._scene_liuxing && (this._scene_liuxing.destroy(!0), + this._scene_liuxing = null), + this._scene_jianying_sakura && (this._scene_jianying_sakura.destroy(!0), + this._scene_jianying_sakura = null), + this.me.light.stop(), + t.UI_Treasure.Inst.refresh_show() + } + , + r.prototype.show_next = function() { + var t = this; + this.btn_next.visible = !1, + this.btn_pass.visible = !1, + this.index < this.results.length ? (20 == Math.floor(this.results[this.index].reward.id / 1e4) ? (this.tf_juese.show(this.results[this.index].reward.id), + Laya.timer.once(400, this, function() { + t._scene_jianying_sakura && (t._scene_jianying_sakura.visible = !0, + Laya.timer.once(2500, t, function() { + t._scene_jianying_sakura && (t._scene_jianying_sakura.visible = !1) + })) + })) : this.tf_wupin.show(this.results[this.index].reward.id, this.results[this.index].reward.count), + this.index++) : this.show_result() + } + , + r.prototype.show_result = function() { + this.btn_next.visible = !1, + this.btn_pass.visible = !1, + this.index = this.results.length, + this.final_result.show(this.results) + } + , + r + }(t.UIBase); + t.UI_Tanfang = a +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.tanfang0UI) || this; + return t.need_show_loading = !1, + t.loadover = !1, + t.waiting_to_show = !1, + t.results = null, + t.chect_id = -1, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + this.loading = this.me.getChildByName("loading"), + this.root = this.me.getChildByName("root") + } + , + i.prototype.beginload = function() { + var e = this; + if (!this.loadover) { + var i = "res/atlas/"; + "chs" != GameMgr.client_language && (i += GameMgr.client_language + "/"), + this.urls = [i + "tanfang.atlas"], + Laya.loader.create(this.urls, Laya.Handler.create(this, function() { + e.root.addChild((new t.UI_Tanfang).me), + Laya.timer.frameOnce(8, e, function() { + e.loadover = !0, + e.waiting_to_show && e.show_result() + }) + })) + } + } + , + i.prototype.show = function(e, i, n) { + var a = this; + GameMgr.inDmm ? t.UI_Dmm_Buy_Pop.Inst.show(game.Tools.strOfLocalization(8005), Laya.Handler.create(this, function() { + a._show(e, i, n) + })) : this._show(e, i, n) + } + , + i.prototype._show = function(e, i, n) { + var a = this; + this.loading.visible = !1, + this.need_show_loading = !0, + Laya.timer.clearAll(this), + Laya.timer.once(500, this, function() { + a.need_show_loading && (a.loading.visible = !0) + }), + this.waiting_to_show = !1, + this.chect_id = e, + app.NetAgent.sendReq2Lobby("Lobby", "openChest", { + chest_id: e, + count: i, + use_ticket: n + }, function(i, n) { + i || n.error ? (t.UIMgr.Inst.showNetReqError("openChest", i, n), + a.close()) : (a.results = n.results, + t.UI_Treasure.on_chest_count_change([{ + faith_id: cfg.chest.chest.find(e).faith_id, + count: n.faith_count + }]), + a.loadover ? a.show_result() : a.waiting_to_show = !0) + }), + this.enable = !0 + } + , + i.prototype.test = function() { + var t = this; + this.loading.visible = !1, + this.need_show_loading = !0, + Laya.timer.clearAll(this), + Laya.timer.once(500, this, function() { + t.need_show_loading && (t.loading.visible = !0) + }), + this.waiting_to_show = !1, + this._test10(), + this.loadover ? this.show_result() : this.waiting_to_show = !0, + Laya.timer.once(1e3, this, function() { + t.beginload() + }), + this.enable = !0 + } + , + i.prototype.close = function() { + this.need_show_loading = !1, + this.loading.visible = !1; + for (var e = 0; e < this.urls.length; e++) + Laya.loader.clearTextureRes(this.urls[e].url); + Laya.loader.clearTextureRes(t.UI_Get_Character.Inst.atlas_url), + this.enable = !1, + view.BgmListMgr.PlayLobbyBgm() + } + , + i.prototype.show_result = function() { + this.need_show_loading = !1, + this.loading.visible = !1, + t.UI_Tanfang.Inst.show(this.chect_id, this.results), + view.BgmListMgr.stopBgm() + } + , + i.prototype._test10 = function() { + this.results = [{ + reward: { + id: 200001, + count: 1 + } + }, { + reward: { + id: 200001, + count: 1 + }, + replace: { + id: 302002, + count: 75 + } + }, { + reward: { + id: 200002, + count: 1 + } + }, { + reward: { + id: 302007, + count: 3 + } + }, { + reward: { + id: 302012, + count: 7 + } + }, { + reward: { + id: 303041, + count: 10 + } + }, { + reward: { + id: 305007, + count: 1 + } + }, { + reward: { + id: 305002, + count: 1 + } + }, { + reward: { + id: 305013, + count: 1 + } + }, { + reward: { + id: 305017, + count: 1 + } + }] + } + , + i.prototype._test1 = function() { + this.results = [{ + reward: { + id: 200001, + count: 1 + } + }] + } + , + i + }(t.UIBase); + t.UI_TanfangRoot = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(t) { + function e() { + var i = t.call(this, new ui.mj.tingpaiUI) || this; + return i.container_tiles = null, + i.root = null, + i.container_effect = null, + i.items = [], + i.bg = null, + i.btn_show = null, + i.state = -1, + i.zhengting = !1, + i.tingPaiDiscardInfos = [], + i.tingPaiInfos = [], + i.pre_yiman = !1, + i.pre_beiman = !1, + i.mousedowned = !1, + e.Inst = i, + i + } + return __extends(e, t), + e.prototype.onCreate = function() { + this.root = this.me.getChildByName("root"), + this.container_tiles = this.root.getChildByName("container_tiles"); + for (var t = 0; t < this.container_tiles.numChildren; t++) { + var e = this.container_tiles.getChildAt(t); + this.items.push({ + container: e, + tile: e, + zhengting: e.getChildByName("flag_zhenting"), + container_left: e.getChildByName("container_left"), + count: e.getChildByName("container_left").getChildAt(0), + noyi: e.getChildByName("noyi"), + fanfu: e.getChildByName("fanfu") + }), + this.items[t].container.visible = !1 + } + this.bg = { + bg: this.root.getChildByName("bg0"), + bound: this.root.getChildByName("bound"), + mask: this.root.getChildByName("bg0").mask, + right: this.root.getChildByName("bg0").getChildByName("right"), + bar: this.root.getChildByName("bg0").getChildByName("bar") + }, + this.container_effect = this.me.getChildByName("container_effect"), + this.btn_show = this.me.getChildByName("btn_show"), + this.btn_show.on("mousedown", this, this._setMouseDown, [!0]), + this.btn_show.on("mouseup", this, this._setMouseDown, [!1]), + this.btn_show.on("mouseout", this, this._setMouseDown, [!1]), + this.btn_show.visible = !1, + this.reset() + } + , + e.prototype.reset = function() { + this.root.visible = !1, + this.btn_show.visible = !1, + this.mousedowned = !1, + this.zhengting = !1, + this.state = -1, + this.tingPaiDiscardInfos = [], + this.tingPaiInfos = [], + this.pre_yiman = !1, + this.pre_beiman = !1 + } + , + e.prototype.setData0 = function(t) { + if (view.DesktopMgr.bianjietishi) { + var e = !1; + if (t.operation) + for (var i = t.operation, n = 0; n < i.operation_list.length; n++) + if (i.operation_list[n].type == mjcore.E_PlayOperation.dapai) { + e = !0; + break + } + if (e) + if (t.tingpais && t.tingpais.length > 0) { + this.btn_show.visible = 1 == t.tingpais.length, + this.tingPaiDiscardInfos = []; + for (n = 0; n < t.tingpais.length; n++) { + for (var a = [], r = 0; r < t.tingpais[n].infos.length; r++) { + var i = t.tingpais[n].infos[r] + , s = { + tile: mjcore.MJPai.Create(i.tile), + haveyi: i.haveyi, + yiman: i.yiman, + count: i.count, + fu: i.fu, + biao_dora_count: i.biao_dora_count, + yiman_zimo: i.yiman_zimo, + count_zimo: i.count_zimo, + fu_zimo: i.fu_zimo + }; + a.push(s) + } + this.tingPaiDiscardInfos.push({ + tile: mjcore.MJPai.Create(t.tingpais[n].tile), + zhengting: t.tingpais[n].zhenting, + infos: a + }) + } + this.state = 0 + } else + this.btn_show.visible = !1, + this.state = -1 + } + } + , + e.prototype.setData1 = function(t, e) { + var i = this; + if (t.tingpais && t.tingpais.length > 0) { + this.btn_show.visible = view.DesktopMgr.bianjietishi; + var n = this.tingPaiInfos; + this.tingPaiInfos = []; + for (h = 0; h < t.tingpais.length; h++) { + var a = t.tingpais[h] + , r = { + tile: mjcore.MJPai.Create(a.tile), + haveyi: a.haveyi, + yiman: a.yiman, + count: a.count, + fu: a.fu, + biao_dora_count: a.biao_dora_count, + yiman_zimo: a.yiman_zimo, + count_zimo: a.count_zimo, + fu_zimo: a.fu_zimo + }; + this.tingPaiInfos.push(r) + } + if (this.state = 1, + !e) { + for (var s = !1, o = {}, l = 0, h = 0; h < n.length; h++) { + o[_ = n[h].tile.toString()] || (o[_] = 1, + l++) + } + for (var c = 0, h = 0; h < this.tingPaiInfos.length; h++) { + var _ = this.tingPaiInfos[h].tile.toString(); + if (!o[_]) { + s = !0; + break + } + 1 == o[_] && (o[_] = 2, + c++) + } + c != l && (s = !0), + s && (this.pre_yiman = !1, + this.pre_beiman = !1); + for (var u = 0, d = !1, h = 0; h < this.tingPaiInfos.length; h++) + (this.tingPaiInfos[h].yiman || this.tingPaiInfos[h].haveyi && this.tingPaiInfos[h].count + this.tingPaiInfos[h].biao_dora_count >= 13) && u++, + (this.tingPaiInfos[h].yiman_zimo || this.tingPaiInfos[h].count_zimo + this.tingPaiInfos[h].biao_dora_count >= 13) && u++, + (this.tingPaiInfos[h].yiman || this.tingPaiInfos[h].haveyi && this.tingPaiInfos[h].count + this.tingPaiInfos[h].biao_dora_count >= 8) && (d = !0), + (this.tingPaiInfos[h].yiman_zimo || this.tingPaiInfos[h].count_zimo + this.tingPaiInfos[h].biao_dora_count >= 8) && (d = !0); + if (!this.pre_yiman) { + var f = "" + , p = -1; + u == 2 * this.tingPaiInfos.length ? (f = "scene/effect_yiman_queding_" + GameMgr.client_language + ".lh", + p = 240) : u > 0 && (f = "scene/effect_yiman_jihui_" + GameMgr.client_language + ".lh", + p = 239), + u > 0 && view.DesktopMgr.Inst.addMindVoice(view.DesktopMgr.Inst.seat, "ingame_yiman"), + "" != f && (this.pre_yiman = !0, + Laya.timer.once(600, this, function() { + var t = game.FrontEffect.Inst.create_ui_effect(i.container_effect, f, new Laya.Point(0,0), 1); + view.AudioMgr.PlayAudio(p), + Laya.timer.once(3e3, i, function() { + t.destory() + }) + })) + } + this.pre_beiman || this.pre_yiman || d && (this.pre_beiman = !0, + view.DesktopMgr.Inst.addMindVoice(view.DesktopMgr.Inst.seat, "ingame_beiman")) + } + } else + this.btn_show.visible = !1, + this.state = -1, + this.tingPaiInfos = [] + } + , + e.prototype._show = function(t, e) { + if (view.DesktopMgr.bianjietishi) { + for (a = 0; a < this.items.length; a++) + this.items[a].container.visible = !1; + t = t.sort(function(t, e) { + return mjcore.MJPai.Distance(t.tile, e.tile) + }); + var i = "myres2/mjp/" + GameMgr.Inst.mjp_view + "/ui/" + , n = 1; + view.DesktopMgr.Inst.game_config.mode.detail_rule && view.DesktopMgr.Inst.game_config.mode.detail_rule.fanfu && (n = view.DesktopMgr.Inst.game_config.mode.detail_rule.fanfu) <= 1 && (n = 1); + for (var a = 0; a < t.length; a++) { + if (this.items[a].container.visible = !0, + this.items[a].zhengting.visible = e, + this.items[a].tile.skin = game.Tools.localUISrc(i + t[a].tile.toString() + ".png"), + this.items[a].count.text = view.DesktopMgr.Inst.getPaiLeft(t[a].tile).toString() + ("en" == GameMgr.client_language ? " " : "") + game.Tools.strOfLocalization(2197), + this.items[a].zhengting.visible = e, + this.items[a].container.x = 80 + 120 * a, + this.items[a].container.y = 45, + n <= 1) { + var r = t[a].haveyi || t[a].yiman || t[a].count > 0; + view.DesktopMgr.Inst.mainrole.during_liqi && (r = !0), + this.items[a].noyi.visible = !r, + this.items[a].fanfu.visible = !1 + } else { + this.items[a].noyi.visible = !1; + var s = t[a].count; + t[a].yiman && (s *= 13), + view.DesktopMgr.Inst.mainrole.during_liqi && s++, + this.items[a].fanfu.visible = s < n + } + this.items[a].container_left.visible = !this.items[a].noyi.visible && !this.items[a].fanfu.visible + } + var o = 210 + 80 * t.length + 40 * (t.length - 1); + this.bg.bg.width = o, + this.bg.bound.width = o, + this.bg.bar.width = o + 80, + this.bg.mask.width = o, + this.bg.right.x = o - 20, + this.root.x = 960 - o / 2, + this.root.visible = !0 + } + } + , + e.prototype.onChooseTile = function(t) { + if (0 == this.state && t && this.tingPaiDiscardInfos && view.DesktopMgr.bianjietishi) { + for (var e = -1, i = 0; i < this.tingPaiDiscardInfos.length; i++) + if (0 == mjcore.MJPai.Distance(this.tingPaiDiscardInfos[i].tile, t)) { + e = i; + break + } + -1 == e ? this.root.visible = !1 : this._show(this.tingPaiDiscardInfos[e].infos, this.tingPaiDiscardInfos[e].zhengting) + } else + this.root.visible = !1 + } + , + e.prototype._setMouseDown = function(t) { + app.Log.log("_setMouseDown " + t), + this.mousedowned != t && (this.mousedowned = t, + t ? 1 == this.state && this.tingPaiInfos && this.tingPaiInfos.length > 0 ? this._show(this.tingPaiInfos, this.zhengting) : 0 == this.state && this.tingPaiDiscardInfos && 1 == this.tingPaiDiscardInfos.length ? this._show(this.tingPaiDiscardInfos[0].infos, this.tingPaiDiscardInfos[0].zhengting) : this.root.visible = !1 : this.root.visible = !1) + } + , + e.prototype.setZhengting = function(t) { + this.zhengting = t + } + , + e.Inst = null, + e + }(t.UIBase); + t.UI_TingPai = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.titlebookUI) || this; + return t._root = null, + t._scrollview = null, + t._blackmask = null, + t._locking = !1, + t._showindexs = [], + i.Inst = t, + t + } + return __extends(i, e), + i.Init = function() { + var e = this; + app.NetAgent.sendReq2Lobby("Lobby", "fetchTitleList", {}, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("fetchTitleList", i, n); + else { + e.owned_title = []; + for (var a = 0; a < n.title_list.length; a++) { + var r = n.title_list[a]; + e.owned_title.push(r), + 600005 == r && app.PlayerBehaviorStatistic.fb_trace_pending(app.EBehaviorType.Get_The_Title1, 1), + r >= 600005 && r <= 600015 && app.PlayerBehaviorStatistic.google_trace_pending(app.EBehaviorType.G_get_title_1 + r - 600005, 1) + } + } + }) + } + , + i.title_update = function(e) { + for (i = 0; i < e.new_titles.length; i++) + this.owned_title.push(e.new_titles[i]), + 600005 == e.new_titles[i] && app.PlayerBehaviorStatistic.fb_trace_pending(app.EBehaviorType.Get_The_Title1, 1), + e.new_titles[i] >= 600005 && e.new_titles[i] <= 600015 && app.PlayerBehaviorStatistic.google_trace_pending(app.EBehaviorType.G_get_title_1 + e.new_titles[i] - 600005, 1); + if (e.remove_titles && e.remove_titles.length > 0) { + for (var i = 0; i < e.remove_titles.length; i++) { + for (var n = e.remove_titles[i], a = 0; a < this.owned_title.length; a++) + if (this.owned_title[a] == n) { + this.owned_title[a] = this.owned_title[this.owned_title.length - 1], + this.owned_title.pop(); + break + } + n == GameMgr.Inst.account_data.title && (GameMgr.Inst.account_data.title = 600001, + t.UI_Lobby.Inst.enable && t.UI_Lobby.Inst.top.refresh(), + t.UI_PlayerInfo.Inst.enable && t.UI_PlayerInfo.Inst.refreshBaseInfo()) + } + this.Inst.enable && this.Inst.show() + } + } + , + i.prototype.onCreate = function() { + var e = this; + this._root = this.me.getChildByName("root"), + this._blackmask = new t.UI_BlackMask(this.me.getChildByName("bmask"),Laya.Handler.create(this, function() { + return e._locking + }, null, !1),Laya.Handler.create(this, this.close, null, !1)), + this._scrollview = this._root.getChildByName("content").scriptMap["capsui.CScrollView"], + this._scrollview.init_scrollview(Laya.Handler.create(this, function(t) { + e.setItemValue(t.index, t.container) + }, null, !1)), + this._root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e._locking || (e._blackmask.hide(), + e.close()) + }, null, !1), + this._noinfo = this._root.getChildByName("noinfo") + } + , + i.prototype.show = function() { + var e = this; + if (this._locking = !0, + this.enable = !0, + this._blackmask.show(), + i.owned_title.length > 0) { + this._showindexs = []; + for (var n = 0; n < i.owned_title.length; n++) + this._showindexs.push(n); + this._showindexs = this._showindexs.sort(function(t, e) { + var n = t + , a = cfg.item_definition.title.get(i.owned_title[t]); + a && (n += 1e3 * a.priority); + var r = e + , s = cfg.item_definition.title.get(i.owned_title[e]); + return s && (r += 1e3 * s.priority), + r - n + }), + this._scrollview.reset(), + this._scrollview.addItem(i.owned_title.length), + this._scrollview.me.visible = !0, + this._noinfo.visible = !1 + } else + this._noinfo.visible = !0, + this._scrollview.me.visible = !1; + t.UIBase.anim_pop_out(this._root, Laya.Handler.create(this, function() { + e._locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this._locking = !0, + t.UIBase.anim_pop_hide(this._root, Laya.Handler.create(this, function() { + e._locking = !1, + e.enable = !1 + })) + } + , + i.prototype.onDisable = function() { + this._scrollview.reset() + } + , + i.prototype.setItemValue = function(t, e) { + var n = this; + if (this.enable) { + var a = i.owned_title[this._showindexs[t]] + , r = cfg.item_definition.title.find(a); + game.LoadMgr.setImgSkin(e.getChildByName("img_title"), r.icon), + e.getChildByName("using").visible = a == GameMgr.Inst.account_data.title, + e.getChildByName("desc").text = r["desc_" + GameMgr.client_language]; + e.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + a != GameMgr.Inst.account_data.title ? (n.changeTitle(t), + e.getChildByName("using").visible = !0) : (n.changeTitle(-1), + e.getChildByName("using").visible = !1) + }, null, !1); + var s = e.getChildByName("time") + , o = e.getChildByName("img_title"); + if (1 == r.unlock_type) { + var l = r.unlock_param[0] + , h = cfg.item_definition.item.get(l); + s.text = game.Tools.strOfLocalization(3121) + h.item_expire, + s.visible = !0, + o.y = 0 + } else + s.visible = !1, + o.y = 10 + } + } + , + i.prototype.changeTitle = function(e) { + var n = this + , a = GameMgr.Inst.account_data.title + , r = 0; + r = e >= 0 && e < this._showindexs.length ? i.owned_title[this._showindexs[e]] : 600001, + GameMgr.Inst.account_data.title = r; + for (var s = -1, o = 0; o < this._showindexs.length; o++) + if (a == i.owned_title[this._showindexs[o]]) { + s = o; + break + } + t.UI_Lobby.Inst.enable && t.UI_Lobby.Inst.top.refresh(), + t.UI_PlayerInfo.Inst.enable && t.UI_PlayerInfo.Inst.refreshBaseInfo(), + -1 != s && this._scrollview.wantToRefreshItem(s), + app.NetAgent.sendReq2Lobby("Lobby", "useTitle", { + title: 600001 == r ? 0 : r + }, function(i, r) { + (i || r.error) && (t.UIMgr.Inst.showNetReqError("useTitle", i, r), + GameMgr.Inst.account_data.title = a, + t.UI_Lobby.Inst.enable && t.UI_Lobby.Inst.top.refresh(), + t.UI_PlayerInfo.Inst.enable && t.UI_PlayerInfo.Inst.refreshBaseInfo(), + n.enable && (e >= 0 && e < n._showindexs.length && n._scrollview.wantToRefreshItem(e), + s >= 0 && s < n._showindexs.length && n._scrollview.wantToRefreshItem(s))) + }) + } + , + i.Inst = null, + i.owned_title = [], + i + }(t.UIBase); + t.UI_TitleBook = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t) { + var e = this; + this.me = t, + this.root = t.getChildByName("root"), + this.panel = this.root.getChildByName("content"), + this.label_info = this.panel.getChildByName("info"), + this.panel.vScrollBarSkin = "", + this.me.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + e.close() + }, null, !1) + } + return e.prototype.show = function(e) { + var i = cfg.chest.chest.get(e); + this.label_info.text = i["desc_" + GameMgr.client_language], + this.label_info.height = this.label_info.textField.textHeight, + this.panel.refresh(), + this.me.visible = !0, + t.UIBase.anim_alpha_in(this.root, { + y: 30 + }, 150) + } + , + e.prototype.showinfo = function(e) { + this.label_info.text = e, + this.label_info.height = this.label_info.textField.textHeight, + this.panel.refresh(), + this.me.visible = !0, + t.UIBase.anim_alpha_in(this.root, { + y: 30 + }, 150) + } + , + e.prototype.close = function() { + var e = this; + t.UIBase.anim_alpha_out(this.root, { + y: 30 + }, 150, 0, Laya.Handler.create(this, function() { + e.me.visible = !1 + })) + } + , + e + }() + , i = function() { + function e(t, e, i) { + var n = this; + this.me = t, + this.label_count = t.getChildByName("count"), + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.render_item, null, !1), -1, 4), + this.me.visible = !1, + this.me.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + n.locking || n.close() + }, null, !1) + } + return e.prototype.show = function(e) { + var i = this; + this.chest_id = e, + this.locking = !0, + this.me.visible = !0, + t.UIBase.anim_alpha_in(this.me, { + y: 30 + }, 150, null, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.items = [], + cfg.chest.chest_shop.forEach(function(n) { + n.chest_id == e && (n.check_activity && !t.UI_Activity.activity_is_running(n.check_activity) || i.items.push({ + id: n.id, + sort: n.sort + })) + }), + this.items = this.items.sort(function(t, e) { + return t.sort - e.sort + }), + this.refresh_currency(), + this.scrollview.reset(), + this.scrollview.addItem(this.items.length) + } + , + e.prototype.want_refresh = function() { + this.scrollview.wantToRefreshAll() + } + , + e.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_alpha_out(this.me, { + y: 30 + }, 150, null, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + e.prototype.render_item = function(e) { + var i = this + , n = e.index + , a = e.container + , r = (e.cache_data, + this.items[n].id) + , s = cfg.chest.chest_shop.get(r) + , l = !1; + game.GameUtility.item_owned(s.item_id) && (l = !0); + var h = a.getChildByName("btn"); + h.clickHandler = Laya.Handler.create(this, function() { + if (s.need_amount) { + e = { + item_id: s.item_id, + icon: s.icon, + currency_icon: game.Tools.localUISrc("myres/lobby/xycoin.png"), + single_price: s.price, + my_currency_count: i.currency_count, + mounthly: !1, + buy_limit: -1, + buyed_count: 0, + show_has: !1 + }; + t.UI_Pop_Buy_Multi.Inst.show(e, Laya.Handler.create(i, function(e) { + app.NetAgent.sendReq2Lobby("Lobby", "buyFromChestShop", { + goods_id: r, + count: e + }, function(i, n) { + if (i || n.error) + t.UIMgr.Inst.showNetReqError("buyFromChestShop", i, n); + else { + var a = cfg.chest.chest_shop.get(r); + GameMgr.inDmm ? t.UI_LightTips.Inst.show_dmm(a["name_" + GameMgr.client_language], e) : t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2161, [a["name_" + GameMgr.client_language] + "x" + e])), + o.on_chest_count_change([{ + faith_id: n.chest_id, + count: n.faith_count + }]), + o.Inst.xy.want_refresh(), + o.Inst.money.onEnable(), + o.Inst.money.label_xinyang && (o.Inst.money.label_xinyang.text = o.get_chest_currency(cfg.chest.chest.get(o.Inst.chest_id).faith_id).toString()) + } + }) + })) + } else { + var e = { + item_id: s.item_id, + icon: s.icon, + currency_icon: game.Tools.localUISrc("myres/lobby/xycoin.png"), + single_price: s.price, + my_currency_count: i.currency_count, + buy_limit: 1, + buyed_count: l ? 1 : 0, + show_has: !1, + buyed_img: game.Tools.localUISrc("myres/shop/owned.png") + }; + t.UI_Pop_Buy_Single.Inst.show(e, Laya.Handler.create(i, function() { + app.NetAgent.sendReq2Lobby("Lobby", "buyFromChestShop", { + goods_id: r, + count: 1 + }, function(e, i) { + if (e || i.error) + t.UIMgr.Inst.showNetReqError("buyFromChestShop", e, i); + else { + var n = cfg.chest.chest_shop.get(r); + game.GameUtility.get_id_type(n.item_id) == game.EIDType.character ? t.UI_Get_Character.Inst.show(n.item_id) : GameMgr.inDmm ? t.UI_LightTips.Inst.show_dmm(n["name_" + GameMgr.client_language], 1) : t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2161, [n["name_" + GameMgr.client_language]])), + o.on_chest_count_change([{ + faith_id: i.chest_id, + count: i.faith_count + }]), + o.Inst.xy.want_refresh(), + o.Inst.money.onEnable(), + o.Inst.money.label_xinyang && (o.Inst.money.label_xinyang.text = o.get_chest_currency(cfg.chest.chest.get(o.Inst.chest_id).faith_id).toString()) + } + }) + })) + } + }, null, !1), + h.getChildByName("label_name").text = s["name_" + GameMgr.client_language], + game.LoadMgr.setImgSkin(a.getChildByName("btn").getChildByName("icon"), s.icon), + l ? (h.getChildByName("buyed").visible = !0, + h.getChildByName("icon").filters = [new Laya.ColorFilter(t.DARK_FILTER)], + h.getChildByName("btn_buy").filters = [new Laya.ColorFilter(t.GRAY_FILTER)]) : (h.getChildByName("buyed").visible = !1, + h.getChildByName("icon").filters = [], + h.getChildByName("btn_buy").filters = []), + h.getChildByName("btn_buy").getChildByName("label_gold").text = s.price.toString(), + game.Tools.child_align_center(h.getChildByName("btn_buy")), + h.getChildByName("xianding").visible = null != s.check_activity && s.check_activity > 0 + } + , + e.prototype.refresh_currency = function() { + this.currency_count = o.get_chest_currency(this.chest_id), + this.label_count.text = this.currency_count.toString() + } + , + e + }() + , n = function() { + function e(t, e) { + var i = this; + this.cells = [], + this.init_h = 0, + this.total_h = 0, + this.charas = [], + this.looks = [], + this.gifts = [], + this.used_cell_count = 0, + this.in_up = {}, + this.me = t, + this.father = e, + this.content = this.me.getChildByName("content"), + this.templete = this.content.getChildByName("templete"), + this.templete.visible = !1, + this.cells = []; + for (var n = this.templete.scriptMap["capsui.UICopy"], a = 0; a < 150; a++) { + var r = n.getNodeClone(); + this.cells.push(r) + } + this.container_character = this.content.getChildByName("container_character"), + this.container_look = this.content.getChildByName("container_look"), + this.container_present = this.content.getChildByName("container_present"), + this.scrollbar = this.me.getChildByName("scrollbar").scriptMap["capsui.CScrollBar"], + this.scrollbar.init(new Laya.Handler(this,function(t) { + i.content.vScrollBar.value = i.content.vScrollBar.max * t, + i.onPanelScroll() + } + )), + this.content.vScrollBarSkin = "", + this.content.vScrollBar.on("change", this, this.onPanelScroll) + } + return e.prototype.onPanelScroll = function() { + this.total_h < this.content.height ? this.scrollbar.setVal(0, 1) : this.scrollbar.setVal(this.content.vScrollBar.value / this.content.vScrollBar.max, this.content.height / this.total_h) + } + , + e.prototype.refresh_data = function(e) { + var i = this + , n = t.UI_Activity.onTreasureRateUpRetID(o.Inst.chest_id) + , a = 0 != n; + this.in_up = {}; + var r = cfg.activity.chest_up.getGroup(n); + r && r.forEach(function(t) { + if (t.chest_id == e) + for (var n = t.up_items, a = 0; a < n.length; a++) + i.in_up[n[a]] = 1 + }), + this.content.getChildByName("desc_chs").visible = !1, + this.content.getChildByName("desc_en").visible = !1, + this.content.getChildByName("desc_jp").visible = !1, + this.content.getChildByName("desc_chs_up").visible = !1, + this.content.getChildByName("desc_en_up").visible = !1, + this.content.getChildByName("desc_jp_up").visible = !1, + this.content.getChildByName("desc_chs_t_up").visible = !1, + this.content.getChildByName("desc_chs_t").visible = !1; + var s = this.content.getChildByName("desc_" + GameMgr.client_language + (a ? "_up" : "")); + if (s.visible = !0, + this.init_h = s.height + 10, + 0 != this.used_cell_count) { + for (c = 0; c < this.used_cell_count; c++) + this.cells[c].visible = !1; + this.used_cell_count = 0 + } + if (this.charas = [], + this.looks = [], + this.gifts = [], + cfg.chest.preview.forEach(function(n) { + if (n.chest_id == e && (!n.check_activity || t.UI_Activity.activity_is_running(n.check_activity))) + switch (n.type) { + case "chara": + i.charas.push({ + item_id: n.item_id, + check_activity: n.check_activity + }); + break; + case "skin": + i.looks.push({ + item_id: n.item_id, + check_activity: n.check_activity + }); + break; + case "gift": + i.gifts.push({ + item_id: n.item_id, + check_activity: n.check_activity + }) + } + }), + this.total_h = this.init_h, + this.used_cell_count = 0, + this.charas.length > 0) { + this.container_character.visible = !0, + this.container_character.y = this.total_h, + this.container_character.height = 174 + 170 * (Math.ceil(this.charas.length / 6) - 1), + this.total_h += this.container_character.height; + for (var l = function(t) { + var e = h.charas[t].item_id + , n = h.charas[t].check_activity + , a = h.cells[h.used_cell_count++]; + h.container_character.addChild(a), + a.x = t % 6 * 162 + 135, + a.y = 15 + 170 * Math.floor(t / 6), + a.visible = !0; + var r = cfg.item_definition.character.find(e) + , s = cfg.item_definition.skin.find(r.init_skin) + , o = a.getChildByName("btn"); + o.clickHandler = Laya.Handler.create(h, function() { + i.me.visible = !1, + i.father.page_character.show(i.charas, t) + }, null, !1), + game.LoadMgr.setImgSkin(o.getChildByName("icon"), s.path + "/smallhead.png"), + o.getChildByName("xianding").visible = null != n && n > 0, + o.getChildByName("up").visible = h.in_up[e] + }, h = this, c = 0; c < this.charas.length; c++) + l(c); + this.total_h += 25 + } else + this.container_character.visible = !1; + if (this.looks.length > 0) { + this.container_look.visible = !0, + this.container_look.y = this.total_h, + this.container_look.height = 174 + 170 * (Math.ceil(this.looks.length / 6) - 1), + this.total_h += this.container_look.height; + for (var _ = function(e) { + var i = u.looks[e].item_id + , n = u.looks[e].check_activity + , a = u.cells[u.used_cell_count++]; + u.container_look.addChild(a), + a.x = e % 6 * 162 + 135, + a.y = 15 + 170 * Math.floor(e / 6), + a.visible = !0; + var r = cfg.item_definition.item.find(i) + , s = a.getChildByName("btn"); + s.clickHandler = Laya.Handler.create(u, function() { + t.UI_ItemDetail.Inst.show(i) + }, null, !1), + game.LoadMgr.setImgSkin(s.getChildByName("icon"), r.icon), + s.getChildByName("xianding").visible = null != n && n > 0, + s.getChildByName("up").visible = u.in_up[i] + }, u = this, c = 0; c < this.looks.length; c++) + _(c); + this.total_h += 25 + } else + this.container_look.visible = !1; + if (this.gifts.length > 0) { + this.container_present.visible = !0, + this.container_present.y = this.total_h, + this.container_present.height = 174 + 170 * (Math.ceil(this.gifts.length / 6) - 1), + this.total_h += this.container_present.height; + for (var d = function(e) { + var i = f.gifts[e].item_id + , n = f.gifts[e].check_activity + , a = f.cells[f.used_cell_count++]; + f.container_present.addChild(a), + a.x = e % 6 * 162 + 135, + a.y = 15 + 170 * Math.floor(e / 6), + a.visible = !0; + var r = cfg.item_definition.item.find(i) + , s = a.getChildByName("btn"); + s.clickHandler = Laya.Handler.create(f, function() { + t.UI_ItemDetail.Inst.show(i) + }, null, !1), + game.LoadMgr.setImgSkin(s.getChildByName("icon"), r.icon), + s.getChildByName("xianding").visible = null != n && n > 0, + s.getChildByName("up").visible = f.in_up[i] + }, f = this, c = 0; c < this.gifts.length; c++) + d(c); + this.total_h += 25 + } else + this.container_present.visible = !1; + for (c = this.used_cell_count; c < this.cells.length; c++) + this.cells[c].visible = !1; + this.content.vScrollBar.stopScroll(), + this.content.vScrollBar.value = 0, + this.content.refresh(), + this.scrollbar.reset(), + this.scrollbar.setVal(0, this.content.height / this.total_h) + } + , + e.prototype.show = function() { + this.me.visible = !0, + t.UIBase.anim_alpha_in(this.me, { + y: 30 + }, 150) + } + , + e + }() + , a = function() { + function e(e, i) { + var n = this; + this.head_cells = [], + this.locking = !1, + this.target_x = 0, + this.detail_height = 0, + this.me = e, + this.father = i, + this.container_right = this.me.getChildByName("right"), + this.btn_left = this.container_right.getChildByName("btn_left"), + this.btn_left.clickHandler = new Laya.Handler(this,function() { + n._change_choose_target_x(n.target_x + 180) + } + ), + this.btn_right = this.container_right.getChildByName("btn_right"), + this.btn_right.clickHandler = new Laya.Handler(this,function() { + n._change_choose_target_x(n.target_x - 180) + } + ), + this.panel_choose = this.container_right.getChildByName("panel_choose"), + this.container_choose = this.panel_choose.getChildByName("container_choose"), + this.head_templete = this.container_choose.getChildByName("templete"), + this.head_templete.visible = !1; + for (var a = this.head_templete.scriptMap["capsui.UICopy"], r = 0; r < 16; r++) { + var s = a.getNodeClone(); + s.visible = !1, + this.head_cells.push(s) + } + var o = this.container_right.getChildByName("intro"); + this.intro_content = o.getChildByName("content"), + this.intro_scorll = o.getChildByName("scrollbar").scriptMap["capsui.CScrollBar"], + this.intro_scorll.init(Laya.Handler.create(this, function(t) { + n.intro_content.vScrollBar.value = n.intro_content.vScrollBar.max * t + }, null, !1)), + this.intro_content.vScrollBarSkin = "", + this.intro_content.vScrollBar.on("change", this, function() { + var t = n.intro_content.vScrollBar.value / n.intro_content.vScrollBar.max + , e = n.intro_content.height / n.detail_height; + n.intro_scorll.setVal(t, e) + }), + this.container_left = this.me.getChildByName("left"), + this.container_illust = this.container_left.getChildByName("container_illust"), + this.illust_h = this.container_illust.getChildByName("illust_h"), + this.illust = new t.UI_Character_Skin(this.illust_h.getChildByName("illust")), + this.illust_x = this.container_illust.x, + this.container_left.getChildByName("btn_back").clickHandler = Laya.Handler.create(this, function() { + n.locking || (n.me.visible = !1, + n.reset(), + n.father.page_total.show()) + }, null, !1); + var l = null; + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? (l = this.container_illust.getChildByName("container_name"), + this.container_illust.getChildByName("container_name_en").visible = !1) : (l = this.container_illust.getChildByName("container_name_en"), + this.container_illust.getChildByName("container_name").visible = !1), + this.label_name = l.getChildByName("label_name"), + this.label_cv = l.getChildByName("label_CV") + } + return e.prototype.show = function(e, i) { + var n = this; + this.charas = e; + for (var a = function(t) { + var e = r.head_cells[t]; + if (t < r.charas.length) { + var a = r.charas[t].item_id + , s = cfg.item_definition.character.find(a) + , o = cfg.item_definition.skin.find(s.init_skin); + e.visible = !0; + var l = e.getChildByName("btn"); + l.clickHandler = Laya.Handler.create(r, function() { + i != t && (n.head_cells[i].getChildByName("btn").getChildByName("chosen").visible = !1, + i = t, + e.getChildByName("btn").getChildByName("chosen").visible = !0, + n._refresh_detail(a, !1)) + }, null, !1), + l.getChildByName("chosen").visible = t == i, + game.LoadMgr.setImgSkin(l.getChildByName("icon"), o.path + "/smallhead.png"), + e.x = e.width * t + } else + e.visible = !1 + }, r = this, s = 0; s < this.head_cells.length; s++) + a(s); + this._refresh_detail(e[i].item_id, !0), + this.container_choose.width = this.head_cells[0].width * e.length, + this.container_choose.x = 0, + this._refresh_leftright_btn(), + this.me.visible = !0, + this.locking = !0, + t.UIBase.anim_alpha_in(this.container_left, { + x: -30 + }, 150), + t.UIBase.anim_alpha_in(this.container_right, { + x: 30 + }, 150, 0, Laya.Handler.create(this, function() { + n.locking = !1 + })) + } + , + e.prototype.reset = function() { + this.audio_channel && (this.audio_channel.stop(), + this.audio_channel = null), + Laya.Tween.clearAll(this.container_choose), + this.illust.clear() + } + , + e.prototype._refresh_detail = function(t, e) { + var i = this; + this.audio_channel && (this.audio_channel.stop(), + this.audio_channel = null), + this.illust.clear(); + var n = cfg.item_definition.character.find(t); + this.label_name.text = n["name_" + GameMgr.client_language], + "chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language ? this.label_cv.text = "CV" + n["desc_cv_" + GameMgr.client_language] : this.label_cv.text = "CV:" + n["desc_cv_" + GameMgr.client_language]; + var a = this.intro_content.getChildByName("container_text"); + if (a.getChildByName("height").text = n["desc_stature_" + GameMgr.client_language], + a.getChildByName("birth").text = n["desc_birth_" + GameMgr.client_language], + a.getChildByName("age").text = n["desc_age_" + GameMgr.client_language], + a.getChildByName("bloodtype").text = n.desc_bloodtype, + a.getChildByName("cv").text = n["desc_cv_" + GameMgr.client_language], + a.getChildByName("hobby").text = n["desc_hobby_" + GameMgr.client_language], + a.getChildByName("desc").text = n["desc_" + GameMgr.client_language], + "en" == GameMgr.client_language) { + var r = [new Laya.ColorFilter([.7, 0, 0, 0, 0, 0, .7, 0, 0, 0, 0, 0, .7, 0, 0, 0, 0, 0, 1, 0])]; + a.getChildByName("height").font = "en_shuhun", + a.getChildByName("height").filters = r, + a.getChildByName("birth").font = "en_shuhun", + a.getChildByName("birth").filters = r, + a.getChildByName("age").font = "en_shuhun", + a.getChildByName("age").filters = r, + a.getChildByName("bloodtype").font = "en_shuhun", + a.getChildByName("bloodtype").filters = r, + a.getChildByName("cv").font = "en_shuhun", + a.getChildByName("cv").filters = r, + a.getChildByName("hobby").font = "en_shuhun", + a.getChildByName("hobby").filters = r, + a.getChildByName("desc").font = "en_shuhun", + a.getChildByName("desc").filters = r + } + for (f = 0; f < 12; f += 2) { + var s = a.getChildAt(f); + a.getChildAt(f + 1).x = s.textField.textWidth * s.scaleX + s.x + 10 + } + var o = a.getChildByName("desc").textField.textHeight * a.getChildByName("desc").scaleY + , l = this.intro_content.getChildByName("audio"); + l.y = 340 + o, + this.detail_height = 560 + o; + for (var h = ["lobby_selfintro", "lobby_playerlogin", "lobby_normal"], c = [], _ = -1, u = function(e) { + var n = l.getChildByName("audio" + e).getChildByName("btn_play") + , a = n.getChildByName("img"); + a.skin = game.Tools.localUISrc("myres/bothui/bf_play.png"), + c.push(a), + n.clickHandler = Laya.Handler.create(d, function() { + if (_ == e) + i.audio_channel && (i.audio_channel.stop(), + i.audio_channel = null), + _ = -1, + a.skin = game.Tools.localUISrc("myres/bothui/bf_play.png"); + else { + -1 != _ && (i.audio_channel && (i.audio_channel.stop(), + i.audio_channel = null), + c[_].skin = game.Tools.localUISrc("myres/bothui/bf_play.png"), + _ = -1), + _ = e, + a.skin = game.Tools.localUISrc("myres/bothui/bf_pause.png"); + var n = view.AudioMgr.PlayCharactorSound({ + charid: t, + level: 1 + }, h[e], Laya.Handler.create(i, function() { + i.audio_channel && (i.audio_channel.stop(), + i.audio_channel = null), + _ = -1, + a.skin = game.Tools.localUISrc("myres/bothui/bf_play.png") + })); + i.audio_channel = n.sound + } + }, null, !1) + }, d = this, f = 0; f < 3; f++) + u(f); + switch (this.intro_content.vScrollBar.stopScroll(), + this.intro_content.refresh(), + this.intro_scorll.reset(), + this.intro_scorll.setVal(0, this.intro_content.height / this.detail_height), + this.intro_content.vScrollBar.value = 0, + t) { + case 200005: + this.illust_h.y = -40; + break; + case 200006: + this.illust_h.y = -60; + break; + case 200009: + this.illust_h.y = -50; + break; + case 200011: + case 200014: + case 200022: + this.illust_h.y = -80; + break; + case 200023: + this.illust_h.y = -100; + break; + default: + this.illust_h.y = 0 + } + this.illust.setSkin(n.init_skin, "full"), + e ? (this.container_illust.alpha = 1, + this.container_illust.x = this.illust_x) : (this.container_illust.x = this.illust_x - 50, + this.container_illust.alpha = 0, + Laya.Tween.to(this.container_illust, { + x: this.illust_x, + alpha: 1 + }, 400, Laya.Ease.strongOut, null, 0, !0)) + } + , + e.prototype._refresh_leftright_btn = function() { + this.container_choose.x >= 0 ? (this.container_choose.x = 0, + this.btn_left.visible = !1) : this.btn_left.visible = !0, + this.container_choose.width <= this.panel_choose.width ? this.btn_right.visible = !1 : this.container_choose.x <= this.panel_choose.width - this.container_choose.width ? (this.container_choose.x = this.panel_choose.width - this.container_choose.width, + this.btn_right.visible = !1) : this.btn_right.visible = !0 + } + , + e.prototype._change_choose_target_x = function(t) { + var e = this; + if (t > 0 && (t = 0), + this.container_choose.width > this.panel_choose.width && t < this.panel_choose.width - this.container_choose.width && (t = this.panel_choose.width - this.container_choose.width), + this._refresh_leftright_btn(), + this.target_x = t, + Laya.Tween.clearAll(this.container_choose), + t != this.container_choose.x) { + var i = Math.abs(t - this.container_choose.x) / .5; + Laya.Tween.to(this.container_choose, { + x: t + }, i, null, Laya.Handler.create(this, function() { + e._refresh_leftright_btn() + })) + } + } + , + e + }() + , r = function() { + function e(t) { + var e = this; + this.locking = !1, + this.me = t, + this.btn_close = this.me.getChildByName("btn_close"), + this.btn_close.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.page_total = new n(this.me.getChildByName("page_total"),this), + this.page_character = new a(this.me.getChildByName("page_character"),this) + } + return e.prototype.show = function(e) { + var i = this; + this.chest_id = e, + this.page_total.refresh_data(e), + this.page_total.me.visible = !0, + this.page_character.me.visible = !1, + this.locking = !0, + this.me.visible = !0, + t.UIBase.anim_alpha_in(this.me, { + y: 30 + }, 150, 0, Laya.Handler.create(this, function() { + i.locking = !1 + })) + } + , + e.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_alpha_out(this.me, { + y: 30 + }, 150, 0, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1, + e.page_character.reset() + })) + } + , + e + }() + , s = function() { + function e(e) { + var i = this; + this.locking = !1, + this.id = 0, + this.count = 0, + this.me = e, + this.root = e.getChildByName("root"), + this.label_num0 = this.root.getChildByName("num0"), + this.label_num1 = this.root.getChildByName("num1"), + this.label_num2 = this.root.getChildByName("num2"), + this.label_num3 = this.root.getChildByName("num3"), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + i.locking || i.close() + } + ), + this.root.getChildByName("btn_cancel").clickHandler = new Laya.Handler(this,function() { + i.locking || i.close() + } + ), + this.root.getChildByName("btn_cancel").filters = [new Laya.ColorFilter(t.GRAY_FILTER)], + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + i.close(); + var e = Laya.Handler.create(i, function() { + app.NetAgent.sendReq2Lobby("Lobby", "exchangeChestStone", { + id: i.id, + count: i.count + }, function(e, n) { + if (e || n.error) { + if (n && n.error && 501 == n.error.code) + return void t.UI_Diamond_Less.Inst.show(Laya.Handler.create(o.Inst, o.Inst.close), Laya.Handler.create(i, function() { + game.Scene_Lobby.Inst.change_bg("yard", !1), + o.Inst.show() + })); + t.UIMgr.Inst.showNetReqError("exchangeChestStone", e, n) + } else + t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2191)) + }) + }); + GameMgr.inDmm ? t.UI_Dmm_Buy_Pop.Inst.show(game.Tools.strOfLocalization(8004), e) : e.run() + } + } + ) + } + return e.prototype.show = function(e) { + var i = this; + this.id = 3001, + this.count = Math.ceil(e / 200); + var n = cfg.exchange.searchexchange.find(this.id); + this.label_num0.text = (n.source_value * this.count).toString(), + this.label_num1.text = (n.target_value * this.count).toString(), + this.label_num2.text = (n.source_value * this.count).toString(), + this.label_num3.text = (n.target_value * this.count).toString(), + this.locking = !0, + this.me.visible = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })) + } + , + e.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + e + }() + , o = function(n) { + function a() { + var t = n.call(this, new ui.lobby.treasureUI) || this; + return t.tab_index = 0, + t.map_img = {}, + t.last_seen_up_activity = null, + a.Inst = t, + t + } + return __extends(a, n), + a.on_chest_count_change = function(t) { + for (var e = 0; e < t.length; e++) + this.chest_count[t[e].faith_id] || (this.chest_count[t[e].faith_id] = { + count: 0 + }), + this.chest_count[t[e].faith_id].count = t[e].count; + this.Inst && this.Inst.enable && this.Inst.refresh_currency() + } + , + a.get_chest_currency = function(t) { + if (!this.chest_count[t]) + return 0; + var e = this.chest_count[t].count; + return e < 0 && (e = 0), + e + } + , + a.prototype.have_red_point = function() { + if (!this.last_seen_up_activity) { + this.last_seen_up_activity = {}; + var e = game.Tools.dddsss(Laya.LocalStorage.getItem("treasure_up_" + GameMgr.Inst.account_id)); + if (e) + for (var i = e.split(","), n = 0; n < i.length; n++) + this.last_seen_up_activity[i[n]] = 1 + } + var a = 1e3; + "chs" != GameMgr.client_language && (a += 1); + var r = t.UI_Activity.onTreasureRateUpRetID(a) + , s = t.UI_Activity.onTreasureRateUpRetID(a + 2); + return !(!r || this.last_seen_up_activity[r]) || !(!s || this.last_seen_up_activity[s]) + } + , + a.prototype.onCreate = function() { + var n = this; + this.contianer_content = this.me.getChildByName("content"), + this.tabs = []; + for (var o = function(t) { + var e = l.contianer_content.getChildByName("tabs").getChildByName("tab" + t); + l.tabs.push(e), + e.clickHandler = new Laya.Handler(l,function() { + n.locking || n.tab_index != t && n.change_tab(t) + } + ) + }, l = this, h = 0; h < 2; h++) + o(h); + this.img_head = this.contianer_content.getChildByName("head"), + this.contianer_content.getChildByName("btn_xiangqing").clickHandler = Laya.Handler.create(this, function() { + n.tips.show(1e3) + }, null, !1), + this.contianer_content.getChildByName("btn_xiangqing").visible = !1, + this.container_top = this.me.getChildByName("top"), + this.container_top.getChildByName("btn_back").clickHandler = Laya.Handler.create(this, function() { + n.locking || n.close(Laya.Handler.create(n, function() { + t.UI_Lobby.Inst.enable = !0 + })) + }, null, !1), + this.money = new t.UI_Money(this.container_top,Laya.Handler.create(this, this.close, null, !1),Laya.Handler.create(this, function() { + return n.locking + }, null, !1),Laya.Handler.create(this, function() { + return Laya.Handler.create(n, function() { + game.Scene_Lobby.Inst.change_bg("yard", !1), + a.Inst.show() + }) + }, null, !1)), + this.tips = new e(this.me.getChildByName("tips")), + this.xy = new i(this.me.getChildByName("xy"),this.me.getChildByName("pop_buy_single"),this.me.getChildByName("pop_buy_multi")), + this.me.getChildByName("pop_buy_xunmi_chs").visible = !1, + this.me.getChildByName("pop_buy_huiyu_jp").visible = !1, + this.buy_xunmi = new s(this.me.getChildByName("pop_buy_xunmi_chs")); + var c = this.contianer_content.getChildByName("container_shop"); + this.label_currency = c.getChildByName("btn_shop").getChildByName("count"), + c.getChildByName("btn_shop").clickHandler = Laya.Handler.create(this, function() { + n.locking || n.xy.show(cfg.chest.chest.get(n.chest_id).faith_id) + }, null, !1), + c.getChildByName("btn_what").clickHandler = Laya.Handler.create(this, function() { + n.tips.showinfo(game.Tools.strOfLocalization(55)) + }, null, !1), + c.getChildByName("btn_what").visible = !1, + this.preview = new r(this.me.getChildByName("preview")), + this.contianer_content.getChildByName("btn_preview").clickHandler = Laya.Handler.create(this, function() { + n.preview.show(n.chest_id) + }, null, !1), + this.xyexchange = this.contianer_content.getChildByName("container_shop").getChildByName("btn_xy"), + this.container_buy_huiyu = this.me.getChildByName("pop_buy_huiyu_jp"), + this.root_buy_huiyu = this.container_buy_huiyu.getChildByName("root"), + this.root_buy_huiyu.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + n.locking || (n.locking = !0, + t.UIBase.anim_pop_hide(n.root_buy_huiyu, Laya.Handler.create(n, function() { + n.locking = !1, + n.container_buy_huiyu.visible = !1 + }))) + }, null, !1), + this.root_buy_huiyu.getChildByName("btn_confirm").clickHandler = Laya.Handler.create(this, function() { + t.UIBase.anim_pop_hide(n.root_buy_huiyu, null), + n.close(Laya.Handler.create(n, function() { + t.UI_Recharge.Inst.show("huiyu", Laya.Handler.create(n, function() { + game.Scene_Lobby.Inst.change_bg("yard", !1), + a.Inst.show() + })), + n.container_buy_huiyu.visible = !1 + }, null, !1)) + }), + this.root_buy_huiyu.getChildByName("btn_cancel").clickHandler = Laya.Handler.create(this, function() { + n.locking = !0, + t.UIBase.anim_pop_hide(n.root_buy_huiyu, Laya.Handler.create(n, function() { + n.locking = !1, + n.container_buy_huiyu.visible = !1 + })) + }, null, !1), + this.locking = !1 + } + , + a.prototype.show = function() { + var e = this; + this.enable = !0, + this.locking = !0, + t.UIBase.anim_alpha_in(this.contianer_content, { + y: 30 + }, 150), + t.UIBase.anim_alpha_in(this.container_top, { + y: -30 + }, 150), + this.tips.me.visible = !1, + this.preview.me.visible = !1, + this.xy.me.visible = !1, + this.buy_xunmi.me.visible = !1, + this.container_buy_huiyu.visible = !1, + "chs" == GameMgr.client_language && (this.container_top.getChildByName("container_xinyang").visible = !1), + Laya.timer.once(150, this, function() { + e.locking = !1 + }), + this.map_img = {}, + this.change_tab(0); + var i = 1e3; + "chs" != GameMgr.client_language && (i += 1); + var n = t.UI_Activity.onTreasureRateUpRetID(i) + , a = t.UI_Activity.onTreasureRateUpRetID(i + 2); + this.last_seen_up_activity = {}, + n && (this.last_seen_up_activity[n] = 1), + a && (this.last_seen_up_activity[a] = 1); + var r = ""; + for (var s in this.last_seen_up_activity) + "" != r && (r += ","), + r += s; + Laya.LocalStorage.setItem("treasure_up_" + GameMgr.Inst.account_id, game.Tools.eeesss(r)), + this.root_buy_huiyu.getChildByName("btn_cancel").filters = [new Laya.ColorFilter(t.GRAY_FILTER)] + } + , + a.prototype.change_tab = function(t) { + this.tab_index = t; + for (var e = 0; e < 2; e++) + this.tabs[e].getChildAt(0).skin = game.Tools.localUISrc("myres/treasure/treasure_btn" + e + "_" + (e == t ? "chosed" : "unchose") + ".png"), + this.tabs[e].mouseEnabled = e != t; + this.refresh_show() + } + , + a.prototype.refresh_show = function() { + var e = this + , i = 1e3 + 2 * this.tab_index; + "jp" != GameMgr.client_type && "en" != GameMgr.client_type || i++, + this.chest_id = i; + var n = cfg.chest.chest.get(this.chest_id).faith_id; + this.label_currency.text = a.get_chest_currency(n).toString(); + var r = cfg.chest.chest.get(i) + , s = t.UI_Activity.onTreasureRateUp(this.chest_id); + "" != s ? (game.LoadMgr.setImgSkin(this.img_head, s), + this.map_img[s] = 1) : (game.LoadMgr.setImgSkin(this.img_head, r.img), + this.map_img[r.img] = 1), + this.contianer_content.getChildByName("container1").getChildByName("txt1").text = game.Tools.strOfLocalization(2708), + this.contianer_content.getChildByName("container1").getChildByName("txt2").text = game.Tools.strOfLocalization(2709), + this.contianer_content.getChildByName("container10").getChildByName("txt1").text = game.Tools.strOfLocalization(2710), + this.contianer_content.getChildByName("container10").getChildByName("txt2").text = game.Tools.strOfLocalization(2711); + var o = r.ticket_id + , l = 0; + o && (l = t.UI_Bag.get_item_count(o)); + var h = function(t) { + var e = t.getChildByName("txt1") + , i = t.getChildByName("txt2") + , n = t.getChildByName("icon") + , a = e.textField.textWidth + 10 + n.width + 10 + i.textField.textWidth; + e.x = 360 - a / 2, + n.x = e.x + e.textField.textWidth + 10, + i.x = n.x + n.width + 10 + } + , c = this.contianer_content.getChildByName("container1"); + if (h(c), + l >= 1) { + var _ = c.getChildByName("btn_tanfang").getChildByName("price"); + game.LoadMgr.setImgSkin(_.getChildByName("icon"), cfg.item_definition.item.get(o).icon_transparent), + _.getChildByName("count").text = "x1", + game.Tools.child_align_center(_) + } else { + var u = c.getChildByName("btn_tanfang").getChildByName("price") + , d = cfg.item_definition.item.get(r.currency); + d && game.LoadMgr.setImgSkin(u.getChildByName("icon"), d.icon_transparent); + var f = cfg.item_definition.currency.get(r.currency); + f && game.LoadMgr.setImgSkin(u.getChildByName("icon"), f.icon), + u.getChildByName("count").text = "x" + r.price, + game.Tools.child_align_center(u) + } + c.getChildByName("btn_tanfang").clickHandler = Laya.Handler.create(this, function() { + t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : l >= 1 ? t.UI_TanfangRoot.Inst.show(i, 1, !0) : "chs" == GameMgr.client_type ? t.UI_Bag.get_item_count(302014) < r.price ? e.buy_xunmi.show(r.price - t.UI_Bag.get_item_count(302014)) : t.UI_TanfangRoot.Inst.show(i, 1, !1) : t.UI_Bag.get_item_count(100001) < r.price ? (e.container_buy_huiyu.visible = !0, + e.locking = !0, + t.UIBase.anim_pop_out(e.root_buy_huiyu, Laya.Handler.create(e, function() { + e.locking = !1 + }))) : t.UI_TanfangRoot.Inst.show(i, 1, !1) + }, null, !1); + var p = this.contianer_content.getChildByName("container10"); + h(p); + var m = p.getChildByName("btn_tanfang").getChildByName("price") + , g = cfg.item_definition.item.get(r.currency); + g && game.LoadMgr.setImgSkin(m.getChildByName("icon"), g.icon_transparent); + var y = cfg.item_definition.currency.get(r.currency); + y && game.LoadMgr.setImgSkin(m.getChildByName("icon"), y.icon), + m.getChildByName("count").text = "x" + r.price10, + game.Tools.child_align_center(m), + p.getChildByName("btn_tanfang").clickHandler = Laya.Handler.create(this, function() { + t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : "chs" == GameMgr.client_type ? t.UI_Bag.get_item_count(302014) < r.price10 ? e.buy_xunmi.show(r.price10 - t.UI_Bag.get_item_count(302014)) : t.UI_TanfangRoot.Inst.show(i, 10, !1) : t.UI_Bag.get_item_count(100001) < r.price10 ? (e.me.getChildByName("pop_buy_huiyu_jp").visible = !0, + e.locking = !0, + t.UIBase.anim_pop_out(e.root_buy_huiyu, Laya.Handler.create(e, function() { + e.locking = !1 + }))) : t.UI_TanfangRoot.Inst.show(i, 10, !1) + }, null, !1), + this.money.onEnable(), + this.money.label_xinyang && (this.money.label_xinyang.text = a.get_chest_currency(n).toString()), + "jp" != GameMgr.client_language && "en" != GameMgr.client_language || this.jpproject() + } + , + a.prototype.jpproject = function() { + var e = this + , i = this.contianer_content.getChildByName("container_shop") + , n = this.contianer_content.getChildByName("container1").getChildByName("txt1") + , a = this.contianer_content.getChildByName("container1").getChildByName("txt2") + , r = this.contianer_content.getChildByName("container10").getChildByName("txt1") + , s = this.contianer_content.getChildByName("container10").getChildByName("txt2"); + i.getChildByName("btn_shop").visible = !1, + i.getChildByName("btn_what").visible = !1, + this.container_top.getChildByName("container_huishi").visible = !1, + this.xyexchange.visible = !0, + this.xyexchange.getChildByName("count").text = game.Tools.strOfLocalization(2712), + this.xyexchange.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.xy.show(cfg.chest.chest.get(e.chest_id).faith_id) + }, null, !1); + var o = this.contianer_content.getChildByName("container1").getChildByName("btn_tanfang").getChildByName("price") + , l = this.contianer_content.getChildByName("container10").getChildByName("btn_tanfang").getChildByName("price"); + n.fontSize = 27, + a.fontSize = 27, + r.fontSize = 27, + s.fontSize = 27; + var h = 1001; + 1 == this.tab_index && (h += 2), + this.chest_id = h; + var c = cfg.chest.chest.get(h) + , _ = c.ticket_id + , u = 0; + _ && (u = t.UI_Bag.get_item_count(_)); + var d = function(t) { + var e = t.getChildByName("txt1") + , i = t.getChildByName("txt2") + , n = t.getChildByName("icon") + , a = e.textField.textWidth + 10 + n.width + 10 + i.textField.textWidth; + e.x = 360 - a / 2, + n.x = e.x + e.textField.textWidth + 10, + i.x = n.x + n.width + 10 + }; + d(this.contianer_content.getChildByName("container1")), + d(this.contianer_content.getChildByName("container10")), + u >= 1 ? (game.LoadMgr.setImgSkin(o.getChildByName("icon"), cfg.item_definition.item.get(_).icon_transparent), + o.getChildByName("count").text = "x1", + game.Tools.child_align_center(o)) : (game.LoadMgr.setImgSkin(o.getChildByName("icon"), cfg.item_definition.currency.find(c.currency).icon), + o.getChildByName("count").text = "x" + c.price, + game.Tools.child_align_center(o)), + game.LoadMgr.setImgSkin(l.getChildByName("icon"), cfg.item_definition.currency.find(c.currency).icon), + l.getChildByName("count").text = "x" + c.price10, + game.Tools.child_align_center(l), + this.contianer_content.getChildByName("container1").getChildByName("btn_tanfang").clickHandler = Laya.Handler.create(this, function() { + t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : u >= 1 ? t.UI_TanfangRoot.Inst.show(h, 1, !0) : t.UI_Bag.get_item_count(100001) < c.price ? (e.me.getChildByName("pop_buy_huiyu_jp").visible = !0, + e.locking = !0, + t.UIBase.anim_pop_out(e.root_buy_huiyu, Laya.Handler.create(e, function() { + e.locking = !1 + }))) : t.UI_TanfangRoot.Inst.show(h, 1, !1) + }, null, !1), + this.contianer_content.getChildByName("container10").getChildByName("btn_tanfang").clickHandler = Laya.Handler.create(this, function() { + t.UI_PiPeiYuYue.Inst.enable ? t.UI_Popout.PopOutNoTitle(game.Tools.strOfLocalization(204), null) : t.UI_Bag.get_item_count(100001) < c.price10 ? (e.me.getChildByName("pop_buy_huiyu_jp").visible = !0, + e.locking = !0, + t.UIBase.anim_pop_out(e.root_buy_huiyu, Laya.Handler.create(e, function() { + e.locking = !1 + }))) : t.UI_TanfangRoot.Inst.show(h, 10, !1) + }, null, !1) + } + , + a.prototype.close = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_alpha_out(this.contianer_content, { + y: 30 + }, 150), + t.UIBase.anim_alpha_out(this.container_top, { + y: -30 + }, 150), + this.tips.me.visible = !1, + this.preview.me.visible && this.preview.close(), + this.xy.me.visible && this.xy.close(), + Laya.timer.once(150, this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + }) + } + , + a.prototype.onDisable = function() { + for (var t in this.map_img) + Laya.loader.clearTextureRes(t); + game.LoadMgr.clearImgSkin(this.img_head), + this.img_head.skin = "" + } + , + a.prototype.refresh_currency = function() { + this.label_currency.text = a.get_chest_currency(cfg.chest.chest.get(this.chest_id).faith_id).toString(), + this.xy.me.visible && this.xy.refresh_currency() + } + , + a.chest_count = {}, + a + }(t.UIBase); + t.UI_Treasure = o +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function t(t, e) { + var i = this; + this.me = t, + this.func_pending = e, + this.txtinput = t.getChildByName("txtinput"), + this.wrong = t.getChildByName("wrong"), + this.accept = t.getChildByName("accept"), + this.txtinput.on("focus", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1 + }), + this.txtinput.on("blur", this, function() { + i.wrong.visible = !1, + i.accept.visible = !1, + "" != i.txtinput.text && (!i.func_pending || i.func_pending.run() ? i.accept.visible = !0 : i.wrong.visible = !0) + }), + this.reset() + } + return Object.defineProperty(t.prototype, "text", { + get: function() { + return this.txtinput.text + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t.prototype, "isOK", { + get: function() { + return !this.func_pending || this.func_pending.run() + }, + enumerable: !0, + configurable: !0 + }), + t.prototype.reset = function() { + this.txtinput.text = "", + this.wrong.visible = !1, + this.accept.visible = !1 + } + , + t + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.both_ui.unbind_phoneUI) || this; + return n.Inst = t, + t + } + return __extends(n, i), + n.prototype.onCreate = function() { + var i = this; + this.root = this.me.getChildByName("root"), + this.input_phone = new e(this.root.getChildByName("input_phone"),new Laya.Handler(this,function() { + return game.Tools.pending_phonenumber_valid(i.input_phone.text) + } + )), + this.input_code = this.root.getChildByName("input_code").getChildByName("txtinput"), + this.input_password0 = new e(this.root.getChildByName("input_password"),new Laya.Handler(this,function() { + return i.input_password0.text.length >= 6 && i.input_password0.text.length <= 20 + } + )), + this.btn_send_code = this.root.getChildByName("btn_send_code"), + this.label_send_code = this.btn_send_code.getChildByName("info"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_confirm.clickHandler = new Laya.Handler(this,function() { + i.locking || t.UI_SecondConfirm.Inst.show("注意!解除手机绑定以后该账号将永久冻结,无法登录和使用,请确认以后再进行操作!该操作不可撤销!", Laya.Handler.create(i, function() { + var e = i.input_phone.text; + i.close(), + app.NetAgent.sendReq2Lobby("Lobby", "unbindPhoneNumber", { + phone: e, + code: i.input_code.text, + password: GameMgr.encodeP(i.input_password0.text) + }, function(n, a) { + i.btn_confirm.mouseEnabled = !0, + n || a.error ? (t.UIMgr.Inst.showNetReqError("bindPhoneNumber", n, a), + i.last_send_time = 0) : (GameMgr.Inst.account_data.phone = game.Tools.encode_phonenumber(e), + GameMgr.Inst.account_data.phone_verify = 1, + Laya.LocalStorage.setItem("_pre_sociotype", ""), + Laya.timer.once(300, null, function() { + t.UI_SecondConfirm.Inst.show_only_confirm("解绑成功", Laya.Handler.create(i, function() { + Laya.Browser.window.location.href = GameMgr.Inst.link_url + })) + })) + }) + })) + } + ), + this.btn_send_code.clickHandler = new Laya.Handler(this,function() { + if (!i.locking) { + var e = i.input_phone.text; + i.btn_send_code.mouseEnabled = !1, + i.during_send_cd = !0, + i.last_send_time = Laya.timer.currTimer, + i.refresh_send(), + app.NetAgent.sendReq2Lobby("Lobby", "createPhoneVerifyCode", { + phone: e, + usage: 8 + }, function(e, n) { + e || n.error ? (t.UIMgr.Inst.showNetReqError("createPhoneVerifyCode", e, n), + i.last_send_time = 0) : t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2833)) + }) + } + } + ), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + i.locking || i.close() + } + ), + this.during_send_cd = !1, + this.last_send_time = 0 + } + , + n.prototype.show = function(e) { + var i = this; + void 0 === e && (e = null), + this.complete = e, + this.enable = !0, + this.locking = !0, + this.input_code.text = "", + this.input_password0.reset(), + this.input_phone.me.visible = !0, + this.input_phone.reset(), + Laya.timer.clearAll(this), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.during_send_cd ? this.refresh_send() : (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)), + this.btn_confirm.mouseEnabled = !0, + game.Tools.setGrayDisable(this.btn_confirm, !0), + Laya.timer.frameLoop(1, this, function() { + "" != i.input_code.text && i.input_password0.isOK && i.input_phone.isOK ? game.Tools.setGrayDisable(i.btn_confirm, !1) : game.Tools.setGrayDisable(i.btn_confirm, !0), + i.refresh_send() + }) + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + Laya.timer.clearAll(e), + e.complete && e.complete.run() + })) + } + , + n.prototype.refresh_send = function() { + if (this.during_send_cd) { + var t = Laya.timer.currTimer - this.last_send_time; + t >= 6e4 ? (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)) : this.label_send_code.text = game.Tools.strOfLocalization(2682, [Math.ceil(60 - t / 1e3).toString()]) + } + } + , + n + }(t.UIBase); + t.UI_Unbind_Phone = i +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.both_ui.unbind_yostar_mailUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.mail = this.root.getChildByName("mail"), + this.input_code = this.root.getChildByName("input_code").getChildByName("txtinput"), + this.btn_send_code = this.root.getChildByName("btn_send_code"), + this.label_send_code = this.btn_send_code.getChildByName("info"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.btn_confirm.clickHandler = new Laya.Handler(this,function() { + if (!e.locking) { + var i = GameMgr.Inst.yostar_login_info.yostar_username; + e.btn_send_code.mouseEnabled = !1, + e.during_send_cd = !0, + e.last_send_time = Laya.timer.currTimer, + e.refresh_send(); + var n = e; + Yo.authSubmit({ + account: i, + code: e.input_code.text + }).then(function(e) { + e ? 0 === e.result ? Yo.unlinkYo({ + accessToken: GameMgr.Inst.yostar_accessToken, + yostar_uid: e.yostar_uid, + yostar_token: e.yostar_token, + yostar_username: e.yostar_account + }).then(function(e) { + 0 == e.result ? (n.close(), + t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(3008)), + GameMgr.Inst.yostar_login_info || (GameMgr.Inst.yostar_login_info = {}), + GameMgr.Inst.yostar_login_info.yostar_username = "") : 1 == e.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(3009)) : 2 == e.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(3010)) : 3 == e.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(3011)) : 1e3 == e.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(3012)) : t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2063)) + }) : 50016 === e.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2676)) : 50009 === e.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2687)) : 50004 === e.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2685)) : t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2689)) : t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2689)) + }) + } + } + ), + this.btn_send_code.clickHandler = new Laya.Handler(this,function() { + if (!e.locking) { + var i = GameMgr.Inst.yostar_login_info.yostar_username; + e.btn_send_code.mouseEnabled = !1, + e.during_send_cd = !0, + e.last_send_time = Laya.timer.currTimer, + e.refresh_send(); + var n = e; + Yo.request({ + account: i, + lang: "jp" == GameMgr.client_language ? "ja" : "en" + }).then(function(e) { + e ? 0 === e.result ? t.UI_LightTips.Inst.show(game.Tools.strOfLocalization(2688)) : 50003 === e.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2684)) : 50004 === e.result ? t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2685)) : (t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2683)), + n.btn_confirm.mouseEnabled = !0, + n.last_send_time = 0) : (t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2683)), + n.btn_confirm.mouseEnabled = !0, + n.last_send_time = 0) + }) + } + } + ), + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close() + } + ), + this.during_send_cd = !1, + this.last_send_time = 0 + } + , + i.prototype.show = function() { + var e = this; + this.enable = !0, + this.locking = !0, + this.input_code.text = "", + Laya.timer.clearAll(this), + this.mail.text = game.Tools.strOfLocalization(3006, [GameMgr.Inst.yostar_login_info.yostar_username]), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })), + this.during_send_cd ? this.refresh_send() : (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)), + this.btn_confirm.mouseEnabled = !0, + Laya.timer.frameLoop(1, this, function() { + e.refresh_send() + }) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + Laya.timer.clearAll(e) + })) + } + , + i.prototype.refresh_send = function() { + if (this.during_send_cd) { + var t = Laya.timer.currTimer - this.last_send_time; + t >= 6e4 ? (this.during_send_cd = !1, + this.btn_send_code.mouseEnabled = !0, + this.label_send_code.text = game.Tools.strOfLocalization(2787)) : this.label_send_code.text = game.Tools.strOfLocalization(2682, [Math.ceil(60 - t / 1e3).toString()]) + } + } + , + i.Inst = null, + i + }(t.UIBase); + t.UI_Unbind_Yostar_Mail = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.user_xieyiUI) || this; + t.current_index = 0, + i.Inst = t; + for (var n = [], a = 0; a < 15; a++) + n.push("user_xieyi/" + (a + 1) + ".txt"); + return Laya.loader.load(n), + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.info = this.root.getChildByName("info"), + this.root.getChildByName("btn").clickHandler = Laya.Handler.create(this, function() { + t.close(!0) + }, null, !1), + this.btn_left = this.root.getChildByName("left"), + this.btn_left.clickHandler = Laya.Handler.create(this, function() { + t.current_index <= 1 || (t.current_index--, + t.refresh()) + }, null, !1), + this.btn_right = this.root.getChildByName("right"), + this.btn_right.clickHandler = Laya.Handler.create(this, function() { + t.current_index >= 15 || (t.current_index++, + t.refresh()) + }, null, !1), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + t.close(!1) + }, null, !1), + this.root.getChildByName("btn_close").visible = "chs" != GameMgr.client_type + } + , + i.prototype.show = function(e) { + this.complete = e, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, null), + this.current_index = 1, + this.refresh() + } + , + i.prototype.refresh = function() { + var t = Laya.loader.getRes("user_xieyi/" + this.current_index + ".txt"); + this.info.text = t || game.Tools.strOfLocalization(2198), + this.btn_left.visible = this.current_index > 1, + this.btn_right.visible = this.current_index < 15 + } + , + i.prototype.close = function(e) { + var i = this; + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + i.enable = !1, + i.info.text = "", + e && i.complete && i.complete.run() + })) + } + , + i.prototype.onDestroy = function() { + i.Inst = null, + this.info.textField.destroy(!0), + this.info.destroy(!0) + } + , + i + }(t.UIBase); + t.UI_User_Xieyi = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.user_xieyi_dmmUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.label_title = this.root.getChildByName("title"), + this.panel = this.root.getChildByName("panel"), + this.label_content1 = this.panel.getChildByName("content1"), + this.label_content2 = this.panel.getChildByName("content2"), + this.scrollbar = this.root.getChildByName("scrollbar").scriptMap["capsui.CScrollBar"], + this.scrollbar.init(null), + this.panel.vScrollBarSkin = "", + this.panel.vScrollBar.on("change", this, function() { + t.refresh_scroll_bar() + }), + this.root.getChildByName("btn_confirm").clickHandler = Laya.Handler.create(this, function() { + t.locking || (t.close(), + t.complete && t.complete.run()) + }, null, !1), + this.root.getChildByName("btn_disagree").clickHandler = Laya.Handler.create(this, function() { + t.locking || (Laya.LocalStorage.setItem("_pre_sociotype", ""), + Laya.Browser.window.location.href = GameMgr.Inst.link_url) + }, null, !1) + } + , + i.prototype.refresh_scroll_bar = function() { + var t = this.label_content1.height + this.label_content2.height; + t > 0 ? this.scrollbar.setVal(this.panel.vScrollBar.value / this.panel.vScrollBar.max, this.panel.height / t) : this.scrollbar.setVal(0, 1) + } + , + i.prototype.show = function(e) { + var i = this; + this.locking = !0, + this.me.visible = !0, + this.complete = e, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.label_title.text = "", + this.label_content1.text = "loading...", + this.label_content1.height = 60, + this.label_content2.text = "", + this.label_content2.height = 0, + this.label_content2.y = 0, + this.panel.refresh(); + var n = 1e5 * Math.random(); + this.id = n; + var a = "docs/jp_liyongguiyue.txt"; + Laya.loader.load(a, Laya.Handler.create(this, function() { + if (i.me.visible && i.id == n) { + var t = Laya.loader.getRes(a); + if (t) { + var e = t + , r = e.indexOf("\n"); + i.label_title.text = e.substring(0, r); + var s = e.indexOf("\n", e.length / 2 + r); + s < 0 && (s = e.length), + i.label_content1.text = e.substring(r + 1, s), + i.label_content1.height = i.label_content1.textField.textHeight, + s + 1 < e.length && (i.label_content2.text = e.substring(s + 1), + i.label_content2.height = i.label_content2.textField.textHeight, + i.label_content2.x = i.label_content1.x, + i.label_content2.y = i.label_content1.height + i.label_content1.y), + i.panel.refresh(), + i.refresh_scroll_bar() + } + } + })), + this.refresh_scroll_bar() + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1, + e.label_content1.text = "", + e.label_content2.text = "" + })) + } + , + i + }(t.UIBase); + t.UI_User_Xieyi_Dmm = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.common.user_xieyi_enjpUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.label_title = this.root.getChildByName("title"), + this.panel = this.root.getChildByName("panel"), + this.label_content1 = this.panel.getChildByName("content1"), + this.label_content2 = this.panel.getChildByName("content2"), + this.scrollbar = this.root.getChildByName("scrollbar").scriptMap["capsui.CScrollBar"], + this.scrollbar.init(null), + this.panel.vScrollBarSkin = "", + this.panel.vScrollBar.on("change", this, function() { + t.refresh_scroll_bar() + }), + this.root.getChildByName("btn_close").clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close() + }, null, !1) + } + , + i.prototype.refresh_scroll_bar = function() { + var t = this.label_content1.height + this.label_content2.height; + t > 0 ? this.scrollbar.setVal(this.panel.vScrollBar.value / this.panel.vScrollBar.max, this.panel.height / t) : this.scrollbar.setVal(0, 1) + } + , + i.prototype.show = function(e) { + var i = this; + this.locking = !0, + this.me.visible = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + i.locking = !1 + })), + this.label_title.text = "", + this.label_content1.text = "loading...", + this.label_content1.height = 60, + this.label_content2.text = "", + this.label_content2.height = 0, + this.label_content2.y = 0, + this.panel.refresh(); + var n = 1e5 * Math.random(); + this.id = n, + Laya.loader.load(e, Laya.Handler.create(this, function() { + if (i.me.visible && i.id == n) { + var t = Laya.loader.getRes(e); + if (t) { + var a = t + , r = a.indexOf("\n"); + i.label_title.text = a.substring(0, r); + var s = a.indexOf("\n", a.length / 2 + r); + s < 0 && (s = a.length), + i.label_content1.text = a.substring(r + 1, s), + i.label_content1.height = i.label_content1.textField.textHeight, + s + 1 < a.length && (i.label_content2.text = a.substring(s + 1), + i.label_content2.height = i.label_content2.textField.textHeight, + i.label_content2.x = i.label_content1.x, + i.label_content2.y = i.label_content1.height + i.label_content1.y), + i.panel.refresh(), + i.refresh_scroll_bar() + } + } + })), + this.refresh_scroll_bar() + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1, + e.label_content1.text = "", + e.label_content2.text = "" + })) + } + , + i + }(t.UIBase); + t.UI_User_Xieyi_enjp = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.mj.voteUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + e.locking || (app.NetAgent.sendReq2MJ("FastTest", "voteGameEnd", { + yes: !0 + }, function(e, i) { + e || i.error ? t.UIMgr.Inst.showNetReqError("voteGameEnd", e, i) : i.success || (t.UI_VoteCD.time_cd = i.vote_cd_end_time, + t.UI_VoteCD.Inst.show()) + }), + e.close()) + } + ), + this.root.getChildByName("btn_cannel").clickHandler = new Laya.Handler(this,function() { + e.locking || e.close() + } + ) + } + , + i.prototype.show = function() { + var e = this; + this.locking = !0, + this.enable = !0, + this.root.scaleX = this.root.scaleY = 1, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.enable = !1, + e.locking = !1 + })) + } + , + i + }(t.UIBase); + t.UI_Vote = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.mj.vote_cdUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.root.getChildByName("btn_confirm").clickHandler = new Laya.Handler(this,function() { + t.locking || t.close() + } + ), + this.label_time = this.root.getChildByName("time") + } + , + i.prototype.show = function() { + var e = this; + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })), + Laya.timer.clearAll(this), + Laya.timer.loop(100, this, function() { + var t = Math.floor(i.time_cd - Date.now() / 1e3); + t < 0 && (t = 0); + var n = Math.floor(t / 60) + , a = t % 60; + e.label_time.text = n + ":" + (a < 10 ? "0" : "") + a + }); + this.root.getChildByName("desc").fontSize = "chs" != GameMgr.client_language && "chs_t" != GameMgr.client_language ? 28 : 33 + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.enable = !1, + e.locking = !1 + })) + } + , + i.prototype.onDisable = function() { + Laya.timer.clearAll(this) + } + , + i.time_cd = 0, + i + }(t.UIBase); + t.UI_VoteCD = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.mj.vote_progressUI) || this; + return i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var e = this; + this.root = this.me.getChildByName("root"), + this.btn_agree = this.root.getChildByName("btn_agree"), + this.btn_agree.clickHandler = new Laya.Handler(this,function() { + e.locking || (e.btn_agree.visible = !1, + e.btn_disagree.visible = !1, + app.NetAgent.sendReq2MJ("FastTest", "voteGameEnd", { + yes: !0 + }, function(i, n) { + (i || n.error) && (t.UIMgr.Inst.showNetReqError("voteGameEnd", i, n), + e.btn_agree.visible = !0, + e.btn_disagree.visible = !0) + })) + } + ), + this.btn_disagree = this.root.getChildByName("btn_disagree"), + this.btn_disagree.clickHandler = new Laya.Handler(this,function() { + e.locking || (e.btn_agree.visible = !1, + e.btn_disagree.visible = !1, + app.NetAgent.sendReq2MJ("FastTest", "voteGameEnd", { + yes: !1 + }, function(i, n) { + (i || n.error) && (t.UIMgr.Inst.showNetReqError("voteGameEnd", i, n), + e.btn_agree.visible = !0, + e.btn_disagree.visible = !0) + })) + } + ), + this.container_block = this.root.getChildByName("container_block"), + this.time_bar = this.root.getChildByName("bar").getChildByName("val"), + this.btn_close = this.root.getChildByName("btn_close"), + this.btn_close.clickHandler = new Laya.Handler(this,function() { + e.locking || e.close() + } + ), + this.info = this.root.getChildByName("info"), + app.NetAgent.AddListener2MJ("NotifyEndGameVote", new Laya.Handler(this,function(t) { + var n = i.vote_info; + i.vote_info = t, + e.enable ? e.refresh() : n && n.start_time == t.start_time || e.show() + } + )) + } + , + i.prototype.show = function() { + var e = this; + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })), + this.refresh(), + Laya.timer.clearAll(this), + Laya.timer.loop(50, this, function() { + var t = i.vote_info.start_time + , n = Date.now() - 1e3 * t + , a = 1e3 * i.vote_info.duration_time + , r = a <= 0 ? 0 : n / a; + r = 1 - (r = r < 0 ? 0 : r > 1 ? 1 : r), + e.time_bar.scaleX = r, + n >= a + 2e3 && (Laya.timer.clearAll(e), + e.close()) + }), + t.UI_Vote.Inst.enable && t.UI_Vote.Inst.close(), + t.UI_VoteCD.Inst.enable && t.UI_VoteCD.Inst.close() + } + , + i.prototype.refresh = function() { + for (var t = i.vote_info.results, e = [], n = -1, a = 0; a < view.DesktopMgr.Inst.player_datas.length; a++) + view.DesktopMgr.Inst.player_datas[a].account_id && e.push(view.DesktopMgr.Inst.player_datas[a].account_id); + for (var r = e.length, s = (490 - 20 * (r - 1)) / r, o = this.container_block.width / 2 - 245, a = 0; a < 4; a++) { + var l = this.container_block.getChildByName("b" + a); + a < r ? (l.visible = !0, + l.x = o + a * (s + 20), + l.width = s, + a < t.length ? (t[a].yes ? l.skin = game.Tools.localUISrc("myres/mjdesktop/vote_agree.png") : l.skin = game.Tools.localUISrc("myres/mjdesktop/vote_disagree.png"), + t[a].account_id == GameMgr.Inst.account_id && (n = t[a].yes ? 1 : 0)) : l.skin = game.Tools.localUISrc("myres/mjdesktop/vote_default.png")) : l.visible = !1 + } + -1 == n ? (this.btn_agree.visible = !0, + this.btn_disagree.visible = !0, + this.info.visible = !1, + this.btn_close.visible = !1) : (this.btn_agree.visible = !1, + this.btn_disagree.visible = !1, + this.info.visible = !0, + this.btn_close.visible = !0, + this.info.text = game.Tools.strOfLocalization(0 == n ? 3048 : 3049)) + } + , + i.prototype.close = function() { + var e = this; + this.locking = !0, + Laya.timer.clearAll(this), + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1 + })) + } + , + i + }(t.UIBase); + t.UI_VoteProgress = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(t) { + var e = this; + this.friends = [], + this.sortlist = [], + this.me = t, + this.me.visible = !1, + this.blackbg = t.getChildByName("blackbg"), + this.blackbg.clickHandler = Laya.Handler.create(this, function() { + e.locking || e.close() + }, null, !1), + this.root = t.getChildByName("root"), + this.scrollview = this.root.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(Laya.Handler.create(this, this.render_item, null, !1)), + this.noinfo = this.root.getChildByName("noinfo") + } + return e.prototype.show = function() { + var e = this; + this.locking = !0, + this.me.visible = !0, + this.scrollview.reset(), + this.friends = [], + this.sortlist = []; + for (var i = game.FriendMgr.friend_list, n = 0; n < i.length; n++) + this.sortlist.push(n); + this.sortlist = this.sortlist.sort(function(t, e) { + var n = i[t] + , a = 0; + if (n.state.is_online) { + a += "" != (o = game.Tools.playState2Desc(n.state.playing)) ? 3e10 : 6e10, + a += -n.state.login_time + } else + a += n.state.logout_time; + var r = i[e] + , s = 0; + if (r.state.is_online) { + var o = game.Tools.playState2Desc(r.state.playing); + s += "" != o ? 3e10 : 6e10, + s += -r.state.login_time + } else + s += r.state.logout_time; + return s - a + }); + for (n = 0; n < i.length; n++) + this.friends.push({ + f: i[n], + invited: !1 + }); + this.noinfo.visible = 0 == this.friends.length, + this.scrollview.addItem(this.friends.length), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })) + } + , + e.prototype.close = function() { + var e = this; + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + e.locking = !1, + e.me.visible = !1 + })) + } + , + e.prototype.render_item = function(e) { + var i = e.index + , n = e.container + , r = e.cache_data; + r.head || (r.head = new t.UI_Head(n.getChildByName("head")), + r.name = n.getChildByName("name"), + r.state = n.getChildByName("label_state"), + r.btn = n.getChildByName("btn_invite"), + r.invited = n.getChildByName("invited")); + var s = this.friends[this.sortlist[i]]; + r.head.id = s.f.base.avatar_id, + r.head.head_frame = s.f.base.avatar_frame, + game.Tools.SetNickname(r.name, s.f.base); + var o = !1; + if (s.f.state.is_online) { + var l = game.Tools.playState2Desc(s.f.state.playing); + "" != l ? (r.state.text = game.Tools.strOfLocalization(2069, [l]), + r.state.color = "#a9d94d", + r.name.color = "#a9d94d") : (r.state.text = game.Tools.strOfLocalization(2071), + r.state.color = "#58c4db", + r.name.color = "#58c4db", + o = !0) + } else + r.state.text = game.Tools.strOfLocalization(2072), + r.state.color = "#8c8c8c", + r.name.color = "#8c8c8c"; + s.invited ? (r.btn.visible = !1, + r.invited.visible = !0) : (r.btn.visible = !0, + r.invited.visible = !1, + game.Tools.setGrayDisable(r.btn, !o), + o && (r.btn.clickHandler = Laya.Handler.create(this, function() { + game.Tools.setGrayDisable(r.btn, !0); + var e = { + room_id: a.Inst.room_id, + mode: a.Inst.room_mode, + nickname: GameMgr.Inst.account_data.nickname, + verified: GameMgr.Inst.account_data.verified, + account_id: GameMgr.Inst.account_id + }; + app.NetAgent.sendReq2Lobby("Lobby", "sendClientMessage", { + target_id: s.f.base.account_id, + type: game.EFriendMsgType.room_invite, + content: JSON.stringify(e) + }, function(e, i) { + e || i.error ? (game.Tools.setGrayDisable(r.btn, !1), + t.UIMgr.Inst.showNetReqError("sendClientMessage", e, i)) : (r.btn.visible = !1, + r.invited.visible = !0, + s.invited = !0) + }) + }, null, !1))) + } + , + e + }() + , i = function() { + function e(e) { + var i = this; + this.tabs = [], + this.tab_index = 0, + this.me = e, + this.blackmask = this.me.getChildByName("blackmask"), + this.root = this.me.getChildByName("root"), + this.page_head = new t.zhuangban.Page_Waiting_Head(this.root.getChildByName("container_heads")), + this.page_zhangban = new t.zhuangban.Container_Zhuangban(this.root.getChildByName("container_zhuangban0"),this.root.getChildByName("container_zhuangban1"),new Laya.Handler(this,function() { + return i.locking + } + )); + for (var n = this.root.getChildByName("container_tabs"), a = function(e) { + r.tabs.push(n.getChildAt(e)), + r.tabs[e].clickHandler = new Laya.Handler(r,function() { + i.locking || i.tab_index != e && (1 == i.tab_index && i.page_zhangban.changed ? t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(3022), Laya.Handler.create(i, function() { + i.change_tab(e) + }), null) : i.change_tab(e)) + } + ) + }, r = this, s = 0; s < n.numChildren; s++) + a(s); + this.root.getChildByName("btn_close").clickHandler = new Laya.Handler(this,function() { + i.locking || (1 == i.tab_index && i.page_zhangban.changed ? t.UI_SecondConfirm.Inst.show(game.Tools.strOfLocalization(3022), Laya.Handler.create(i, function() { + i.close(!1) + }), null) : i.close(!1)) + } + ) + } + return e.prototype.show = function() { + var e = this; + this.me.visible = !0, + this.blackmask.alpha = 0, + this.locking = !0, + Laya.Tween.to(this.blackmask, { + alpha: .3 + }, 150), + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + e.locking = !1 + })), + this.tab_index = 0, + this.page_zhangban.close(!0), + this.page_head.show(!0); + for (var i = 0; i < this.tabs.length; i++) { + var n = this.tabs[i]; + n.skin = game.Tools.localUISrc(i == this.tab_index ? "myres/sushe/btn_shine2.png" : "myres/sushe/btn_dark2.png"); + var a = n.getChildByName("word"); + a.color = i == this.tab_index ? "#552c1c" : "#d3a86c", + a.scaleX = a.scaleY = i == this.tab_index ? 1.1 : 1, + i == this.tab_index && n.parent.setChildIndex(n, this.tabs.length - 1) + } + } + , + e.prototype.change_tab = function(t) { + var e = this; + this.tab_index = t; + for (var i = 0; i < this.tabs.length; i++) { + var n = this.tabs[i]; + n.skin = game.Tools.localUISrc(i == t ? "myres/sushe/btn_shine2.png" : "myres/sushe/btn_dark2.png"); + var a = n.getChildByName("word"); + a.color = i == t ? "#552c1c" : "#d3a86c", + a.scaleX = a.scaleY = i == t ? 1.1 : 1, + i == t && n.parent.setChildIndex(n, this.tabs.length - 1) + } + this.locking = !0, + 0 == this.tab_index ? (this.page_zhangban.close(!1), + Laya.timer.once(200, this, function() { + e.page_head.show(!1) + })) : 1 == this.tab_index && (this.page_head.close(!1), + Laya.timer.once(200, this, function() { + e.page_zhangban.show(!1) + })), + Laya.timer.once(400, this, function() { + e.locking = !1 + }) + } + , + e.prototype.close = function(e) { + var i = this; + this.me.visible && (e ? (this.page_head.close(!0), + this.page_zhangban.close(!0), + this.me.visible = !1) : (app.NetAgent.sendReq2Lobby("Lobby", "readyPlay", { + ready: a.Inst.owner_id == GameMgr.Inst.account_id, + dressing: !1 + }, function(t, e) {}), + this.locking = !0, + this.page_head.close(!1), + this.page_zhangban.close(!1), + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + i.locking = !1, + i.me.visible = !1 + })))) + } + , + e + }() + , n = function() { + function t(t) { + this.modes = [], + this.me = t, + this.bg = this.me.getChildByName("bg"), + this.scrollview = this.me.scriptMap["capsui.CScrollView"], + this.scrollview.init_scrollview(new Laya.Handler(this,this.render_item)) + } + return t.prototype.show = function(t) { + this.me.visible = !0, + this.scrollview.reset(), + this.modes = t, + this.scrollview.addItem(t.length); + var e = this.scrollview.total_height; + e > 380 ? (this.scrollview._content.y = 10, + this.bg.height = 400) : (this.scrollview._content.y = 390 - e, + this.bg.height = e + 20), + this.bg.visible = !0 + } + , + t.prototype.render_item = function(t) { + var e = t.index + , i = t.container.getChildByName("info"); + i.fontSize = 40, + this.modes[e].length <= 5 ? i.fontSize = 40 : this.modes[e].length <= 9 ? i.fontSize = 55 - 3 * this.modes[e].length : i.fontSize = 28, + i.text = this.modes[e] + } + , + t + }() + , a = function(a) { + function r() { + var e = a.call(this, new ui.lobby.waitingroomUI) || this; + return e.skin_ready = "myres/room/btn_ready.png", + e.skin_cancel = "myres/room/btn_cancel.png", + e.skin_start = "myres/room/btn_start.png", + e.skin_start_no = "myres/room/btn_start_no.png", + e.label_rommid = null, + e.player_cells = [], + e.btn_ok = null, + e.btn_invite_friend = null, + e.btn_add_robot = null, + e.btn_dress = null, + e.beReady = !1, + e.room_id = -1, + e.owner_id = -1, + e.tournament_id = 0, + e.max_player_count = 0, + e.players = [], + e.container_rules = null, + e.container_top = null, + e.container_right = null, + e.locking = !1, + e.mousein_copy = !1, + e.popout = null, + e.room_link = null, + e.btn_copy_link = null, + e.last_start_room = 0, + e.invitefriend = null, + e.pre_choose = null, + e.ai_name = game.Tools.strOfLocalization(2003), + r.Inst = e, + app.NetAgent.AddListener2Lobby("NotifyRoomPlayerReady", Laya.Handler.create(e, function(t) { + app.Log.log("NotifyRoomPlayerReady:" + JSON.stringify(t)), + e.onReadyChange(t.account_id, t.ready, t.dressing) + })), + app.NetAgent.AddListener2Lobby("NotifyRoomPlayerUpdate", Laya.Handler.create(e, function(t) { + app.Log.log("NotifyRoomPlayerUpdate:" + JSON.stringify(t)), + e.onPlayerChange(t) + })), + app.NetAgent.AddListener2Lobby("NotifyRoomGameStart", Laya.Handler.create(e, function(t) { + e.enable && (app.Log.log("NotifyRoomGameStart:" + JSON.stringify(t)), + e.onGameStart(t)) + })), + app.NetAgent.AddListener2Lobby("NotifyRoomKickOut", Laya.Handler.create(e, function(t) { + app.Log.log("NotifyRoomKickOut:" + JSON.stringify(t)), + e.onBeKictOut() + })), + game.LobbyNetMgr.Inst.add_connect_listener(Laya.Handler.create(e, function() { + e.enable && e.hide(Laya.Handler.create(e, function() { + t.UI_Lobby.Inst.enable = !0 + })) + }, null, !1)), + e + } + return __extends(r, a), + Object.defineProperty(r.prototype, "inRoom", { + get: function() { + return -1 != this.room_id + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(r.prototype, "robot_count", { + get: function() { + for (var t = 0, e = 0; e < this.players.length; e++) + 2 == this.players[e].category && t++; + return t + }, + enumerable: !0, + configurable: !0 + }), + r.prototype.resetData = function() { + this.room_id = -1, + this.owner_id = -1, + this.room_mode = {}, + this.max_player_count = 0, + this.players = [] + } + , + r.prototype.updateData = function(t) { + if (t) { + this.room_id = t.room_id, + this.owner_id = t.owner_id, + this.room_mode = t.mode, + this.public_live = t.public_live, + this.tournament_id = 0, + t.tournament_id && (this.tournament_id = t.tournament_id), + this.ai_name = game.Tools.strOfLocalization(2003), + this.room_mode.detail_rule && (1 === this.room_mode.detail_rule.ai_level && (this.ai_name = game.Tools.strOfLocalization(2003)), + 2 === this.room_mode.detail_rule.ai_level && (this.ai_name = game.Tools.strOfLocalization(2004))), + this.max_player_count = t.max_player_count, + this.players = []; + for (i = 0; i < t.persons.length; i++) { + var e = t.persons[i]; + e.ready = !1, + e.cell_index = -1, + e.category = 1, + this.players.push(e) + } + for (i = 0; i < t.robot_count; i++) + this.players.push({ + category: 2, + cell_index: -1, + account_id: 0, + level: { + id: 10101, + score: 0 + }, + level3: { + id: 20101, + score: 0 + }, + nickname: this.ai_name, + verified: 0, + ready: !0, + dressing: !1, + title: 0, + avatar_id: game.GameUtility.get_default_ai_skin() + }); + for (var i = 0; i < t.ready_list.length; i++) + for (var n = 0; n < this.players.length; n++) + if (this.players[n].account_id == t.ready_list[i]) { + this.players[n].ready = !0; + break + } + } else + this.resetData() + } + , + r.prototype.onReadyChange = function(t, e, i) { + for (var n = 0; n < this.players.length; n++) + if (this.players[n].account_id == t) { + this.players[n].ready = e, + this.players[n].dressing = i, + this._onPlayerReadyChange(this.players[n]); + break + } + } + , + r.prototype.onPlayerChange = function(t) { + t = t.toJSON(); + for (var e = [], i = 0; i < this.players.length; i++) + 0 != this.players[i].category && e.push(this.players[i]); + if (this.players = e, + t.update_list) + for (i = 0; i < t.update_list.length; i++) { + for (var n = t.update_list[i], a = n.account_id, r = !0, s = 0; s < this.players.length; s++) + if (this.players[s] && this.players[s].account_id == a) { + n.avatar_id && (this.players[s].avatar_id = n.avatar_id), + n.title && (this.players[s].title = n.title), + n.nickname && (this.players[s].nickname = n.nickname), + n.verified && (this.players[s].verified = n.verified), + n.level && (this.players[s].level = n.level), + this._refreshPlayerInfo(this.players[s]), + r = !1; + break + } + if (r) { + var o = -1; + if (this.enable) { + for (var l = [!1, !1, !1, !1], h = 0; h < this.players.length; h++) + -1 != this.players[h].cell_index && (l[this.players[h].cell_index] = !0); + for (s = 0; s < this.max_player_count; s++) + if (!l[s]) { + o = s; + break + } + } + n.cell_index = o, + n.ready = !1, + n.dressing = !1, + n.category = 1, + this.players.push(n), + this._refreshPlayerInfo(this.players[this.players.length - 1]) + } + } + if (t.remove_list) + for (i = 0; i < t.remove_list.length; i++) + for (var a = t.remove_list[i], s = 0; s < this.players.length; s++) + if (this.players[s] && this.players[s].account_id == a) { + for (var c = this.players[s].cell_index, _ = s; _ < this.players.length - 1; _++) + this.players[_] = this.players[_ + 1]; + this.players.pop(), + this._clearCell(c); + break + } + for (var u = [!1, !1, !1, !1], i = 0; i < this.players.length; i++) + -1 != this.players[i].cell_index && (u[this.players[i].cell_index] = !0); + for (i = 0; i < this.players.length; i++) + if (1 == this.players[i].category && -1 == this.players[i].cell_index) + for (s = 0; s < this.max_player_count; s++) + u[s] || (this.players[i].cell_index = s, + u[s] = !0, + this._refreshPlayerInfo(this.players[i])); + if (null != t.robot_count && void 0 != t.robot_count) { + var d = t.robot_count; + d < this.robot_count && this.pre_choose && 2 == this.pre_choose.category && (this.pre_choose.category = 0, + this._clearCell(this.pre_choose.cell_index), + this.pre_choose = null); + for (i = 0; i < this.players.length; i++) { + var f = this.players[i]; + 2 == f.category && (0 == d ? (this.players[i].category = 0, + this._clearCell(f.cell_index)) : d--) + } + for (; d > 0; ) { + for (var p = -1, i = 0; i < this.players.length; i++) + if (0 == this.players[i].category) { + p = i; + break + } + if (-1 == p) { + if (!(this.players.length < this.max_player_count)) { + app.Log.Error("同步机器人数量有问题"); + break + } + d--; + for (var c = -1, m = [!1, !1, !1, !1], i = 0; i < this.players.length; i++) + m[this.players[i].cell_index] = !0; + for (s = 0; s < this.max_player_count; s++) + if (!m[s]) { + c = s; + break + } + this.players.push({ + category: 2, + cell_index: c, + account_id: 0, + level: { + id: 10101, + score: 0 + }, + level3: { + id: 20101, + score: 0 + }, + nickname: this.ai_name, + verified: 0, + ready: !0, + title: 0, + avatar_id: game.GameUtility.get_default_ai_skin(), + dressing: !1 + }), + this._refreshPlayerInfo(this.players[this.players.length - 1]) + } else + d--, + this.players[p].category = 2, + this.players[p].cell_index = p, + this.players[p].account_id = 0, + this.players[p].level = { + id: 10101, + score: 0 + }, + this.players[p].level3 = { + id: 20101, + score: 0 + }, + this.players[p].nickname = this.ai_name, + this.players[p].verified = 0, + this.players[p].ready = !0, + this.players[p].title = 0, + this.players[p].avatar_id = game.GameUtility.get_default_ai_skin(), + this._refreshPlayerInfo(this.players[p]) + } + } + if (t.owner_id) { + if (this.owner_id = t.owner_id, + this.enable) + if (this.owner_id == GameMgr.Inst.account_id) + this.refreshAsOwner(); + else + for (s = 0; s < this.players.length; s++) + if (this.players[s] && this.players[s].account_id == this.owner_id) { + this._refreshPlayerInfo(this.players[s]); + break + } + } else if (this.enable) + if (this.owner_id == GameMgr.Inst.account_id) + this.refreshAsOwner(); + else + for (s = 0; s < this.players.length; s++) + if (this.players[s] && this.players[s].account_id == this.owner_id) { + this._refreshPlayerInfo(this.players[s]); + break + } + } + , + r.prototype.onBeKictOut = function() { + this.resetData(), + this.enable && (this.enable = !1, + this.pop_change_view.close(!1), + t.UI_Lobby.Inst.enable = !0, + t.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(52))) + } + , + r.prototype.onCreate = function() { + var a = this; + this.last_start_room = 0; + var r = this.me.getChildByName("root"); + this.container_top = r.getChildByName("top"), + this.container_right = r.getChildByName("right"), + this.label_rommid = this.container_top.getChildByName("label_roomid"); + for (var s = function(e) { + var i = r.getChildByName("player_" + e.toString()) + , n = {}; + n.index = e, + n.container = i, + n.container_flag = i.getChildByName("flag"), + n.container_name = i.getChildByName("container_name"), + n.name = i.getChildByName("container_name").getChildByName("name"), + n.btn_t = i.getChildByName("btn_t"), + n.container_illust = i.getChildByName("container_illust"), + n.illust = new t.UI_Character_Skin(i.getChildByName("container_illust").getChildByName("illust")), + n.host = i.getChildByName("host"), + n.title = new t.UI_PlayerTitle(i.getChildByName("container_name").getChildByName("title")), + n.rank = new t.UI_Level(i.getChildByName("container_name").getChildByName("rank")), + n.is_robot = !1; + var s = 0; + n.btn_t.clickHandler = Laya.Handler.create(o, function() { + if (!(a.locking || Laya.timer.currTimer < s)) { + s = Laya.timer.currTimer + 500; + for (var t = 0; t < a.players.length; t++) + if (a.players[t].cell_index == e) { + a.kickPlayer(t); + break + } + } + }, null, !1), + n.btn_info = i.getChildByName("btn_info"), + n.btn_info.clickHandler = Laya.Handler.create(o, function() { + if (!a.locking) + for (var i = 0; i < a.players.length; i++) + if (a.players[i].cell_index == e) { + a.players[i].account_id && a.players[i].account_id > 0 && t.UI_OtherPlayerInfo.Inst.show(a.players[i].account_id, a.room_mode.mode < 10 ? 1 : 2); + break + } + }, null, !1), + o.player_cells.push(n) + }, o = this, l = 0; l < 4; l++) + s(l); + this.btn_ok = r.getChildByName("btn_ok"); + var h = 0; + this.btn_ok.clickHandler = Laya.Handler.create(this, function() { + Laya.timer.currTimer < h + 500 || (h = Laya.timer.currTimer, + a.owner_id == GameMgr.Inst.account_id ? a.getStart() : a.switchReady()) + }, null, !1); + var c = 0; + this.container_top.getChildByName("btn_leave").clickHandler = Laya.Handler.create(this, function() { + Laya.timer.currTimer < c + 500 || (c = Laya.timer.currTimer, + a.leaveRoom()) + }, null, !1), + this.btn_invite_friend = this.container_right.getChildByName("btn_friend"), + this.btn_invite_friend.clickHandler = Laya.Handler.create(this, function() { + a.locking || a.invitefriend.show() + }, null, !1), + this.btn_add_robot = this.container_right.getChildByName("btn_robot"); + var _ = 0; + this.btn_add_robot.clickHandler = Laya.Handler.create(this, function() { + a.locking || Laya.timer.currTimer < _ || (_ = Laya.timer.currTimer + 1e3, + app.NetAgent.sendReq2Lobby("Lobby", "modifyRoom", { + robot_count: a.robot_count + 1 + }, function(e, i) { + (e || i.error && 1111 != i.error.code) && t.UIMgr.Inst.showNetReqError("modifyRoom_add", e, i), + _ = 0 + })) + }, null, !1), + this.container_right.getChildByName("btn_help").clickHandler = Laya.Handler.create(this, function() { + a.locking || t.UI_Rules.Inst.show() + }, null, !1), + this.btn_dress = this.container_right.getChildByName("btn_view"), + this.btn_dress.clickHandler = new Laya.Handler(this,function() { + a.locking || a.beReady && a.owner_id != GameMgr.Inst.account_id || (a.pop_change_view.show(), + app.NetAgent.sendReq2Lobby("Lobby", "readyPlay", { + ready: a.owner_id == GameMgr.Inst.account_id, + dressing: !0 + }, function(t, e) {})) + } + ); + var u = this.container_right.getChildByName("btn_copy"); + u.on("mouseover", this, function() { + a.mousein_copy = !0 + }), + u.on("mouseout", this, function() { + a.mousein_copy = !1 + }), + u.clickHandler = Laya.Handler.create(this, function() { + a.popout.visible || (GameMgr.Inst.BehavioralStatistics(12), + a.popout.visible = !0, + t.UIBase.anim_pop_out(a.popout, null)) + }, null, !1), + this.container_rules = new n(this.container_right.getChildByName("container_rules")), + this.popout = this.me.getChildByName("pop"), + this.room_link = this.popout.getChildByName("input").getChildByName("txtinput"), + this.room_link.editable = !1, + this.btn_copy_link = this.popout.getChildByName("btn_copy"), + this.btn_copy_link.visible = !1, + GameMgr.inConch ? (this.btn_copy_link.visible = !0, + this.btn_copy_link.clickHandler = Laya.Handler.create(this, function() { + Laya.PlatformClass.createClass("layaair.majsoul.mjmgr").call("setSysClipboardText", a.room_link.text), + t.UIBase.anim_pop_hide(a.popout, Laya.Handler.create(a, function() { + a.popout.visible = !1 + })), + t.UI_FlyTips.ShowTips(game.Tools.strOfLocalization(2125)) + }, null, !1)) : GameMgr.iniOSWebview && (this.btn_copy_link.visible = !0, + this.btn_copy_link.clickHandler = Laya.Handler.create(this, function() { + Laya.Browser.window.wkbridge.callNative("copy2clip", a.room_link.text, function() {}), + t.UIBase.anim_pop_hide(a.popout, Laya.Handler.create(a, function() { + a.popout.visible = !1 + })), + t.UI_FlyTips.ShowTips(game.Tools.strOfLocalization(2125)) + }, null, !1)), + this.popout.visible = !1, + this.popout.getChildByName("btn_cancel").clickHandler = Laya.Handler.create(this, function() { + t.UIBase.anim_pop_hide(a.popout, Laya.Handler.create(a, function() { + a.popout.visible = !1 + })) + }, null, !1), + this.invitefriend = new e(this.me.getChildByName("invite_friend")), + this.pop_change_view = new i(this.me.getChildByName("pop_view")) + } + , + r.prototype.show = function() { + var e = this; + game.Scene_Lobby.Inst.change_bg("indoor", !1), + this.mousein_copy = !1, + this.beReady = !1, + this.invitefriend.me.visible = !1, + this.btn_add_robot.visible = !1, + this.btn_invite_friend.visible = !1, + game.Tools.setGrayDisable(this.btn_dress, !1), + this.pre_choose = null, + this.pop_change_view.close(!0); + for (o = 0; o < 4; o++) + this.player_cells[o].container.visible = o < this.max_player_count; + for (o = 0; o < this.max_player_count; o++) + this._clearCell(o); + for (o = 0; o < this.players.length; o++) + this.players[o].cell_index = o, + this._refreshPlayerInfo(this.players[o]); + this.owner_id == GameMgr.Inst.account_id ? (this.btn_ok.skin = game.Tools.localUISrc(this.skin_start), + this.refreshAsOwner()) : (this.btn_ok.skin = game.Tools.localUISrc(this.skin_ready), + game.Tools.setGrayDisable(this.btn_ok, !1)), + "en" == GameMgr.client_language ? this.label_rommid.text = "#" + this.room_id.toString() : this.label_rommid.text = this.room_id.toString(); + var i = []; + i.push(game.Tools.room_mode_desc(this.room_mode.mode)); + var n = this.room_mode.detail_rule; + if (n) { + var a = 5 + , r = 20; + if (null != n.time_fixed && (a = n.time_fixed), + null != n.time_add && (r = n.time_add), + i.push(a.toString() + "+" + r.toString() + game.Tools.strOfLocalization(2019)), + 0 != this.tournament_id) { + var s = cfg.tournament.tournaments.get(this.tournament_id); + s && i.push(s.name) + } + if (null != n.init_point && i.push(game.Tools.strOfLocalization(2199) + n.init_point), + null != n.fandian && i.push(game.Tools.strOfLocalization(2094) + ":" + n.fandian), + n.guyi_mode && i.push(game.Tools.strOfLocalization(3028)), + null != n.dora_count) + switch (n.dora_count) { + case 0: + i.push(game.Tools.strOfLocalization(2044)); + break; + case 2: + i.push(game.Tools.strOfLocalization(2047)); + break; + case 3: + i.push(game.Tools.strOfLocalization(2045)); + break; + case 4: + i.push(game.Tools.strOfLocalization(2046)) + } + null != n.shiduan && 1 != n.shiduan && i.push(game.Tools.strOfLocalization(2137)), + 2 === n.fanfu && i.push(game.Tools.strOfLocalization(2763)), + 4 === n.fanfu && i.push(game.Tools.strOfLocalization(2764)), + null != n.bianjietishi && 1 != n.bianjietishi && i.push(game.Tools.strOfLocalization(2200)), + this.room_mode.mode >= 10 && this.room_mode.mode <= 14 && (null != n.have_zimosun && 1 != n.have_zimosun ? i.push(game.Tools.strOfLocalization(2202)) : i.push(game.Tools.strOfLocalization(2203))) + } + this.container_rules.show(i), + this.enable = !0, + this.locking = !0, + t.UIBase.anim_alpha_in(this.container_top, { + y: -30 + }, 200); + for (var o = 0; o < this.player_cells.length; o++) + t.UIBase.anim_alpha_in(this.player_cells[o].container, { + x: 80 + }, 150, 150 + 50 * o, null, Laya.Ease.backOut); + t.UIBase.anim_alpha_in(this.btn_ok, {}, 100, 600), + t.UIBase.anim_alpha_in(this.container_right, { + x: 20 + }, 100, 500), + Laya.timer.once(600, this, function() { + e.locking = !1 + }); + var l = game.Tools.room_mode_desc(this.room_mode.mode); + this.room_link.text = game.Tools.strOfLocalization(2221, [this.room_id.toString()]), + "" != l && (this.room_link.text += "(" + l + ")"), + this.room_link.text += ": " + GameMgr.Inst.link_url + "?room=" + this.room_id + } + , + r.prototype.leaveRoom = function() { + var e = this; + this.locking || app.NetAgent.sendReq2Lobby("Lobby", "leaveRoom", {}, function(i, n) { + i || n.error ? t.UIMgr.Inst.showNetReqError("leaveRoom", i, n) : e.hide(Laya.Handler.create(e, function() { + t.UI_Lobby.Inst.enable = !0 + })) + }) + } + , + r.prototype.tryToClose = function(e) { + var i = this; + app.NetAgent.sendReq2Lobby("Lobby", "leaveRoom", {}, function(n, a) { + n || a.error ? (t.UIMgr.Inst.showNetReqError("leaveRoom", n, a), + e.runWith(!1)) : (i.enable = !1, + i.pop_change_view.close(!0), + e.runWith(!0)) + }) + } + , + r.prototype.hide = function(e) { + var i = this; + this.locking = !0, + t.UIBase.anim_alpha_out(this.container_top, { + y: -30 + }, 150); + for (var n = 0; n < this.player_cells.length; n++) + t.UIBase.anim_alpha_out(this.player_cells[n].container, { + x: 80 + }, 150, 0, null); + t.UIBase.anim_alpha_out(this.btn_ok, {}, 150), + t.UIBase.anim_alpha_out(this.container_right, { + x: 20 + }, 150), + Laya.timer.once(200, this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + }), + document.getElementById("layaCanvas").onclick = null + } + , + r.prototype.onDisbale = function() { + Laya.timer.clearAll(this); + for (var t = 0; t < this.player_cells.length; t++) + Laya.loader.clearTextureRes(this.player_cells[t].illust.skin); + document.getElementById("layaCanvas").onclick = null + } + , + r.prototype.switchReady = function() { + this.owner_id != GameMgr.Inst.account_id && (this.beReady = !this.beReady, + this.btn_ok.skin = game.Tools.localUISrc(this.beReady ? this.skin_cancel : this.skin_ready), + game.Tools.setGrayDisable(this.btn_dress, this.beReady), + app.NetAgent.sendReq2Lobby("Lobby", "readyPlay", { + ready: this.beReady, + dressing: !1 + }, function(t, e) {})) + } + , + r.prototype.getStart = function() { + this.owner_id == GameMgr.Inst.account_id && (Laya.timer.currTimer < this.last_start_room + 2e3 || (this.last_start_room = Laya.timer.currTimer, + app.NetAgent.sendReq2Lobby("Lobby", "startRoom", {}, function(e, i) { + (e || i.error) && t.UIMgr.Inst.showNetReqError("startRoom", e, i) + }))) + } + , + r.prototype.kickPlayer = function(e) { + if (this.owner_id == GameMgr.Inst.account_id) { + var i = this.players[e]; + 1 == i.category ? app.NetAgent.sendReq2Lobby("Lobby", "kickPlayer", { + account_id: this.players[e].account_id + }, function(t, e) {}) : 2 == i.category && (this.pre_choose = i, + app.NetAgent.sendReq2Lobby("Lobby", "modifyRoom", { + robot_count: this.robot_count - 1 + }, function(e, i) { + (e || i.error) && t.UIMgr.Inst.showNetReqError("modifyRoom_minus", e, i) + })) + } + } + , + r.prototype._clearCell = function(t) { + if (!(t < 0 || t >= this.player_cells.length)) { + var e = this.player_cells[t]; + e.container_flag.visible = !1, + e.container_illust.visible = !1, + e.name.visible = !1, + e.container_name.visible = !1, + e.btn_t.visible = !1, + e.host.visible = !1, + this.refreshStart() + } + } + , + r.prototype._refreshPlayerInfo = function(t) { + var e = t.cell_index; + if (!(e < 0 || e >= this.player_cells.length)) { + var i = this.player_cells[e]; + i.container_illust.visible = !0, + i.container_name.visible = !0, + i.name.visible = !0, + game.Tools.SetNickname(i.name, t), + i.btn_t.visible = this.owner_id == GameMgr.Inst.account_id && t.account_id != GameMgr.Inst.account_id, + this.owner_id == t.account_id && (i.container_flag.visible = !0, + i.host.visible = !0), + i.illust.setSkin(t.avatar_id, "waitingroom"), + i.title.id = game.Tools.titleLocalization(t.account_id, t.title), + i.rank.id = t[this.room_mode.mode < 10 ? "level" : "level3"].id, + this._onPlayerReadyChange(t) + } + } + , + r.prototype._onPlayerReadyChange = function(t) { + var e = t.cell_index; + if (!(e < 0 || e >= this.player_cells.length)) { + var i = this.player_cells[e]; + this.owner_id == t.account_id ? i.container_flag.visible = !0 : i.container_flag.visible = t.ready, + this.refreshStart() + } + } + , + r.prototype.refreshAsOwner = function() { + if (this.owner_id == GameMgr.Inst.account_id) { + for (var t = 0, e = 0; e < this.players.length; e++) + 0 != this.players[e].category && (this._refreshPlayerInfo(this.players[e]), + t++); + this.btn_add_robot.visible = !0, + this.btn_invite_friend.visible = !0, + game.Tools.setGrayDisable(this.btn_invite_friend, t == this.max_player_count), + game.Tools.setGrayDisable(this.btn_add_robot, t == this.max_player_count), + this.refreshStart() + } + } + , + r.prototype.refreshStart = function() { + if (this.owner_id == GameMgr.Inst.account_id) { + this.btn_ok.skin = game.Tools.localUISrc(this.skin_start), + game.Tools.setGrayDisable(this.btn_dress, !1); + for (var t = 0, e = 0; e < this.players.length; e++) + if (0 != this.players[e].category && (!this.players[e] || this.players[e].account_id != this.owner_id)) { + if (!this.players[e] || null == this.players[e].ready || void 0 == this.players[e].ready || !this.players[e].ready) + return void game.Tools.setGrayDisable(this.btn_ok, !0); + t++ + } + game.Tools.setGrayDisable(this.btn_ok, t + 1 != this.max_player_count) + } + } + , + r.prototype.onGameStart = function(t) { + game.Tools.setGrayDisable(this.btn_ok, !0), + this.enable = !1, + game.MJNetMgr.Inst.OpenConnect(t.connect_token, t.game_uuid, t.location, !1, null) + } + , + r.Inst = null, + r + }(t.UIBase); + t.UI_WaitingRoom = a +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function(e) { + function i() { + var t = e.call(this, new ui.lobby.waitobUI) || this; + return t._sec = 0, + t._start_time = 0, + i.Inst = t, + t + } + return __extends(i, e), + i.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.label_sec = this.root.getChildByName("sec"), + this.root.getChildByName("btn_confirm").clickHandler = Laya.Handler.create(this, function() { + t.locking || t.close(Laya.Handler.create(t, function() { + t._func && t._func.runWith({ + success: !1 + }) + })) + }, null, !1) + } + , + i.prototype.show = function(e, i, n) { + var a = this; + this._func = n, + this.label_sec.text = i.toString(), + this._sec = i, + this.locking = !0, + this.enable = !0, + t.UIBase.anim_pop_out(this.root, Laya.Handler.create(this, function() { + a.locking = !1, + a._start_time = Laya.timer.currTimer, + Laya.timer.loop(100, a, function() { + var i = Math.ceil((1e3 * a._sec - (Laya.timer.currTimer - a._start_time)) / 1e3); + i <= 0 && (i = 0), + a.label_sec.text = i.toString(), + 0 == i && a.close(Laya.Handler.create(a, function() { + t.UI_Live_Broadcast.fetchInfo(e, n) + })) + }) + })) + } + , + i.prototype.close = function(e) { + var i = this; + Laya.timer.clearAll(this), + this.locking = !0, + t.UIBase.anim_pop_hide(this.root, Laya.Handler.create(this, function() { + i.locking = !1, + i.enable = !1, + e && e.run() + })) + } + , + i.prototype.onDisable = function() { + Laya.timer.clearAll(this) + } + , + i + }(t.UIBase); + t.UI_WaitOb = e +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + return function() {} + }() + , i = function() { + function e(t) { + this.me = t, + this.me.visible = !1, + this.label0 = this.me.getChildByName("label0"), + this.num0_init = this.me.getChildByName("num0_init"), + this.num0_add = this.me.getChildByName("num0_add"), + this.label1 = this.me.getChildByName("label1"), + this.num1_init = this.me.getChildByName("num1_init"), + this.num1_add = this.me.getChildByName("num1_add"), + this.me_x_start = this.me.x + } + return e.prototype.show = function(e, i, n) { + var a = this; + if (this.me.visible = !1, + view.DesktopMgr.Inst.mode != view.EMJMode.play) + return 0; + if (!t.UI_Activity.activity_is_running(t.UI_Activity_DuanWu_Point.activity_id)) + return 0; + var r = view.DesktopMgr.Inst.game_config; + this.label0.visible = !1, + this.num0_init.visible = !1, + this.num0_add.visible = !1, + this.label1.visible = !1, + this.num1_init.visible = !1, + this.num1_add.visible = !1; + var s = 0; + return s += 0, + Laya.timer.once(e + s, this, function() { + a.me.visible = !0, + a.me.alpha = 0, + a.me.x = a.me_x_start - 200, + Laya.Tween.to(a.me, { + alpha: 1, + x: a.me_x_start + }, 200) + }), + s += 600, + Laya.timer.once(e + s, this, function() { + var e = 300; + e = a.func_show(a.label0, a.num0_init, a.num0_add, view.DesktopMgr.Inst.state_cache.duanwu_point, i, n, t.UI_Activity_DuanWu_Point.max_point(), e); + var s = !1; + if (t.UI_Activity.activity_is_running(t.UI_Activity_DuanWu_Rank.activity_id)) { + var o = r.meta; + if (o) { + var l = cfg.desktop.matchmode.get(o.mode_id); + l && l.can_sumup && l.gcarry > 0 && (s = !0) + } + } + s && (e += 30, + a.func_show(a.label1, a.num1_init, a.num1_add, view.DesktopMgr.Inst.state_cache.duanwu_rank, i, n, -1, e)) + }), + s += 1800 + } + , + e.prototype.func_show = function(t, e, i, n, a, r, s, o) { + view.DesktopMgr.Inst.rule_mode == view.ERuleMode.Liqi3 && (a = Math.floor(a / 3), + r = Math.floor(r / 3)); + var l = n + a; + if (s >= 0 && l > s && (l = s), + n = n + a - r, + s >= 0 && n > s && (n = s), + (r = l - n) < 0 && (r = 0), + t.visible = !0, + i.visible = !0, + e.visible = !0, + e.text = l.toString(), + i.text = r > 0 ? "+" + r.toString() : "", + t.x = o, + o += t.textField.textWidth * t.scaleX, + e.x = o, + o += 10, + o += e.textField.textWidth * e.scaleX, + i.x = o, + o += i.textField.textWidth * i.scaleX, + e.text = n.toString(), + t.alpha = 0, + e.alpha = 0, + i.alpha = 0, + Laya.Tween.to(t, { + alpha: 1 + }, 150, null, null, 0), + Laya.Tween.to(e, { + alpha: 1 + }, 150, null, null, 0), + Laya.Tween.to(i, { + alpha: 1 + }, 150, null, null, 0), + r > 0) { + for (var h = function(t) { + var a = Math.floor(t / 10 * r); + Laya.timer.once(1200 + 50 * t, c, function() { + i.text = "+" + (r - a).toString(), + e.text = (n + a).toString() + }) + }, c = this, _ = 0; _ < 10; _++) + h(_); + Laya.timer.once(1700, this, function() { + i.text = "", + e.text = l.toString() + }) + } + return o + } + , + e + }() + , n = function(n) { + function a() { + var t = n.call(this, new ui.mj.winUI) || this; + return t.root = null, + t.label_chang = null, + t.winner_name = null, + t.img_mode = null, + t.container_hand = null, + t.img_hands = [], + t.container_dora = null, + t.img_doras = [], + t.container_lidora = null, + t.img_lidoras = [], + t.container_fan_yiman = null, + t.container_fan_liuju = null, + t.container_fan_8 = null, + t.container_fan_12 = null, + t.container_fan_15 = null, + t.fan_imgs = [], + t.fu_imgs = [], + t.img_yiman = null, + t.score_imgs = [], + t.btn_confirm = null, + t.container_title = null, + t.container_score = null, + t.container_fan = null, + t.container_fu = null, + t.count_down = null, + t.illust = null, + t.illust_rect = null, + t.muyu = null, + t.liujumanguan = !1, + t.data = null, + t.current_index = 0, + t.effect_yiman = null, + a.Inst = t, + t + } + return __extends(a, n), + a.prototype.onCreate = function() { + this.root = this.me.getChildByName("root"), + this.winner_name = this.root.getChildByName("container_name").getChildAt(0), + this.img_mode = this.root.getChildByName("he"), + this.container_hand = this.root.getChildByName("container_hand"), + this.illust = this.root.getChildByName("xiaojiejie"), + this.illust_rect = t.UIRect.CreateFromSprite(this.illust), + this.img_hands = []; + for (n = 0; n < this.container_hand.numChildren; n++) { + (e = this.container_hand.getChildAt(n)).visible = !1, + this.img_hands.push(e) + } + this.container_dora = this.root.getChildByName("container_dora"), + this.img_doras = []; + for (n = 0; n < 5; n++) { + e = this.container_dora.getChildByName("img" + n); + this.img_doras.push(e) + } + this.container_lidora = this.root.getChildByName("container_lidora"), + this.img_lidoras = []; + for (n = 0; n < 5; n++) { + var e = this.container_lidora.getChildByName("img" + n); + this.img_lidoras.push(e) + } + this.container_fan_yiman = this.root.getChildByName("container_fan_yiman"), + this.container_fan_liuju = this.root.getChildByName("container_fan_liuju"), + this.container_fan_8 = this.root.getChildByName("container_fan_8"), + this.container_fan_12 = this.root.getChildByName("container_fan_12"), + this.container_fan_15 = this.root.getChildByName("container_fan_15"), + this.btn_confirm = this.root.getChildByName("btn_confirm"), + this.count_down = this.btn_confirm.getChildByName("countdown"), + this.container_title = this.root.getChildByName("container_title"), + this.container_score = this.root.getChildByName("container_score"); + for (n = 0; n < 6; n++) + this.score_imgs.push(this.container_score.getChildByName("s" + n.toString())); + this.img_yiman = this.root.getChildByName("container_fanfu").getChildByName("yiman"), + this.container_fan = this.root.getChildByName("container_fanfu").getChildByName("fan"); + for (n = 0; n < 2; n++) + this.fan_imgs.push(this.container_fan.getChildByName("n" + n.toString())); + this.container_fu = this.root.getChildByName("container_fanfu").getChildByName("fu"); + for (var n = 0; n < 3; n++) + this.fu_imgs.push(this.container_fu.getChildByName("n" + n.toString())); + this.container_Activity_Point = new i(this.root.getChildByName("container_activity_point")), + this.btn_confirm.clickHandler = new laya.utils.Handler(this,this.onConfirm), + this.muyu = this.root.getChildByName("muyu") + } + , + a.prototype.show = function(e, i) { + this.liujumanguan = i, + this.data = e, + this.current_index = 0, + this.liujumanguan ? this._showLiuJuManGuan(e[0]) : this._showHule(e.hules[0]), + this.enable = !0, + t.UI_Live_Broadcast.Inst.enable && (t.UI_Live_Broadcast.Inst.do_unit_cd = 0) + } + , + a.prototype.onConfirm = function() { + if (Laya.timer.clearAll(this), + this.btn_confirm.disabled = !0, + Laya.loader.clearTextureRes(this.illust.skin), + this.effect_yiman && (this.effect_yiman.destory(), + this.effect_yiman = null), + this.liujumanguan) + if (this.current_index < this.data.length - 1) + this.current_index++, + this._showLiuJuManGuan(this.data[this.current_index]); + else { + this.enable = !1; + for (var e = [], i = 0; i < view.DesktopMgr.Inst.player_count; i++) + e.push({ + old_score: this.data[0].old_scores[i], + delta: 0 + }); + for (i = 0; i < this.data.length; i++) + for (var n = 0; n < view.DesktopMgr.Inst.player_count; n++) + e[n].delta += this.data[i].delta_scores[n]; + t.UI_ScoreChange.Inst.show(e) + } + else if (this.current_index < this.data.hules.length - 1) + this.current_index++, + this._showHule(this.data.hules[this.current_index]); + else { + this.enable = !1, + t.UI_DesktopInfo.Inst.setLiqibang(0); + for (var e = [], i = 0; i < view.DesktopMgr.Inst.player_count; i++) + e.push({ + old_score: this.data.old_scores[i], + delta: this.data.delta_scores[i] + }); + t.UI_ScoreChange.Inst.show(e) + } + } + , + a.prototype.setTitle = function(t) { + for (n = 0; n < this.container_title.numChildren; n++) + this.container_title.getChildAt(n).visible = !1; + if ("chs" == GameMgr.client_language || "chs_t" == GameMgr.client_language) { + e = []; + switch (t) { + case mjcore.E_Dadian_Title.E_Dadian_Title_manguan: + e = ["", "", "man", "guan"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_tiaoman: + e = ["", "", "tiao", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_beiman: + e = ["", "", "bei", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_sanbeiman: + e = ["", "san", "bei", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_leijiyiman: + e = ["lei", "ji", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman: + e = ["", "", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman2: + e = ["liang", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman3: + e = ["san", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman4: + e = ["si", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman5: + e = ["wu", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman6: + e = ["liu", "bei", "yi", "man"] + } + (i = this.container_title.getChildByName("chs")).visible = !0; + for (n = 0; n < i.numChildren; n++) + i.getChildAt(n).visible = !1; + for (n = 0; n < e.length; n++) + if ("" != e[n]) { + (a = i.getChildAt(n)).visible = !0, + a.skin = game.Tools.localUISrc("myres/word_" + e[n] + ".png") + } + } else if ("en" == GameMgr.client_language) { + (i = this.container_title.getChildByName("en")).visible = !0; + a = i.getChildAt(0); + switch (t) { + case mjcore.E_Dadian_Title.E_Dadian_Title_manguan: + a.skin = "en/myres/Mangan.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_tiaoman: + a.skin = "en/myres/Haneman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_beiman: + a.skin = "en/myres/Baiman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_sanbeiman: + a.skin = "en/myres/Sanbaiman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_leijiyiman: + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman: + a.skin = "en/myres/Yakuman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman2: + a.skin = "en/myres/Double Yakuman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman3: + a.skin = "en/myres/Triple Yakuman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman4: + a.skin = "en/myres/Quadruple Yakuman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman5: + a.skin = "en/myres/Quintuple Yakuman.png"; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman6: + a.skin = "en/myres/Sextuple Yakuman.png" + } + } else if ("jp" == GameMgr.client_language) { + var e = []; + switch (t) { + case mjcore.E_Dadian_Title.E_Dadian_Title_manguan: + e = ["", "", "man", "guan"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_tiaoman: + e = ["", "", "tiao", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_beiman: + e = ["", "", "bei", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_sanbeiman: + e = ["", "san", "bei", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_leijiyiman: + e = ["shu", "ji", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman: + e = ["", "", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman2: + e = ["er", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman3: + e = ["san", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman4: + e = ["si", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman5: + e = ["wu", "bei", "yi", "man"]; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman6: + e = ["liu", "bei", "yi", "man"] + } + var i = this.container_title.getChildByName("chs"); + i.visible = !0; + for (n = 0; n < i.numChildren; n++) + i.getChildAt(n).visible = !1; + for (var n = 0; n < e.length; n++) + if ("" != e[n]) { + var a; + (a = i.getChildAt(n)).visible = !0, + a.skin = "jp/myres/word_" + e[n] + ".png" + } + } + } + , + a.prototype.setFanFu = function(t, e) { + this.container_fan.visible = this.container_fu.visible = !0, + this.container_fan.alpha = this.container_fu.alpha = 0; + for (i = 0; i < 2; i++) + if (0 == t) + this.fan_imgs[i].visible = !1; + else { + n = t % 10; + t = Math.floor(t / 10), + this.fan_imgs[i].visible = !0, + this.fan_imgs[i].skin = game.Tools.localUISrc("myres/mjdesktop/h_" + n.toString() + ".png") + } + for (var i = 0; i < 3; i++) + if (0 == e) + this.fu_imgs[i].visible = !1; + else { + var n = e % 10; + e = Math.floor(e / 10), + this.fu_imgs[i].visible = !0, + this.fu_imgs[i].skin = game.Tools.localUISrc("myres/mjdesktop/ww_" + n.toString() + ".png") + } + Laya.Tween.to(this.container_fan, { + alpha: 1 + }, 200), + Laya.Tween.to(this.container_fu, { + alpha: 1 + }, 200) + } + , + a.prototype._showInfo_mj = function(e) { + var i = this; + this.container_Activity_Point.me.visible = !1, + this.root.alpha = 0, + Laya.Tween.to(this.root, { + alpha: 1 + }, 500); + var n = view.DesktopMgr.Inst.getPlayerName(e.seat); + game.Tools.SetNickname(this.winner_name, n); + var a = view.DesktopMgr.Inst.player_datas[e.seat].character + , r = new t.UIRect; + r.x = this.illust_rect.x, + r.y = this.illust_rect.y, + r.width = this.illust_rect.width, + r.height = this.illust_rect.height, + 401902 == view.DesktopMgr.Inst.player_datas[e.seat].avatar_id && (r.x -= 100, + r.y += 100, + r.width *= .9, + r.height *= .9), + game.Tools.charaPart(view.DesktopMgr.Inst.player_datas[e.seat].avatar_id, this.illust, "full", r), + 2 == e.mode ? this.img_mode.visible = !1 : (this.img_mode.visible = !0, + 0 == e.mode ? this.img_mode.skin = game.Tools.localUISrc("myres/mjdesktop/pg_zimo.png") : this.img_mode.skin = game.Tools.localUISrc("myres/mjdesktop/pg_he.png")); + for (var s = "myres2/mjp/" + GameMgr.Inst.mjp_view + "/ui/", o = this.img_hands[0].width, l = .5 * o, h = 0; h < this.img_hands.length; h++) + this.img_hands[h].visible = !1; + for (var c = 0, _ = 0, u = [], h = 0; h < e.hand.length; h++) + u.push(mjcore.MJPai.Create(e.hand[h])); + u = u.sort(function(t, e) { + return 10 * t.numValue() + (t.dora ? 0 : 1) - (10 * e.numValue() + (e.dora ? 0 : 1)) + }); + for (h = 0; h < u.length; h++) + this.img_hands[c].skin = game.Tools.localUISrc(s + u[h].toString() + ".png"), + this.img_hands[c].x = _, + this.img_hands[c].y = 0, + _ += o, + this.img_hands[c].visible = !0, + c++; + if (e.ming && e.ming.length > 0) { + _ += l; + for (h = 0; h < e.ming.length; h++) { + var d = e.ming[h]; + if (")" != d.charAt(d.length - 1)) { + if (1 == (p = d.split("|")).length) { + y = p[0].charAt(1); + "0" == (g = p[0].charAt(0)) && (g = "5"); + for (x = 0; x < 4; x++) { + C = ""; + C = 0 == x || 3 == x ? "back" : 1 == x && "5" == g && "z" != y ? "0" + y : g + y, + this.img_hands[c].skin = game.Tools.localUISrc(s + C + ".png"), + this.img_hands[c].x = _, + this.img_hands[c].y = 0, + _ += o, + this.img_hands[c].visible = !0, + c++ + } + } else + for (x = 0; x < p.length; x++) { + C = p[x].toString(); + this.img_hands[c].skin = game.Tools.localUISrc(s + C + ".png"), + this.img_hands[c].x = _, + this.img_hands[c].y = 0, + _ += o, + this.img_hands[c].visible = !0, + c++ + } + } else { + for (var f = "", p = [], m = 0; m < d.length; m++) + if ("(" == d.charAt(m)) { + f = d.substring(0, m), + p = d.substring(m + 1, d.length - 1).split(","); + break + } + if ("angang" == f) { + for (var g = p[0].charAt(0), y = p[0].charAt(1), v = 0, b = 0; b < p.length; b++) + "0" == p[b].charAt(0) && v++; + v > 0 && (g = "5"); + for (var w = 0; w < p.length; w++) { + C = ""; + C = 0 == w || 3 == w ? "back" : w <= v ? "0" + y : g + y, + this.img_hands[c].skin = game.Tools.localUISrc(s + C + ".png"), + this.img_hands[c].x = _, + this.img_hands[c].y = 0, + _ += o, + this.img_hands[c].visible = !0, + c++ + } + } else + for (var x = 0; x < p.length; x++) { + C = p[x]; + this.img_hands[c].skin = game.Tools.localUISrc(s + C + ".png"), + this.img_hands[c].x = _, + this.img_hands[c].y = 0, + _ += o, + this.img_hands[c].visible = !0, + c++ + } + } + } + } + _ += l, + 2 != e.mode && (this.img_hands[c].skin = game.Tools.localUISrc(s + e.hupai + ".png"), + this.img_hands[c].x = _, + this.img_hands[c].y = 0, + _ += o, + this.img_hands[c].visible = !0, + c++); + var I = (.72 - .92) * (c - 14) / 4 + .92; + this.container_hand.scaleX = this.container_hand.scaleY = I; + for (h = 0; h < 5; h++) { + C = "back"; + h < e.doras.length && (C = e.doras[h]), + this.img_doras[h].skin = game.Tools.localUISrc(s + C + ".png"), + this.img_doras[h].x = h * o, + this.img_doras[h].y = 0 + } + if (e.lidoras && 2 != e.mode) { + this.container_lidora.visible = !0; + for (h = 0; h < 5; h++) { + C = "back"; + h < e.lidoras.length && (C = e.lidoras[h]), + this.img_lidoras[h].skin = game.Tools.localUISrc(s + C + ".png"), + this.img_lidoras[h].x = h * o, + this.img_lidoras[h].y = 0 + } + } else { + this.container_lidora.visible = !0; + for (h = 0; h < 5; h++) { + var C = "back"; + this.img_lidoras[h].skin = game.Tools.localUISrc(s + C + ".png"), + this.img_lidoras[h].x = h * o, + this.img_lidoras[h].y = 0 + } + } + var S = e.fan_names.length + , M = 100; + this.container_fan_yiman.visible = !1, + this.container_fan_8.visible = !1, + this.container_fan_15.visible = !1, + this.container_fan_12.visible = !1, + this.container_fan_liuju.visible = !1, + this.container_fan_yiman.visible = !1, + this.container_fan_8.visible = !1, + this.container_fan_15.visible = !1, + this.container_fan_12.visible = !1, + this.container_fan_liuju.visible = !1; + var L = null; + (L = 2 == e.mode ? this.container_fan_liuju : e.yiman ? this.container_fan_yiman : S <= 8 ? this.container_fan_8 : S <= 12 ? this.container_fan_12 : this.container_fan_15).visible = !0; + for (h = 0; h < L.numChildren; h++) + L.getChildAt(h).visible = !1; + for (var T = [], h = 0; h < e.fan_names.length; h++) { + var E = e.fan_names[h] + , D = 0 + , N = e.fan_ids[h]; + 9999 != N && (D = cfg.fan.fan.get(N).show_index); + var A = { + name: E, + index: D + }; + if (e.fan_value && e.fan_value.length > h && (A.value = e.fan_value[h]), + 10 == N) + switch ((e.seat - view.DesktopMgr.Inst.index_ju + view.DesktopMgr.Inst.player_count) % view.DesktopMgr.Inst.player_count) { + case 0: + A.sound = "fan_dong"; + break; + case 1: + A.sound = "fan_nan"; + break; + case 2: + A.sound = "fan_xi"; + break; + case 3: + A.sound = "fan_bei" + } + else if (11 == N) + if (view.DesktopMgr.Inst.index_change % 4 == (e.seat - view.DesktopMgr.Inst.index_ju + view.DesktopMgr.Inst.player_count) % view.DesktopMgr.Inst.player_count) + switch (view.DesktopMgr.Inst.index_change % 4) { + case 0: + A.sound = "fan_doubledong"; + break; + case 1: + A.sound = "fan_doublenan"; + break; + case 2: + A.sound = "fan_doublexi"; + break; + case 3: + A.sound = "fan_doublebei" + } + else + switch (view.DesktopMgr.Inst.index_change % 4) { + case 0: + A.sound = "fan_dong"; + break; + case 1: + A.sound = "fan_nan"; + break; + case 2: + A.sound = "fan_xi"; + break; + case 3: + A.sound = "fan_bei" + } + else if (N >= 31 && N <= 34) { + var B = A.value; + B > 13 && (B = 13), + A.sound = 0 == B ? "" : "fan_dora" + B + } else + 9999 == N ? A.sound = "fan_liujumanguan" : N >= 0 && (A.sound = cfg.fan.fan.get(N).sound); + T.push(A) + } + T = T.sort(function(t, e) { + return t.index - e.index + }), + M += 500; + for (var k = function(t) { + var e = game.Tools.get_chara_audio(a, T[t].sound); + Laya.timer.once(M, R, function() { + var i = L.getChildAt(t) + , n = i.getChildByName("l_name"); + if (n.text = T[t].name, + n.width = 242, + game.Tools.labelLocalizationSize(n, 242, .8), + void 0 !== T[t].value && null !== T[t].value) { + i.getChildAt(2).visible = !0; + var a = T[t].value.toString(); + 2 == a.length ? (i.getChildAt(3).skin = game.Tools.localUISrc("myres/mjdesktop/h_" + a[1] + ".png"), + i.getChildAt(3).visible = !0, + i.getChildAt(4).skin = game.Tools.localUISrc("myres/mjdesktop/h_" + a[0] + ".png"), + i.getChildAt(4).visible = !0) : (i.getChildAt(3).skin = game.Tools.localUISrc("myres/mjdesktop/h_" + a[0] + ".png"), + i.getChildAt(3).visible = !0, + i.getChildAt(4).visible = !1) + } + i.visible = !0, + Laya.Tween.from(i, { + x: 169, + y: 184, + alpha: 0 + }, 100, Laya.Ease.strongOut), + e ? (view.AudioMgr.PlaySound(e.path, e.volume), + view.AudioMgr.PlayAudio(211, 1, .5)) : view.AudioMgr.PlayAudio(211, 1, 1) + }), + M += e && e.time_length > 500 ? e.time_length : 500 + }, R = this, h = 0; h < S && h < L.numChildren; h++) + k(h); + this.container_fan.visible = !1, + this.container_fu.visible = !1, + this.img_yiman.visible = !1, + e.fan && e.fu ? (M += 300, + Laya.timer.once(M, this, function() { + view.AudioMgr.PlayAudio(208), + i.setFanFu(e.fan, e.fu) + })) : e.yiman && (M += 700, + Laya.timer.once(M, this, function() { + view.AudioMgr.PlayAudio(208), + i.img_yiman.alpha = 0, + i.img_yiman.visible = !0, + Laya.Tween.to(i.img_yiman, { + alpha: 1 + }, 200) + })), + this.container_score.alpha = 0; + for (h = 0; h < this.score_imgs.length; h++) + this.score_imgs[h].visible = !1; + if (M += 700, + this.container_score.scaleX = this.container_score.scaleY = 2, + Laya.timer.once(M, this, function() { + for (var t = 0, n = e.score; 0 != n; ) { + var a = n % 10; + if (n = Math.floor(n / 10), + i.score_imgs[t].skin = game.Tools.localUISrc("myres/mjdesktop/ww_" + a.toString() + ".png"), + i.score_imgs[t].visible = !0, + ++t >= i.score_imgs.length) + break + } + Laya.Tween.to(i.container_score, { + alpha: 1, + scaleX: 1.2, + scaleY: 1.2 + }, 200, Laya.Ease.strongIn), + view.AudioMgr.PlayAudio(221) + }), + this.container_title.visible = !1, + e.title_id) { + M += 700; + var P = 0 + , O = 0 + , U = ""; + switch (e.title_id) { + case mjcore.E_Dadian_Title.E_Dadian_Title_manguan: + U = "gameend_manguan", + P = 214; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_tiaoman: + U = "gameend_tiaoman", + P = 214; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_beiman: + U = "gameend_beiman", + P = 201; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_sanbeiman: + U = "gameend_sanbeiman", + P = 201; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_leijiyiman: + U = "gameend_leijiyiman", + O = 2, + P = 226; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman: + U = "gameend_yiman1", + O = 1, + P = 226; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman2: + U = "gameend_yiman2", + O = 2, + P = 226; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman3: + U = "gameend_yiman3", + O = 2, + P = 226; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman4: + U = "gameend_yiman4", + O = 2, + P = 226; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman5: + U = "gameend_yiman5", + O = 2, + P = 226; + break; + case mjcore.E_Dadian_Title.E_Dadian_Title_yiman6: + U = "gameend_yiman6", + O = 2, + P = 226 + } + var V = game.Tools.get_chara_audio(a, U); + Laya.timer.once(M, this, function() { + i.setTitle(e.title_id), + i.container_title.visible = !0, + i.container_title.alpha = 0, + i.container_title.scaleX = i.container_title.scaleY = 3, + Laya.Tween.to(i.container_title, { + alpha: 1, + scaleX: 1.2, + scaleY: 1.2 + }, 300, Laya.Ease.strongIn), + Laya.timer.once(300, i, function() { + 0 != P && view.AudioMgr.PlayAudio(P) + }), + V && Laya.timer.once(500, i, function() { + view.AudioMgr.PlaySound(V.path, V.volume) + }), + 0 != O && Laya.timer.once(300, i, function() { + var t, e; + "en" == GameMgr.client_language ? (t = i.root.getChildByName("effect_yiman_en"), + e = "scene/effect_yiman2.lh") : 1 == O ? (t = i.root.getChildByName("effect_yiman"), + e = "scene/effect_yiman.lh") : (t = i.root.getChildByName("effect_yiman2"), + e = "scene/effect_yiman2.lh"), + i.effect_yiman = game.FrontEffect.Inst.create_ui_effect(t, e, new Laya.Point(0,0), 25) + }) + }), + (e.yiman || "累积役满" == e.title) && (M += 500) + } + if (this.muyu.visible = !1, + view.DesktopMgr.Inst.muyu_info) { + var F = !1; + 0 == e.mode ? F = !0 : 1 == e.mode && (view.DesktopMgr.Inst.index_player == view.DesktopMgr.Inst.muyu_info.seat && (F = !0), + e.seat == view.DesktopMgr.Inst.muyu_info.seat && (F = !0)), + F && (M += 700, + Laya.timer.once(M, this, function() { + i.muyu.visible = !0, + i.muyu.alpha = 0; + var t = (view.DesktopMgr.Inst.muyu_info.seat - view.DesktopMgr.Inst.index_ju + view.DesktopMgr.Inst.player_count) % view.DesktopMgr.Inst.player_count; + i.muyu.skin = "myres/mjdesktop/muyu_seat" + t + ".png", + Laya.Tween.to(i.muyu, { + alpha: 1 + }, 250) + })) + } + if (view.DesktopMgr.Inst.mode == view.EMJMode.play && e.seat == view.DesktopMgr.Inst.seat && e.mode <= 1 && t.UI_Activity.activity_is_running(t.UI_Activity_DuanWu_Point.activity_id)) { + for (var H = !1, h = 0; h < view.DesktopMgr.Inst.player_datas.length; h++) { + var G = view.DesktopMgr.Inst.player_datas[h]; + if (!G || !G.account_id) { + H = !0; + break + } + } + H ? this.container_Activity_Point.me.visible = !1 : M += this.container_Activity_Point.show(M, e.point_sum, e.score) + } else + this.container_Activity_Point.me.visible = !1; + this.btn_confirm.visible = !1, + M += 300, + this.btn_confirm.disabled = !0, + Laya.timer.once(M, this, function() { + if (i.btn_confirm.visible = !0, + i.btn_confirm.alpha = 1, + Laya.Tween.from(i.btn_confirm, { + alpha: 0 + }, 200), + i.btn_confirm.disabled = !1, + view.DesktopMgr.Inst.mode == view.EMJMode.paipu) + i.count_down.visible = !1, + i.btn_confirm.getChildByName("confirm").x = 127; + else { + i.count_down.visible = !0, + i.btn_confirm.getChildByName("confirm").x = 161; + for (var t = function(t) { + Laya.timer.once(1e3 * t, i, function() { + i.btn_confirm.disabled || (i.count_down.text = "(" + (3 - t).toString() + ")") + }) + }, e = 0; e < 3; e++) + t(e); + Laya.timer.once(3e3, i, function() { + i.btn_confirm.disabled || i.onConfirm() + }) + } + }) + } + , + a.prototype._showInfo_record = function(e) { + this.container_Activity_Point.me.visible = !1, + this.root.alpha = 0, + Laya.Tween.to(this.root, { + alpha: 1 + }, 300); + var i = view.DesktopMgr.Inst.getPlayerName(e.seat); + game.Tools.SetNickname(this.winner_name, i); + var n = new t.UIRect; + n.x = this.illust_rect.x, + n.y = this.illust_rect.y, + n.width = this.illust_rect.width, + n.height = this.illust_rect.height, + 401902 == view.DesktopMgr.Inst.player_datas[e.seat].avatar_id && (n.x -= 100, + n.y += 100, + n.width *= .9, + n.height *= .9), + game.Tools.charaPart(view.DesktopMgr.Inst.player_datas[e.seat].avatar_id, this.illust, "full", n), + 2 == e.mode ? this.img_mode.visible = !1 : (this.img_mode.visible = !0, + 0 == e.mode ? this.img_mode.skin = game.Tools.localUISrc("myres/mjdesktop/pg_zimo.png") : this.img_mode.skin = game.Tools.localUISrc("myres/mjdesktop/pg_he.png")); + for (var a = "myres2/mjp/" + GameMgr.Inst.mjp_view + "/ui/", r = this.img_hands[0].width, s = .5 * r, o = 0; o < this.img_hands.length; o++) + this.img_hands[o].visible = !1; + for (var l = 0, h = 0, c = [], o = 0; o < e.hand.length; o++) + c.push(mjcore.MJPai.Create(e.hand[o])); + c = c.sort(function(t, e) { + return 10 * t.numValue() + (t.dora ? 0 : 1) - (10 * e.numValue() + (e.dora ? 0 : 1)) + }); + for (o = 0; o < c.length; o++) + this.img_hands[l].skin = game.Tools.localUISrc(a + c[o].toString() + ".png"), + this.img_hands[l].x = h, + this.img_hands[l].y = 0, + h += r, + this.img_hands[l].visible = !0, + l++; + if (e.ming && e.ming.length > 0) { + h += s; + for (o = 0; o < e.ming.length; o++) { + var _ = e.ming[o]; + if (")" != _.charAt(_.length - 1)) { + if (1 == (d = _.split("|")).length) { + m = d[0].charAt(1); + "0" == (p = d[0].charAt(0)) && (p = "5"); + for (b = 0; b < 4; b++) { + x = ""; + x = 0 == b || 3 == b ? "back" : 1 == b && "5" == p && "z" != m ? "0" + m : p + m, + this.img_hands[l].skin = game.Tools.localUISrc(a + x + ".png"), + this.img_hands[l].x = h, + this.img_hands[l].y = 0, + h += r, + this.img_hands[l].visible = !0, + l++ + } + } else + for (b = 0; b < d.length; b++) { + x = d[b].toString(); + this.img_hands[l].skin = game.Tools.localUISrc(a + x + ".png"), + this.img_hands[l].x = h, + this.img_hands[l].y = 0, + h += r, + this.img_hands[l].visible = !0, + l++ + } + } else { + for (var u = "", d = [], f = 0; f < _.length; f++) + if ("(" == _.charAt(f)) { + u = _.substring(0, f), + d = _.substring(f + 1, _.length - 1).split(","); + break + } + if ("angang" == u) { + for (var p = d[0].charAt(0), m = d[0].charAt(1), g = 0, y = 0; y < d.length; y++) + "0" == d[y].charAt(0) && g++; + g > 0 && (p = "5"); + for (var v = 0; v < d.length; v++) { + x = ""; + x = 0 == v || 3 == v ? "back" : v <= g ? "0" + m : p + m, + this.img_hands[l].skin = game.Tools.localUISrc(a + x + ".png"), + this.img_hands[l].x = h, + this.img_hands[l].y = 0, + h += r, + this.img_hands[l].visible = !0, + l++ + } + } else + for (var b = 0; b < d.length; b++) { + x = d[b]; + this.img_hands[l].skin = game.Tools.localUISrc(a + x + ".png"), + this.img_hands[l].x = h, + this.img_hands[l].y = 0, + h += r, + this.img_hands[l].visible = !0, + l++ + } + } + } + } + h += s, + 2 != e.mode && (this.img_hands[l].skin = game.Tools.localUISrc(a + e.hupai + ".png"), + this.img_hands[l].x = h, + this.img_hands[l].y = 0, + h += r, + this.img_hands[l].visible = !0, + l++); + var w = (.72 - .92) * (l - 14) / 4 + .92; + this.container_hand.scaleX = this.container_hand.scaleY = w; + for (o = 0; o < 5; o++) { + x = "back"; + o < e.doras.length && (x = e.doras[o]), + this.img_doras[o].skin = game.Tools.localUISrc(a + x + ".png"), + this.img_doras[o].x = o * r, + this.img_doras[o].y = 0 + } + if (e.lidoras && 2 != e.mode) { + this.container_lidora.visible = !0; + for (o = 0; o < 5; o++) { + x = "back"; + o < e.lidoras.length && (x = e.lidoras[o]), + this.img_lidoras[o].skin = game.Tools.localUISrc(a + x + ".png"), + this.img_lidoras[o].x = o * r, + this.img_lidoras[o].y = 0 + } + } else { + this.container_lidora.visible = !0; + for (o = 0; o < 5; o++) { + var x = "back"; + this.img_lidoras[o].skin = game.Tools.localUISrc(a + x + ".png"), + this.img_lidoras[o].x = o * r, + this.img_lidoras[o].y = 0 + } + } + var I = e.fan_names.length; + this.container_fan_yiman.visible = !1, + this.container_fan_8.visible = !1, + this.container_fan_15.visible = !1, + this.container_fan_12.visible = !1, + this.container_fan_liuju.visible = !1, + this.container_fan_yiman.visible = !1, + this.container_fan_8.visible = !1, + this.container_fan_15.visible = !1, + this.container_fan_12.visible = !1, + this.container_fan_liuju.visible = !1; + var C = null; + (C = 2 == e.mode ? this.container_fan_liuju : e.yiman ? this.container_fan_yiman : I <= 8 ? this.container_fan_8 : I <= 12 ? this.container_fan_12 : this.container_fan_15).visible = !0; + for (o = 0; o < C.numChildren; o++) + C.getChildAt(o).visible = !1; + for (var S = [], o = 0; o < e.fan_names.length; o++) { + var M = e.fan_names[o] + , L = e.fan_ids[o] + , T = 0; + 9999 != L && (T = cfg.fan.fan.get(L).show_index); + var E = { + name: M, + index: T + }; + e.fan_value && e.fan_value.length > o && (E.value = e.fan_value[o]), + S.push(E) + } + S = S.sort(function(t, e) { + return t.index - e.index + }); + for (o = 0; o < I && o < C.numChildren; o++) { + var D = C.getChildAt(o) + , N = D.getChildByName("l_name"); + if (N.text = S[o].name, + N.width = 242, + game.Tools.labelLocalizationSize(N, 242, .8), + void 0 !== S[o].value && null !== S[o].value) { + D.getChildAt(2).visible = !0; + var A = S[o].value.toString(); + 2 == A.length ? (D.getChildAt(3).skin = game.Tools.localUISrc("myres/mjdesktop/h_" + A[1] + ".png"), + D.getChildAt(3).visible = !0, + D.getChildAt(4).skin = game.Tools.localUISrc("myres/mjdesktop/h_" + A[0] + ".png"), + D.getChildAt(4).visible = !0) : (D.getChildAt(3).skin = game.Tools.localUISrc("myres/mjdesktop/h_" + A[0] + ".png"), + D.getChildAt(3).visible = !0, + D.getChildAt(4).visible = !1) + } + D.visible = !0 + } + this.container_fan.visible = !1, + this.container_fu.visible = !1, + this.img_yiman.visible = !1, + e.fan && e.fu ? this.setFanFu(e.fan, e.fu) : e.yiman && (this.img_yiman.alpha = 0, + this.img_yiman.visible = !0, + Laya.Tween.to(this.img_yiman, { + alpha: 1 + }, 200)); + for (o = 0; o < this.score_imgs.length; o++) + this.score_imgs[o].visible = !1; + for (var B = e.score.toString(), o = 0; o < B.length && !(o >= this.score_imgs.length); o++) + this.score_imgs[o].skin = game.Tools.localUISrc("myres/mjdesktop/ww_" + B.charAt(B.length - 1 - o) + ".png"), + this.score_imgs[o].visible = !0; + if (this.container_score.alpha = 1, + this.container_score.scaleX = this.container_score.scaleY = 1.2, + this.container_title.visible = !1, + e.title_id && (this.setTitle(e.title_id), + this.container_title.visible = !0, + this.container_title.alpha = 1, + this.container_title.scaleX = this.container_title.scaleY = 1.2), + this.muyu.visible = !1, + view.DesktopMgr.Inst.muyu_info) { + var k = !1; + if (0 == e.mode ? k = !0 : 1 == e.mode && (view.DesktopMgr.Inst.index_player == view.DesktopMgr.Inst.muyu_info.seat && (k = !0), + e.seat == view.DesktopMgr.Inst.muyu_info.seat && (k = !0)), + k) { + this.muyu.visible = !0, + this.muyu.alpha = 1; + var R = (view.DesktopMgr.Inst.muyu_info.seat - view.DesktopMgr.Inst.index_ju + view.DesktopMgr.Inst.player_count) % view.DesktopMgr.Inst.player_count; + this.muyu.skin = "myres/mjdesktop/muyu_seat" + R + ".png" + } + } + this.count_down.text = "", + this.btn_confirm.visible = !0, + this.btn_confirm.disabled = !1, + this.btn_confirm.alpha = 1, + this.count_down.visible = !1, + this.btn_confirm.getChildByName("confirm").x = 127 + } + , + a.prototype._showHule = function(t) { + var i = new e; + if (i.seat = t.seat, + i.hand = t.hand, + t.ming && (i.ming = t.ming), + i.hupai = t.hu_tile, + i.mode = t.zimo ? 0 : 1, + i.fan_names = [], + i.fan_ids = [], + t.yiman) { + for (var n = t.fans, a = function(t) { + var e = "" + , a = -1; + n[t].id ? (a = n[t].id, + e = cfg.fan.fan.get(a)["name_" + GameMgr.client_language]) : (e = n[t].name, + cfg.fan.fan.forEach(function(t) { + t.name_chs == e && (a = t.id, + e = t["name_" + GameMgr.client_language]) + })), + i.fan_ids.push(a), + i.fan_names.push(e) + }, r = 0; r < n.length; r++) + a(r); + i.fan = 0, + i.fu = 0, + i.yiman = !0 + } else { + i.fan_value = []; + for (var n = t.fans, s = function(t) { + var e = "" + , a = -1; + n[t].id ? (a = n[t].id, + e = cfg.fan.fan.get(a)["name_" + GameMgr.client_language]) : (e = n[t].name, + cfg.fan.fan.forEach(function(t) { + t.name_chs == e && (a = t.id, + e = t["name_" + GameMgr.client_language]) + })), + i.fan_ids.push(a), + i.fan_names.push(e), + i.fan_value.push(n[t].val) + }, r = 0; r < n.length; r++) + s(r); + i.fan = t.count, + i.fu = t.fu, + i.yiman = !1 + } + if (t.title && "" != t.title) + switch (i.title = t.title, + i.title) { + case "满贯": + i.title_id = mjcore.E_Dadian_Title.E_Dadian_Title_manguan; + break; + case "跳满": + i.title_id = mjcore.E_Dadian_Title.E_Dadian_Title_tiaoman; + break; + case "倍满": + i.title_id = mjcore.E_Dadian_Title.E_Dadian_Title_beiman; + break; + case "三倍满": + i.title_id = mjcore.E_Dadian_Title.E_Dadian_Title_sanbeiman; + break; + case "累积役满": + i.title_id = mjcore.E_Dadian_Title.E_Dadian_Title_leijiyiman; + break; + case "役满": + i.title_id = mjcore.E_Dadian_Title.E_Dadian_Title_yiman; + break; + case "两倍役满": + i.title_id = mjcore.E_Dadian_Title.E_Dadian_Title_yiman2; + break; + case "三倍役满": + i.title_id = mjcore.E_Dadian_Title.E_Dadian_Title_yiman3; + break; + case "四倍役满": + i.title_id = mjcore.E_Dadian_Title.E_Dadian_Title_yiman4; + break; + case "五倍役满": + i.title_id = mjcore.E_Dadian_Title.E_Dadian_Title_yiman5; + break; + case "六倍役满": + i.title_id = mjcore.E_Dadian_Title.E_Dadian_Title_yiman6 + } + t.title_id && (i.title_id = t.title_id); + var o = 0; + o = t.zimo ? view.DesktopMgr.Inst.rule_mode == view.ERuleMode.Liqi4 ? t.qinjia ? 3 * t.point_zimo_xian : t.point_zimo_qin + 2 * t.point_zimo_xian : t.qinjia ? 2 * t.point_zimo_xian : t.point_zimo_qin + t.point_zimo_xian : t.point_rong, + i.score = o, + i.doras = t.doras, + i.point_sum = t.point_sum, + t.liqi && (i.lidoras = t.li_doras), + view.DesktopMgr.Inst.mode == view.EMJMode.play ? this._showInfo_mj(i) : view.DesktopMgr.Inst.mode == view.EMJMode.paipu ? view.DesktopMgr.Inst.record_show_anim ? this._showInfo_mj(i) : this._showInfo_record(i) : view.DesktopMgr.Inst.mode == view.EMJMode.live_broadcast && this._showInfo_mj(i) + } + , + a.prototype._showLiuJuManGuan = function(t) { + var i = new e; + i.seat = t.seat, + i.hand = t.hand, + i.ming = t.ming, + i.mode = 2, + i.fan_names = [game.Tools.strOfLocalization(2105)], + i.fan_ids = [9999], + i.fan = i.fu = 0, + i.score = t.score, + i.title_id = mjcore.E_Dadian_Title.E_Dadian_Title_manguan, + i.doras = t.doras, + i.yiman = !1, + i.point_sum = 0, + view.DesktopMgr.Inst.mode == view.EMJMode.play ? this._showInfo_mj(i) : view.DesktopMgr.Inst.mode == view.EMJMode.paipu ? view.DesktopMgr.Inst.record_show_anim ? this._showInfo_mj(i) : this._showInfo_record(i) : view.DesktopMgr.Inst.mode == view.EMJMode.live_broadcast && this._showInfo_mj(i) + } + , + a.prototype.onDisable = function() { + Laya.timer.clearAll(this) + } + , + a + }(t.UIBase); + t.UI_Win = n +}(uiscript || (uiscript = {})); +var __extends = this && this.__extends || function() { + var t = function(e, i) { + return (t = Object.setPrototypeOf || { + __proto__: [] + }instanceof Array && function(t, e) { + t.__proto__ = e + } + || function(t, e) { + for (var i in e) + e.hasOwnProperty(i) && (t[i] = e[i]) + } + )(e, i) + }; + return function(e, i) { + function n() { + this.constructor = e + } + t(e, i), + e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype, + new n) + } +}(), uiscript; +!function(t) { + var e = function() { + function e(e) { + var i = this; + this.btn_next_flag = 0, + this.btn_prev_flag = 0, + this.maskflag = 0, + this.locking = !1, + this.loadover = [], + this.pageid = [], + this.pageindex = 0, + this.pagecorrect = 0, + this.pagewrong = 0, + this.effectnext = 1, + this.effectprev = 0, + this.container_chat = null, + this.chat_block = null, + this.me = e, + this.blackground = this.me.getChildByName("bg"), + this.page = this.me.getChildByName("content").getChildByName("content"), + this.skip_text = this.me.getChildByName("skipimg"), + this.img_correct = this.me.getChildByName("content").getChildByName("correct"), + this.img_error = this.me.getChildByName("content").getChildByName("error"), + this.btn_next = this.me.getChildByName("nextbutton"), + this.btn_next_flag = 0, + this.btn_prev = this.me.getChildByName("prevbutton"), + this.btn_prev_flag = 0, + this.btn_exit = this.me.getChildByName("exit"), + this.btn_back = this.me.getChildByName("back"), + this.loading = this.me.getChildByName("loading"), + this.buttonCrew = this.me.getChildByName("buttonCrew"), + this.btn1 = this.buttonCrew.getChildByName("btn1"), + this.btn2 = this.buttonCrew.getChildByName("btn2"), + this.btn3 = this.buttonCrew.getChildByName("btn3"), + this.buttonCrew.visible = !1, + this.yijibg = this.me.getChildByName("yjbg"), + this.Dialogue = this.me.getChildByName("Dialogue"), + this.Dtext = this.Dialogue.getChildByName("content").getChildByName("info"), + this.Dnamet = this.Dialogue.getChildByName("name"), + this.Dnamet.scaleX = this.Dnamet.scaleY = "en" == GameMgr.client_language ? 1.8 : 1.3, + this.Shead = this.Dialogue.getChildByName("head"), + this.mask = this.me.getChildByName("content").mask, + this.chat_block = new t.UI_Character_Chat(this.me.getChildByName("Dialogue")), + this.btn_prev.clickHandler = Laya.Handler.create(this, function() { + i.locking || 0 != i.pageindex && i.data && i.data.datas && (i.effectprev = 1, + i.btn_next_flag = 0, + i.btnprev()) + }, null, !1), + this.btn_next.clickHandler = Laya.Handler.create(this, function() { + if (!i.locking && i.data && i.data.datas && i.pageindex != i.data.datas.length - 1) { + i.effectnext = 1; + var t; + if (i.btn_prev_flag = 0, + 0 == i.btn_next_flag) { + for (var e = 0; e < i.data.datas.length; e++) + i.data.datas[e].page_id == i.data.datas[i.pageindex].next && (i.pagecorrect = e, + 0 == (t = parseFloat(i.data.datas[e].effect)) && (t = 2), + 1 == t && (t = 0)); + i.showPage(i.pagecorrect, t) + } else + i.btn_next_flag = 0, + i.showPage(i.pagecorrect, 0) + } + }, null, !1), + this.btn1.clickHandler = Laya.Handler.create(this, function() { + i.locking || i.changepage(i.pageindex, 0) + }, null, !1), + this.btn2.clickHandler = Laya.Handler.create(this, function() { + i.locking || i.changepage(i.pageindex, 1) + }, null, !1), + this.btn3.clickHandler = Laya.Handler.create(this, function() { + i.locking || i.changepage(i.pageindex, 2) + }, null, !1), + this.btn_back.clickHandler = Laya.Handler.create(this, function() { + i.locking || 0 != i.pageindex && i.data && i.data.datas && (i.effectprev = 1, + i.btnprev()) + }, null, !1) + } + return e.prototype.btnvisible = function(t, e) { + this.buttonCrew.visible != e && (e ? i.Inst.me.ani1.play(0, !0) : i.Inst.me.ani1.stop()), + this.buttonCrew.visible = e; + for (var n = 1; n < t + 1; n++) { + var a = "btn" + n; + this.buttonCrew.getChildByName(a).visible = e + } + } + , + e.prototype.btnprev = function() { + var t; + if (this.data.datas[this.pageindex].prev) { + for (e = 0; e < this.data.datas.length; e++) + this.data.datas[e].page_id == this.data.datas[this.pageindex].prev && (t = parseFloat(this.data.datas[this.pageindex].effect), + this.pageindex = e, + 0 == t && (t = 2)); + this.showPage(this.pageindex, t) + } else if (0 == this.btn_prev_flag) { + for (var e = 0; e < this.pageid.length; e++) + this.pageid[e] == this.pageindex && (this.pageindex = this.pageid[e - 1]); + this.showPage(this.pageindex, 1) + } else + this.btn_prev_flag = 0, + this.showPage(this.pagewrong, 2) + } + , + e.prototype.show = function() { + var t = this; + game.Scene_Lobby.Inst.change_bg("indoor", !1), + this.effectnext = 1, + this.effectprev = 0, + this.me.visible = !0; + var e = "res/atlas/" + game.Tools.localUISrc("myres/course_ui.atlas"); + Laya.loader.load(e, Laya.Handler.create(this, function() { + t.blackground.skin = game.Tools.localUISrc("myres/course_ui/blackboard.png"), + t.img_correct.getChildByName("text").skin = game.Tools.localUISrc("myres/course_ui/correct.png"), + t.img_correct.getChildByName("circle").skin = game.Tools.localUISrc("myres/course_ui/correct_circle.png"), + t.img_error.getChildByName("text").skin = game.Tools.localUISrc("myres/course_ui/error.png"), + t.img_error.getChildByName("circle").skin = game.Tools.localUISrc("myres/course_ui/error_circle.png"), + t.btn_next.getChildByName("next").skin = game.Tools.localUISrc("myres/course_ui/arrow.png"), + t.btn_prev.getChildByName("next").skin = game.Tools.localUISrc("myres/course_ui/arrow.png"), + t.Dialogue.getChildByName("textbg").skin = game.Tools.localUISrc("myres/course_ui/bubble.png"), + t.Dialogue.getChildByName("textbg").sizeGrid = "51,41,65,128", + t.Dialogue.getChildByName("namebg").skin = game.Tools.localUISrc("myres/course_ui/bg_name.png"), + t.me.getChildByName("skipimg").skin = game.Tools.localUISrc("myres/course_ui/skip.png"), + t.mask.skin = game.Tools.localUISrc("myres/course_ui/Maskimg.png"); + for (var e = t.me.getChildByName("buttonCrew").getChildByName("choose_shine"), i = 0; i < e.numChildren; i++) { + e.getChildAt(i).skin = game.Tools.localUISrc("myres/course_ui/choose_box_shine.png") + } + })); + var i = "docs/xinshouyindao_" + GameMgr.client_language + ".json"; + this.data = null, + Laya.loader.load(i, Laya.Handler.create(this, function() { + t.data = Laya.loader.getRes(i); + for (var e = 0, n = function(i) { + t.data.datas[i].page_id.length <= 13 && (t.pageid[e] = i, + e++), + t.loadover.push(!1); + var n = game.Tools.localUISrc(t.data.datas[i].img); + Laya.loader.load(n, Laya.Handler.create(t, function() { + Laya.timer.frameOnce(3, t, function() { + t.loadover[i] = !0, + t.me.visible && t.pageindex == i && (t.loading.visible = !1, + t.page.source = Laya.loader.getRes(n), + t.page.visible = !0), + t.me.visible || Laya.loader.clearTextureRes(n) + }) + })) + }, a = 0; a < t.data.datas.length; a++) + n(a); + t.loadover[0] = !0, + t.showPage(t.pageindex, 0) + })) + } + , + e.prototype.showPage = function(t, e) { + this.pageindex = t, + this.btn_prev.visible = 0 != t, + this.btn_next.visible = t != this.data.page_count - 1, + this.yijibg.visible = !1, + this.btn_exit.visible = !1, + this.btn_back.visible = !1, + this.btnvisible(3, !1), + this.img_correct.visible = !1, + this.img_error.visible = !1, + t > 0 ? (this.blackground.visible = !0, + this.skip_text.visible = !1, + this.btn_prev.visible = !0) : (this.blackground.visible = !1, + this.skip_text.visible = !0), + t == this.data.datas.length - 1 && (this.btn_exit.visible = !0), + this.chat_block.show(this.data.datas[t].text, "en" == GameMgr.client_language ? 10 : 5), + this.Dnamet.text = this.data.datas[t].name; + var i = "extendRes/emo/" + this.data.datas[t].head; + game.LoadMgr.setImgSkin(this.Shead, i), + this.loadover[t] ? ("1" == this.data.datas[t].bg ? (i = "extendRes/charactor/" + this.data.datas[t].img, + game.LoadMgr.setImgSkin(this.yijibg, i), + this.yijibg.scaleX = parseFloat(this.data.datas[t].flip), + this.blackground.visible = !1, + this.yijibg.visible = !0, + this.page.visible = !1) : (this.page.visible = !0, + this.page.source = Laya.loader.getRes(game.Tools.localUISrc(this.data.datas[t].img))), + this.loading.visible = !1) : (this.page.visible = !1, + this.loading.visible = !0), + this.data.datas[t].answers && null != this.data.datas[t].answers && this.buttonChoose(t), + this.pinshan(t, e), + t == this.data.datas.length - 1 && (app.PlayerBehaviorStatistic.fb_trace_pending(app.EBehaviorType.CompleteTutorial, 1), + 0 == app.PlayerBehaviorStatistic.get_val(app.EBehaviorType.XinShouYinDao) && (app.PlayerBehaviorStatistic.update_val(app.EBehaviorType.XinShouYinDao, 1), + app.PlayerBehaviorStatistic.google_trace_pending(app.EBehaviorType.G_tutorial_complete, 1), + app.PlayerBehaviorStatistic.tw_trace_pending(app.EBehaviorType.TW_Tutorial_Completed, 1))) + } + , + e.prototype.pinshan = function(t, e) { + var i = this + , n = this.buttonCrew.visible; + this.btn_next.mouseEnabled = !1, + this.btn_prev.mouseEnabled = !1, + this.buttonCrew.visible = !1, + 1 == e ? (this.mask.x = 1700, + Laya.Tween.to(this.mask, { + x: -260 + }, 250, null, Laya.Handler.create(this, function() { + i.btn_next.mouseEnabled = !0, + i.btn_prev.mouseEnabled = !0, + i.buttonCrew.visible = n, + i.effectnext = 0 + }))) : 0 == e ? (this.mask.x = -2220, + Laya.Tween.to(this.mask, { + x: -260 + }, 250, null, Laya.Handler.create(this, function() { + i.btn_next.mouseEnabled = !0, + i.btn_prev.mouseEnabled = !0, + i.buttonCrew.visible = n, + i.effectprev = 0 + }))) : (this.mask.visible = !1, + this.mask.x = -260, + this.btn_next.mouseEnabled = !0, + this.btn_prev.mouseEnabled = !0, + this.buttonCrew.visible = n) + } + , + e.prototype.buttonChoose = function(t) { + this.btnvisible(3, !0), + this.btn_next.visible = !1; + for (var e = 0; e < 3; e++) + if (null != this.data.datas[t].answers[e].flag) { + if ("correct" == this.data.datas[t].answers[e].flag) { + this.img_correct.x = this.data.datas[t].answers[e].x, + this.img_correct.y = this.data.datas[t].answers[e].y, + this.img_correct.visible = !0, + this.btn_next.visible = !0, + this.btn_next_flag = 1, + this.btnvisible(3, !1), + i.Inst.me.correct.play(0, !1); + for (n = 0; n < this.data.datas.length; n++) + this.data.datas[n].page_id == this.data.datas[t].next && (this.pagecorrect = n, + this.btn_prev.visible = !0, + this.btn_prev_flag = 1, + this.pagewrong = this.pagecorrect - 4) + } + if ("wrong" == this.data.datas[t].answers[e].flag) { + this.img_error.x = this.data.datas[t].answers[e].x, + this.img_error.y = this.data.datas[t].answers[e].y, + this.img_error.visible = !0, + this.btn_back.visible = !0, + i.Inst.me.error.play(0, !1); + for (var n = 0; n < this.data.datas.length; n++) + this.data.datas[n].page_id == this.data.datas[t].next && (this.btn_prev_flag = 1, + this.pagewrong = n); + this.btnvisible(3, !1) + } + } + } + , + e.prototype.changepage = function(t, e) { + for (var i = 0; i < this.data.datas.length; i++) + this.data.datas[i].page_id == this.data.datas[t].answers[e].jump && (this.pageindex = i); + this.showPage(this.pageindex, 2) + } + , + e.prototype.onEnter = function() { + this.pageindex = 0, + this.btn_back.mouseEnabled = !0, + this.btn_prev.mouseEnabled = !0, + this.mask.visible = !0 + } + , + e.prototype.close = function() { + this.me.visible = !1; + for (var t = 0; t < this.data.datas.length; t++) + this.loadover[t] && Laya.loader.clearTextureRes(game.Tools.localUISrc(this.data.datas[t].img)); + this.loadover = [], + Laya.loader.clearTextureRes("res/atlas/" + game.Tools.localUISrc("myres/course_ui.atlas")), + game.Scene_Lobby.Inst.change_bg("yard", !1), + this.chat_block.close(!1), + this.mask.visible = !1 + } + , + e + }() + , i = function(i) { + function n() { + var t = i.call(this, new ui.lobby.xinshouyindaoUI) || this; + return t.root = null, + t.blackmask = null, + t.page_course = null, + t.locking = !1, + t.func_close = null, + n.Inst = t, + t + } + return __extends(n, i), + n.pre_load = function() { + var t = this + , e = "res/atlas/" + game.Tools.localUISrc("myres/course_ui.atlas"); + Laya.loader.load(e, Laya.Handler.create(this, function() {})); + var i = "docs/xinshouyindao_" + GameMgr.client_language + ".json"; + Laya.loader.load(i, Laya.Handler.create(this, function() { + for (var e = Laya.loader.getRes(i), n = 0; n < e.datas.length; n++) { + var a = game.Tools.localUISrc(e.datas[n].img); + Laya.loader.load(a, Laya.Handler.create(t, function() {})) + } + })) + } + , + n.prototype.onCreate = function() { + var t = this; + this.root = this.me.getChildByName("root"), + this.blackmask = this.me.getChildByName("bmask"), + this.page_course = new e(this.root.getChildByName("xinshouzhidao")), + this.root.getChildByName("skipbutton").clickHandler = Laya.Handler.create(this, function() { + t.close() + }, null, !1), + this.root.getChildByName("xinshouzhidao").getChildByName("exit").clickHandler = Laya.Handler.create(this, function() { + t.close() + }, null, !1) + } + , + n.prototype.show = function(e, i) { + var n = this; + void 0 === e && (e = 0), + void 0 === i && (i = null), + this.locking = !0, + this.enable = !0, + this.page_course.onEnter(), + t.UIBase.anim_alpha_in(this.root, { + y: 0 + }, 300, 0, Laya.Handler.create(this, function() { + n.locking = !1 + })), + this.blackmask.alpha = 0, + Laya.Tween.to(this.blackmask, { + alpha: .3 + }, 150), + this.changeTab(), + this.func_close = i + } + , + n.prototype.changeTab = function() { + this.page_course.show() + } + , + n.prototype.onDisable = function() { + this.page_course.close() + } + , + n.prototype.close = function() { + var e = this; + this.locking = !0, + Laya.Tween.to(this.blackmask, { + alpha: 0 + }, 150), + t.UIBase.anim_alpha_out(this.root, { + y: 0 + }, 150, 0, Laya.Handler.create(this, function() { + e.locking = !1, + e.enable = !1, + e.func_close && e.func_close.run() + })) + } + , + n.Inst = null, + n + }(t.UIBase); + t.UI_XinShouYinDao = i +}(uiscript || (uiscript = {})); +var GameMgr = function() { + function t() { + var e = this; + this.stage = null, + this.uimgr = null, + this.root_ui = null, + this.root_scene = null, + this.root_front_scene_effect = null, + this.root_front_effect = null, + this.logined = !1, + this.link_url = "", + this.account = "", + this.password = "", + this.sociotype = 0, + this.player_name = "", + this.access_token = "", + this.account_id = -1, + this.account_setting = {}, + this.account_data = null, + this.account_numerical_resource = {}, + this.yostar_accessToken = "", + this.yostar_uid = "", + this.yostar_login_info = {}, + this.player_in_haiwai = !1, + this.mjp_view = "", + this.mjp_item_id = 0, + this.mj_server_location = "", + this.mj_game_token = "", + this.mj_game_uuid = "", + this.ingame = !1, + this.beinvited_roomid = -1, + this.outsee_paipuid = "", + this.custom_match_id = 0, + this.account_refresh_time = 0, + this._current_scene = null, + this._scene_lobby = null, + this._scene_mj = null, + this.duringPaipu = !1, + this._statisticinfo = {}, + this._last_heatbeat_time = 0, + this._pre_mouse_point = new Laya.Point(0,0), + this._fastin = !1, + this.comment_allow = 0, + this.server_time_delta = 0, + this.client_endpoint = null, + this._ad_str = "", + this._mail_account = "", + this.phone_login = -1, + this.fb_login_info = null, + this.runtime_id = "", + this.need_test_ws = !1, + this._tracker = null, + t.Inst = this, + t._inRes = !!Laya.Browser.window.conch || (!document.getElementById("environment") || "dev" != document.getElementById("environment").innerText), + Laya3D.init(1920, 1080, !0), + Laya.stage.scaleMode = Laya.Stage.SCALE_SHOWALL, + Laya.Browser.onMobile ? Laya.stage.screenMode = Laya.Stage.SCREEN_HORIZONTAL : Laya.stage.screenMode = Laya.Stage.SCREEN_NONE, + Laya.stage.alignH = Laya.Stage.ALIGN_CENTER, + Laya.stage.alignV = Laya.Stage.ALIGN_MIDDLE, + Laya.stage.bgColor = "#000000", + t._inRes || Laya.Stat.show(), + this.pendinglink() ? Laya.Browser.window.location.href = this.link_url : (Laya.loader.load("client_language.txt", Laya.Handler.create(this, function() { + var i = Laya.loader.getRes("client_language.txt"); + t.client_type = t.client_language = "en" === i ? "en" : "jp" === i ? "jp" : "chs_t" === i ? "chs_t" : "chs", + e.init(), + t.iniOSWebview ? Laya.timer.once(500, e, function() { + e.load0() + }) : e.load0() + })), + this.runtime_id = game.Tools.generateUUID()) + } + return Object.defineProperty(t, "inRelease", { + get: function() { + return this._inRes + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t, "inConch", { + get: function() { + return Laya.Browser.window.conch + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t, "iniOSWebview", { + get: function() { + return Laya.Browser.window.wkbridge + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t, "inHttps", { + get: function() { + return this.iniOSWebview || "https:" == Laya.Browser.window.location.protocol + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t, "inChina", { + get: function() { + return this._in_china + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t, "inGooglePlay", { + get: function() { + return this._in_google_play + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t, "ClientRegion", { + get: function() { + return this._client_region + }, + enumerable: !0, + configurable: !0 + }), + Object.defineProperty(t, "inDmm", { + get: function() { + return this._in_dmm + }, + enumerable: !0, + configurable: !0 + }), + t.encodeP = function(t) { + return CryptoJS.HmacSHA256(t, "lailai").toString() + } + , + t.prototype.init = function() { + var e = Laya.LocalStorage.getItem("fpsmode"); + e && "" != e || (e = !Laya.Browser.onMobile || t.inConch || t.iniOSWebview ? "fast" : "slow", + Laya.LocalStorage.setItem("fpsmode", e)), + Laya.stage.frameRate = e; + var i = Laya.LocalStorage.getItem("dddddcv"); + i && "" != i || (i = game.Tools.generateUUID(), + Laya.LocalStorage.setItem("dddddcv", i)), + t.device_id = i, + Laya.Browser.window.onerror = this.handleWindowError, + this.root_scene = new Laya.Sprite, + this.root_ui = new Laya.Sprite, + this.root_front_effect = new Laya.Sprite, + Laya.stage.addChild(this.root_scene), + Laya.stage.addChild(this.root_ui), + Laya.stage.addChild(this.root_front_effect), + this.logined = !1, + this._current_scene = null, + this.duringPaipu = !1, + this._scene_lobby = new game.Scene_Lobby, + this._scene_mj = new game.Scene_MJ, + view.AudioMgr.init(); + var n = Laya.LocalStorage.getItem("click_prefer"); + view.DesktopMgr.click_prefer = n && "1" == n ? 1 : 0; + var a = Laya.LocalStorage.getItem("double_click_pass"); + if (view.DesktopMgr.double_click_pass = a && "1" == a ? 1 : 0, + "en" == t.client_language) { + view.DesktopMgr.en_mjp = !0; + "false" == game.LocalStorage.getItem("en_mjp") && (view.DesktopMgr.en_mjp = !1) + } else + view.DesktopMgr.en_mjp = !1; + var r = Laya.LocalStorage.getItem("_pre_room"); + r && "" != r && (this.beinvited_roomid = parseInt(r)), + this.outsee_paipuid = Laya.LocalStorage.getItem("_pre_paipu"), + this.outsee_paipuid || (this.outsee_paipuid = ""), + this.trasform_storage(), + "chs_t" == t.client_type && Math.random() < .1 && (this.need_test_ws = !0) + } + , + t.prototype.trasform_storage = function() { + (t = Laya.LocalStorage.getItem("_pre_st")) && "" != t && (this._fastin = !0, + Laya.LocalStorage.setItem("_pre_sociotype", t), + Laya.LocalStorage.setItem("_pre_st", "")); + (t = Laya.LocalStorage.getItem("_pre_xdsfdl")) && "" != t && (this._fastin = !0, + Laya.LocalStorage.setItem("_pre_sociotype", t), + Laya.LocalStorage.setItem("_pre_xdsfdl", "")); + (t = Laya.LocalStorage.getItem("_pre_uid")) && "" != t && (game.LocalStorage.setItem("yostar_uid", t), + Laya.LocalStorage.removeItem("_pre_uid")); + var t = Laya.LocalStorage.getItem("_pre_token"); + t && "" != t && (game.LocalStorage.setItem("yostar_token", t), + Laya.LocalStorage.removeItem("_pre_token")); + var e = Laya.LocalStorage.getItem("_pre_state"); + !e || "" == e || "xdsfdl3" != e && "xdsfdl4" != e || (this._fastin = !0, + Laya.LocalStorage.setItem("_pre_sociotype", "3"), + Laya.LocalStorage.setItem("_pre_st", "")), + Laya.LocalStorage.setItem("_pre_state", "") + } + , + t.prototype.load0 = function() { + var e = this; + window && window.conch && window.loadingView.loading(30), + t.iniOSWebview && Laya.Browser.window.wkbridge.callNative && Laya.Browser.window.wkbridge.callNative("setloadrate", "30", function() {}); + t._client_region = "mainland", + game.ResourceVersion.init(Laya.Handler.create(e, function() { + window && window.conch && window.loadingView.loading(40), + t.iniOSWebview && Laya.Browser.window.wkbridge.callNative("setloadrate", "40", function() {}); + var i = "res/atlas/bitmapfont.atlas"; + "jp" == t.client_language ? i = "res/atlas/bitmapfont/jp.atlas" : "en" == t.client_language ? i = "res/atlas/bitmapfont/en.atlas" : "chs_t" == t.client_language && (i = "res/atlas/bitmapfont/chs_t.atlas"), + Laya.loader.create(i, Laya.Handler.create(e, function() { + var i = []; + i = "jp" == t.client_language ? ["jp_haolong", "jp_jiye"] : "en" == t.client_language ? ["en_haolong", "en_hanyi", "en_shuhun"] : "chs_t" == t.client_language ? ["chst_fengyu", "chst_haolong", "chst_youyuan"] : ["fengyu", "hanyi", "haolong", "youyuan", "youyuan_bold"]; + var n = 0 + , a = function() { + n++, + window && window.conch && window.loadingView.loading(Math.floor(40 + n / i.length * 20)), + t.iniOSWebview && Laya.Browser.window.wkbridge.callNative("setloadrate", Math.floor(40 + n / i.length * 20).toString(), function() {}), + n == i.length && Laya.timer.frameOnce(2, e, e.load1) + }; + if ("chs" == t.client_language) + for (var r = function(t) { + var n = new Laya.BitmapFont; + n.loadFont("bitmapfont/" + i[t] + ".fnt", Laya.Handler.create(e, function() { + n.setSpaceWidth(10), + Laya.Text.registerBitmapFont(i[t], n), + a() + })) + }, s = 0; s < i.length; s++) + r(s); + else + for (var o = function(n) { + var r = new Laya.BitmapFont; + r.loadFont("bitmapfont/" + t.client_language + "/" + i[n] + ".fnt", Laya.Handler.create(e, function() { + r.setSpaceWidth(10), + Laya.Text.registerBitmapFont(i[n], r), + a() + })) + }, s = 0; s < i.length; s++) + o(s) + })) + })), + "chs_t" == t.client_type && this.load_fblogin() + } + , + t.prototype.load_fblogin = function() { + "chs_t" == t.client_type && t.inRelease && (Laya.Browser.window.fbAsyncInit = function() { + FB.init({ + appId: "511764882872601", + cookie: !0, + xfbml: !0, + version: "v7.0" + }), + FB.AppEvents.logPageView() + } + , + function(t, e, i) { + var n, a = t.getElementsByTagName("script")[0]; + t.getElementById("facebook-jssdk") || ((n = t.createElement("script")).id = "facebook-jssdk", + n.src = "https://connect.facebook.net/en_US/sdk.js", + a.parentNode.insertBefore(n, a)) + }(document)) + } + , + t.prototype.load1 = function() { + var e = this; + game.LoadMgr.httpload("config.json", "json", !1, Laya.Handler.create(this, function(i) { + if (window && window.conch && window.loadingView.loading(70), + t.iniOSWebview && Laya.Browser.window.wkbridge.callNative("setloadrate", "70", function() {}), + i.success) { + var n = i.data; + t.config_data = n, + Laya.loader.load("res/proto/liqi.json", new Laya.Handler(e,function() { + window && window.conch && window.loadingView.loading(80), + t.iniOSWebview && Laya.Browser.window.wkbridge.callNative("setloadrate", "80", function() {}); + var i = Laya.loader.getRes("res/proto/liqi.json"); + if (i) { + net.ProtobufManager.loadProto(i), + net.MessageWrapper.initWrapper(), + app.NetAgent.init(), + window && window.conch && window.loadingView.loading(85), + t.iniOSWebview && Laya.Browser.window.wkbridge.callNative("setloadrate", "85", function() {}); + var n = ""; + n = "uiconfig/ui_" + t.client_language + ".json", + "en" != t.client_type && "jp" != t.client_type || e.loadUStarLogin(), + t.config_data.dmm && (t._in_dmm = !0, + t._in_china = !1), + Laya.loader.load(n, Laya.Handler.create(e, function() { + var i = Laya.loader.getRes(n); + Laya.View.uiMap = i, + (new caps.ShaderInitor).init(Laya.Handler.create(e, function() { + window && window.conch && window.loadingView.loading(100), + t.iniOSWebview && Laya.Browser.window.wkbridge.callNative("setloadrate", "100", function() {}), + e.initUIRoot() + })) + })) + } else + console.error("load protobuf failed: liqiDescriptor is null") + } + )) + } else + app.Log.Error("未找到配置文件:config.json") + })) + } + , + t.prototype.loadUStarLogin = function() { + var e = document.createElement("script"); + e.src = t.config_data.yo_service_url + "/js/" + t.config_data.yo_sdk_js; + var i = document.getElementsByTagName("script")[0]; + i.parentNode.insertBefore(e, i) + } + , + t.prototype.loadExcel = function(e) { + var i = this; + Laya.loader.load("res/proto/config.proto", new Laya.Handler(this,function() { + uiscript.UI_Remind.Inst && uiscript.UI_Remind.Inst.setprocess(1); + Laya.loader.load("res/config/lqc.lqbin", new Laya.Handler(i,function() { + uiscript.UI_Remind.Inst && uiscript.UI_Remind.Inst.setprocess(2); + var i = Laya.loader.getRes("res/proto/config.proto"); + if (i) { + uiscript.UI_Remind.Inst && uiscript.UI_Remind.Inst.setprocess(3); + var n = Laya.loader.getRes("res/config/lqc.lqbin"); + if (n) { + uiscript.UI_Remind.Inst && uiscript.UI_Remind.Inst.setprocess(4); + var a = new Laya.Byte; + a.writeArrayBuffer(n); + var r = new bin.BinParser; + r.parseSync(i, a.getUint8Array(0, a.length)), + uiscript.UI_Remind.Inst && uiscript.UI_Remind.Inst.setprocess(5); + var s = new bin.TSDataFormat(r.exportSchema(),r.exportData()); + cfg.load(s.toFormat()), + uiscript.UI_Remind.Inst && uiscript.UI_Remind.Inst.setprocess(6), + e && e.run(); + var o = [] + , l = "chs"; + switch (t.client_language) { + case "chs": + l = "chs"; + break; + case "en": + l = "us"; + break; + case "jp": + l = "jp"; + break; + case "chs_t": + l = "chs_t" + } + cfg.info.forbidden.forEach(function(t) { + "" != t.word && (l && t[l] || o.push({ + s: t.word, + type: t["type_" + l], + near: t["near_" + l] + })) + }); + var h = []; + cfg.info.near.forEach(function(t) { + for (var e = [], i = 1; i <= 5; i++) { + var n = t["word" + i]; + n && "" != n && e.push(n) + } + h.push(e) + }), + app.Taboo.init(o, h) + } else + console.error("load bincontent failed: bindata is null") + } else + console.error("load configProto failed: configProto is null") + } + ), null, Laya.Loader.BUFFER) + } + )) + } + , + t.prototype.pendinglink = function() { + var t = ""; + document.getElementById("game_link") && (t = document.getElementById("game_link").innerText), + t && (this.link_url = t); + var e = Laya.Browser.window.location.href + , i = {} + , n = !1; + if (e) { + e.indexOf("#") > 0 && (e = e.substr(0, e.indexOf("#"))); + var a = e.indexOf("?"); + if (a >= 0) { + n = !0, + t || (this.link_url = e.substr(0, a)); + for (var r = e.substring(a + 1, e.length), s = (r = (r = r.replace("#_=_", "")).replace("#", "")).split("&"), o = 0; o < s.length; o++) + if ((a = s[o].indexOf("=")) > 0) { + var l = s[o].substring(0, a) + , h = s[o].substring(a + 1, s[o].length); + i[l] = h + } + } else + this.beinvited_roomid = -1, + this.outsee_paipuid = ""; + t || (this.link_url.indexOf("index.html") >= 0 && (this.link_url = this.link_url.substr(0, this.link_url.indexOf("index.html"))), + "/" != this.link_url.charAt(this.link_url.length - 1) && (this.link_url += "/")) + } + var c = ""; + for (var _ in i) + "mv_" == _.substr(0, 3) || ("utm_" == _.substr(0, 4) ? ("" != c && (c += "&"), + c += _ + "=" + i[_]) : "h" == _ ? (Laya.LocalStorage.setItem("_pre_sociotype", "14"), + Laya.LocalStorage.setItem("_pre_code", i[_])) : Laya.LocalStorage.setItem("_pre_" + _, i[_])); + return c && (Laya.LocalStorage.setItem("__ad_s", c), + Laya.LocalStorage.setItem("__ad_t", Date.now().toString())), + n + } + , + t.prototype.addScene = function(t) { + this.root_scene.addChild(t) + } + , + t.prototype.addUI = function(t) { + this.root_ui.addChild(t) + } + , + t.prototype.initUIRoot = function() { + this.uimgr = new uiscript.UIMgr, + this.uimgr.init(), + this.showEntrance() + } + , + t.prototype.showEntrance = function() { + var e = this; + if ("chs_t" == t.client_type && t.inRelease) { + "1" == Laya.LocalStorage.getItem("fblogin") && (FB.getLoginStatus(function(e) { + t.Inst.fb_login_info = e + }), + Laya.LocalStorage.setItem("fblogin", "0")) + } + uiscript.UI_ChooseServer.show(Laya.Handler.create(this, function() { + if (e._fastin) + e.loadExcel(Laya.Handler.create(e, function() { + game.LoadMgr.loadRes(game.E_LoadType.entrance, Laya.Handler.create(e, function() { + e.uimgr.showEntrance(), + game.LoadMgr.loadConfig(), + e._scene_lobby.init(null) + })) + })); + else { + var i = "res/atlas" + ("chs" == t.client_language ? "" : "/" + t.client_language) + "/myres/start_show.atlas"; + Laya.loader.create(i, Laya.Handler.create(e, function() { + e.uimgr.showRemind(); + var t = Laya.timer.currTimer; + e.loadExcel(Laya.Handler.create(e, function() { + uiscript.UI_Remind.Inst && uiscript.UI_Remind.Inst.setprocess(7), + game.LoadMgr.loadRes(game.E_LoadType.entrance, Laya.Handler.create(e, function() { + uiscript.UI_Remind.Inst && uiscript.UI_Remind.Inst.setprocess(8); + var i = t + 3e3 - Laya.timer.currTimer; + i <= 60 && (i = 60), + Laya.timer.once(i, e, function() { + uiscript.UI_Remind.Inst && uiscript.UI_Remind.Inst.setprocess(9), + e.uimgr.showEntrance(), + game.LoadMgr.loadConfig(), + e._scene_lobby.init(null) + }) + })) + })) + })) + } + })) + } + , + t.prototype.fetch_login_info = function() { + var t = this; + game.FriendMgr.init(), + uiscript.UI_Mail.Init(), + uiscript.UI_Activity_Xuanshang.Init(), + uiscript.UI_Activity_Jiuji.Init(), + uiscript.UI_TitleBook.Init(), + uiscript.UI_Bag.init(), + uiscript.UI_Shop.init(), + uiscript.UI_Activity.init(), + uiscript.UI_Recharge.init(), + uiscript.UI_Activity_Yueka.Init(), + app.NetAgent.sendReq2Lobby("Lobby", "fetchCommentSetting", {}, function(e, i) { + e || i.error ? uiscript.UIMgr.Inst.showNetReqError("fetchCommentSetting", e, i) : t.comment_allow = i.comment_allow + }), + app.NetAgent.sendReq2Lobby("Lobby", "fetchAccountSettings", {}, function(e, i) { + if (e || i.error) + ; + else if (t.account_setting = [], + i.settings) + for (var n = 0; n < i.settings.length; n++) + t.account_setting[i.settings[n].key] = i.settings[n].value + }), + this.last_mod_name_time = 0, + app.NetAgent.sendReq2Lobby("Lobby", "fetchModNicknameTime", {}, function(e, i) { + e || i.error || i.last_mod_time && (t.last_mod_name_time = i.last_mod_time) + }), + app.NetAgent.sendReq2Lobby("Lobby", "fetchMisc", {}, function(t, e) { + if (t || e.error) + cfg.mall.goods.forEach(function(t) { + uiscript.UI_Recharge.new_recharge_list[t.cny] = 1 + }); + else { + if (e.recharged_list) + for (var i = 0; i < e.recharged_list.length; i++) + uiscript.UI_Recharge.new_recharge_list[e.recharged_list[i]] = 1; + e.faiths && uiscript.UI_Treasure.on_chest_count_change(e.faiths) + } + }), + this.player_in_haiwai = !1 + } + , + t.prototype.gameInit = function() { + var t = this; + view.BgmListMgr.init(), + app.NetAgent.sendReq2Lobby("Lobby", "fetchServerTime", {}, function(e, i) { + e || i.error ? uiscript.UIMgr.Inst.showNetReqError("fetchServerTime", e, i) : t.server_time_delta = 1e3 * i.server_time - Laya.timer.currTimer + }), + app.NetAgent.sendReq2Lobby("Lobby", "fetchServerSettings", {}, function(t, e) { + if (t || e.error) + uiscript.UIMgr.Inst.showNetReqError("fetchServerSettings", t, e); + else if (app.Log.log("fetchServerSettings: " + JSON.stringify(e)), + uiscript.UI_Recharge.open_payment = !1, + uiscript.UI_Recharge.payment_info = "", + uiscript.UI_Recharge.open_wx = !0, + uiscript.UI_Recharge.wx_type = 0, + uiscript.UI_Recharge.open_alipay = !0, + uiscript.UI_Recharge.alipay_type = 0, + e.settings && e.settings.payment_setting) { + var i = e.settings.payment_setting; + i.open_payment && (uiscript.UI_Recharge.open_payment = !0), + null != i.payment_info_show_type && (uiscript.UI_Recharge.payment_info_show_type = i.payment_info_show_type), + null != i.payment_info && (uiscript.UI_Recharge.payment_info = i.payment_info), + i.wechat && (i.wechat.disable_create && (uiscript.UI_Recharge.open_wx = !1), + null != i.wechat.payment_source_platform && (uiscript.UI_Recharge.wx_type = i.wechat.payment_source_platform)), + i.alipay && (i.alipay.disable_create && (uiscript.UI_Recharge.open_alipay = !1), + null != i.alipay.payment_source_platform && (uiscript.UI_Recharge.alipay_type = i.alipay.payment_source_platform)) + } + }), + app.NetAgent.sendReq2Lobby("Lobby", "fetchConnectionInfo", {}, function(e, i) { + e || i.error || (t.client_endpoint = i.client_endpoint) + }), + app.NetAgent.sendReq2Lobby("Lobby", "fetchPhoneLoginBind", {}, function(e, i) { + e || i.error || (t.phone_login = i.phone_login) + }), + app.PlayerBehaviorStatistic.init(), + this.account_data.nickname && this.fetch_login_info(), + uiscript.UI_Info.Init(), + app.NetAgent.AddListener2Lobby("NotifyAccountUpdate", Laya.Handler.create(this, function(e) { + app.Log.log("NotifyAccountUpdate :" + JSON.stringify(e)); + var i = e.update; + if (i) { + if (i.numerical) + for (var n = 0; n < i.numerical.length; n++) { + var a = i.numerical[n].id + , r = i.numerical[n].final; + switch (a) { + case 100001: + t.account_data.diamond = r; + break; + case 100002: + t.account_data.gold = r; + break; + case 100099: + t.account_data.vip = r + } + (a >= 101001 || a <= 102999) && (t.account_numerical_resource[a] = r) + } + uiscript.UI_Sushe.on_data_updata(i), + i.daily_task && uiscript.UI_Activity_Xuanshang.dataUpdate(i.daily_task), + i.title && uiscript.UI_TitleBook.title_update(i.title), + i.new_recharged_list && uiscript.UI_Recharge.on_new_recharge_refresh(i), + (i.activity_task || i.activity_period_task || i.activity_random_task) && uiscript.UI_Activity.accountUpdate(i), + i.activity_flip_task && uiscript.UI_Activity_Fanpai.onTaskDataUpdate(i.activity_flip_task.progresses) + } + }, null, !1)), + app.NetAgent.AddListener2Lobby("NotifyAnotherLogin", Laya.Handler.create(this, function(t) { + uiscript.UI_AnotherLogin.Inst.show() + })), + app.NetAgent.AddListener2Lobby("NotifyAccountLogout", Laya.Handler.create(this, function(t) { + uiscript.UI_Hanguplogout.Inst.show() + })), + app.NetAgent.AddListener2Lobby("NotifyClientMessage", Laya.Handler.create(this, function(t) { + app.Log.log("收到消息:" + JSON.stringify(t)), + t.type == game.EFriendMsgType.room_invite && uiscript.UI_Invite.onNewInvite(t.content) + })), + app.NetAgent.AddListener2Lobby("NotifyServerSetting", Laya.Handler.create(this, function(t) { + if (uiscript.UI_Recharge.open_payment = !1, + uiscript.UI_Recharge.payment_info = "", + uiscript.UI_Recharge.open_wx = !0, + uiscript.UI_Recharge.wx_type = 0, + uiscript.UI_Recharge.open_alipay = !0, + uiscript.UI_Recharge.alipay_type = 0, + t.settings && t.settings.payment_setting) { + var e = t.settings.payment_setting; + e.open_payment && (uiscript.UI_Recharge.open_payment = !0), + null != e.payment_info_show_type && (uiscript.UI_Recharge.payment_info_show_type = e.payment_info_show_type), + null != e.payment_info && (uiscript.UI_Recharge.payment_info = e.payment_info), + e.wechat && (e.wechat.disable_create && (uiscript.UI_Recharge.open_wx = !1), + null != e.wechat.payment_source_platform && (uiscript.UI_Recharge.wx_type = e.wechat.payment_source_platform)), + e.alipay && (e.alipay.disable_create && (uiscript.UI_Recharge.open_alipay = !1), + null != e.alipay.payment_source_platform && (uiscript.UI_Recharge.alipay_type = e.alipay.payment_source_platform)) + } + })), + app.NetAgent.AddListener2Lobby("NotifyVipLevelChange", Laya.Handler.create(this, function(t) { + uiscript.UI_Sushe.send_gift_limit = t.gift_limit, + game.FriendMgr.friend_max_count = t.friend_max_count, + uiscript.UI_Shop.shopinfo.zhp.free_refresh.limit = t.zhp_free_refresh_limit, + uiscript.UI_Shop.shopinfo.zhp.cost_refresh.limit = t.zhp_cost_refresh_limit, + uiscript.UI_PaiPu.collect_limit = t.record_collect_limit + })), + app.NetAgent.AddListener2Lobby("NotifyAFKResult", new Laya.Handler(this,function(t) { + uiscript.UI_Guajichenfa.Inst.show(t) + } + )), + Laya.timer.loop(36e4, this, function() { + if (game.LobbyNetMgr.Inst.isOK) { + var e = (Laya.timer.currTimer - t._last_heatbeat_time) / 1e3; + app.NetAgent.sendReq2Lobby("Lobby", "heatbeat", { + no_operation_counter: e + }, function() {}), + e >= 3e3 && uiscript.UI_Hanguplogout.Inst.show() + } + }), + Laya.timer.loop(1e3, this, function() { + var e = Laya.stage.getMousePoint(); + e.x == t._pre_mouse_point.x && e.y == t._pre_mouse_point.y || (t.clientHeatBeat(), + t._pre_mouse_point.x = e.x, + t._pre_mouse_point.y = e.y) + }), + Laya.timer.loop(1e3, this, function() { + Laya.LocalStorage.setItem("dolllt", game.Tools.currentTime.toString()) + }), + uiscript.UI_RollNotice.init() + } + , + t.prototype.afterLogin = function() { + var e = this; + game.LobbyNetMgr.Inst.onLogin(), + this.gameInit(), + this.logined = !0; + Laya.LocalStorage.setItem("_pre_room", ""), + Laya.LocalStorage.setItem("_pre_paipu", ""), + t.Inst.account_data.nickname && "" != t.Inst.account_data.nickname || uiscript.UI_XinShouYinDao.pre_load(), + this._scene_lobby.addLoadListenter(Laya.Handler.create(this, function() { + game.FrontEffect.init(), + uiscript.UI_Sushe.init(Laya.Handler.create(e, function() { + uiscript.UI_Loading.Inst.setProgressVal(1), + Laya.timer.once(500, e, function() { + e.ingame ? game.MJNetMgr.Inst.OpenConnect(e.mj_game_token, e.mj_game_uuid, e.mj_server_location, !0, null) : e.EnterLobby() + }) + })) + }), Laya.Handler.create(this, function(t) { + return uiscript.UI_Loading.Inst.setProgressVal(.2 + .7 * t) + }, null, !1)), + app.PlayerBehaviorStatistic.google_trace_force(app.EBehaviorType.G_Role_login) + } + , + t.prototype.updateAccountInfo = function() { + var e = this; + app.NetAgent.sendReq2Lobby("Lobby", "fetchAccountInfo", {}, function(i, n) { + if (i || n.error) + uiscript.UIMgr.Inst.showNetReqError("fetchAccountInfo", i, n); + else { + app.Log.log("UpdateAccount: " + JSON.stringify(n)), + t.Inst.account_refresh_time = Laya.timer.currTimer; + for (var a in n.account) { + if (t.Inst.account_data[a] = n.account[a], + "platform_diamond" == a) + for (var r = n.account[a], s = 0; s < r.length; s++) + e.account_numerical_resource[r[s].id] = r[s].count; + if ("skin_ticket" == a && (t.Inst.account_numerical_resource[100004] = n.account[a]), + "platform_skin_ticket" == a) + for (var r = n.account[a], s = 0; s < r.length; s++) + e.account_numerical_resource[r[s].id] = r[s].count + } + uiscript.UI_Lobby.Inst.refreshInfo(), + n.account.room_id && t.Inst.updateRoom(), + 10102 === t.Inst.account_data.level.id && app.PlayerBehaviorStatistic.fb_trace_pending(app.EBehaviorType.Level_2, 1), + 10103 === t.Inst.account_data.level.id && app.PlayerBehaviorStatistic.fb_trace_pending(app.EBehaviorType.Level_3, 1) + } + }) + } + , + t.prototype.updateRoom = function() { + app.NetAgent.sendReq2Lobby("Lobby", "fetchRoom", {}, function(t, e) { + t || e.error ? uiscript.UIMgr.Inst.showNetReqError("fetchRoom", t, e) : uiscript.UI_WaitingRoom.Inst.updateData(e.room) + }) + } + , + t.prototype.EnterMJ = function() { + this._current_scene !== this._scene_mj && (this._current_scene && this._current_scene.active && (this._current_scene.active = !1), + this._current_scene = this._scene_mj, + this._current_scene.active = !0) + } + , + t.prototype.EnterLobby = function() { + var t = this; + this._current_scene !== this._scene_lobby ? (this._current_scene && (this._current_scene.active = !1), + this._current_scene = this._scene_lobby, + uiscript.UI_Loading.Inst.show("enter_lobby"), + this._scene_lobby.buildScene(Laya.Handler.create(this, function() { + uiscript.UI_Loading.Inst.close(), + t._current_scene.active = !0, + game.Scene_MJ.Inst.load_common_texture2d() + }), Laya.Handler.create(this, function(t) { + return uiscript.UI_Loading.Inst.setProgressVal(t) + }, null, !1))) : (uiscript.UI_Loading.Inst.close(), + this._current_scene.active = !0) + } + , + t.prototype.checkPaiPu = function(t, e, i) { + var n = this; + app.Log.log("checkPaiPu game_uuid:" + t + " account_id:" + e.toString() + " paipu_config:" + i), + this.duringPaipu ? app.Log.Error("已经在看牌谱了") : (this.duringPaipu = !0, + uiscript.UI_Loading.Inst.show("enter_mj"), + 2 & i && (t = game.Tools.DecodePaipuUUID(t)), + app.NetAgent.sendReq2Lobby("Lobby", "fetchGameRecord", { + game_uuid: t + }, function(t, a) { + if (t || a.error) + uiscript.UIMgr.Inst.showNetReqError("fetchGameRecord", t, a), + uiscript.UI_Loading.Inst.close(null), + uiscript.UIMgr.Inst.showLobby(), + n.duringPaipu = !1; + else { + uiscript.UI_Loading.Inst.setProgressVal(.1); + var r = a.head + , s = [null, null, null, null] + , o = game.Tools.strOfLocalization(2003) + , l = r.config.mode; + if (l.testing_environment) + return uiscript.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(3169)), + uiscript.UI_Loading.Inst.close(null), + uiscript.UIMgr.Inst.showLobby(), + void (n.duringPaipu = !1); + l.extendinfo && (o = game.Tools.strOfLocalization(2004)), + l.detail_rule && l.detail_rule.ai_level && (1 === l.detail_rule.ai_level && (o = game.Tools.strOfLocalization(2003)), + 2 === l.detail_rule.ai_level && (o = game.Tools.strOfLocalization(2004))); + var h = !1; + r.end_time && r.end_time > 1576112400 && (h = !0); + for (x = 0; x < r.accounts.length; x++) { + var c = r.accounts[x]; + if (c.character) { + var _ = c.character + , u = {}; + if (h) { + var d = c.views; + if (d) + for (p = 0; p < d.length; p++) + u[d[p].slot] = d[p].item_id + } else { + var f = _.views; + if (f) + for (var p = 0; p < f.length; p++) { + var m = f[p].slot + , g = f[p].item_id; + u[m - 1] = g + } + } + var y = []; + for (var v in u) + y.push({ + slot: parseInt(v), + item_id: u[v] + }); + c.views = y, + s[c.seat] = c + } else + c.character = { + charid: c.avatar_id, + level: 0, + exp: 0, + views: [], + skin: cfg.item_definition.character.get(c.avatar_id).init_skin, + is_upgraded: !1 + }, + c.avatar_id = c.character.skin, + c.views = [], + s[c.seat] = c + } + for (var b = game.GameUtility.get_default_ai_skin(), w = game.GameUtility.get_default_ai_character(), x = 0; x < s.length; x++) + null == s[x] && (s[x] = { + nickname: o, + avatar_id: b, + level: { + id: 10101 + }, + level3: { + id: 20101 + }, + character: { + charid: w, + level: 0, + exp: 0, + views: [], + skin: b, + is_upgraded: !1 + } + }); + var I = Laya.Handler.create(n, function(t) { + game.Scene_Lobby.Inst.active && (game.Scene_Lobby.Inst.active = !1), + game.Scene_MJ.Inst.openMJRoom(r.config, s, Laya.Handler.create(n, function() { + n.duringPaipu = !1, + view.DesktopMgr.Inst.paipu_config = i, + view.DesktopMgr.Inst.initRoom(JSON.parse(JSON.stringify(r.config)), s, e, view.EMJMode.paipu, Laya.Handler.create(n, function() { + uiscript.UI_Replay.Inst.initData(t), + uiscript.UI_Replay.Inst.enable = !0, + Laya.timer.once(1e3, n, function() { + n.EnterMJ() + }), + Laya.timer.once(1500, n, function() { + view.DesktopMgr.player_link_state = [view.ELink_State.READY, view.ELink_State.READY, view.ELink_State.READY, view.ELink_State.READY], + uiscript.UI_DesktopInfo.Inst.refreshLinks(), + uiscript.UI_Loading.Inst.close() + }), + Laya.timer.once(1e3, n, function() { + uiscript.UI_Replay.Inst.nextStep(!0) + }) + })) + }), Laya.Handler.create(n, function(t) { + return uiscript.UI_Loading.Inst.setProgressVal(.1 + .9 * t) + }, null, !1)) + }) + , C = {}; + C.record = r, + a.data && a.data.length ? (C.game = net.MessageWrapper.decodeMessage(a.data), + I.runWith(C)) : game.LoadMgr.httpload(a.data_url, "arraybuffer", !1, Laya.Handler.create(n, function(t) { + if (t.success) { + var e = new Laya.Byte; + e.writeArrayBuffer(t.data); + var i = net.MessageWrapper.decodeMessage(e.getUint8Array(0, e.length)); + C.game = i, + I.runWith(C) + } else + uiscript.UIMgr.Inst.ShowErrorInfo(game.Tools.strOfLocalization(2005) + a.data_url), + uiscript.UI_Loading.Inst.close(null), + uiscript.UIMgr.Inst.showLobby(), + n.duringPaipu = !1 + })) + } + })) + } + , + t.prototype.BehavioralStatistics = function(t, e) { + void 0 === e && (e = 1); + var i = t.toString(); + this._statisticinfo.hasOwnProperty[i] || (this._statisticinfo[i] = 0), + this._statisticinfo[i] += e + } + , + t.prototype.clientHeatBeat = function() { + (Laya.timer.currTimer - this._last_heatbeat_time) / 1e3 > 2400 && game.LobbyNetMgr.Inst.isOK && app.NetAgent.sendReq2Lobby("Lobby", "heatbeat", { + no_operation_counter: 0 + }, function() {}), + this._last_heatbeat_time = Laya.timer.currTimer + } + , + t.prototype.getHangUpTime = function() { + return Laya.timer.currTimer - this._last_heatbeat_time + } + , + t.prototype._get_trace_common_info = function(t, e) { + var i = {}; + i.client_type = "web"; + var n = game.Tools.deviceInfo; + return i.device_type = n.device, + i.client_version = i.res_version = game.ResourceVersion.version, + i.account_id = this.account_id, + i.client_ip = this.client_endpoint, + i.connect_lobby = app.NetAgent.lobby_ip, + i.connect_game = app.NetAgent.mj_ip, + i.session_id = app.NetAgent.lobby_session_id, + i.app_runtime_id = this.runtime_id, + i.log_category = t, + i.level = e, + i + } + , + t.prototype.onFatalError = function(e, i) { + void 0 === i && (i = !0), + app.Log.Error("onFatalError"); + var n = this._get_trace_common_info("business", "fatal"); + n.content = {}, + n.content.fatalerror = e, + t.inRelease && (n.content.logs = app.Log.getCacheLog()), + t.inRelease ? this.logUp(n) : app.Log.Error(JSON.stringify(n)), + i && uiscript.UIMgr.Inst.showFE() + } + , + t.prototype.onXiangGongError = function(e) { + app.Log.Error("相公了"); + var i = this._get_trace_common_info("web_xianggong", "error"); + i.content = {}, + i.content.detail = e, + t.inRelease && (i.content.logs = app.Log.getCacheLog()), + t.inRelease ? this.logUp(i) : app.Log.Error(JSON.stringify(i)) + } + , + t.prototype.wsStatics = function(e) { + var i = this._get_trace_common_info("ws_stats", "info"); + i.content = {}, + i.content.route = e, + t.inRelease && this.logUp(i) + } + , + t.prototype.postInfo2Server = function(t) {} + , + t.prototype.logUp = function(e) { + if ("chs_t" == t.client_type && Laya.Browser.window.Tracker) { + this._tracker || (this._tracker = new Laya.Browser.window.Tracker("cn-hongkong.log.aliyuncs.com","majsoul-hk-client","client")); + for (var i in e) { + var n = e[i]; + "object" == typeof n ? this._tracker.push(i, JSON.stringify(n)) : this._tracker.push(i, n) + } + this._tracker.logger() + } + } + , + t.prototype.handleWindowError = function(t, e, i, n, a) { + return !1 + } + , + t.prototype.load_mjp_view = function() { + var e = game.GameUtility.get_view_id(game.EView.mjp) + , i = "mjp_default" + , n = cfg.item_definition.view.get(e); + if (n && (i = n.res_name), + view.DesktopMgr.en_mjp && (i += "_0"), + this.mjp_item_id = e, + i != this.mjp_view) { + var a = "res/atlas/"; + "chs" != t.client_language && (a += t.client_language + "/"), + "" != this.mjp_view && Laya.loader.clearRes(a + "myres2/mjp/" + this.mjp_view + "/ui.atlas"), + this.mjp_view = i, + Laya.loader.load([a + "myres2/mjp/" + this.mjp_view + "/ui.atlas"]) + } + } + , + t._inRes = !0, + t.error_url = "http://47.98.236.52:5031/api/v0/client_report_message", + t.Inst = null, + t.config_data = {}, + t.device_id = "", + t._in_china = !0, + t._in_google_play = !1, + t._in_dmm = !1, + t._client_region = "mainland", + t.client_language = "chs", + t.client_type = "chs", + t +}(); +new GameMgr, +function(t, e) { + function i(e, i, n) { + this.uri_ = "http://" + i + "." + e + "/logstores/" + n + "/track?APIVersion=0.6.0", + this.params_ = new Array, + this.httpRequest_ = t.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : t.XMLHttpRequest ? new XMLHttpRequest : void 0 + } + i.prototype = { + push: function(t, e) { + t && e && (this.params_.push(t), + this.params_.push(e)) + }, + logger: function() { + for (var e = this.uri_, i = 0; this.params_.length > 0; ) + e += i % 2 == 0 ? "&" + encodeURIComponent(this.params_.shift()) : "=" + encodeURIComponent(this.params_.shift()), + ++i; + try { + this.httpRequest_.open("GET", e, !0), + this.httpRequest_.send(null) + } catch (i) { + t && t.console && "function" == typeof t.console.log && (console.log("Failed to log to ali log service because of this exception:\n" + i), + console.log("Failed log data:", e)) + } + } + }, + t.Tracker = i +}(window, document); diff --git a/index.js b/index.js new file mode 100644 index 0000000..13eb4b0 --- /dev/null +++ b/index.js @@ -0,0 +1,375 @@ +const commandLineArgs = require('command-line-args'), + commandLineUsage = require('command-line-usage'), + https = require('https'), + qstr = require('querystring'), + url = require('url'), + fs = require('fs'), + pbjs = require("protobufjs/cli/pbjs"), + WebSocketClient = require('websocket').client, + MS_HOST = 'mahjongsoul.game.yo-star.com', + opts = [{ + name: 'help', + alias: 'h', + description: 'Display this usage guide', + type: Boolean + }, { + name: 'servers', + alias: 'l', + description: 'Get server list', + type: Boolean + }, { + name: 'server', + alias: 's', + description: 'Use custom server within check', + type: String + }, { + name: 'trueserver', + alias: 'S', + description: 'Use custom server without check', + type: String + }, { + name: 'update', + alias: 'u', + description: 'Update protocol', + type: Boolean + }, { + name: 'info', + alias: 'i', + description: 'Get info', + type: Boolean + }, { + name: 'docs', + alias: 'd', + description: 'Generate documentation from liqi.json', + type: Boolean + }], + sections = [{ + header: 'Mahjong Soul RPC client', + content: 'RPC client for Mahjong Soul API' + }, { + header: 'Options', + optionList: opts + }], + args = commandLineArgs(opts); +let ProtoBuf = require("protobufjs"); + +const getServers = (serv = null, nocheck = false) => { + return new Promise((resolve, reject) => { + if (serv && nocheck) { + resolve([serv]); + } else { + let ms_opts = { + hostname: MS_HOST, + port: 443, + path: '/version.json', + method: 'GET' + }; + // Запрос версии + const reqVersion = https.request(ms_opts, (resVersion) => { + resVersion.on('data', (dataVersion) => { + let resVers = JSON.parse(dataVersion); + //console.log('Version:', JSON.stringify(resVers, null, 2)); + ms_opts.path = `/v${resVers.version}/config.json`; + // Запрос конфигурации + const reqConfig = https.request(ms_opts, (resConfig) => { + resConfig.on('data', (dataConfig) => { + let resCfg = JSON.parse(dataConfig); + //console.log('Config:', JSON.stringify(resCfg, null, 2)); + const mainland = url.parse(resCfg.ip[0].region_urls[0]); + ms_opts.hostname = mainland.hostname; + ms_opts.port = mainland.port; + ms_opts.data = { + service: 'ws-gateway', + protocol: 'ws', + ssl: 'true' + }; + ms_opts.path = `${mainland.pathname}?${qstr.stringify(ms_opts.data)}`; + // Запрос серверов + const reqServers = https.request(ms_opts, (resServers) => { + resServers.on('data', (dataServers) => { + let resServs = JSON.parse(dataServers); + //console.log('Servers:', JSON.stringify(resServs, null, 2)); + if (serv && !nocheck) { + if (resServs.servers.indexOf(serv) >= 0) { + resolve([serv]); + } else { + reject(`Wrong server: ${serv}`); + } + } else { + resolve(resServs.servers); + } + }); + }); + reqServers.on('error', (e) => { + reject(`Error: ${e.message}`); + }); + reqServers.end(); + }); + }); + reqConfig.on('error', (e) => { + reject(`Error: ${e.message}`); + }); + reqConfig.end(); + }); + }); + reqVersion.on('error', (e) => { + reject(`Error: ${e.message}`); + }); + reqVersion.end(); + } + }); +}; + +// version URL https://mahjongsoul.game.yo-star.com/version.json +const getLastVersion = () => { + return new Promise((resolve, reject) => { + let ms_opts = { + hostname: MS_HOST, + port: 443, + path: '/version.json', + method: 'GET' + }; + const reqVersion = https.request(ms_opts, (resVersion) => { + let dataVersion = ''; + resVersion.on('data', (chunk) => { + dataVersion += chunk; + }); + resVersion.on('end', () => { + let resVers = JSON.parse(dataVersion); + resolve(resVers.version); + }); + }); + reqVersion.on('error', (e) => { + reject(`Error: ${e.message}`); + }); + reqVersion.end(); + }); +}; + +const sendRequest = (server, package_name, service_name, method_name, params, idx = 1) => { + return new Promise((resolve, reject) => { + const proto = ProtoBuf.loadSync('liqi.json'), + client = new WebSocketClient(), + service = proto.lookup(`${package_name}.${service_name}`), + method = service.methods[method_name].resolve(), + req = method.resolvedRequestType, + res = method.resolvedResponseType, + wrapper = proto.lookupType(`${package_name}.Wrapper`); + let req_str = wrapper.create({ + //name: `${req.name}`, + name: `${package_name}.${req.name}`, + //data: params + data: req.encode(params).finish() + }); + let meth_str = wrapper.create({ + name: `${package_name}.${service_name}.${method_name}`, + data: wrapper.encode(params).finish() + //data: wrapper.encode(req_str).finish() + }); + let msg = wrapper.encode(meth_str).finish(), + pkt_type = [Number(2)], + idx_bytes = to_bytes(idx); + let header = pkt_type.concat(idx_bytes), + pkt = Buffer.concat([Buffer.from(header), Buffer.from(msg)]); + console.log(`method: .${package_name}.${service_name}.${method_name}`); + console.log(`request: ${JSON.stringify(params, null, 2)}`); + client.on('connect', function(connection) { + console.log('WebSocket Client Connected'); + connection.on('error', function(error) { + reject(error.toString()); + }); + connection.on('close', function() { + console.log('Connection Closed'); + }); + connection.on('message', function(message) { + console.log(message); + if (message.type === 'binary') { + let r = message.binaryData.slice(3), + msg = res.decode(r); + resolve(msg); + connection.close(connection.CLOSE_REASON_NORMAL, 'Close'); + } + }); + const sendPacket = (packet) => { + if (connection.connected) { + console.log('Send data: ', packet.toString('hex')); + connection.sendBytes(packet); + } + }; + sendPacket(pkt); + }); + client.connect(`wss://${server}`); + + }); +}; + +const random = (arr) => { + return arr[Math.floor((Math.random() * arr.length))]; +}; + +const to_bytes = (x) => { + return [(x & 255), x >> 8]; +}; + +if (!args || args.help) { + console.log(commandLineUsage(sections)); +} else { + if (args.update) { + console.log('Protocol update:'); + getLastVersion().then( + resGameVersion => { + console.log(` Game version: ${resGameVersion}`); + // Resource version URL https://mahjongsoul.game.yo-star.com/resversion(version).json + const resvers_opts = { + hostname: MS_HOST, + port: 443, + path: `/resversion${resGameVersion}.json`, + method: 'GET' + }; + const reqVersion = https.request(resvers_opts, (resVersion) => { + let dataProto = ''; + resVersion.on('data', (chunk) => { + dataProto += chunk; + }); + resVersion.on('end', () => { + const resJSON = JSON.parse(dataProto), + liqiVersion = resJSON.res['res/proto/liqi.json'].prefix; + let res_list = ''; + Object.keys(resJSON.res).forEach((res_id) => { + res_list += `https://${MS_HOST}/${resJSON.res[res_id].prefix}/${res_id}\n`; + }); + fs.writeFileSync(`${__dirname}/res_list.txt`, res_list); + console.log(' Save res_list.txt'); + console.log(` Liqi version: ${liqiVersion}`); + // Resource version URL https://mahjongsoul.game.yo-star.com/(versionLiqi)/res/proto/liqi.json + const proto_opts = { + hostname: MS_HOST, + port: 443, + path: `/${liqiVersion}/res/proto/liqi.json`, + method: 'GET' + }; + const reqProto = https.request(proto_opts, (resProto) => { + let dataProto = ''; + resProto.on('data', (chunk) => { + dataProto += chunk; + }); + resProto.on('end', () => { + let resJSON = JSON.parse(dataProto); + fs.writeFileSync(`${__dirname}/liqi.json`, JSON.stringify(resJSON, null, 2)); + console.log(' Save liqi.json'); + // Если нужен proto раскомментить + /* + pbjs.main(['-t', 'proto3', `${__dirname}/liqi.json`, '-o', `${__dirname}/liqi.proto`], function(err, output) { + if (err) throw err; + console.log(' Save to proto'); + }); + */ + }); + }); + reqProto.on('error', (e) => { + console.log(`Error: ${e.message}`); + }); + reqProto.end(); + + }); + }); + reqVersion.on('error', (e) => { + console.log(`Error: ${e.message}`); + }); + reqVersion.end(); + }, + errGameVersion => { + console.log(`Error: ${errGameVersion}`); + } + ); + } + if (args.servers) { + getServers().then( + resServer => { + console.log('Server list:'); + for (let i in resServer) { + console.log(` ${resServer[i]}`); + } + console.log(`Random server: ${random(resServer)}`); + }, + errServer => { + console.error(errServer); + } + ); + } + if (args.info) { + if (!fs.existsSync(`${__dirname}/liqi.json`)) { + console.log('Protocol file not found. Run update with option --update'); + } else { + getServers((args.server ? args.server : args.trueserver), args.trueserver).then( + resServer => { + let server = random(resServer); + if (server) { + console.log(`Use server: ${server}`); + let idx = Math.floor(60007 * Math.random()), + params = { + //account_id: 117411310 + code: '526091', + operation: 0 + }; + //sendRequest(server, 'lq', 'Lobby', 'fetchConnectionInfo', params, idx).then( + sendRequest(server, 'lq', 'Lobby', 'verfifyCodeForSecure', params, idx).then( + resSend => { + console.log(`Result: ${JSON.stringify(resSend, null, 2)}`); + }, + errSend => { + console.error(`Error: ${errSend}`); + } + ); + } else { + console.error(`Wrong server: ${args.server}`); + } + }, + errServer => { + console.error(errServer); + } + ); + } + } + if (args.docs) { + if (!fs.existsSync(`${__dirname}/liqi.json`)) { + console.log('Protocol file not found. Run update with option --update'); + } else { + const liqi = require(`${__dirname}/liqi.json`), + types = new RegExp(/uint32|bool|string|int32/); + let doc = "# MahjongSoul protocol documentation\n\n" + items = liqi.nested.lq.nested; + for (const [key, item] of Object.entries(items)) { + doc += `## ${key}\n\n`; + if (item.fields) { + let fields = []; + for (let [name, field] of Object.entries(item.fields)) { + fields[field.id] = { + name: name, + type: field.type + }; + } + if (fields.length > 0) { + doc += "|#|Field name|Field type|\n|:-:|-|-|\n"; + for (let i = 1; i <= fields.length; i++) { + if (fields[i]) { + doc += `|${i}|${fields[i].name}|${(types.test(fields[i].type) ? fields[i].type : '['+fields[i].type+'](#'+fields[i].type+')')}|\n`; + } + } + } else { + doc += "No fields\n"; + } + doc += "\n"; + } else if (item.methods) { + const methods = item.methods; + for (const [key, method] of Object.entries(methods)) { + doc += `* ${key}([${method.responseType}](#${method.responseType}) return [${method.requestType}](#${method.requestType})\n`; + } + + } + } + fs.writeFileSync(`${__dirname}/liqi.md`, doc); + console.log('Save liqi.md'); + } + } +} \ No newline at end of file diff --git a/liqi.json b/liqi.json new file mode 100644 index 0000000..21394c3 --- /dev/null +++ b/liqi.json @@ -0,0 +1,10043 @@ +{ + "nested": { + "lq": { + "nested": { + "NotifyRoomGameStart": { + "fields": { + "game_url": { + "type": "string", + "id": 1 + }, + "connect_token": { + "type": "string", + "id": 2 + }, + "game_uuid": { + "type": "string", + "id": 3 + }, + "location": { + "type": "string", + "id": 4 + } + } + }, + "NotifyMatchGameStart": { + "fields": { + "game_url": { + "type": "string", + "id": 1 + }, + "connect_token": { + "type": "string", + "id": 2 + }, + "game_uuid": { + "type": "string", + "id": 3 + }, + "match_mode_id": { + "type": "uint32", + "id": 4 + }, + "location": { + "type": "string", + "id": 5 + } + } + }, + "NotifyRoomPlayerReady": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "ready": { + "type": "bool", + "id": 2 + } + } + }, + "NotifyRoomPlayerDressing": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "dressing": { + "type": "bool", + "id": 2 + } + } + }, + "NotifyRoomPlayerUpdate": { + "fields": { + "update_list": { + "rule": "repeated", + "type": "PlayerBaseView", + "id": 1 + }, + "remove_list": { + "rule": "repeated", + "type": "uint32", + "id": 2 + }, + "owner_id": { + "type": "uint32", + "id": 3 + }, + "robot_count": { + "type": "uint32", + "id": 4 + } + } + }, + "NotifyRoomKickOut": { + "fields": {} + }, + "NotifyMatchTimeout": { + "fields": {} + }, + "NotifyFriendStateChange": { + "fields": { + "target_id": { + "type": "uint32", + "id": 1 + }, + "active_state": { + "type": "AccountActiveState", + "id": 2 + } + } + }, + "NotifyFriendViewChange": { + "fields": { + "target_id": { + "type": "uint32", + "id": 1 + }, + "base": { + "type": "PlayerBaseView", + "id": 2 + } + } + }, + "NotifyFriendChange": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "type": { + "type": "uint32", + "id": 2 + }, + "friend": { + "type": "Friend", + "id": 3 + } + } + }, + "NotifyNewFriendApply": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "apply_time": { + "type": "uint32", + "id": 2 + }, + "removed_id": { + "type": "uint32", + "id": 3 + } + } + }, + "NotifyClientMessage": { + "fields": { + "sender": { + "type": "PlayerBaseView", + "id": 1 + }, + "type": { + "type": "uint32", + "id": 2 + }, + "content": { + "type": "string", + "id": 3 + } + } + }, + "NotifyAccountUpdate": { + "fields": { + "update": { + "type": "AccountUpdate", + "id": 1 + } + } + }, + "NotifyAnotherLogin": { + "fields": {} + }, + "NotifyAccountLogout": { + "fields": {} + }, + "NotifyAnnouncementUpdate": { + "fields": { + "announcements": { + "rule": "repeated", + "type": "Announcement", + "id": 1 + }, + "sort": { + "rule": "repeated", + "type": "uint32", + "id": 2 + } + } + }, + "NotifyNewMail": { + "fields": { + "mail": { + "type": "Mail", + "id": 1 + } + } + }, + "NotifyDeleteMail": { + "fields": { + "mail_id_list": { + "rule": "repeated", + "type": "uint32", + "id": 1 + } + } + }, + "NotifyReviveCoinUpdate": { + "fields": { + "has_gained": { + "type": "bool", + "id": 1 + } + } + }, + "NotifyDailyTaskUpdate": { + "fields": { + "progresses": { + "rule": "repeated", + "type": "TaskProgress", + "id": 1 + }, + "max_daily_task_count": { + "type": "uint32", + "id": 2 + }, + "refresh_count": { + "type": "uint32", + "id": 3 + } + } + }, + "NotifyActivityTaskUpdate": { + "fields": { + "progresses": { + "rule": "repeated", + "type": "TaskProgress", + "id": 1 + } + } + }, + "NotifyActivityPeriodTaskUpdate": { + "fields": { + "progresses": { + "rule": "repeated", + "type": "TaskProgress", + "id": 1 + } + } + }, + "NotifyAccountRandomTaskUpdate": { + "fields": { + "progresses": { + "rule": "repeated", + "type": "TaskProgress", + "id": 1 + } + } + }, + "NotifyNewComment": { + "fields": {} + }, + "NotifyRollingNotice": { + "fields": { + "notice": { + "type": "RollingNotice", + "id": 1 + } + } + }, + "NotifyGiftSendRefresh": { + "fields": {} + }, + "NotifyShopUpdate": { + "fields": { + "shop_info": { + "type": "ShopInfo", + "id": 1 + } + } + }, + "NotifyVipLevelChange": { + "fields": { + "gift_limit": { + "type": "uint32", + "id": 1 + }, + "friend_max_count": { + "type": "uint32", + "id": 2 + }, + "zhp_free_refresh_limit": { + "type": "uint32", + "id": 3 + }, + "zhp_cost_refresh_limit": { + "type": "uint32", + "id": 4 + }, + "buddy_bonus": { + "type": "float", + "id": 5 + }, + "record_collect_limit": { + "type": "uint32", + "id": 6 + } + } + }, + "NotifyServerSetting": { + "fields": { + "settings": { + "type": "ServerSettings", + "id": 1 + } + } + }, + "NotifyPayResult": { + "fields": { + "pay_result": { + "type": "uint32", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + }, + "goods_id": { + "type": "uint32", + "id": 3 + }, + "new_month_ticket": { + "type": "uint32", + "id": 4 + }, + "resource_modify": { + "rule": "repeated", + "type": "ResourceModify", + "id": 5 + } + }, + "nested": { + "ResourceModify": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + }, + "final": { + "type": "uint32", + "id": 3 + } + } + } + } + }, + "NotifyCustomContestAccountMsg": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + }, + "account_id": { + "type": "uint32", + "id": 2 + }, + "sender": { + "type": "string", + "id": 3 + }, + "content": { + "type": "string", + "id": 4 + }, + "verified": { + "type": "uint32", + "id": 5 + } + } + }, + "NotifyCustomContestSystemMsg": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + }, + "type": { + "type": "uint32", + "id": 2 + }, + "uuid": { + "type": "string", + "id": 3 + }, + "game_start": { + "type": "CustomizedContestGameStart", + "id": 4 + }, + "game_end": { + "type": "CustomizedContestGameEnd", + "id": 5 + } + } + }, + "NotifyCustomContestState": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + }, + "state": { + "type": "uint32", + "id": 2 + } + } + }, + "NotifyActivityChange": { + "fields": { + "new_activities": { + "rule": "repeated", + "type": "Activity", + "id": 1 + }, + "end_activities": { + "rule": "repeated", + "type": "uint32", + "id": 2 + } + } + }, + "NotifyAFKResult": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "ban_end_time": { + "type": "uint32", + "id": 2 + }, + "game_uuid": { + "type": "string", + "id": 3 + } + } + }, + "Error": { + "fields": { + "code": { + "type": "uint32", + "id": 1 + }, + "u32_params": { + "rule": "repeated", + "type": "uint32", + "id": 2 + }, + "str_params": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "json_param": { + "type": "string", + "id": 4 + } + } + }, + "Wrapper": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "data": { + "type": "bytes", + "id": 2 + } + } + }, + "NetworkEndpoint": { + "fields": { + "family": { + "type": "string", + "id": 1 + }, + "address": { + "type": "string", + "id": 2 + }, + "port": { + "type": "uint32", + "id": 3 + } + } + }, + "ReqCommon": { + "fields": {} + }, + "ResCommon": { + "fields": { + "error": { + "type": "Error", + "id": 1 + } + } + }, + "ResAccountUpdate": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "update": { + "type": "AccountUpdate", + "id": 2 + } + } + }, + "AntiAddiction": { + "fields": { + "online_duration": { + "type": "uint32", + "id": 1 + } + } + }, + "AccountMahjongStatistic": { + "fields": { + "final_position_counts": { + "rule": "repeated", + "type": "uint32", + "id": 1 + }, + "recent_round": { + "type": "RoundSummary", + "id": 2 + }, + "recent_hu": { + "type": "HuSummary", + "id": 3 + }, + "highest_hu": { + "type": "HighestHuRecord", + "id": 4 + }, + "recent_20_hu_summary": { + "type": "Liqi20Summary", + "id": 6 + }, + "recent_10_hu_summary": { + "type": "LiQi10Summary", + "id": 7 + }, + "recent_10_game_result": { + "rule": "repeated", + "type": "GameResult", + "id": 8 + } + }, + "nested": { + "RoundSummary": { + "fields": { + "total_count": { + "type": "uint32", + "id": 1 + }, + "rong_count": { + "type": "uint32", + "id": 2 + }, + "zimo_count": { + "type": "uint32", + "id": 3 + }, + "fangchong_count": { + "type": "uint32", + "id": 4 + } + } + }, + "HuSummary": { + "fields": { + "total_count": { + "type": "uint32", + "id": 1 + }, + "dora_round_count": { + "type": "uint32", + "id": 2 + }, + "total_fan": { + "type": "uint32", + "id": 3 + } + } + }, + "HighestHuRecord": { + "fields": { + "fanshu": { + "type": "uint32", + "id": 1 + }, + "doranum": { + "type": "uint32", + "id": 2 + }, + "title": { + "type": "string", + "id": 3 + }, + "hands": { + "rule": "repeated", + "type": "string", + "id": 4 + }, + "ming": { + "rule": "repeated", + "type": "string", + "id": 5 + }, + "hupai": { + "type": "string", + "id": 6 + }, + "title_id": { + "type": "uint32", + "id": 7 + } + } + }, + "Liqi20Summary": { + "fields": { + "total_count": { + "type": "uint32", + "id": 1 + }, + "total_lidora_count": { + "type": "uint32", + "id": 2 + }, + "average_hu_point": { + "type": "uint32", + "id": 3 + } + } + }, + "LiQi10Summary": { + "fields": { + "total_xuanshang": { + "type": "uint32", + "id": 1 + }, + "total_fanshu": { + "type": "uint32", + "id": 2 + } + } + }, + "GameResult": { + "fields": { + "rank": { + "type": "uint32", + "id": 1 + }, + "final_point": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "AccountStatisticData": { + "fields": { + "mahjong_category": { + "type": "uint32", + "id": 1 + }, + "game_category": { + "type": "uint32", + "id": 2 + }, + "statistic": { + "type": "AccountMahjongStatistic", + "id": 3 + } + } + }, + "AccountLevel": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "score": { + "type": "uint32", + "id": 2 + } + } + }, + "ViewSlot": { + "fields": { + "slot": { + "type": "uint32", + "id": 1 + }, + "item_id": { + "type": "uint32", + "id": 2 + } + } + }, + "Account": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "nickname": { + "type": "string", + "id": 2 + }, + "login_time": { + "type": "uint32", + "id": 3 + }, + "logout_time": { + "type": "uint32", + "id": 4 + }, + "room_id": { + "type": "uint32", + "id": 5 + }, + "anti_addiction": { + "type": "AntiAddiction", + "id": 6 + }, + "title": { + "type": "uint32", + "id": 7 + }, + "signature": { + "type": "string", + "id": 8 + }, + "email": { + "type": "string", + "id": 9 + }, + "email_verify": { + "type": "uint32", + "id": 10 + }, + "gold": { + "type": "uint32", + "id": 11 + }, + "diamond": { + "type": "uint32", + "id": 12 + }, + "avatar_id": { + "type": "uint32", + "id": 13 + }, + "vip": { + "type": "uint32", + "id": 14 + }, + "birthday": { + "type": "int32", + "id": 15 + }, + "phone": { + "type": "string", + "id": 16 + }, + "phone_verify": { + "type": "uint32", + "id": 17 + }, + "platform_diamond": { + "rule": "repeated", + "type": "PlatformDiamond", + "id": 18 + }, + "level": { + "type": "AccountLevel", + "id": 21 + }, + "level3": { + "type": "AccountLevel", + "id": 22 + }, + "avatar_frame": { + "type": "uint32", + "id": 23 + }, + "skin_ticket": { + "type": "uint32", + "id": 24 + }, + "platform_skin_ticket": { + "rule": "repeated", + "type": "PlatformSkinTicket", + "id": 25 + }, + "verified": { + "type": "uint32", + "id": 26 + } + }, + "nested": { + "PlatformDiamond": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + }, + "PlatformSkinTicket": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "AccountOwnerData": { + "fields": { + "unlock_characters": { + "rule": "repeated", + "type": "uint32", + "id": 1 + } + } + }, + "AccountUpdate": { + "fields": { + "numerical": { + "rule": "repeated", + "type": "NumericalUpdate", + "id": 1 + }, + "character": { + "type": "CharacterUpdate", + "id": 2 + }, + "bag": { + "type": "BagUpdate", + "id": 3 + }, + "achievement": { + "type": "AchievementUpdate", + "id": 4 + }, + "shilian": { + "type": "AccountShiLian", + "id": 5 + }, + "daily_task": { + "type": "DailyTaskUpdate", + "id": 6 + }, + "title": { + "type": "TitleUpdate", + "id": 7 + }, + "new_recharged_list": { + "rule": "repeated", + "type": "uint32", + "id": 8 + }, + "activity_task": { + "type": "TaskUpdate", + "id": 9 + }, + "activity_flip_task": { + "type": "TaskUpdate", + "id": 10 + }, + "activity_period_task": { + "type": "TaskUpdate", + "id": 11 + }, + "activity_random_task": { + "type": "TaskUpdate", + "id": 12 + } + }, + "nested": { + "NumericalUpdate": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "final": { + "type": "uint32", + "id": 3 + } + } + }, + "CharacterUpdate": { + "fields": { + "characters": { + "rule": "repeated", + "type": "Character", + "id": 2 + }, + "skins": { + "rule": "repeated", + "type": "uint32", + "id": 3 + }, + "finished_endings": { + "rule": "repeated", + "type": "uint32", + "id": 4 + }, + "rewarded_endings": { + "rule": "repeated", + "type": "uint32", + "id": 5 + } + } + }, + "AchievementUpdate": { + "fields": { + "progresses": { + "rule": "repeated", + "type": "AchievementProgress", + "id": 1 + } + } + }, + "DailyTaskUpdate": { + "fields": { + "progresses": { + "rule": "repeated", + "type": "TaskProgress", + "id": 1 + } + } + }, + "TitleUpdate": { + "fields": { + "new_titles": { + "rule": "repeated", + "type": "uint32", + "id": 1 + }, + "remove_titles": { + "rule": "repeated", + "type": "uint32", + "id": 2 + } + } + }, + "TaskUpdate": { + "fields": { + "progresses": { + "rule": "repeated", + "type": "TaskProgress", + "id": 1 + } + } + } + } + }, + "GameMetaData": { + "fields": { + "room_id": { + "type": "uint32", + "id": 1 + }, + "mode_id": { + "type": "uint32", + "id": 2 + }, + "contest_uid": { + "type": "uint32", + "id": 3 + } + } + }, + "AccountPlayingGame": { + "fields": { + "game_uuid": { + "type": "string", + "id": 1 + }, + "category": { + "type": "uint32", + "id": 2 + }, + "meta": { + "type": "GameMetaData", + "id": 3 + } + } + }, + "AccountCacheView": { + "fields": { + "cache_version": { + "type": "uint32", + "id": 1 + }, + "account_id": { + "type": "uint32", + "id": 2 + }, + "nickname": { + "type": "string", + "id": 3 + }, + "login_time": { + "type": "uint32", + "id": 4 + }, + "logout_time": { + "type": "uint32", + "id": 5 + }, + "is_online": { + "type": "bool", + "id": 6 + }, + "room_id": { + "type": "uint32", + "id": 7 + }, + "title": { + "type": "uint32", + "id": 8 + }, + "avatar_id": { + "type": "uint32", + "id": 9 + }, + "vip": { + "type": "uint32", + "id": 10 + }, + "level": { + "type": "AccountLevel", + "id": 11 + }, + "playing_game": { + "type": "AccountPlayingGame", + "id": 12 + }, + "level3": { + "type": "AccountLevel", + "id": 13 + }, + "avatar_frame": { + "type": "uint32", + "id": 14 + }, + "verified": { + "type": "uint32", + "id": 15 + }, + "ban_deadline": { + "type": "uint32", + "id": 16 + }, + "comment_ban": { + "type": "uint32", + "id": 17 + } + } + }, + "PlayerBaseView": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "avatar_id": { + "type": "uint32", + "id": 2 + }, + "title": { + "type": "uint32", + "id": 3 + }, + "nickname": { + "type": "string", + "id": 4 + }, + "level": { + "type": "AccountLevel", + "id": 5 + }, + "level3": { + "type": "AccountLevel", + "id": 6 + }, + "avatar_frame": { + "type": "uint32", + "id": 7 + }, + "verified": { + "type": "uint32", + "id": 8 + } + } + }, + "PlayerGameView": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "avatar_id": { + "type": "uint32", + "id": 2 + }, + "title": { + "type": "uint32", + "id": 3 + }, + "nickname": { + "type": "string", + "id": 4 + }, + "level": { + "type": "AccountLevel", + "id": 5 + }, + "character": { + "type": "Character", + "id": 6 + }, + "level3": { + "type": "AccountLevel", + "id": 7 + }, + "avatar_frame": { + "type": "uint32", + "id": 8 + }, + "verified": { + "type": "uint32", + "id": 9 + }, + "views": { + "rule": "repeated", + "type": "ViewSlot", + "id": 10 + } + } + }, + "GameMode": { + "fields": { + "mode": { + "type": "uint32", + "id": 1 + }, + "ai": { + "type": "bool", + "id": 4 + }, + "extendinfo": { + "type": "string", + "id": 5 + }, + "detail_rule": { + "type": "GameDetailRule", + "id": 6 + }, + "testing_environment": { + "type": "GameTestingEnvironmentSet", + "id": 7 + } + } + }, + "GameTestingEnvironmentSet": { + "fields": { + "paixing": { + "type": "uint32", + "id": 1 + }, + "left_count": { + "type": "uint32", + "id": 2 + } + } + }, + "GameDetailRule": { + "fields": { + "time_fixed": { + "type": "uint32", + "id": 1 + }, + "time_add": { + "type": "uint32", + "id": 2 + }, + "dora_count": { + "type": "uint32", + "id": 3 + }, + "shiduan": { + "type": "uint32", + "id": 4 + }, + "init_point": { + "type": "uint32", + "id": 5 + }, + "fandian": { + "type": "uint32", + "id": 6 + }, + "can_jifei": { + "type": "bool", + "id": 7 + }, + "tianbian_value": { + "type": "uint32", + "id": 8 + }, + "liqibang_value": { + "type": "uint32", + "id": 9 + }, + "changbang_value": { + "type": "uint32", + "id": 10 + }, + "noting_fafu_1": { + "type": "uint32", + "id": 11 + }, + "noting_fafu_2": { + "type": "uint32", + "id": 12 + }, + "noting_fafu_3": { + "type": "uint32", + "id": 13 + }, + "have_liujumanguan": { + "type": "bool", + "id": 14 + }, + "have_qieshangmanguan": { + "type": "bool", + "id": 15 + }, + "have_biao_dora": { + "type": "bool", + "id": 16 + }, + "have_gang_biao_dora": { + "type": "bool", + "id": 17 + }, + "ming_dora_immediately_open": { + "type": "bool", + "id": 18 + }, + "have_li_dora": { + "type": "bool", + "id": 19 + }, + "have_gang_li_dora": { + "type": "bool", + "id": 20 + }, + "have_sifenglianda": { + "type": "bool", + "id": 21 + }, + "have_sigangsanle": { + "type": "bool", + "id": 22 + }, + "have_sijializhi": { + "type": "bool", + "id": 23 + }, + "have_jiuzhongjiupai": { + "type": "bool", + "id": 24 + }, + "have_sanjiahele": { + "type": "bool", + "id": 25 + }, + "have_toutiao": { + "type": "bool", + "id": 26 + }, + "have_helelianzhuang": { + "type": "bool", + "id": 27 + }, + "have_helezhongju": { + "type": "bool", + "id": 28 + }, + "have_tingpailianzhuang": { + "type": "bool", + "id": 29 + }, + "have_tingpaizhongju": { + "type": "bool", + "id": 30 + }, + "have_yifa": { + "type": "bool", + "id": 31 + }, + "have_nanruxiru": { + "type": "bool", + "id": 32 + }, + "jingsuanyuandian": { + "type": "uint32", + "id": 33 + }, + "shunweima_2": { + "type": "int32", + "id": 34 + }, + "shunweima_3": { + "type": "int32", + "id": 35 + }, + "shunweima_4": { + "type": "int32", + "id": 36 + }, + "bianjietishi": { + "type": "bool", + "id": 37 + }, + "ai_level": { + "type": "uint32", + "id": 38 + }, + "have_zimosun": { + "type": "bool", + "id": 39 + }, + "disable_multi_yukaman": { + "type": "bool", + "id": 40 + }, + "fanfu": { + "type": "uint32", + "id": 41 + }, + "guyi_mode": { + "type": "uint32", + "id": 42 + }, + "dora3_mode": { + "type": "uint32", + "id": 43 + }, + "begin_open_mode": { + "type": "uint32", + "id": 44 + }, + "jiuchao_mode": { + "type": "uint32", + "id": 45 + }, + "muyu_mode": { + "type": "uint32", + "id": 46 + }, + "open_hand": { + "type": "uint32", + "id": 47 + } + } + }, + "Room": { + "fields": { + "room_id": { + "type": "uint32", + "id": 1 + }, + "owner_id": { + "type": "uint32", + "id": 2 + }, + "mode": { + "type": "GameMode", + "id": 3 + }, + "max_player_count": { + "type": "uint32", + "id": 4 + }, + "persons": { + "rule": "repeated", + "type": "PlayerGameView", + "id": 5 + }, + "ready_list": { + "rule": "repeated", + "type": "uint32", + "id": 6 + }, + "is_playing": { + "type": "bool", + "id": 7 + }, + "public_live": { + "type": "bool", + "id": 8 + }, + "robot_count": { + "type": "uint32", + "id": 9 + }, + "tournament_id": { + "type": "uint32", + "id": 10 + } + } + }, + "GameEndResult": { + "fields": { + "players": { + "rule": "repeated", + "type": "PlayerItem", + "id": 1 + } + }, + "nested": { + "PlayerItem": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "total_point": { + "type": "int32", + "id": 2 + }, + "part_point_1": { + "type": "int32", + "id": 3 + }, + "part_point_2": { + "type": "int32", + "id": 4 + }, + "grading_score": { + "type": "int32", + "id": 5 + }, + "gold": { + "type": "int32", + "id": 6 + } + } + } + } + }, + "GameConnectInfo": { + "fields": { + "connect_token": { + "type": "string", + "id": 2 + }, + "game_uuid": { + "type": "string", + "id": 3 + }, + "location": { + "type": "string", + "id": 4 + } + } + }, + "ItemGainRecord": { + "fields": { + "item_id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + }, + "ItemGainRecords": { + "fields": { + "record_time": { + "type": "uint32", + "id": 1 + }, + "limit_source_id": { + "type": "uint32", + "id": 2 + }, + "records": { + "rule": "repeated", + "type": "ItemGainRecord", + "id": 3 + } + } + }, + "Item": { + "fields": { + "item_id": { + "type": "uint32", + "id": 1 + }, + "stack": { + "type": "uint32", + "id": 2 + } + } + }, + "Bag": { + "fields": { + "items": { + "rule": "repeated", + "type": "Item", + "id": 1 + }, + "daily_gain_record": { + "rule": "repeated", + "type": "ItemGainRecords", + "id": 2 + } + } + }, + "BagUpdate": { + "fields": { + "update_items": { + "rule": "repeated", + "type": "Item", + "id": 1 + }, + "update_daily_gain_record": { + "rule": "repeated", + "type": "ItemGainRecords", + "id": 2 + } + } + }, + "RewardSlot": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + }, + "OpenResult": { + "fields": { + "reward": { + "type": "RewardSlot", + "id": 1 + }, + "replace": { + "type": "RewardSlot", + "id": 2 + } + } + }, + "RewardPlusResult": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + }, + "exchange": { + "type": "Exchange", + "id": 3 + } + }, + "nested": { + "Exchange": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + }, + "exchange": { + "type": "uint32", + "id": 3 + } + } + } + } + }, + "ExecuteReward": { + "fields": { + "reward": { + "type": "RewardSlot", + "id": 1 + }, + "replace": { + "type": "RewardSlot", + "id": 2 + }, + "replace_count": { + "type": "uint32", + "id": 3 + } + } + }, + "Mail": { + "fields": { + "mail_id": { + "type": "uint32", + "id": 1 + }, + "state": { + "type": "uint32", + "id": 2 + }, + "take_attachment": { + "type": "bool", + "id": 3 + }, + "title": { + "type": "string", + "id": 4 + }, + "content": { + "type": "string", + "id": 5 + }, + "attachments": { + "rule": "repeated", + "type": "RewardSlot", + "id": 6 + }, + "create_time": { + "type": "uint32", + "id": 7 + }, + "expire_time": { + "type": "uint32", + "id": 8 + }, + "reference_id": { + "type": "uint32", + "id": 9 + } + } + }, + "AchievementProgress": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "counter": { + "type": "uint32", + "id": 2 + }, + "achieved": { + "type": "bool", + "id": 3 + }, + "date": { + "type": "uint32", + "id": 4 + } + } + }, + "AccountStatisticByGameMode": { + "fields": { + "mode": { + "type": "uint32", + "id": 1 + }, + "game_count_sum": { + "type": "uint32", + "id": 2 + }, + "game_final_position": { + "rule": "repeated", + "type": "uint32", + "id": 3 + }, + "fly_count": { + "type": "uint32", + "id": 4 + }, + "gold_earn_sum": { + "type": "float", + "id": 5 + }, + "round_count_sum": { + "type": "uint32", + "id": 6 + }, + "dadian_sum": { + "type": "float", + "id": 7 + }, + "round_end": { + "rule": "repeated", + "type": "RoundEndData", + "id": 8 + }, + "ming_count_sum": { + "type": "uint32", + "id": 9 + }, + "liqi_count_sum": { + "type": "uint32", + "id": 10 + }, + "xun_count_sum": { + "type": "uint32", + "id": 11 + }, + "highest_lianzhuang": { + "type": "uint32", + "id": 12 + }, + "score_earn_sum": { + "type": "uint32", + "id": 13 + }, + "rank_score": { + "rule": "repeated", + "type": "RankScore", + "id": 14 + } + }, + "nested": { + "RoundEndData": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "sum": { + "type": "uint32", + "id": 2 + } + } + }, + "RankScore": { + "fields": { + "rank": { + "type": "uint32", + "id": 1 + }, + "score_sum": { + "type": "int32", + "id": 2 + }, + "count": { + "type": "uint32", + "id": 3 + } + } + } + } + }, + "AccountStatisticByFan": { + "fields": { + "fan_id": { + "type": "uint32", + "id": 1 + }, + "sum": { + "type": "uint32", + "id": 2 + } + } + }, + "AccountFanAchieved": { + "fields": { + "mahjong_category": { + "type": "uint32", + "id": 1 + }, + "fan": { + "rule": "repeated", + "type": "AccountStatisticByFan", + "id": 2 + }, + "liujumanguan": { + "type": "uint32", + "id": 3 + } + } + }, + "AccountDetailStatistic": { + "fields": { + "game_mode": { + "rule": "repeated", + "type": "AccountStatisticByGameMode", + "id": 1 + }, + "fan": { + "rule": "repeated", + "type": "AccountStatisticByFan", + "id": 2 + }, + "liujumanguan": { + "type": "uint32", + "id": 3 + }, + "fan_achieved": { + "rule": "repeated", + "type": "AccountFanAchieved", + "id": 4 + } + } + }, + "AccountDetailStatisticByCategory": { + "fields": { + "category": { + "type": "uint32", + "id": 1 + }, + "detail_statistic": { + "type": "AccountDetailStatistic", + "id": 2 + } + } + }, + "AccountDetailStatisticV2": { + "fields": { + "friend_room_statistic": { + "type": "AccountDetailStatistic", + "id": 1 + }, + "rank_statistic": { + "type": "RankStatistic", + "id": 2 + }, + "customized_contest_statistic": { + "type": "CustomizedContestStatistic", + "id": 3 + }, + "leisure_match_statistic": { + "type": "AccountDetailStatistic", + "id": 4 + } + }, + "nested": { + "RankStatistic": { + "fields": { + "total_statistic": { + "type": "RankData", + "id": 1 + }, + "month_statistic": { + "type": "RankData", + "id": 2 + }, + "month_refresh_time": { + "type": "uint32", + "id": 3 + } + }, + "nested": { + "RankData": { + "fields": { + "all_level_statistic": { + "type": "AccountDetailStatistic", + "id": 1 + }, + "level_data_list": { + "rule": "repeated", + "type": "RankLevelData", + "id": 2 + } + }, + "nested": { + "RankLevelData": { + "fields": { + "rank_level": { + "type": "uint32", + "id": 1 + }, + "statistic": { + "type": "AccountDetailStatistic", + "id": 2 + } + } + } + } + } + } + }, + "CustomizedContestStatistic": { + "fields": { + "total_statistic": { + "type": "AccountDetailStatistic", + "id": 1 + }, + "month_statistic": { + "type": "AccountDetailStatistic", + "id": 2 + }, + "month_refresh_time": { + "type": "uint32", + "id": 3 + } + } + } + } + }, + "AccountShiLian": { + "fields": { + "step": { + "type": "uint32", + "id": 1 + }, + "state": { + "type": "uint32", + "id": 2 + } + } + }, + "ClientDeviceInfo": { + "fields": { + "device_type": { + "type": "string", + "id": 1 + }, + "os": { + "type": "string", + "id": 2 + }, + "os_version": { + "type": "string", + "id": 3 + }, + "browser": { + "type": "string", + "id": 4 + } + } + }, + "GamePlayerState": { + "values": { + "NULL": 0, + "AUTH": 1, + "SYNCING": 2, + "READY": 3 + } + }, + "Announcement": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "title": { + "type": "string", + "id": 2 + }, + "content": { + "type": "string", + "id": 3 + } + } + }, + "TaskProgress": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "counter": { + "type": "uint32", + "id": 2 + }, + "achieved": { + "type": "bool", + "id": 3 + }, + "rewarded": { + "type": "bool", + "id": 4 + } + } + }, + "GameConfig": { + "fields": { + "category": { + "type": "uint32", + "id": 1 + }, + "mode": { + "type": "GameMode", + "id": 2 + }, + "meta": { + "type": "GameMetaData", + "id": 3 + } + } + }, + "AccountActiveState": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "login_time": { + "type": "uint32", + "id": 2 + }, + "logout_time": { + "type": "uint32", + "id": 3 + }, + "is_online": { + "type": "bool", + "id": 4 + }, + "playing": { + "type": "AccountPlayingGame", + "id": 5 + } + } + }, + "Friend": { + "fields": { + "base": { + "type": "PlayerBaseView", + "id": 1 + }, + "state": { + "type": "AccountActiveState", + "id": 2 + } + } + }, + "GameLiveUnit": { + "fields": { + "timestamp": { + "type": "uint32", + "id": 1 + }, + "action_category": { + "type": "uint32", + "id": 2 + }, + "action_data": { + "type": "bytes", + "id": 3 + } + } + }, + "GameLiveSegment": { + "fields": { + "actions": { + "rule": "repeated", + "type": "GameLiveUnit", + "id": 1 + } + } + }, + "GameLiveSegmentUri": { + "fields": { + "segment_id": { + "type": "uint32", + "id": 1 + }, + "segment_uri": { + "type": "string", + "id": 2 + } + } + }, + "GameLiveHead": { + "fields": { + "uuid": { + "type": "string", + "id": 1 + }, + "start_time": { + "type": "uint32", + "id": 2 + }, + "game_config": { + "type": "GameConfig", + "id": 3 + }, + "players": { + "rule": "repeated", + "type": "PlayerGameView", + "id": 4 + }, + "seat_list": { + "rule": "repeated", + "type": "uint32", + "id": 5 + } + } + }, + "GameNewRoundState": { + "fields": { + "seat_states": { + "rule": "repeated", + "type": "uint32", + "id": 1 + } + } + }, + "GameEndAction": { + "fields": { + "state": { + "type": "uint32", + "id": 1 + } + } + }, + "GameNoopAction": { + "fields": {} + }, + "CommentItem": { + "fields": { + "comment_id": { + "type": "uint32", + "id": 1 + }, + "timestamp": { + "type": "uint32", + "id": 2 + }, + "commenter": { + "type": "PlayerBaseView", + "id": 3 + }, + "content": { + "type": "string", + "id": 4 + }, + "is_banned": { + "type": "uint32", + "id": 5 + } + } + }, + "RollingNotice": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "content": { + "type": "string", + "id": 2 + }, + "start_time": { + "type": "uint32", + "id": 3 + }, + "end_time": { + "type": "uint32", + "id": 4 + }, + "repeat_interval": { + "type": "uint32", + "id": 5 + } + } + }, + "BillingGoods": { + "fields": { + "id": { + "type": "string", + "id": 1 + }, + "name": { + "type": "string", + "id": 2 + }, + "desc": { + "type": "string", + "id": 3 + }, + "icon": { + "type": "string", + "id": 4 + }, + "resource_id": { + "type": "uint32", + "id": 5 + }, + "resource_count": { + "type": "uint32", + "id": 6 + } + } + }, + "BillShortcut": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + }, + "dealPrice": { + "type": "uint32", + "id": 3 + } + } + }, + "BillingProduct": { + "fields": { + "goods": { + "type": "BillingGoods", + "id": 1 + }, + "currency_code": { + "type": "string", + "id": 2 + }, + "currency_price": { + "type": "uint32", + "id": 3 + }, + "sort_weight": { + "type": "uint32", + "id": 4 + } + } + }, + "Character": { + "fields": { + "charid": { + "type": "uint32", + "id": 1 + }, + "level": { + "type": "uint32", + "id": 2 + }, + "exp": { + "type": "uint32", + "id": 3 + }, + "views": { + "rule": "repeated", + "type": "ViewSlot", + "id": 4 + }, + "skin": { + "type": "uint32", + "id": 5 + }, + "is_upgraded": { + "type": "bool", + "id": 6 + }, + "extra_emoji": { + "rule": "repeated", + "type": "uint32", + "id": 7 + } + } + }, + "BuyRecord": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + }, + "ZHPShop": { + "fields": { + "goods": { + "rule": "repeated", + "type": "uint32", + "id": 1 + }, + "buy_records": { + "rule": "repeated", + "type": "BuyRecord", + "id": 2 + }, + "free_refresh": { + "type": "RefreshCount", + "id": 3 + }, + "cost_refresh": { + "type": "RefreshCount", + "id": 4 + } + }, + "nested": { + "RefreshCount": { + "fields": { + "count": { + "type": "uint32", + "id": 1 + }, + "limit": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "MonthTicketInfo": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "end_time": { + "type": "uint32", + "id": 2 + }, + "last_pay_time": { + "type": "uint32", + "id": 3 + } + } + }, + "ShopInfo": { + "fields": { + "zhp": { + "type": "ZHPShop", + "id": 1 + }, + "buy_records": { + "rule": "repeated", + "type": "BuyRecord", + "id": 2 + }, + "last_refresh_time": { + "type": "uint32", + "id": 3 + } + } + }, + "ChangeNicknameRecord": { + "fields": { + "from": { + "type": "string", + "id": 1 + }, + "to": { + "type": "string", + "id": 2 + }, + "time": { + "type": "uint32", + "id": 3 + } + } + }, + "ServerSettings": { + "fields": { + "payment_setting": { + "type": "PaymentSetting", + "id": 3 + } + } + }, + "PaymentSetting": { + "fields": { + "open_payment": { + "type": "uint32", + "id": 1 + }, + "payment_info_show_type": { + "type": "uint32", + "id": 2 + }, + "payment_info": { + "type": "string", + "id": 3 + }, + "wechat": { + "type": "WechatData", + "id": 4 + }, + "alipay": { + "type": "AlipayData", + "id": 5 + } + }, + "nested": { + "WechatData": { + "fields": { + "disable_create": { + "type": "bool", + "id": 1 + }, + "payment_source_platform": { + "type": "uint32", + "id": 2 + }, + "enable_credit": { + "type": "bool", + "id": 3 + } + } + }, + "AlipayData": { + "fields": { + "disable_create": { + "type": "bool", + "id": 1 + }, + "payment_source_platform": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "AccountSetting": { + "fields": { + "key": { + "type": "uint32", + "id": 1 + }, + "value": { + "type": "uint32", + "id": 2 + } + } + }, + "ChestData": { + "fields": { + "chest_id": { + "type": "uint32", + "id": 1 + }, + "total_open_count": { + "type": "uint32", + "id": 2 + }, + "consume_count": { + "type": "uint32", + "id": 3 + }, + "face_black_count": { + "type": "uint32", + "id": 4 + } + } + }, + "ChestDataV2": { + "fields": { + "chest_id": { + "type": "uint32", + "id": 1 + }, + "total_open_count": { + "type": "uint32", + "id": 2 + }, + "face_black_count": { + "type": "uint32", + "id": 3 + } + } + }, + "FaithData": { + "fields": { + "faith_id": { + "type": "uint32", + "id": 1 + }, + "total_open_count": { + "type": "uint32", + "id": 2 + }, + "consume_count": { + "type": "uint32", + "id": 3 + }, + "modify_count": { + "type": "int32", + "id": 4 + } + } + }, + "CustomizedContestBase": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + }, + "contest_id": { + "type": "uint32", + "id": 2 + }, + "contest_name": { + "type": "string", + "id": 3 + }, + "state": { + "type": "uint32", + "id": 4 + }, + "creator_id": { + "type": "uint32", + "id": 5 + }, + "create_time": { + "type": "uint32", + "id": 6 + }, + "start_time": { + "type": "uint32", + "id": 7 + }, + "finish_time": { + "type": "uint32", + "id": 8 + }, + "open": { + "type": "bool", + "id": 9 + }, + "contest_type": { + "type": "uint32", + "id": 10 + } + } + }, + "CustomizedContestExtend": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + }, + "public_notice": { + "type": "string", + "id": 2 + } + } + }, + "CustomizedContestAbstract": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + }, + "contest_id": { + "type": "uint32", + "id": 2 + }, + "contest_name": { + "type": "string", + "id": 3 + }, + "state": { + "type": "uint32", + "id": 4 + }, + "creator_id": { + "type": "uint32", + "id": 5 + }, + "create_time": { + "type": "uint32", + "id": 6 + }, + "start_time": { + "type": "uint32", + "id": 7 + }, + "finish_time": { + "type": "uint32", + "id": 8 + }, + "open": { + "type": "bool", + "id": 9 + }, + "public_notice": { + "type": "string", + "id": 10 + } + } + }, + "CustomizedContestDetail": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + }, + "contest_id": { + "type": "uint32", + "id": 2 + }, + "contest_name": { + "type": "string", + "id": 3 + }, + "state": { + "type": "uint32", + "id": 4 + }, + "creator_id": { + "type": "uint32", + "id": 5 + }, + "create_time": { + "type": "uint32", + "id": 6 + }, + "start_time": { + "type": "uint32", + "id": 7 + }, + "finish_time": { + "type": "uint32", + "id": 8 + }, + "open": { + "type": "bool", + "id": 9 + }, + "rank_rule": { + "type": "uint32", + "id": 10 + }, + "game_mode": { + "type": "GameMode", + "id": 11 + }, + "private_notice": { + "type": "string", + "id": 12 + }, + "observer_switch": { + "type": "uint32", + "id": 13 + } + } + }, + "CustomizedContestPlayerReport": { + "fields": { + "rank_rule": { + "type": "uint32", + "id": 1 + }, + "rank": { + "type": "uint32", + "id": 2 + }, + "point": { + "type": "int32", + "id": 3 + }, + "game_ranks": { + "rule": "repeated", + "type": "uint32", + "id": 4 + }, + "total_game_count": { + "type": "uint32", + "id": 5 + } + } + }, + "RecordGame": { + "fields": { + "uuid": { + "type": "string", + "id": 1 + }, + "start_time": { + "type": "uint32", + "id": 2 + }, + "end_time": { + "type": "uint32", + "id": 3 + }, + "config": { + "type": "GameConfig", + "id": 5 + }, + "accounts": { + "rule": "repeated", + "type": "AccountInfo", + "id": 11 + }, + "result": { + "type": "GameEndResult", + "id": 12 + } + }, + "nested": { + "AccountInfo": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "seat": { + "type": "uint32", + "id": 2 + }, + "nickname": { + "type": "string", + "id": 3 + }, + "avatar_id": { + "type": "uint32", + "id": 4 + }, + "character": { + "type": "Character", + "id": 5 + }, + "title": { + "type": "uint32", + "id": 6 + }, + "level": { + "type": "AccountLevel", + "id": 7 + }, + "level3": { + "type": "AccountLevel", + "id": 8 + }, + "avatar_frame": { + "type": "uint32", + "id": 9 + }, + "verified": { + "type": "uint32", + "id": 10 + }, + "views": { + "rule": "repeated", + "type": "ViewSlot", + "id": 11 + } + } + } + } + }, + "CustomizedContestGameStart": { + "fields": { + "players": { + "rule": "repeated", + "type": "Item", + "id": 1 + } + }, + "nested": { + "Item": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "nickname": { + "type": "string", + "id": 2 + } + } + } + } + }, + "CustomizedContestGameEnd": { + "fields": { + "players": { + "rule": "repeated", + "type": "Item", + "id": 1 + } + }, + "nested": { + "Item": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "nickname": { + "type": "string", + "id": 2 + }, + "total_point": { + "type": "int32", + "id": 3 + } + } + } + } + }, + "Activity": { + "fields": { + "activity_id": { + "type": "uint32", + "id": 1 + }, + "start_time": { + "type": "uint32", + "id": 2 + }, + "end_time": { + "type": "uint32", + "id": 3 + }, + "type": { + "type": "string", + "id": 4 + } + } + }, + "ExchangeRecord": { + "fields": { + "exchange_id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + }, + "ActivityAccumulatedPointData": { + "fields": { + "activity_id": { + "type": "uint32", + "id": 1 + }, + "point": { + "type": "int32", + "id": 2 + }, + "gained_reward_list": { + "rule": "repeated", + "type": "uint32", + "id": 3 + } + } + }, + "ActivityRankPointData": { + "fields": { + "leaderboard_id": { + "type": "uint32", + "id": 1 + }, + "point": { + "type": "int32", + "id": 2 + }, + "gained_reward": { + "type": "bool", + "id": 3 + }, + "gainable_time": { + "type": "uint32", + "id": 4 + } + } + }, + "GameRoundHuData": { + "fields": { + "hupai": { + "type": "HuPai", + "id": 1 + }, + "fans": { + "rule": "repeated", + "type": "Fan", + "id": 2 + }, + "score": { + "type": "uint32", + "id": 3 + }, + "xun": { + "type": "uint32", + "id": 4 + }, + "title_id": { + "type": "uint32", + "id": 5 + }, + "fan_sum": { + "type": "uint32", + "id": 6 + }, + "fu_sum": { + "type": "uint32", + "id": 7 + }, + "yakuman_count": { + "type": "uint32", + "id": 8 + }, + "biao_dora_count": { + "type": "uint32", + "id": 9 + }, + "red_dora_count": { + "type": "uint32", + "id": 10 + }, + "li_dora_count": { + "type": "uint32", + "id": 11 + }, + "babei_count": { + "type": "uint32", + "id": 12 + }, + "xuan_shang_count": { + "type": "uint32", + "id": 13 + } + }, + "nested": { + "HuPai": { + "fields": { + "tile": { + "type": "string", + "id": 1 + }, + "seat": { + "type": "uint32", + "id": 2 + }, + "liqi": { + "type": "uint32", + "id": 3 + } + } + }, + "Fan": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + }, + "fan": { + "type": "uint32", + "id": 3 + } + } + } + } + }, + "GameRoundPlayerResult": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "hands": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "ming": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "liqi_type": { + "type": "uint32", + "id": 4 + }, + "is_fulu": { + "type": "bool", + "id": 5 + }, + "is_liujumanguan": { + "type": "bool", + "id": 6 + }, + "lian_zhuang": { + "type": "uint32", + "id": 7 + }, + "hu": { + "type": "GameRoundHuData", + "id": 8 + } + } + }, + "GameRoundPlayer": { + "fields": { + "score": { + "type": "int32", + "id": 1 + }, + "rank": { + "type": "uint32", + "id": 2 + }, + "result": { + "type": "GameRoundPlayerResult", + "id": 3 + } + } + }, + "GameRoundSnapshot": { + "fields": { + "ju": { + "type": "uint32", + "id": 1 + }, + "ben": { + "type": "uint32", + "id": 2 + }, + "players": { + "rule": "repeated", + "type": "GameRoundPlayer", + "id": 3 + } + } + }, + "GameFinalSnapshot": { + "fields": { + "uuid": { + "type": "string", + "id": 1 + }, + "state": { + "type": "uint32", + "id": 2 + }, + "category": { + "type": "uint32", + "id": 3 + }, + "mode": { + "type": "GameMode", + "id": 4 + }, + "meta": { + "type": "GameMetaData", + "id": 5 + }, + "calculate_param": { + "type": "CalculateParam", + "id": 6 + }, + "create_time": { + "type": "uint32", + "id": 7 + }, + "start_time": { + "type": "uint32", + "id": 8 + }, + "finish_time": { + "type": "uint32", + "id": 9 + }, + "seats": { + "rule": "repeated", + "type": "GameSeat", + "id": 10 + }, + "rounds": { + "rule": "repeated", + "type": "GameRoundSnapshot", + "id": 11 + }, + "account_views": { + "rule": "repeated", + "type": "PlayerGameView", + "id": 12 + }, + "final_players": { + "rule": "repeated", + "type": "FinalPlayer", + "id": 13 + }, + "afk_info": { + "rule": "repeated", + "type": "AFKInfo", + "id": 14 + } + }, + "nested": { + "CalculateParam": { + "fields": { + "init_point": { + "type": "uint32", + "id": 1 + }, + "jingsuanyuandian": { + "type": "uint32", + "id": 2 + }, + "rank_points": { + "rule": "repeated", + "type": "int32", + "id": 3 + } + } + }, + "GameSeat": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "account_id": { + "type": "uint32", + "id": 2 + }, + "notify_endpoint": { + "type": "NetworkEndpoint", + "id": 3 + }, + "client_address": { + "type": "string", + "id": 4 + }, + "is_connected": { + "type": "bool", + "id": 5 + } + } + }, + "FinalPlayer": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "total_point": { + "type": "int32", + "id": 2 + }, + "part_point_1": { + "type": "int32", + "id": 3 + }, + "part_point_2": { + "type": "int32", + "id": 4 + }, + "grading_score": { + "type": "int32", + "id": 5 + }, + "gold": { + "type": "int32", + "id": 6 + } + } + }, + "AFKInfo": { + "fields": { + "deal_tile_count": { + "type": "uint32", + "id": 1 + }, + "moqie_count": { + "type": "uint32", + "id": 2 + }, + "seat": { + "type": "uint32", + "id": 3 + } + } + } + } + }, + "RecordCollectedData": { + "fields": { + "uuid": { + "type": "string", + "id": 1 + }, + "remarks": { + "type": "string", + "id": 2 + }, + "start_time": { + "type": "uint32", + "id": 3 + }, + "end_time": { + "type": "uint32", + "id": 4 + } + } + }, + "ContestDetailRule": { + "fields": { + "init_point": { + "type": "uint32", + "id": 5 + }, + "fandian": { + "type": "uint32", + "id": 6 + }, + "can_jifei": { + "type": "bool", + "id": 7 + }, + "tianbian_value": { + "type": "uint32", + "id": 8 + }, + "liqibang_value": { + "type": "uint32", + "id": 9 + }, + "changbang_value": { + "type": "uint32", + "id": 10 + }, + "noting_fafu_1": { + "type": "uint32", + "id": 11 + }, + "noting_fafu_2": { + "type": "uint32", + "id": 12 + }, + "noting_fafu_3": { + "type": "uint32", + "id": 13 + }, + "have_liujumanguan": { + "type": "bool", + "id": 14 + }, + "have_qieshangmanguan": { + "type": "bool", + "id": 15 + }, + "have_biao_dora": { + "type": "bool", + "id": 16 + }, + "have_gang_biao_dora": { + "type": "bool", + "id": 17 + }, + "ming_dora_immediately_open": { + "type": "bool", + "id": 18 + }, + "have_li_dora": { + "type": "bool", + "id": 19 + }, + "have_gang_li_dora": { + "type": "bool", + "id": 20 + }, + "have_sifenglianda": { + "type": "bool", + "id": 21 + }, + "have_sigangsanle": { + "type": "bool", + "id": 22 + }, + "have_sijializhi": { + "type": "bool", + "id": 23 + }, + "have_jiuzhongjiupai": { + "type": "bool", + "id": 24 + }, + "have_sanjiahele": { + "type": "bool", + "id": 25 + }, + "have_toutiao": { + "type": "bool", + "id": 26 + }, + "have_helelianzhuang": { + "type": "bool", + "id": 27 + }, + "have_helezhongju": { + "type": "bool", + "id": 28 + }, + "have_tingpailianzhuang": { + "type": "bool", + "id": 29 + }, + "have_tingpaizhongju": { + "type": "bool", + "id": 30 + }, + "have_yifa": { + "type": "bool", + "id": 31 + }, + "have_nanruxiru": { + "type": "bool", + "id": 32 + }, + "jingsuanyuandian": { + "type": "uint32", + "id": 33 + }, + "shunweima_2": { + "type": "int32", + "id": 34 + }, + "shunweima_3": { + "type": "int32", + "id": 35 + }, + "shunweima_4": { + "type": "int32", + "id": 36 + }, + "bianjietishi": { + "type": "bool", + "id": 37 + }, + "ai_level": { + "type": "uint32", + "id": 38 + }, + "have_zimosun": { + "type": "bool", + "id": 39 + }, + "disable_multi_yukaman": { + "type": "bool", + "id": 40 + }, + "guyi_mode": { + "type": "uint32", + "id": 41 + } + } + }, + "ContestDetailRuleV2": { + "fields": { + "game_rule": { + "type": "ContestDetailRule", + "id": 1 + }, + "extra_rule": { + "type": "ExtraRule", + "id": 2 + } + }, + "nested": { + "ExtraRule": { + "fields": { + "required_level": { + "type": "uint32", + "id": 1 + }, + "max_game_count": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "GameRuleSetting": { + "fields": { + "round_type": { + "type": "uint32", + "id": 1 + }, + "shiduan": { + "type": "bool", + "id": 2 + }, + "dora_count": { + "type": "uint32", + "id": 3 + }, + "thinking_type": { + "type": "uint32", + "id": 4 + }, + "use_detail_rule": { + "type": "bool", + "id": 5 + }, + "detail_rule_v2": { + "type": "ContestDetailRuleV2", + "id": 6 + } + } + }, + "Lobby": { + "methods": { + "fetchConnectionInfo": { + "requestType": "ReqCommon", + "responseType": "ResConnectionInfo" + }, + "signup": { + "requestType": "ReqSignupAccount", + "responseType": "ResSignupAccount" + }, + "login": { + "requestType": "ReqLogin", + "responseType": "ResLogin" + }, + "emailLogin": { + "requestType": "ReqEmailLogin", + "responseType": "ResLogin" + }, + "oauth2Auth": { + "requestType": "ReqOauth2Auth", + "responseType": "ResOauth2Auth" + }, + "oauth2Check": { + "requestType": "ReqOauth2Check", + "responseType": "ResOauth2Check" + }, + "oauth2Signup": { + "requestType": "ReqOauth2Signup", + "responseType": "ResOauth2Signup" + }, + "oauth2Login": { + "requestType": "ReqOauth2Login", + "responseType": "ResLogin" + }, + "dmmPreLogin": { + "requestType": "ReqDMMPreLogin", + "responseType": "ResDMMPreLogin" + }, + "createPhoneVerifyCode": { + "requestType": "ReqCreatePhoneVerifyCode", + "responseType": "ResCommon" + }, + "createEmailVerifyCode": { + "requestType": "ReqCreateEmailVerifyCode", + "responseType": "ResCommon" + }, + "verfifyCodeForSecure": { + "requestType": "ReqVerifyCodeForSecure", + "responseType": "ResVerfiyCodeForSecure" + }, + "bindPhoneNumber": { + "requestType": "ReqBindPhoneNumber", + "responseType": "ResCommon" + }, + "unbindPhoneNumber": { + "requestType": "ReqUnbindPhoneNumber", + "responseType": "ResCommon" + }, + "fetchPhoneLoginBind": { + "requestType": "ReqCommon", + "responseType": "ResFetchPhoneLoginBind" + }, + "createPhoneLoginBind": { + "requestType": "ReqCreatePhoneLoginBind", + "responseType": "ResCommon" + }, + "bindEmail": { + "requestType": "ReqBindEmail", + "responseType": "ResCommon" + }, + "modifyPassword": { + "requestType": "ReqModifyPassword", + "responseType": "ResCommon" + }, + "bindAccount": { + "requestType": "ReqBindAccount", + "responseType": "ResCommon" + }, + "logout": { + "requestType": "ReqLogout", + "responseType": "ResLogout" + }, + "heatbeat": { + "requestType": "ReqHeatBeat", + "responseType": "ResCommon" + }, + "loginBeat": { + "requestType": "ReqLoginBeat", + "responseType": "ResCommon" + }, + "createNickname": { + "requestType": "ReqCreateNickname", + "responseType": "ResCommon" + }, + "modifyNickname": { + "requestType": "ReqModifyNickname", + "responseType": "ResCommon" + }, + "modifyBirthday": { + "requestType": "ReqModifyBirthday", + "responseType": "ResCommon" + }, + "fetchRoom": { + "requestType": "ReqCommon", + "responseType": "ResSelfRoom" + }, + "createRoom": { + "requestType": "ReqCreateRoom", + "responseType": "ResCreateRoom" + }, + "joinRoom": { + "requestType": "ReqJoinRoom", + "responseType": "ResJoinRoom" + }, + "leaveRoom": { + "requestType": "ReqCommon", + "responseType": "ResCommon" + }, + "readyPlay": { + "requestType": "ReqRoomReady", + "responseType": "ResCommon" + }, + "dressingStatus": { + "requestType": "ReqRoomDressing", + "responseType": "ResCommon" + }, + "startRoom": { + "requestType": "ReqRoomStart", + "responseType": "ResCommon" + }, + "kickPlayer": { + "requestType": "ReqRoomKick", + "responseType": "ResCommon" + }, + "modifyRoom": { + "requestType": "ReqModifyRoom", + "responseType": "ResCommon" + }, + "matchGame": { + "requestType": "ReqJoinMatchQueue", + "responseType": "ResCommon" + }, + "cancelMatch": { + "requestType": "ReqCancelMatchQueue", + "responseType": "ResCommon" + }, + "fetchAccountInfo": { + "requestType": "ReqAccountInfo", + "responseType": "ResAccountInfo" + }, + "changeAvatar": { + "requestType": "ReqChangeAvatar", + "responseType": "ResCommon" + }, + "fetchAccountStatisticInfo": { + "requestType": "ReqAccountStatisticInfo", + "responseType": "ResAccountStatisticInfo" + }, + "fetchAccountCharacterInfo": { + "requestType": "ReqCommon", + "responseType": "ResAccountCharacterInfo" + }, + "shopPurchase": { + "requestType": "ReqShopPurchase", + "responseType": "ResShopPurchase" + }, + "fetchGameRecord": { + "requestType": "ReqGameRecord", + "responseType": "ResGameRecord" + }, + "fetchGameRecordList": { + "requestType": "ReqGameRecordList", + "responseType": "ResGameRecordList" + }, + "fetchCollectedGameRecordList": { + "requestType": "ReqCommon", + "responseType": "ResCollectedGameRecordList" + }, + "fetchGameRecordsDetail": { + "requestType": "ReqGameRecordsDetail", + "responseType": "ResGameRecordsDetail" + }, + "addCollectedGameRecord": { + "requestType": "ReqAddCollectedGameRecord", + "responseType": "ResAddCollectedGameRecord" + }, + "removeCollectedGameRecord": { + "requestType": "ReqRemoveCollectedGameRecord", + "responseType": "ResRemoveCollectedGameRecord" + }, + "changeCollectedGameRecordRemarks": { + "requestType": "ReqChangeCollectedGameRecordRemarks", + "responseType": "ResChangeCollectedGameRecordRemarks" + }, + "fetchLevelLeaderboard": { + "requestType": "ReqLevelLeaderboard", + "responseType": "ResLevelLeaderboard" + }, + "fetchMultiAccountBrief": { + "requestType": "ReqMultiAccountId", + "responseType": "ResMultiAccountBrief" + }, + "fetchFriendList": { + "requestType": "ReqCommon", + "responseType": "ResFriendList" + }, + "fetchFriendApplyList": { + "requestType": "ReqCommon", + "responseType": "ResFriendApplyList" + }, + "applyFriend": { + "requestType": "ReqApplyFriend", + "responseType": "ResCommon" + }, + "handleFriendApply": { + "requestType": "ReqHandleFriendApply", + "responseType": "ResCommon" + }, + "removeFriend": { + "requestType": "ReqRemoveFriend", + "responseType": "ResCommon" + }, + "searchAccountById": { + "requestType": "ReqSearchAccountById", + "responseType": "ResSearchAccountById" + }, + "searchAccountByPattern": { + "requestType": "ReqSearchAccountByPattern", + "responseType": "ResSearchAccountByPattern" + }, + "fetchAccountState": { + "requestType": "ReqAccountList", + "responseType": "ResAccountStates" + }, + "fetchBagInfo": { + "requestType": "ReqCommon", + "responseType": "ResBagInfo" + }, + "useBagItem": { + "requestType": "ReqUseBagItem", + "responseType": "ResCommon" + }, + "openManualItem": { + "requestType": "ReqOpenManualItem", + "responseType": "ResCommon" + }, + "openRandomRewardItem": { + "requestType": "ReqOpenRandomRewardItem", + "responseType": "ResOpenRandomRewardItem" + }, + "composeShard": { + "requestType": "ReqComposeShard", + "responseType": "ResCommon" + }, + "fetchAnnouncement": { + "requestType": "ReqCommon", + "responseType": "ResAnnouncement" + }, + "readAnnouncement": { + "requestType": "ReqReadAnnouncement", + "responseType": "ResCommon" + }, + "fetchMailInfo": { + "requestType": "ReqCommon", + "responseType": "ResMailInfo" + }, + "readMail": { + "requestType": "ReqReadMail", + "responseType": "ResCommon" + }, + "deleteMail": { + "requestType": "ReqDeleteMail", + "responseType": "ResCommon" + }, + "takeAttachmentFromMail": { + "requestType": "ReqTakeAttachment", + "responseType": "ResCommon" + }, + "fetchAchievement": { + "requestType": "ReqCommon", + "responseType": "ResAchievement" + }, + "buyShiLian": { + "requestType": "ReqBuyShiLian", + "responseType": "ResCommon" + }, + "matchShiLian": { + "requestType": "ReqCommon", + "responseType": "ResCommon" + }, + "goNextShiLian": { + "requestType": "ReqCommon", + "responseType": "ResCommon" + }, + "updateClientValue": { + "requestType": "ReqUpdateClientValue", + "responseType": "ResCommon" + }, + "fetchClientValue": { + "requestType": "ReqCommon", + "responseType": "ResClientValue" + }, + "clientMessage": { + "requestType": "ReqClientMessage", + "responseType": "ResCommon" + }, + "fetchCurrentMatchInfo": { + "requestType": "ReqCurrentMatchInfo", + "responseType": "ResCurrentMatchInfo" + }, + "userComplain": { + "requestType": "ReqUserComplain", + "responseType": "ResCommon" + }, + "fetchReviveCoinInfo": { + "requestType": "ReqCommon", + "responseType": "ResReviveCoinInfo" + }, + "gainReviveCoin": { + "requestType": "ReqCommon", + "responseType": "ResCommon" + }, + "fetchDailyTask": { + "requestType": "ReqCommon", + "responseType": "ResDailyTask" + }, + "refreshDailyTask": { + "requestType": "ReqRefreshDailyTask", + "responseType": "ResRefreshDailyTask" + }, + "useGiftCode": { + "requestType": "ReqUseGiftCode", + "responseType": "ResUseGiftCode" + }, + "fetchTitleList": { + "requestType": "ReqCommon", + "responseType": "ResTitleList" + }, + "useTitle": { + "requestType": "ReqUseTitle", + "responseType": "ResCommon" + }, + "sendClientMessage": { + "requestType": "ReqSendClientMessage", + "responseType": "ResCommon" + }, + "fetchGameLiveInfo": { + "requestType": "ReqGameLiveInfo", + "responseType": "ResGameLiveInfo" + }, + "fetchGameLiveLeftSegment": { + "requestType": "ReqGameLiveLeftSegment", + "responseType": "ResGameLiveLeftSegment" + }, + "fetchGameLiveList": { + "requestType": "ReqGameLiveList", + "responseType": "ResGameLiveList" + }, + "fetchCommentSetting": { + "requestType": "ReqCommon", + "responseType": "ResCommentSetting" + }, + "updateCommentSetting": { + "requestType": "ReqUpdateCommentSetting", + "responseType": "ResCommon" + }, + "fetchCommentList": { + "requestType": "ReqFetchCommentList", + "responseType": "ResFetchCommentList" + }, + "fetchCommentContent": { + "requestType": "ReqFetchCommentContent", + "responseType": "ResFetchCommentContent" + }, + "leaveComment": { + "requestType": "ReqLeaveComment", + "responseType": "ResCommon" + }, + "deleteComment": { + "requestType": "ReqDeleteComment", + "responseType": "ResCommon" + }, + "updateReadComment": { + "requestType": "ReqUpdateReadComment", + "responseType": "ResCommon" + }, + "fetchRollingNotice": { + "requestType": "ReqCommon", + "responseType": "ReqRollingNotice" + }, + "fetchServerTime": { + "requestType": "ReqCommon", + "responseType": "ResServerTime" + }, + "fetchPlatformProducts": { + "requestType": "ReqPlatformBillingProducts", + "responseType": "ResPlatformBillingProducts" + }, + "cancelGooglePlayOrder": { + "requestType": "ReqCancelGooglePlayOrder", + "responseType": "ResCommon" + }, + "openChest": { + "requestType": "ReqOpenChest", + "responseType": "ResOpenChest" + }, + "buyFromChestShop": { + "requestType": "ReqBuyFromChestShop", + "responseType": "ResBuyFromChestShop" + }, + "fetchDailySignInInfo": { + "requestType": "ReqCommon", + "responseType": "ResDailySignInInfo" + }, + "doDailySignIn": { + "requestType": "ReqCommon", + "responseType": "ResCommon" + }, + "doActivitySignIn": { + "requestType": "ReqDoActivitySignIn", + "responseType": "ResDoActivitySignIn" + }, + "fetchCharacterInfo": { + "requestType": "ReqCommon", + "responseType": "ResCharacterInfo" + }, + "changeMainCharacter": { + "requestType": "ReqChangeMainCharacter", + "responseType": "ResCommon" + }, + "changeCharacterSkin": { + "requestType": "ReqChangeCharacterSkin", + "responseType": "ResCommon" + }, + "changeCharacterView": { + "requestType": "ReqChangeCharacterView", + "responseType": "ResCommon" + }, + "sendGiftToCharacter": { + "requestType": "ReqSendGiftToCharacter", + "responseType": "ResSendGiftToCharacter" + }, + "sellItem": { + "requestType": "ReqSellItem", + "responseType": "ResCommon" + }, + "fetchCommonView": { + "requestType": "ReqCommon", + "responseType": "ResCommonView" + }, + "changeCommonView": { + "requestType": "ReqChangeCommonView", + "responseType": "ResCommon" + }, + "saveCommonViews": { + "requestType": "ReqSaveCommonViews", + "responseType": "ResCommon" + }, + "fetchCommonViews": { + "requestType": "ReqCommonViews", + "responseType": "ResCommonViews" + }, + "fetchAllCommonViews": { + "requestType": "ReqCommon", + "responseType": "ResAllcommonViews" + }, + "useCommonView": { + "requestType": "ReqUseCommonView", + "responseType": "ResCommon" + }, + "upgradeCharacter": { + "requestType": "ReqUpgradeCharacter", + "responseType": "ResUpgradeCharacter" + }, + "addFinishedEnding": { + "requestType": "ReqFinishedEnding", + "responseType": "ResCommon" + }, + "receiveEndingReward": { + "requestType": "ReqFinishedEnding", + "responseType": "ResCommon" + }, + "gameMasterCommand": { + "requestType": "ReqGMCommand", + "responseType": "ResCommon" + }, + "fetchShopInfo": { + "requestType": "ReqCommon", + "responseType": "ResShopInfo" + }, + "buyFromShop": { + "requestType": "ReqBuyFromShop", + "responseType": "ResBuyFromShop" + }, + "buyFromZHP": { + "requestType": "ReqBuyFromZHP", + "responseType": "ResCommon" + }, + "refreshZHPShop": { + "requestType": "ReqReshZHPShop", + "responseType": "ResRefreshZHPShop" + }, + "fetchMonthTicketInfo": { + "requestType": "ReqCommon", + "responseType": "ResMonthTicketInfo" + }, + "payMonthTicket": { + "requestType": "ReqPayMonthTicket", + "responseType": "ResPayMonthTicket" + }, + "exchangeCurrency": { + "requestType": "ReqExchangeCurrency", + "responseType": "ResCommon" + }, + "exchangeChestStone": { + "requestType": "ReqExchangeCurrency", + "responseType": "ResCommon" + }, + "exchangeDiamond": { + "requestType": "ReqExchangeCurrency", + "responseType": "ResCommon" + }, + "fetchServerSettings": { + "requestType": "ReqCommon", + "responseType": "ResServerSettings" + }, + "fetchAccountSettings": { + "requestType": "ReqCommon", + "responseType": "ResAccountSettings" + }, + "updateAccountSettings": { + "requestType": "ReqUpdateAccountSettings", + "responseType": "ResCommon" + }, + "fetchModNicknameTime": { + "requestType": "ReqCommon", + "responseType": "ResModNicknameTime" + }, + "createWechatNativeOrder": { + "requestType": "ReqCreateWechatNativeOrder", + "responseType": "ResCreateWechatNativeOrder" + }, + "createWechatAppOrder": { + "requestType": "ReqCreateWechatAppOrder", + "responseType": "ResCreateWechatAppOrder" + }, + "createAlipayOrder": { + "requestType": "ReqCreateAlipayOrder", + "responseType": "ResCreateAlipayOrder" + }, + "createAlipayScanOrder": { + "requestType": "ReqCreateAlipayScanOrder", + "responseType": "ResCreateAlipayScanOrder" + }, + "createAlipayAppOrder": { + "requestType": "ReqCreateAlipayAppOrder", + "responseType": "ResCreateAlipayAppOrder" + }, + "createJPCreditCardOrder": { + "requestType": "ReqCreateJPCreditCardOrder", + "responseType": "ResCreateJPCreditCardOrder" + }, + "createJPPaypalOrder": { + "requestType": "ReqCreateJPPaypalOrder", + "responseType": "ResCreateJPPaypalOrder" + }, + "createJPAuOrder": { + "requestType": "ReqCreateJPAuOrder", + "responseType": "ResCreateJPAuOrder" + }, + "createJPDocomoOrder": { + "requestType": "ReqCreateJPDocomoOrder", + "responseType": "ResCreateJPDocomoOrder" + }, + "createJPWebMoneyOrder": { + "requestType": "ReqCreateJPWebMoneyOrder", + "responseType": "ResCreateJPWebMoneyOrder" + }, + "createJPSoftbankOrder": { + "requestType": "ReqCreateJPSoftbankOrder", + "responseType": "ResCreateJPSoftbankOrder" + }, + "createENPaypalOrder": { + "requestType": "ReqCreateENPaypalOrder", + "responseType": "ResCreateENPaypalOrder" + }, + "createENMasterCardOrder": { + "requestType": "ReqCreateENMasterCardOrder", + "responseType": "ResCreateENMasterCardOrder" + }, + "createENVisaOrder": { + "requestType": "ReqCreateENVisaOrder", + "responseType": "ResCreateENVisaOrder" + }, + "createENJCBOrder": { + "requestType": "ReqCreateENJCBOrder", + "responseType": "ResCreateENJCBOrder" + }, + "createENAlipayOrder": { + "requestType": "ReqCreateENAlipayOrder", + "responseType": "ResCreateENAlipayOrder" + }, + "createDMMOrder": { + "requestType": "ReqCreateDMMOrder", + "responseType": "ResCreateDmmOrder" + }, + "createIAPOrder": { + "requestType": "ReqCreateIAPOrder", + "responseType": "ResCreateIAPOrder" + }, + "createMyCardAndroidOrder": { + "requestType": "ReqCreateMyCardOrder", + "responseType": "ResCreateMyCardOrder" + }, + "createMyCardWebOrder": { + "requestType": "ReqCreateMyCardOrder", + "responseType": "ResCreateMyCardOrder" + }, + "verifyMyCardOrder": { + "requestType": "ReqVerifyMyCardOrder", + "responseType": "ResCommon" + }, + "verificationIAPOrder": { + "requestType": "ReqVerificationIAPOrder", + "responseType": "ResVerificationIAPOrder" + }, + "createYostarSDKOrder": { + "requestType": "ReqCreateYostarOrder", + "responseType": "ResCreateYostarOrder" + }, + "createBillingOrder": { + "requestType": "ReqCreateBillingOrder", + "responseType": "ResCreateBillingOrder" + }, + "solveGooglePlayOrder": { + "requestType": "ReqSolveGooglePlayOrder", + "responseType": "ResCommon" + }, + "solveGooglePayOrderV3": { + "requestType": "ReqSolveGooglePlayOrderV3", + "responseType": "ResCommon" + }, + "fetchMisc": { + "requestType": "ReqCommon", + "responseType": "ResMisc" + }, + "modifySignature": { + "requestType": "ReqModifySignature", + "responseType": "ResCommon" + }, + "fetchIDCardInfo": { + "requestType": "ReqCommon", + "responseType": "ResIDCardInfo" + }, + "updateIDCardInfo": { + "requestType": "ReqUpdateIDCardInfo", + "responseType": "ResCommon" + }, + "fetchVipReward": { + "requestType": "ReqCommon", + "responseType": "ResVipReward" + }, + "gainVipReward": { + "requestType": "ReqGainVipReward", + "responseType": "ResCommon" + }, + "fetchCustomizedContestList": { + "requestType": "ReqFetchCustomizedContestList", + "responseType": "ResFetchCustomizedContestList" + }, + "fetchCustomizedContestExtendInfo": { + "requestType": "ReqFetchCustomizedContestExtendInfo", + "responseType": "ResFetchCustomizedContestExtendInfo" + }, + "fetchCustomizedContestAuthInfo": { + "requestType": "ReqFetchCustomizedContestAuthInfo", + "responseType": "ResFetchCustomizedContestAuthInfo" + }, + "enterCustomizedContest": { + "requestType": "ReqEnterCustomizedContest", + "responseType": "ResEnterCustomizedContest" + }, + "leaveCustomizedContest": { + "requestType": "ReqCommon", + "responseType": "ResCommon" + }, + "fetchCustomizedContestOnlineInfo": { + "requestType": "ReqFetchCustomizedContestOnlineInfo", + "responseType": "ResFetchCustomizedContestOnlineInfo" + }, + "fetchCustomizedContestByContestId": { + "requestType": "ReqFetchCustomizedContestByContestId", + "responseType": "ResFetchCustomizedContestByContestId" + }, + "startCustomizedContest": { + "requestType": "ReqStartCustomizedContest", + "responseType": "ResCommon" + }, + "stopCustomizedContest": { + "requestType": "ReqCommon", + "responseType": "ResCommon" + }, + "joinCustomizedContestChatRoom": { + "requestType": "ReqJoinCustomizedContestChatRoom", + "responseType": "ResJoinCustomizedContestChatRoom" + }, + "leaveCustomizedContestChatRoom": { + "requestType": "ReqCommon", + "responseType": "ResCommon" + }, + "sayChatMessage": { + "requestType": "ReqSayChatMessage", + "responseType": "ResCommon" + }, + "fetchCustomizedContestGameRecords": { + "requestType": "ReqFetchCustomizedContestGameRecords", + "responseType": "ResFetchCustomizedContestGameRecords" + }, + "fetchCustomizedContestGameLiveList": { + "requestType": "ReqFetchCustomizedContestGameLiveList", + "responseType": "ResFetchCustomizedContestGameLiveList" + }, + "followCustomizedContest": { + "requestType": "ReqTargetCustomizedContest", + "responseType": "ResCommon" + }, + "unfollowCustomizedContest": { + "requestType": "ReqTargetCustomizedContest", + "responseType": "ResCommon" + }, + "fetchActivityList": { + "requestType": "ReqCommon", + "responseType": "ResActivityList" + }, + "fetchAccountActivityData": { + "requestType": "ReqCommon", + "responseType": "ResAccountActivityData" + }, + "exchangeActivityItem": { + "requestType": "ReqExchangeActivityItem", + "responseType": "ResExchangeActivityItem" + }, + "completeActivityTask": { + "requestType": "ReqCompleteActivityTask", + "responseType": "ResCommon" + }, + "completeActivityFlipTask": { + "requestType": "ReqCompleteActivityTask", + "responseType": "ResCommon" + }, + "completePeriodActivityTask": { + "requestType": "ReqCompleteActivityTask", + "responseType": "ResCommon" + }, + "completeRandomActivityTask": { + "requestType": "ReqCompleteActivityTask", + "responseType": "ResCommon" + }, + "receiveActivityFlipTask": { + "requestType": "ReqReceiveActivityFlipTask", + "responseType": "ResReceiveActivityFlipTask" + }, + "fetchActivityFlipInfo": { + "requestType": "ReqFetchActivityFlipInfo", + "responseType": "ResFetchActivityFlipInfo" + }, + "gainAccumulatedPointActivityReward": { + "requestType": "ReqGainAccumulatedPointActivityReward", + "responseType": "ResCommon" + }, + "fetchRankPointLeaderboard": { + "requestType": "ReqFetchRankPointLeaderboard", + "responseType": "ResFetchRankPointLeaderboard" + }, + "gainRankPointReward": { + "requestType": "ReqGainRankPointReward", + "responseType": "ResCommon" + }, + "richmanActivityNextMove": { + "requestType": "ReqRichmanNextMove", + "responseType": "ResRichmanNextMove" + }, + "richmanAcitivitySpecialMove": { + "requestType": "ReqRichmanSpecialMove", + "responseType": "ResRichmanNextMove" + }, + "richmanActivityChestInfo": { + "requestType": "ReqRichmanChestInfo", + "responseType": "ResRichmanChestInfo" + }, + "createGameObserveAuth": { + "requestType": "ReqCreateGameObserveAuth", + "responseType": "ResCreateGameObserveAuth" + }, + "refreshGameObserveAuth": { + "requestType": "ReqRefreshGameObserveAuth", + "responseType": "ResRefreshGameObserveAuth" + } + } + }, + "ResConnectionInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "client_endpoint": { + "type": "NetworkEndpoint", + "id": 2 + } + } + }, + "ReqSignupAccount": { + "fields": { + "account": { + "type": "string", + "id": 1 + }, + "password": { + "type": "string", + "id": 2 + }, + "code": { + "type": "string", + "id": 3 + }, + "type": { + "type": "uint32", + "id": 4 + } + } + }, + "ResSignupAccount": { + "fields": { + "error": { + "type": "Error", + "id": 1 + } + } + }, + "ReqLogin": { + "fields": { + "account": { + "type": "string", + "id": 1 + }, + "password": { + "type": "string", + "id": 2 + }, + "reconnect": { + "type": "bool", + "id": 3 + }, + "device": { + "type": "ClientDeviceInfo", + "id": 4 + }, + "random_key": { + "type": "string", + "id": 5 + }, + "client_version": { + "type": "string", + "id": 6 + }, + "gen_access_token": { + "type": "bool", + "id": 7 + }, + "currency_platforms": { + "rule": "repeated", + "type": "uint32", + "id": 8 + }, + "type": { + "type": "uint32", + "id": 9 + } + } + }, + "ResLogin": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "account_id": { + "type": "uint32", + "id": 2 + }, + "account": { + "type": "Account", + "id": 3 + }, + "game_info": { + "type": "GameConnectInfo", + "id": 4 + }, + "has_unread_announcement": { + "type": "bool", + "id": 5 + }, + "access_token": { + "type": "string", + "id": 6 + }, + "signup_time": { + "type": "uint32", + "id": 7 + }, + "is_id_card_authed": { + "type": "bool", + "id": 8 + } + } + }, + "ReqEmailLogin": { + "fields": { + "email": { + "type": "string", + "id": 1 + }, + "password": { + "type": "string", + "id": 2 + }, + "reconnect": { + "type": "bool", + "id": 3 + }, + "device": { + "type": "ClientDeviceInfo", + "id": 4 + }, + "random_key": { + "type": "string", + "id": 5 + }, + "client_version": { + "type": "string", + "id": 6 + }, + "gen_access_token": { + "type": "bool", + "id": 7 + }, + "currency_platforms": { + "rule": "repeated", + "type": "uint32", + "id": 8 + } + } + }, + "ReqBindAccount": { + "fields": { + "account": { + "type": "string", + "id": 1 + }, + "password": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreatePhoneVerifyCode": { + "fields": { + "phone": { + "type": "string", + "id": 1 + }, + "usage": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqCreateEmailVerifyCode": { + "fields": { + "email": { + "type": "string", + "id": 1 + }, + "usage": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqVerifyCodeForSecure": { + "fields": { + "code": { + "type": "string", + "id": 1 + }, + "operation": { + "type": "uint32", + "id": 2 + } + } + }, + "ResVerfiyCodeForSecure": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "secure_token": { + "type": "string", + "id": 2 + } + } + }, + "ReqBindPhoneNumber": { + "fields": { + "code": { + "type": "string", + "id": 1 + }, + "phone": { + "type": "string", + "id": 2 + }, + "password": { + "type": "string", + "id": 3 + }, + "multi_bind_version": { + "type": "bool", + "id": 4 + } + } + }, + "ReqUnbindPhoneNumber": { + "fields": { + "code": { + "type": "string", + "id": 1 + }, + "phone": { + "type": "string", + "id": 2 + }, + "password": { + "type": "string", + "id": 3 + } + } + }, + "ResFetchPhoneLoginBind": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "phone_login": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqCreatePhoneLoginBind": { + "fields": { + "password": { + "type": "string", + "id": 1 + } + } + }, + "ReqBindEmail": { + "fields": { + "email": { + "type": "string", + "id": 1 + }, + "code": { + "type": "string", + "id": 2 + }, + "password": { + "type": "string", + "id": 3 + } + } + }, + "ReqModifyPassword": { + "fields": { + "new_password": { + "type": "string", + "id": 1 + }, + "old_password": { + "type": "string", + "id": 2 + }, + "secure_token": { + "type": "string", + "id": 3 + } + } + }, + "ReqOauth2Auth": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "code": { + "type": "string", + "id": 2 + }, + "uid": { + "type": "string", + "id": 3 + } + } + }, + "ResOauth2Auth": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "access_token": { + "type": "string", + "id": 2 + } + } + }, + "ReqOauth2Check": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "access_token": { + "type": "string", + "id": 2 + } + } + }, + "ResOauth2Check": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "has_account": { + "type": "bool", + "id": 2 + } + } + }, + "ReqOauth2Signup": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "access_token": { + "type": "string", + "id": 2 + }, + "email": { + "type": "string", + "id": 3 + }, + "advertise_str": { + "type": "string", + "id": 4 + } + } + }, + "ResOauth2Signup": { + "fields": { + "error": { + "type": "Error", + "id": 1 + } + } + }, + "ReqOauth2Login": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "access_token": { + "type": "string", + "id": 2 + }, + "reconnect": { + "type": "bool", + "id": 3 + }, + "device": { + "type": "ClientDeviceInfo", + "id": 4 + }, + "random_key": { + "type": "string", + "id": 5 + }, + "client_version": { + "type": "string", + "id": 6 + }, + "currency_platforms": { + "rule": "repeated", + "type": "uint32", + "id": 8 + } + } + }, + "ReqDMMPreLogin": { + "fields": { + "finish_url": { + "type": "string", + "id": 1 + } + } + }, + "ResDMMPreLogin": { + "fields": { + "parameter": { + "type": "string", + "id": 1 + } + } + }, + "ReqLogout": { + "fields": {} + }, + "ResLogout": { + "fields": { + "error": { + "type": "Error", + "id": 1 + } + } + }, + "ReqHeatBeat": { + "fields": { + "no_operation_counter": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqLoginBeat": { + "fields": { + "contract": { + "type": "string", + "id": 1 + } + } + }, + "ReqJoinMatchQueue": { + "fields": { + "match_mode": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqCancelMatchQueue": { + "fields": { + "match_mode": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqAccountInfo": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResAccountInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "account": { + "type": "Account", + "id": 2 + }, + "room": { + "type": "Room", + "id": 3 + } + } + }, + "ReqCreateNickname": { + "fields": { + "nickname": { + "type": "string", + "id": 1 + }, + "advertise_str": { + "type": "string", + "id": 2 + } + } + }, + "ReqModifyNickname": { + "fields": { + "nickname": { + "type": "string", + "id": 1 + }, + "use_item_id": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqModifyBirthday": { + "fields": { + "birthday": { + "type": "int32", + "id": 1 + } + } + }, + "ResSelfRoom": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "room": { + "type": "Room", + "id": 2 + } + } + }, + "ReqCreateRoom": { + "fields": { + "player_count": { + "type": "uint32", + "id": 1 + }, + "mode": { + "type": "GameMode", + "id": 2 + }, + "public_live": { + "type": "bool", + "id": 3 + } + } + }, + "ResCreateRoom": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "room": { + "type": "Room", + "id": 2 + } + } + }, + "ReqJoinRoom": { + "fields": { + "room_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResJoinRoom": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "room": { + "type": "Room", + "id": 2 + } + } + }, + "ReqRoomReady": { + "fields": { + "ready": { + "type": "bool", + "id": 1 + } + } + }, + "ReqRoomDressing": { + "fields": { + "dressing": { + "type": "bool", + "id": 1 + } + } + }, + "ReqRoomStart": { + "fields": {} + }, + "ReqRoomKick": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqModifyRoom": { + "fields": { + "robot_count": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqChangeAvatar": { + "fields": { + "avatar_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqAccountStatisticInfo": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResAccountStatisticInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "statistic_data": { + "rule": "repeated", + "type": "AccountStatisticData", + "id": 2 + }, + "detail_data": { + "type": "AccountDetailStatisticV2", + "id": 3 + } + } + }, + "ResAccountCharacterInfo": { + "fields": { + "unlock_list": { + "rule": "repeated", + "type": "uint32", + "id": 1 + } + } + }, + "ReqShopPurchase": { + "fields": { + "type": { + "type": "string", + "id": 1 + }, + "id": { + "type": "uint32", + "id": 2 + } + } + }, + "ResShopPurchase": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "update": { + "type": "AccountUpdate", + "id": 2 + } + } + }, + "ReqGameRecord": { + "fields": { + "game_uuid": { + "type": "string", + "id": 1 + } + } + }, + "ResGameRecord": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "head": { + "type": "RecordGame", + "id": 3 + }, + "data": { + "type": "bytes", + "id": 4 + }, + "data_url": { + "type": "string", + "id": 5 + } + } + }, + "ReqGameRecordList": { + "fields": { + "start": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + }, + "type": { + "type": "uint32", + "id": 3 + } + } + }, + "ResGameRecordList": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "total_count": { + "type": "uint32", + "id": 2 + }, + "record_list": { + "rule": "repeated", + "type": "RecordGame", + "id": 3 + } + } + }, + "ResCollectedGameRecordList": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "record_list": { + "rule": "repeated", + "type": "RecordCollectedData", + "id": 2 + }, + "record_collect_limit": { + "type": "uint32", + "id": 3 + } + } + }, + "ReqGameRecordsDetail": { + "fields": { + "uuid_list": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } + }, + "ResGameRecordsDetail": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "record_list": { + "rule": "repeated", + "type": "RecordGame", + "id": 2 + } + } + }, + "ReqAddCollectedGameRecord": { + "fields": { + "uuid": { + "type": "string", + "id": 1 + }, + "remarks": { + "type": "string", + "id": 2 + }, + "start_time": { + "type": "uint32", + "id": 3 + }, + "end_time": { + "type": "uint32", + "id": 4 + } + } + }, + "ResAddCollectedGameRecord": { + "fields": { + "error": { + "type": "Error", + "id": 1 + } + } + }, + "ReqRemoveCollectedGameRecord": { + "fields": { + "uuid": { + "type": "string", + "id": 1 + } + } + }, + "ResRemoveCollectedGameRecord": { + "fields": { + "error": { + "type": "Error", + "id": 1 + } + } + }, + "ReqChangeCollectedGameRecordRemarks": { + "fields": { + "uuid": { + "type": "string", + "id": 1 + }, + "remarks": { + "type": "string", + "id": 2 + } + } + }, + "ResChangeCollectedGameRecordRemarks": { + "fields": { + "error": { + "type": "Error", + "id": 1 + } + } + }, + "ReqLevelLeaderboard": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + } + } + }, + "ResLevelLeaderboard": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "items": { + "rule": "repeated", + "type": "Item", + "id": 2 + }, + "self_rank": { + "type": "uint32", + "id": 3 + } + }, + "nested": { + "Item": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "level": { + "type": "AccountLevel", + "id": 2 + } + } + } + } + }, + "ReqMultiAccountId": { + "fields": { + "account_id_list": { + "rule": "repeated", + "type": "uint32", + "id": 1 + } + } + }, + "ResMultiAccountBrief": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "players": { + "rule": "repeated", + "type": "PlayerBaseView", + "id": 2 + } + } + }, + "ResFriendList": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "friends": { + "rule": "repeated", + "type": "Friend", + "id": 2 + }, + "friend_max_count": { + "type": "uint32", + "id": 3 + } + } + }, + "ResFriendApplyList": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "applies": { + "rule": "repeated", + "type": "FriendApply", + "id": 2 + } + }, + "nested": { + "FriendApply": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "apply_time": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "ReqApplyFriend": { + "fields": { + "target_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqHandleFriendApply": { + "fields": { + "target_id": { + "type": "uint32", + "id": 1 + }, + "method": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqRemoveFriend": { + "fields": { + "target_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqSearchAccountByPattern": { + "fields": { + "search_next": { + "type": "bool", + "id": 1 + }, + "pattern": { + "type": "string", + "id": 2 + } + } + }, + "ResSearchAccountByPattern": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "is_finished": { + "type": "bool", + "id": 2 + }, + "match_accounts": { + "rule": "repeated", + "type": "uint32", + "id": 3 + }, + "decode_id": { + "type": "uint32", + "id": 4 + } + } + }, + "ReqAccountList": { + "fields": { + "account_id_list": { + "rule": "repeated", + "type": "uint32", + "id": 1 + } + } + }, + "ResAccountStates": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "states": { + "rule": "repeated", + "type": "AccountActiveState", + "id": 2 + } + } + }, + "ReqSearchAccountById": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResSearchAccountById": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "player": { + "type": "PlayerBaseView", + "id": 2 + } + } + }, + "ResBagInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "bag": { + "type": "Bag", + "id": 2 + } + } + }, + "ReqUseBagItem": { + "fields": { + "item_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqOpenManualItem": { + "fields": { + "item_id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + }, + "select_id": { + "type": "uint32", + "id": 3 + } + } + }, + "ReqOpenRandomRewardItem": { + "fields": { + "item_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResOpenRandomRewardItem": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "results": { + "rule": "repeated", + "type": "OpenResult", + "id": 2 + } + } + }, + "ReqComposeShard": { + "fields": { + "item_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResAnnouncement": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "announcements": { + "rule": "repeated", + "type": "Announcement", + "id": 2 + }, + "sort": { + "rule": "repeated", + "type": "uint32", + "id": 3 + }, + "read_list": { + "rule": "repeated", + "type": "uint32", + "id": 4 + } + } + }, + "ResMailInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "mails": { + "rule": "repeated", + "type": "Mail", + "id": 2 + } + } + }, + "ReqReadMail": { + "fields": { + "mail_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqDeleteMail": { + "fields": { + "mail_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqTakeAttachment": { + "fields": { + "mail_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResAchievement": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "progresses": { + "rule": "repeated", + "type": "AchievementProgress", + "id": 2 + } + } + }, + "ResTitleList": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "title_list": { + "rule": "repeated", + "type": "uint32", + "id": 2 + } + } + }, + "ReqUseTitle": { + "fields": { + "title": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqBuyShiLian": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqUpdateClientValue": { + "fields": { + "key": { + "type": "uint32", + "id": 1 + }, + "value": { + "type": "uint32", + "id": 2 + } + } + }, + "ResClientValue": { + "fields": { + "datas": { + "rule": "repeated", + "type": "Value", + "id": 1 + }, + "recharged_count": { + "type": "uint32", + "id": 2 + } + }, + "nested": { + "Value": { + "fields": { + "key": { + "type": "uint32", + "id": 1 + }, + "value": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "ReqClientMessage": { + "fields": { + "timestamp": { + "type": "uint32", + "id": 1 + }, + "message": { + "type": "string", + "id": 2 + } + } + }, + "ReqCurrentMatchInfo": { + "fields": { + "mode_list": { + "rule": "repeated", + "type": "uint32", + "id": 1 + } + } + }, + "ResCurrentMatchInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "matches": { + "rule": "repeated", + "type": "CurrentMatchInfo", + "id": 2 + } + }, + "nested": { + "CurrentMatchInfo": { + "fields": { + "mode_id": { + "type": "uint32", + "id": 1 + }, + "playing_count": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "ReqUserComplain": { + "fields": { + "target_id": { + "type": "uint32", + "id": 1 + }, + "type": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqReadAnnouncement": { + "fields": { + "announcement_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResReviveCoinInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "has_gained": { + "type": "bool", + "id": 2 + } + } + }, + "ResDailyTask": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "progresses": { + "rule": "repeated", + "type": "TaskProgress", + "id": 2 + }, + "has_refresh_count": { + "type": "bool", + "id": 3 + }, + "max_daily_task_count": { + "type": "uint32", + "id": 4 + }, + "refresh_count": { + "type": "uint32", + "id": 5 + } + } + }, + "ReqRefreshDailyTask": { + "fields": { + "task_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResRefreshDailyTask": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "progress": { + "type": "TaskProgress", + "id": 2 + }, + "refresh_count": { + "type": "uint32", + "id": 3 + } + } + }, + "ReqUseGiftCode": { + "fields": { + "code": { + "type": "string", + "id": 1 + } + } + }, + "ResUseGiftCode": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "rewards": { + "rule": "repeated", + "type": "RewardSlot", + "id": 6 + } + } + }, + "ReqSendClientMessage": { + "fields": { + "target_id": { + "type": "uint32", + "id": 1 + }, + "type": { + "type": "uint32", + "id": 2 + }, + "content": { + "type": "string", + "id": 3 + } + } + }, + "ReqGameLiveInfo": { + "fields": { + "game_uuid": { + "type": "string", + "id": 1 + } + } + }, + "ResGameLiveInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "left_start_seconds": { + "type": "uint32", + "id": 2 + }, + "live_head": { + "type": "GameLiveHead", + "id": 3 + }, + "segments": { + "rule": "repeated", + "type": "GameLiveSegmentUri", + "id": 4 + }, + "now_millisecond": { + "type": "uint32", + "id": 5 + } + } + }, + "ReqGameLiveLeftSegment": { + "fields": { + "game_uuid": { + "type": "string", + "id": 1 + }, + "last_segment_id": { + "type": "uint32", + "id": 2 + } + } + }, + "ResGameLiveLeftSegment": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "live_state": { + "type": "uint32", + "id": 2 + }, + "segments": { + "rule": "repeated", + "type": "GameLiveSegmentUri", + "id": 4 + }, + "now_millisecond": { + "type": "uint32", + "id": 5 + }, + "segment_end_millisecond": { + "type": "uint32", + "id": 6 + } + } + }, + "ReqGameLiveList": { + "fields": { + "filter_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResGameLiveList": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "live_list": { + "rule": "repeated", + "type": "GameLiveHead", + "id": 2 + } + } + }, + "ResCommentSetting": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "comment_allow": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqUpdateCommentSetting": { + "fields": { + "comment_allow": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqFetchCommentList": { + "fields": { + "target_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResFetchCommentList": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "comment_allow": { + "type": "uint32", + "id": 2 + }, + "comment_id_list": { + "rule": "repeated", + "type": "uint32", + "id": 3 + }, + "last_read_id": { + "type": "uint32", + "id": 4 + } + } + }, + "ReqFetchCommentContent": { + "fields": { + "target_id": { + "type": "uint32", + "id": 1 + }, + "comment_id_list": { + "rule": "repeated", + "type": "uint32", + "id": 2 + } + } + }, + "ResFetchCommentContent": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "comments": { + "rule": "repeated", + "type": "CommentItem", + "id": 2 + } + } + }, + "ReqLeaveComment": { + "fields": { + "target_id": { + "type": "uint32", + "id": 1 + }, + "content": { + "type": "string", + "id": 2 + } + } + }, + "ReqDeleteComment": { + "fields": { + "target_id": { + "type": "uint32", + "id": 1 + }, + "delete_list": { + "rule": "repeated", + "type": "uint32", + "id": 2 + } + } + }, + "ReqUpdateReadComment": { + "fields": { + "read_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqRollingNotice": { + "fields": { + "notice": { + "type": "RollingNotice", + "id": 1 + } + } + }, + "ResServerTime": { + "fields": { + "server_time": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqPlatformBillingProducts": { + "fields": { + "shelves_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResPlatformBillingProducts": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "products": { + "rule": "repeated", + "type": "BillingProduct", + "id": 2 + } + } + }, + "ReqCreateBillingOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "payment_platform": { + "type": "uint32", + "id": 2 + }, + "client_type": { + "type": "uint32", + "id": 3 + }, + "account_id": { + "type": "uint32", + "id": 4 + } + } + }, + "ResCreateBillingOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + } + } + }, + "ReqSolveGooglePlayOrder": { + "fields": { + "inapp_purchase_data": { + "type": "string", + "id": 2 + }, + "inapp_data_signature": { + "type": "string", + "id": 3 + } + } + }, + "ReqSolveGooglePlayOrderV3": { + "fields": { + "order_id": { + "type": "string", + "id": 1 + }, + "transaction_id": { + "type": "string", + "id": 2 + }, + "token": { + "type": "string", + "id": 3 + }, + "account_id": { + "type": "uint32", + "id": 4 + } + } + }, + "ReqCancelGooglePlayOrder": { + "fields": { + "order_id": { + "type": "string", + "id": 1 + } + } + }, + "ReqCreateWechatNativeOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "account_ip": { + "type": "string", + "id": 4 + } + } + }, + "ResCreateWechatNativeOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "qrcode_buffer": { + "type": "string", + "id": 2 + }, + "order_id": { + "type": "string", + "id": 3 + } + } + }, + "ReqCreateWechatAppOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "account_ip": { + "type": "string", + "id": 4 + } + } + }, + "ResCreateWechatAppOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "call_wechat_app_param": { + "type": "CallWechatAppParam", + "id": 2 + } + }, + "nested": { + "CallWechatAppParam": { + "fields": { + "appid": { + "type": "string", + "id": 1 + }, + "partnerid": { + "type": "string", + "id": 2 + }, + "prepayid": { + "type": "string", + "id": 3 + }, + "package": { + "type": "string", + "id": 4 + }, + "noncestr": { + "type": "string", + "id": 5 + }, + "timestamp": { + "type": "string", + "id": 6 + }, + "sign": { + "type": "string", + "id": 7 + } + } + } + } + }, + "ReqCreateAlipayOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "alipay_trade_type": { + "type": "string", + "id": 4 + }, + "return_url": { + "type": "string", + "id": 5 + } + } + }, + "ResCreateAlipayOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "alipay_url": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreateAlipayScanOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + } + } + }, + "ResCreateAlipayScanOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "qrcode_buffer": { + "type": "string", + "id": 2 + }, + "order_id": { + "type": "string", + "id": 3 + }, + "qr_code": { + "type": "string", + "id": 4 + } + } + }, + "ReqCreateAlipayAppOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + } + } + }, + "ResCreateAlipayAppOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "alipay_url": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreateJPCreditCardOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "return_url": { + "type": "string", + "id": 4 + }, + "access_token": { + "type": "string", + "id": 5 + } + } + }, + "ResCreateJPCreditCardOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreateJPPaypalOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "return_url": { + "type": "string", + "id": 4 + }, + "access_token": { + "type": "string", + "id": 5 + } + } + }, + "ResCreateJPPaypalOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreateJPAuOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "return_url": { + "type": "string", + "id": 4 + }, + "access_token": { + "type": "string", + "id": 5 + } + } + }, + "ResCreateJPAuOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreateJPDocomoOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "return_url": { + "type": "string", + "id": 4 + }, + "access_token": { + "type": "string", + "id": 5 + } + } + }, + "ResCreateJPDocomoOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreateJPWebMoneyOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "return_url": { + "type": "string", + "id": 4 + }, + "access_token": { + "type": "string", + "id": 5 + } + } + }, + "ResCreateJPWebMoneyOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreateJPSoftbankOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "return_url": { + "type": "string", + "id": 4 + }, + "access_token": { + "type": "string", + "id": 5 + } + } + }, + "ResCreateJPSoftbankOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreateYostarOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "order_type": { + "type": "uint32", + "id": 4 + } + } + }, + "ResCreateYostarOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreateENPaypalOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "return_url": { + "type": "string", + "id": 4 + }, + "access_token": { + "type": "string", + "id": 5 + } + } + }, + "ResCreateENPaypalOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreateENJCBOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "return_url": { + "type": "string", + "id": 4 + }, + "access_token": { + "type": "string", + "id": 5 + } + } + }, + "ResCreateENJCBOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreateENMasterCardOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "return_url": { + "type": "string", + "id": 4 + }, + "access_token": { + "type": "string", + "id": 5 + } + } + }, + "ResCreateENMasterCardOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreateENVisaOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "return_url": { + "type": "string", + "id": 4 + }, + "access_token": { + "type": "string", + "id": 5 + } + } + }, + "ResCreateENVisaOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreateENAlipayOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "return_url": { + "type": "string", + "id": 4 + }, + "access_token": { + "type": "string", + "id": 5 + } + } + }, + "ResCreateENAlipayOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + } + } + }, + "ReqCreateDMMOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "account_id": { + "type": "uint32", + "id": 2 + }, + "client_type": { + "type": "uint32", + "id": 3 + } + } + }, + "ResCreateDmmOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + }, + "transaction_id": { + "type": "string", + "id": 3 + }, + "dmm_user_id": { + "type": "string", + "id": 4 + }, + "token": { + "type": "string", + "id": 5 + }, + "callback_url": { + "type": "string", + "id": 6 + }, + "request_time": { + "type": "string", + "id": 9 + }, + "dmm_app_id": { + "type": "string", + "id": 10 + } + } + }, + "ReqCreateIAPOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + }, + "access_token": { + "type": "string", + "id": 4 + } + } + }, + "ResCreateIAPOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "order_id": { + "type": "string", + "id": 2 + } + } + }, + "ReqVerificationIAPOrder": { + "fields": { + "order_id": { + "type": "string", + "id": 1 + }, + "transaction_id": { + "type": "string", + "id": 2 + }, + "receipt_data": { + "type": "string", + "id": 3 + }, + "account_id": { + "type": "uint32", + "id": 4 + } + } + }, + "ResVerificationIAPOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + } + } + }, + "ReqCreateMyCardOrder": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "client_type": { + "type": "uint32", + "id": 2 + }, + "account_id": { + "type": "uint32", + "id": 3 + } + } + }, + "ResCreateMyCardOrder": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "auth_code": { + "type": "string", + "id": 2 + }, + "order_id": { + "type": "string", + "id": 3 + } + } + }, + "ReqVerifyMyCardOrder": { + "fields": { + "order_id": { + "type": "string", + "id": 1 + }, + "account_id": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqOpenChest": { + "fields": { + "chest_id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + }, + "use_ticket": { + "type": "bool", + "id": 3 + } + } + }, + "ResOpenChest": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "results": { + "rule": "repeated", + "type": "OpenResult", + "id": 2 + }, + "total_open_count": { + "type": "uint32", + "id": 3 + }, + "faith_count": { + "type": "uint32", + "id": 4 + } + } + }, + "ReqBuyFromChestShop": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + }, + "ResBuyFromChestShop": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "chest_id": { + "type": "uint32", + "id": 2 + }, + "consume_count": { + "type": "uint32", + "id": 3 + }, + "faith_count": { + "type": "uint32", + "id": 4 + } + } + }, + "ResDailySignInInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "sign_in_days": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqDoActivitySignIn": { + "fields": { + "activity_id": { + "type": "uint32", + "id": 2 + } + } + }, + "ResDoActivitySignIn": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "rewards": { + "rule": "repeated", + "type": "RewardData", + "id": 2 + }, + "sign_in_count": { + "type": "uint32", + "id": 3 + } + }, + "nested": { + "RewardData": { + "fields": { + "resource_id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "ResCharacterInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "characters": { + "rule": "repeated", + "type": "Character", + "id": 2 + }, + "skins": { + "rule": "repeated", + "type": "uint32", + "id": 3 + }, + "main_character_id": { + "type": "uint32", + "id": 4 + }, + "send_gift_count": { + "type": "uint32", + "id": 5 + }, + "send_gift_limit": { + "type": "uint32", + "id": 6 + }, + "finished_endings": { + "rule": "repeated", + "type": "uint32", + "id": 7 + }, + "rewarded_endings": { + "rule": "repeated", + "type": "uint32", + "id": 8 + } + } + }, + "ReqChangeMainCharacter": { + "fields": { + "character_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqChangeCharacterSkin": { + "fields": { + "character_id": { + "type": "uint32", + "id": 1 + }, + "skin": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqChangeCharacterView": { + "fields": { + "character_id": { + "type": "uint32", + "id": 1 + }, + "slot": { + "type": "uint32", + "id": 2 + }, + "item_id": { + "type": "uint32", + "id": 3 + } + } + }, + "ReqSendGiftToCharacter": { + "fields": { + "character_id": { + "type": "uint32", + "id": 1 + }, + "gifts": { + "rule": "repeated", + "type": "Gift", + "id": 2 + } + }, + "nested": { + "Gift": { + "fields": { + "item_id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "ResSendGiftToCharacter": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "level": { + "type": "uint32", + "id": 2 + }, + "exp": { + "type": "uint32", + "id": 3 + } + } + }, + "ReqSellItem": { + "fields": { + "sells": { + "rule": "repeated", + "type": "Item", + "id": 1 + } + }, + "nested": { + "Item": { + "fields": { + "item_id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "ResCommonView": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "slots": { + "rule": "repeated", + "type": "Slot", + "id": 2 + } + }, + "nested": { + "Slot": { + "fields": { + "slot": { + "type": "uint32", + "id": 1 + }, + "value": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "ReqChangeCommonView": { + "fields": { + "slot": { + "type": "uint32", + "id": 1 + }, + "value": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqSaveCommonViews": { + "fields": { + "views": { + "rule": "repeated", + "type": "ViewSlot", + "id": 1 + }, + "save_index": { + "type": "uint32", + "id": 2 + }, + "is_use": { + "type": "uint32", + "id": 3 + } + } + }, + "ReqCommonViews": { + "fields": { + "index": { + "type": "uint32", + "id": 1 + } + } + }, + "ResCommonViews": { + "fields": { + "views": { + "rule": "repeated", + "type": "ViewSlot", + "id": 1 + } + } + }, + "ResAllcommonViews": { + "fields": { + "views": { + "rule": "repeated", + "type": "Views", + "id": 1 + }, + "use": { + "type": "uint32", + "id": 2 + }, + "error": { + "type": "Error", + "id": 3 + } + }, + "nested": { + "Views": { + "fields": { + "values": { + "rule": "repeated", + "type": "ViewSlot", + "id": 1 + }, + "index": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "ReqUseCommonView": { + "fields": { + "index": { + "type": "uint32", + "id": 3 + } + } + }, + "ReqUpgradeCharacter": { + "fields": { + "character_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResUpgradeCharacter": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "character": { + "type": "Character", + "id": 2 + } + } + }, + "ReqFinishedEnding": { + "fields": { + "character_id": { + "type": "uint32", + "id": 1 + }, + "story_id": { + "type": "uint32", + "id": 2 + }, + "ending_id": { + "type": "uint32", + "id": 3 + } + } + }, + "ReqGMCommand": { + "fields": { + "command": { + "type": "string", + "id": 1 + } + } + }, + "ResShopInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "shop_info": { + "type": "ShopInfo", + "id": 2 + } + } + }, + "ReqBuyFromShop": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + }, + "bill_short_cut": { + "rule": "repeated", + "type": "BillShortcut", + "id": 3 + }, + "deal_price": { + "type": "uint32", + "id": 4 + } + } + }, + "ResBuyFromShop": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "rewards": { + "rule": "repeated", + "type": "RewardSlot", + "id": 2 + } + } + }, + "ReqBuyFromZHP": { + "fields": { + "goods_id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqPayMonthTicket": { + "fields": { + "ticket_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResPayMonthTicket": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "resource_id": { + "type": "uint32", + "id": 2 + }, + "resource_count": { + "type": "uint32", + "id": 3 + } + } + }, + "ReqReshZHPShop": { + "fields": { + "free_refresh": { + "type": "uint32", + "id": 1 + }, + "cost_refresh": { + "type": "uint32", + "id": 2 + } + } + }, + "ResRefreshZHPShop": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "zhp": { + "type": "ZHPShop", + "id": 2 + } + } + }, + "ResMonthTicketInfo": { + "fields": { + "month_ticket_info": { + "rule": "repeated", + "type": "MonthTicketInfo", + "id": 1 + } + } + }, + "ReqExchangeCurrency": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + }, + "ResServerSettings": { + "fields": { + "settings": { + "type": "ServerSettings", + "id": 1 + } + } + }, + "ResAccountSettings": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "settings": { + "rule": "repeated", + "type": "AccountSetting", + "id": 2 + } + } + }, + "ReqUpdateAccountSettings": { + "fields": { + "setting": { + "type": "AccountSetting", + "id": 1 + } + } + }, + "ResModNicknameTime": { + "fields": { + "last_mod_time": { + "type": "uint32", + "id": 1 + } + } + }, + "ResMisc": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "recharged_list": { + "rule": "repeated", + "type": "uint32", + "id": 2 + }, + "faiths": { + "rule": "repeated", + "type": "MiscFaithData", + "id": 3 + } + }, + "nested": { + "MiscFaithData": { + "fields": { + "faith_id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "ReqModifySignature": { + "fields": { + "signature": { + "type": "string", + "id": 1 + } + } + }, + "ResIDCardInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "is_authed": { + "type": "bool", + "id": 2 + }, + "country": { + "type": "string", + "id": 3 + } + } + }, + "ReqUpdateIDCardInfo": { + "fields": { + "fullname": { + "type": "string", + "id": 1 + }, + "card_no": { + "type": "string", + "id": 2 + } + } + }, + "ResVipReward": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "gained_vip_levels": { + "rule": "repeated", + "type": "uint32", + "id": 2 + } + } + }, + "ReqGainVipReward": { + "fields": { + "vip_level": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqFetchCustomizedContestList": { + "fields": { + "start": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + }, + "ResFetchCustomizedContestList": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "contests": { + "rule": "repeated", + "type": "CustomizedContestBase", + "id": 2 + }, + "follow_contests": { + "rule": "repeated", + "type": "CustomizedContestBase", + "id": 3 + } + } + }, + "ReqFetchCustomizedContestExtendInfo": { + "fields": { + "uid_list": { + "rule": "repeated", + "type": "uint32", + "id": 1 + } + } + }, + "ResFetchCustomizedContestExtendInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "extend_list": { + "rule": "repeated", + "type": "CustomizedContestExtend", + "id": 2 + } + } + }, + "ReqFetchCustomizedContestAuthInfo": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResFetchCustomizedContestAuthInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "observer_level": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqEnterCustomizedContest": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResEnterCustomizedContest": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "detail_info": { + "type": "CustomizedContestDetail", + "id": 2 + }, + "player_report": { + "type": "CustomizedContestPlayerReport", + "id": 3 + }, + "is_followed": { + "type": "bool", + "id": 4 + } + } + }, + "ReqFetchCustomizedContestOnlineInfo": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResFetchCustomizedContestOnlineInfo": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "online_player": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqFetchCustomizedContestByContestId": { + "fields": { + "contest_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResFetchCustomizedContestByContestId": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "contest_info": { + "type": "CustomizedContestAbstract", + "id": 2 + } + } + }, + "ReqStartCustomizedContest": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqJoinCustomizedContestChatRoom": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResJoinCustomizedContestChatRoom": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "chat_history": { + "rule": "repeated", + "type": "bytes", + "id": 2 + } + } + }, + "ReqSayChatMessage": { + "fields": { + "content": { + "type": "string", + "id": 1 + } + } + }, + "ReqFetchCustomizedContestGameLiveList": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResFetchCustomizedContestGameLiveList": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "live_list": { + "rule": "repeated", + "type": "GameLiveHead", + "id": 2 + } + } + }, + "ReqFetchCustomizedContestGameRecords": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + }, + "last_index": { + "type": "uint32", + "id": 2 + } + } + }, + "ResFetchCustomizedContestGameRecords": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "next_index": { + "type": "uint32", + "id": 2 + }, + "record_list": { + "rule": "repeated", + "type": "RecordGame", + "id": 3 + } + } + }, + "ReqTargetCustomizedContest": { + "fields": { + "unique_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResActivityList": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "activities": { + "rule": "repeated", + "type": "Activity", + "id": 2 + } + } + }, + "ResAccountActivityData": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "exchange_records": { + "rule": "repeated", + "type": "ExchangeRecord", + "id": 2 + }, + "task_progress_list": { + "rule": "repeated", + "type": "TaskProgress", + "id": 3 + }, + "accumulated_point_list": { + "rule": "repeated", + "type": "ActivityAccumulatedPointData", + "id": 4 + }, + "rank_data_list": { + "rule": "repeated", + "type": "ActivityRankPointData", + "id": 5 + }, + "flip_task_progress_list": { + "rule": "repeated", + "type": "TaskProgress", + "id": 6 + }, + "sign_in_data": { + "rule": "repeated", + "type": "ActivitySignInData", + "id": 7 + }, + "richman_data": { + "rule": "repeated", + "type": "ActivityRichmanData", + "id": 8 + }, + "period_task_progress_list": { + "rule": "repeated", + "type": "TaskProgress", + "id": 9 + }, + "random_task_progress_list": { + "rule": "repeated", + "type": "TaskProgress", + "id": 10 + } + }, + "nested": { + "ActivitySignInData": { + "fields": { + "activity_id": { + "type": "uint32", + "id": 1 + }, + "sign_in_count": { + "type": "uint32", + "id": 2 + }, + "last_sign_in_time": { + "type": "uint32", + "id": 3 + } + } + }, + "BuffData": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "remain": { + "type": "uint32", + "id": 2 + }, + "effect": { + "type": "uint32", + "id": 3 + } + } + }, + "ActivityRichmanData": { + "fields": { + "activity_id": { + "type": "uint32", + "id": 1 + }, + "location": { + "type": "uint32", + "id": 2 + }, + "finished_count": { + "type": "uint32", + "id": 3 + }, + "chest_position": { + "type": "uint32", + "id": 4 + }, + "bank_save": { + "type": "uint32", + "id": 5 + }, + "exp": { + "type": "uint32", + "id": 6 + }, + "buff": { + "rule": "repeated", + "type": "BuffData", + "id": 7 + } + } + } + } + }, + "ReqExchangeActivityItem": { + "fields": { + "exchange_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResExchangeActivityItem": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "execute_reward": { + "rule": "repeated", + "type": "ExecuteReward", + "id": 2 + } + } + }, + "ReqCompleteActivityTask": { + "fields": { + "task_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ReqReceiveActivityFlipTask": { + "fields": { + "task_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResReceiveActivityFlipTask": { + "fields": { + "count": { + "type": "uint32", + "id": 1 + }, + "error": { + "type": "Error", + "id": 2 + } + } + }, + "ReqFetchActivityFlipInfo": { + "fields": { + "activity_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResFetchActivityFlipInfo": { + "fields": { + "rewards": { + "rule": "repeated", + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + }, + "error": { + "type": "Error", + "id": 3 + } + } + }, + "ReqGainAccumulatedPointActivityReward": { + "fields": { + "activity_id": { + "type": "uint32", + "id": 1 + }, + "reward_id": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqFetchRankPointLeaderboard": { + "fields": { + "leaderboard_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResFetchRankPointLeaderboard": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "items": { + "rule": "repeated", + "type": "Item", + "id": 2 + }, + "last_refresh_time": { + "type": "uint32", + "id": 3 + } + }, + "nested": { + "Item": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "rank": { + "type": "uint32", + "id": 2 + }, + "view": { + "type": "PlayerBaseView", + "id": 3 + }, + "point": { + "type": "uint32", + "id": 4 + } + } + } + } + }, + "ReqGainRankPointReward": { + "fields": { + "leaderboard_id": { + "type": "uint32", + "id": 1 + }, + "activity_id": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqRichmanNextMove": { + "fields": { + "activity_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResRichmanNextMove": { + "fields": { + "paths": { + "rule": "repeated", + "type": "PathData", + "id": 1 + }, + "dice": { + "type": "uint32", + "id": 2 + }, + "location": { + "type": "uint32", + "id": 3 + }, + "finished_count": { + "type": "uint32", + "id": 4 + }, + "step": { + "type": "uint32", + "id": 5 + }, + "buff": { + "rule": "repeated", + "type": "BuffData", + "id": 6 + }, + "bank_save": { + "type": "uint32", + "id": 7 + }, + "chest_position": { + "type": "uint32", + "id": 8 + }, + "exp": { + "type": "uint32", + "id": 9 + }, + "bank_save_add": { + "type": "uint32", + "id": 10 + }, + "error": { + "type": "Error", + "id": 11 + } + }, + "nested": { + "RewardData": { + "fields": { + "resource_id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + }, + "origin_count": { + "type": "uint32", + "id": 3 + }, + "is_chest": { + "type": "uint32", + "id": 4 + } + } + }, + "PathData": { + "fields": { + "location": { + "type": "uint32", + "id": 1 + }, + "rewards": { + "rule": "repeated", + "type": "RewardData", + "id": 2 + }, + "events": { + "rule": "repeated", + "type": "uint32", + "id": 3 + } + } + }, + "BuffData": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "remain": { + "type": "uint32", + "id": 2 + }, + "effect": { + "type": "uint32", + "id": 3 + } + } + } + } + }, + "ReqRichmanSpecialMove": { + "fields": { + "activity_id": { + "type": "uint32", + "id": 1 + }, + "step": { + "type": "uint32", + "id": 2 + } + } + }, + "ReqRichmanChestInfo": { + "fields": { + "activity_id": { + "type": "uint32", + "id": 1 + } + } + }, + "ResRichmanChestInfo": { + "fields": { + "items": { + "rule": "repeated", + "type": "ItemData", + "id": 1 + }, + "error": { + "type": "Error", + "id": 2 + } + }, + "nested": { + "ItemData": { + "fields": { + "id": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "ReqCreateGameObserveAuth": { + "fields": { + "game_uuid": { + "type": "string", + "id": 1 + } + } + }, + "ResCreateGameObserveAuth": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "token": { + "type": "string", + "id": 2 + }, + "location": { + "type": "string", + "id": 3 + } + } + }, + "ReqRefreshGameObserveAuth": { + "fields": { + "token": { + "type": "string", + "id": 1 + } + } + }, + "ResRefreshGameObserveAuth": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "ttl": { + "type": "uint32", + "id": 2 + } + } + }, + "ActionMJStart": { + "fields": {} + }, + "NewRoundOpenedTiles": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "tiles": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "count": { + "rule": "repeated", + "type": "uint32", + "id": 3 + } + } + }, + "MuyuInfo": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "count": { + "type": "uint32", + "id": 2 + }, + "count_max": { + "type": "uint32", + "id": 3 + }, + "id": { + "type": "uint32", + "id": 4 + } + } + }, + "ActionNewRound": { + "fields": { + "chang": { + "type": "uint32", + "id": 1 + }, + "ju": { + "type": "uint32", + "id": 2 + }, + "ben": { + "type": "uint32", + "id": 3 + }, + "tiles": { + "rule": "repeated", + "type": "string", + "id": 4 + }, + "dora": { + "type": "string", + "id": 5 + }, + "scores": { + "rule": "repeated", + "type": "int32", + "id": 6 + }, + "operation": { + "type": "OptionalOperationList", + "id": 7 + }, + "liqibang": { + "type": "uint32", + "id": 8 + }, + "tingpais0": { + "rule": "repeated", + "type": "TingPaiDiscardInfo", + "id": 9 + }, + "tingpais1": { + "rule": "repeated", + "type": "TingPaiInfo", + "id": 10 + }, + "al": { + "type": "bool", + "id": 11 + }, + "md5": { + "type": "string", + "id": 12 + }, + "left_tile_count": { + "type": "uint32", + "id": 13 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 14 + }, + "opens": { + "rule": "repeated", + "type": "NewRoundOpenedTiles", + "id": 15 + }, + "muyu": { + "type": "MuyuInfo", + "id": 16 + } + } + }, + "RecordNewRound": { + "fields": { + "chang": { + "type": "uint32", + "id": 1 + }, + "ju": { + "type": "uint32", + "id": 2 + }, + "ben": { + "type": "uint32", + "id": 3 + }, + "dora": { + "type": "string", + "id": 4 + }, + "scores": { + "rule": "repeated", + "type": "int32", + "id": 5 + }, + "liqibang": { + "type": "uint32", + "id": 6 + }, + "tiles0": { + "rule": "repeated", + "type": "string", + "id": 7 + }, + "tiles1": { + "rule": "repeated", + "type": "string", + "id": 8 + }, + "tiles2": { + "rule": "repeated", + "type": "string", + "id": 9 + }, + "tiles3": { + "rule": "repeated", + "type": "string", + "id": 10 + }, + "tingpai": { + "rule": "repeated", + "type": "TingPai", + "id": 11 + }, + "operation": { + "type": "OptionalOperationList", + "id": 12 + }, + "md5": { + "type": "string", + "id": 13 + }, + "paishan": { + "type": "string", + "id": 14 + }, + "left_tile_count": { + "type": "uint32", + "id": 15 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 16 + }, + "opens": { + "rule": "repeated", + "type": "NewRoundOpenedTiles", + "id": 17 + }, + "muyu": { + "type": "MuyuInfo", + "id": 18 + } + }, + "nested": { + "TingPai": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "tingpais1": { + "rule": "repeated", + "type": "TingPaiInfo", + "id": 2 + } + } + } + } + }, + "GameSnapshot": { + "fields": { + "chang": { + "type": "uint32", + "id": 1 + }, + "ju": { + "type": "uint32", + "id": 2 + }, + "ben": { + "type": "uint32", + "id": 3 + }, + "index_player": { + "type": "uint32", + "id": 4 + }, + "left_tile_count": { + "type": "uint32", + "id": 5 + }, + "hands": { + "rule": "repeated", + "type": "string", + "id": 6 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 7 + }, + "liqibang": { + "type": "uint32", + "id": 8 + }, + "players": { + "rule": "repeated", + "type": "PlayerSnapshot", + "id": 9 + }, + "zhenting": { + "type": "bool", + "id": 10 + } + }, + "nested": { + "PlayerSnapshot": { + "fields": { + "score": { + "type": "int32", + "id": 1 + }, + "liqiposition": { + "type": "int32", + "id": 2 + }, + "tilenum": { + "type": "uint32", + "id": 3 + }, + "qipais": { + "rule": "repeated", + "type": "string", + "id": 4 + }, + "mings": { + "rule": "repeated", + "type": "Fulu", + "id": 5 + } + }, + "nested": { + "Fulu": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "tile": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "from": { + "rule": "repeated", + "type": "uint32", + "id": 3 + } + } + } + } + } + } + }, + "ActionPrototype": { + "fields": { + "step": { + "type": "uint32", + "id": 1 + }, + "name": { + "type": "string", + "id": 2 + }, + "data": { + "type": "bytes", + "id": 3 + } + } + }, + "GameDetailRecords": { + "fields": { + "records": { + "rule": "repeated", + "type": "bytes", + "id": 1 + } + } + }, + "OptionalOperation": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "combination": { + "rule": "repeated", + "type": "string", + "id": 2 + } + } + }, + "OptionalOperationList": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "operation_list": { + "rule": "repeated", + "type": "OptionalOperation", + "id": 2 + }, + "time_add": { + "type": "uint32", + "id": 4 + }, + "time_fixed": { + "type": "uint32", + "id": 5 + } + } + }, + "LiQiSuccess": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "score": { + "type": "int32", + "id": 2 + }, + "liqibang": { + "type": "uint32", + "id": 3 + } + } + }, + "FanInfo": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "val": { + "type": "uint32", + "id": 2 + }, + "id": { + "type": "uint32", + "id": 3 + } + } + }, + "HuleInfo": { + "fields": { + "hand": { + "rule": "repeated", + "type": "string", + "id": 1 + }, + "ming": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "hu_tile": { + "type": "string", + "id": 3 + }, + "seat": { + "type": "uint32", + "id": 4 + }, + "zimo": { + "type": "bool", + "id": 5 + }, + "qinjia": { + "type": "bool", + "id": 6 + }, + "liqi": { + "type": "bool", + "id": 7 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 8 + }, + "li_doras": { + "rule": "repeated", + "type": "string", + "id": 9 + }, + "yiman": { + "type": "bool", + "id": 10 + }, + "count": { + "type": "uint32", + "id": 11 + }, + "fans": { + "rule": "repeated", + "type": "FanInfo", + "id": 12 + }, + "fu": { + "type": "uint32", + "id": 13 + }, + "title": { + "type": "string", + "id": 14 + }, + "point_rong": { + "type": "uint32", + "id": 15 + }, + "point_zimo_qin": { + "type": "uint32", + "id": 16 + }, + "point_zimo_xian": { + "type": "uint32", + "id": 17 + }, + "title_id": { + "type": "uint32", + "id": 18 + }, + "point_sum": { + "type": "uint32", + "id": 19 + } + } + }, + "TingPaiInfo": { + "fields": { + "tile": { + "type": "string", + "id": 1 + }, + "haveyi": { + "type": "bool", + "id": 2 + }, + "yiman": { + "type": "bool", + "id": 3 + }, + "count": { + "type": "uint32", + "id": 4 + }, + "fu": { + "type": "uint32", + "id": 5 + }, + "biao_dora_count": { + "type": "uint32", + "id": 6 + }, + "yiman_zimo": { + "type": "bool", + "id": 7 + }, + "count_zimo": { + "type": "uint32", + "id": 8 + }, + "fu_zimo": { + "type": "uint32", + "id": 9 + } + } + }, + "TingPaiDiscardInfo": { + "fields": { + "tile": { + "type": "string", + "id": 1 + }, + "zhenting": { + "type": "bool", + "id": 2 + }, + "infos": { + "rule": "repeated", + "type": "TingPaiInfo", + "id": 3 + } + } + }, + "GameEnd": { + "fields": { + "scores": { + "rule": "repeated", + "type": "int32", + "id": 1 + } + } + }, + "ActionDiscardTile": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "tile": { + "type": "string", + "id": 2 + }, + "is_liqi": { + "type": "bool", + "id": 3 + }, + "operation": { + "type": "OptionalOperationList", + "id": 4 + }, + "moqie": { + "type": "bool", + "id": 5 + }, + "zhenting": { + "type": "bool", + "id": 6 + }, + "tingpais": { + "rule": "repeated", + "type": "TingPaiInfo", + "id": 7 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 8 + }, + "is_wliqi": { + "type": "bool", + "id": 9 + }, + "tile_state": { + "type": "uint32", + "id": 10 + }, + "muyu": { + "type": "MuyuInfo", + "id": 11 + } + } + }, + "RecordDiscardTile": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "tile": { + "type": "string", + "id": 2 + }, + "is_liqi": { + "type": "bool", + "id": 3 + }, + "moqie": { + "type": "bool", + "id": 5 + }, + "zhenting": { + "rule": "repeated", + "type": "bool", + "id": 6 + }, + "tingpais": { + "rule": "repeated", + "type": "TingPaiInfo", + "id": 7 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 8 + }, + "is_wliqi": { + "type": "bool", + "id": 9 + }, + "operations": { + "rule": "repeated", + "type": "OptionalOperationList", + "id": 10 + }, + "tile_state": { + "type": "uint32", + "id": 11 + }, + "muyu": { + "type": "MuyuInfo", + "id": 12 + } + } + }, + "ActionDealTile": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "tile": { + "type": "string", + "id": 2 + }, + "left_tile_count": { + "type": "uint32", + "id": 3 + }, + "operation": { + "type": "OptionalOperationList", + "id": 4 + }, + "liqi": { + "type": "LiQiSuccess", + "id": 5 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 6 + }, + "zhenting": { + "type": "bool", + "id": 7 + }, + "tingpais": { + "rule": "repeated", + "type": "TingPaiDiscardInfo", + "id": 8 + }, + "tile_state": { + "type": "uint32", + "id": 9 + }, + "muyu": { + "type": "MuyuInfo", + "id": 10 + } + } + }, + "RecordDealTile": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "tile": { + "type": "string", + "id": 2 + }, + "left_tile_count": { + "type": "uint32", + "id": 3 + }, + "liqi": { + "type": "LiQiSuccess", + "id": 5 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 6 + }, + "zhenting": { + "rule": "repeated", + "type": "bool", + "id": 7 + }, + "operation": { + "type": "OptionalOperationList", + "id": 8 + }, + "tile_state": { + "type": "uint32", + "id": 9 + }, + "muyu": { + "type": "MuyuInfo", + "id": 11 + } + } + }, + "ActionChiPengGang": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "type": { + "type": "uint32", + "id": 2 + }, + "tiles": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "froms": { + "rule": "repeated", + "type": "uint32", + "id": 4 + }, + "liqi": { + "type": "LiQiSuccess", + "id": 5 + }, + "operation": { + "type": "OptionalOperationList", + "id": 6 + }, + "zhenting": { + "type": "bool", + "id": 7 + }, + "tingpais": { + "rule": "repeated", + "type": "TingPaiDiscardInfo", + "id": 8 + }, + "tile_states": { + "rule": "repeated", + "type": "uint32", + "id": 9 + }, + "muyu": { + "type": "MuyuInfo", + "id": 10 + } + } + }, + "RecordChiPengGang": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "type": { + "type": "uint32", + "id": 2 + }, + "tiles": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "froms": { + "rule": "repeated", + "type": "uint32", + "id": 4 + }, + "liqi": { + "type": "LiQiSuccess", + "id": 5 + }, + "zhenting": { + "rule": "repeated", + "type": "bool", + "id": 7 + }, + "operation": { + "type": "OptionalOperationList", + "id": 8 + }, + "tile_states": { + "rule": "repeated", + "type": "uint32", + "id": 9 + }, + "muyu": { + "type": "MuyuInfo", + "id": 10 + } + } + }, + "ActionAnGangAddGang": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "type": { + "type": "uint32", + "id": 2 + }, + "tiles": { + "type": "string", + "id": 3 + }, + "operation": { + "type": "OptionalOperationList", + "id": 4 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 6 + }, + "zhenting": { + "type": "bool", + "id": 7 + }, + "tingpais": { + "rule": "repeated", + "type": "TingPaiInfo", + "id": 8 + }, + "muyu": { + "type": "MuyuInfo", + "id": 9 + } + } + }, + "RecordAnGangAddGang": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "type": { + "type": "uint32", + "id": 2 + }, + "tiles": { + "type": "string", + "id": 3 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 6 + }, + "operations": { + "rule": "repeated", + "type": "OptionalOperationList", + "id": 7 + }, + "muyu": { + "type": "MuyuInfo", + "id": 8 + } + } + }, + "ActionBaBei": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "operation": { + "type": "OptionalOperationList", + "id": 4 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 6 + }, + "zhenting": { + "type": "bool", + "id": 7 + }, + "tingpais": { + "rule": "repeated", + "type": "TingPaiInfo", + "id": 8 + }, + "moqie": { + "type": "bool", + "id": 9 + }, + "tile_state": { + "type": "uint32", + "id": 10 + }, + "muyu": { + "type": "MuyuInfo", + "id": 11 + } + } + }, + "RecordBaBei": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 6 + }, + "operations": { + "rule": "repeated", + "type": "OptionalOperationList", + "id": 7 + }, + "moqie": { + "type": "bool", + "id": 8 + }, + "tile_state": { + "type": "uint32", + "id": 10 + }, + "muyu": { + "type": "MuyuInfo", + "id": 11 + } + } + }, + "ActionHule": { + "fields": { + "hules": { + "rule": "repeated", + "type": "HuleInfo", + "id": 1 + }, + "old_scores": { + "rule": "repeated", + "type": "int32", + "id": 2 + }, + "delta_scores": { + "rule": "repeated", + "type": "int32", + "id": 3 + }, + "wait_timeout": { + "type": "uint32", + "id": 4 + }, + "scores": { + "rule": "repeated", + "type": "int32", + "id": 5 + }, + "gameend": { + "type": "GameEnd", + "id": 6 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 7 + }, + "muyu": { + "type": "MuyuInfo", + "id": 8 + } + } + }, + "RecordHule": { + "fields": { + "hules": { + "rule": "repeated", + "type": "HuleInfo", + "id": 1 + }, + "old_scores": { + "rule": "repeated", + "type": "int32", + "id": 2 + }, + "delta_scores": { + "rule": "repeated", + "type": "int32", + "id": 3 + }, + "wait_timeout": { + "type": "uint32", + "id": 4 + }, + "scores": { + "rule": "repeated", + "type": "int32", + "id": 5 + }, + "gameend": { + "type": "GameEnd", + "id": 6 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 7 + }, + "muyu": { + "type": "MuyuInfo", + "id": 8 + } + } + }, + "ActionLiuJu": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "gameend": { + "type": "GameEnd", + "id": 2 + }, + "seat": { + "type": "uint32", + "id": 3 + }, + "tiles": { + "rule": "repeated", + "type": "string", + "id": 4 + }, + "liqi": { + "type": "LiQiSuccess", + "id": 5 + }, + "allplayertiles": { + "rule": "repeated", + "type": "string", + "id": 6 + }, + "muyu": { + "type": "MuyuInfo", + "id": 7 + } + } + }, + "RecordLiuJu": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "gameend": { + "type": "GameEnd", + "id": 2 + }, + "seat": { + "type": "uint32", + "id": 3 + }, + "tiles": { + "rule": "repeated", + "type": "string", + "id": 4 + }, + "liqi": { + "type": "LiQiSuccess", + "id": 5 + }, + "allplayertiles": { + "rule": "repeated", + "type": "string", + "id": 6 + }, + "muyu": { + "type": "MuyuInfo", + "id": 7 + } + } + }, + "NoTilePlayerInfo": { + "fields": { + "tingpai": { + "type": "bool", + "id": 3 + }, + "hand": { + "rule": "repeated", + "type": "string", + "id": 4 + }, + "tings": { + "rule": "repeated", + "type": "TingPaiInfo", + "id": 5 + } + } + }, + "NoTileScoreInfo": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "old_scores": { + "rule": "repeated", + "type": "int32", + "id": 2 + }, + "delta_scores": { + "rule": "repeated", + "type": "int32", + "id": 3 + }, + "hand": { + "rule": "repeated", + "type": "string", + "id": 4 + }, + "ming": { + "rule": "repeated", + "type": "string", + "id": 5 + }, + "doras": { + "rule": "repeated", + "type": "string", + "id": 6 + }, + "score": { + "type": "uint32", + "id": 7 + } + } + }, + "ActionNoTile": { + "fields": { + "liujumanguan": { + "type": "bool", + "id": 1 + }, + "players": { + "rule": "repeated", + "type": "NoTilePlayerInfo", + "id": 2 + }, + "scores": { + "rule": "repeated", + "type": "NoTileScoreInfo", + "id": 3 + }, + "gameend": { + "type": "bool", + "id": 4 + }, + "muyu": { + "type": "MuyuInfo", + "id": 5 + } + } + }, + "RecordNoTile": { + "fields": { + "liujumanguan": { + "type": "bool", + "id": 1 + }, + "players": { + "rule": "repeated", + "type": "NoTilePlayerInfo", + "id": 2 + }, + "scores": { + "rule": "repeated", + "type": "NoTileScoreInfo", + "id": 3 + }, + "gameend": { + "type": "bool", + "id": 4 + }, + "muyu": { + "type": "MuyuInfo", + "id": 5 + } + } + }, + "PlayerLeaving": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + } + } + }, + "FastTest": { + "methods": { + "authGame": { + "requestType": "ReqAuthGame", + "responseType": "ResAuthGame" + }, + "enterGame": { + "requestType": "ReqCommon", + "responseType": "ResEnterGame" + }, + "syncGame": { + "requestType": "ReqSyncGame", + "responseType": "ResSyncGame" + }, + "finishSyncGame": { + "requestType": "ReqCommon", + "responseType": "ResCommon" + }, + "terminateGame": { + "requestType": "ReqCommon", + "responseType": "ResCommon" + }, + "inputOperation": { + "requestType": "ReqSelfOperation", + "responseType": "ResCommon" + }, + "inputChiPengGang": { + "requestType": "ReqChiPengGang", + "responseType": "ResCommon" + }, + "confirmNewRound": { + "requestType": "ReqCommon", + "responseType": "ResCommon" + }, + "broadcastInGame": { + "requestType": "ReqBroadcastInGame", + "responseType": "ResCommon" + }, + "inputGameGMCommand": { + "requestType": "ReqGMCommandInGaming", + "responseType": "ResCommon" + }, + "fetchGamePlayerState": { + "requestType": "ReqCommon", + "responseType": "ResGamePlayerState" + }, + "checkNetworkDelay": { + "requestType": "ReqCommon", + "responseType": "ResCommon" + }, + "clearLeaving": { + "requestType": "ReqCommon", + "responseType": "ResCommon" + }, + "voteGameEnd": { + "requestType": "ReqVoteGameEnd", + "responseType": "ResGameEndVote" + }, + "authObserve": { + "requestType": "ReqAuthObserve", + "responseType": "ResCommon" + }, + "startObserve": { + "requestType": "ReqCommon", + "responseType": "ResStartObserve" + }, + "stopObserve": { + "requestType": "ReqCommon", + "responseType": "ResCommon" + } + } + }, + "ReqAuthGame": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "token": { + "type": "string", + "id": 2 + }, + "game_uuid": { + "type": "string", + "id": 3 + } + } + }, + "ResAuthGame": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "players": { + "rule": "repeated", + "type": "PlayerGameView", + "id": 2 + }, + "seat_list": { + "rule": "repeated", + "type": "uint32", + "id": 3 + }, + "is_game_start": { + "type": "bool", + "id": 4 + }, + "game_config": { + "type": "GameConfig", + "id": 5 + }, + "ready_id_list": { + "rule": "repeated", + "type": "uint32", + "id": 6 + } + } + }, + "GameRestore": { + "fields": { + "snapshot": { + "type": "GameSnapshot", + "id": 1 + }, + "actions": { + "rule": "repeated", + "type": "ActionPrototype", + "id": 2 + }, + "passed_waiting_time": { + "type": "uint32", + "id": 3 + }, + "game_state": { + "type": "uint32", + "id": 4 + }, + "start_time": { + "type": "uint32", + "id": 5 + }, + "last_pause_time_ms": { + "type": "uint32", + "id": 6 + } + } + }, + "ResEnterGame": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "is_end": { + "type": "bool", + "id": 2 + }, + "step": { + "type": "uint32", + "id": 3 + }, + "game_restore": { + "type": "GameRestore", + "id": 4 + } + } + }, + "ReqSyncGame": { + "fields": { + "round_id": { + "type": "string", + "id": 1 + }, + "step": { + "type": "uint32", + "id": 2 + } + } + }, + "ResSyncGame": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "is_end": { + "type": "bool", + "id": 2 + }, + "step": { + "type": "uint32", + "id": 3 + }, + "game_restore": { + "type": "GameRestore", + "id": 4 + } + } + }, + "ReqSelfOperation": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "index": { + "type": "uint32", + "id": 2 + }, + "tile": { + "type": "string", + "id": 3 + }, + "cancel_operation": { + "type": "bool", + "id": 4 + }, + "moqie": { + "type": "bool", + "id": 5 + }, + "timeuse": { + "type": "uint32", + "id": 6 + }, + "tile_state": { + "type": "int32", + "id": 7 + } + } + }, + "ReqChiPengGang": { + "fields": { + "type": { + "type": "uint32", + "id": 1 + }, + "index": { + "type": "uint32", + "id": 2 + }, + "cancel_operation": { + "type": "bool", + "id": 3 + }, + "timeuse": { + "type": "uint32", + "id": 6 + } + } + }, + "ReqBroadcastInGame": { + "fields": { + "content": { + "type": "string", + "id": 1 + }, + "except_self": { + "type": "bool", + "id": 2 + } + } + }, + "ReqGMCommandInGaming": { + "fields": { + "json_data": { + "type": "string", + "id": 1 + } + } + }, + "ResGamePlayerState": { + "fields": { + "error": { + "type": "Error", + "id": 1 + }, + "state_list": { + "rule": "repeated", + "type": "GamePlayerState", + "id": 2 + } + } + }, + "ReqVoteGameEnd": { + "fields": { + "yes": { + "type": "bool", + "id": 1 + } + } + }, + "ResGameEndVote": { + "fields": { + "success": { + "type": "bool", + "id": 1 + }, + "vote_cd_end_time": { + "type": "uint32", + "id": 2 + }, + "error": { + "type": "Error", + "id": 3 + } + } + }, + "ReqAuthObserve": { + "fields": { + "token": { + "type": "string", + "id": 1 + } + } + }, + "ResStartObserve": { + "fields": { + "head": { + "type": "GameLiveHead", + "id": 1 + }, + "passed": { + "type": "GameLiveSegment", + "id": 2 + } + } + }, + "NotifyNewGame": { + "fields": { + "game_uuid": { + "type": "string", + "id": 1 + }, + "player_list": { + "rule": "repeated", + "type": "string", + "id": 2 + } + } + }, + "NotifyPlayerLoadGameReady": { + "fields": { + "ready_id_list": { + "rule": "repeated", + "type": "uint32", + "id": 1 + } + } + }, + "NotifyGameBroadcast": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "content": { + "type": "string", + "id": 2 + } + } + }, + "NotifyGameEndResult": { + "fields": { + "result": { + "type": "GameEndResult", + "id": 1 + } + } + }, + "NotifyGameTerminate": { + "fields": { + "reason": { + "type": "string", + "id": 1 + } + } + }, + "NotifyPlayerConnectionState": { + "fields": { + "seat": { + "type": "uint32", + "id": 1 + }, + "state": { + "type": "GamePlayerState", + "id": 2 + } + } + }, + "NotifyAccountLevelChange": { + "fields": { + "origin": { + "type": "AccountLevel", + "id": 1 + }, + "final": { + "type": "AccountLevel", + "id": 2 + }, + "type": { + "type": "uint32", + "id": 3 + } + } + }, + "NotifyGameFinishReward": { + "fields": { + "mode_id": { + "type": "uint32", + "id": 1 + }, + "level_change": { + "type": "LevelChange", + "id": 2 + }, + "match_chest": { + "type": "MatchChest", + "id": 3 + }, + "main_character": { + "type": "MainCharacter", + "id": 4 + }, + "character_gift": { + "type": "CharacterGift", + "id": 5 + } + }, + "nested": { + "LevelChange": { + "fields": { + "origin": { + "type": "AccountLevel", + "id": 1 + }, + "final": { + "type": "AccountLevel", + "id": 2 + }, + "type": { + "type": "uint32", + "id": 3 + } + } + }, + "MatchChest": { + "fields": { + "chest_id": { + "type": "uint32", + "id": 1 + }, + "origin": { + "type": "uint32", + "id": 2 + }, + "final": { + "type": "uint32", + "id": 3 + }, + "is_graded": { + "type": "bool", + "id": 4 + }, + "rewards": { + "rule": "repeated", + "type": "RewardSlot", + "id": 5 + } + } + }, + "MainCharacter": { + "fields": { + "level": { + "type": "uint32", + "id": 1 + }, + "exp": { + "type": "uint32", + "id": 2 + }, + "add": { + "type": "uint32", + "id": 3 + } + } + }, + "CharacterGift": { + "fields": { + "origin": { + "type": "uint32", + "id": 1 + }, + "final": { + "type": "uint32", + "id": 2 + }, + "add": { + "type": "uint32", + "id": 3 + }, + "is_graded": { + "type": "bool", + "id": 4 + } + } + } + } + }, + "NotifyActivityReward": { + "fields": { + "activity_reward": { + "rule": "repeated", + "type": "ActivityReward", + "id": 1 + } + }, + "nested": { + "ActivityReward": { + "fields": { + "activity_id": { + "type": "uint32", + "id": 1 + }, + "rewards": { + "rule": "repeated", + "type": "RewardSlot", + "id": 2 + } + } + } + } + }, + "NotifyActivityPoint": { + "fields": { + "activity_points": { + "rule": "repeated", + "type": "ActivityPoint", + "id": 1 + } + }, + "nested": { + "ActivityPoint": { + "fields": { + "activity_id": { + "type": "uint32", + "id": 1 + }, + "point": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "NotifyLeaderboardPoint": { + "fields": { + "leaderboard_points": { + "rule": "repeated", + "type": "LeaderboardPoint", + "id": 1 + } + }, + "nested": { + "LeaderboardPoint": { + "fields": { + "leaderboard_id": { + "type": "uint32", + "id": 1 + }, + "point": { + "type": "uint32", + "id": 2 + } + } + } + } + }, + "NotifyGamePause": { + "fields": { + "paused": { + "type": "bool", + "id": 1 + } + } + }, + "NotifyEndGameVote": { + "fields": { + "results": { + "rule": "repeated", + "type": "VoteResult", + "id": 1 + }, + "start_time": { + "type": "uint32", + "id": 2 + }, + "duration_time": { + "type": "uint32", + "id": 3 + } + }, + "nested": { + "VoteResult": { + "fields": { + "account_id": { + "type": "uint32", + "id": 1 + }, + "yes": { + "type": "bool", + "id": 2 + } + } + } + } + }, + "NotifyObserveData": { + "fields": { + "unit": { + "type": "GameLiveUnit", + "id": 1 + } + } + } + } + } + } +} \ No newline at end of file diff --git a/liqi.md b/liqi.md new file mode 100644 index 0000000..a63bc17 --- /dev/null +++ b/liqi.md @@ -0,0 +1,3986 @@ +# MahjongSoul protocol documentation + +## NotifyRoomGameStart + +|#|Field name|Field type| +|:-:|-|-| +|1|game_url|string| +|2|connect_token|string| +|3|game_uuid|string| +|4|location|string| + +## NotifyMatchGameStart + +|#|Field name|Field type| +|:-:|-|-| +|1|game_url|string| +|2|connect_token|string| +|3|game_uuid|string| +|4|match_mode_id|uint32| +|5|location|string| + +## NotifyRoomPlayerReady + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id|uint32| +|2|ready|bool| + +## NotifyRoomPlayerDressing + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id|uint32| +|2|dressing|bool| + +## NotifyRoomPlayerUpdate + +|#|Field name|Field type| +|:-:|-|-| +|1|update_list|[PlayerBaseView](#PlayerBaseView)| +|2|remove_list|uint32| +|3|owner_id|uint32| +|4|robot_count|uint32| + +## NotifyRoomKickOut + +No fields + +## NotifyMatchTimeout + +No fields + +## NotifyFriendStateChange + +|#|Field name|Field type| +|:-:|-|-| +|1|target_id|uint32| +|2|active_state|[AccountActiveState](#AccountActiveState)| + +## NotifyFriendViewChange + +|#|Field name|Field type| +|:-:|-|-| +|1|target_id|uint32| +|2|base|[PlayerBaseView](#PlayerBaseView)| + +## NotifyFriendChange + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id|uint32| +|2|type|uint32| +|3|friend|[Friend](#Friend)| + +## NotifyNewFriendApply + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id|uint32| +|2|apply_time|uint32| +|3|removed_id|uint32| + +## NotifyClientMessage + +|#|Field name|Field type| +|:-:|-|-| +|1|sender|[PlayerBaseView](#PlayerBaseView)| +|2|type|uint32| +|3|content|string| + +## NotifyAccountUpdate + +|#|Field name|Field type| +|:-:|-|-| +|1|update|[AccountUpdate](#AccountUpdate)| + +## NotifyAnotherLogin + +No fields + +## NotifyAccountLogout + +No fields + +## NotifyAnnouncementUpdate + +|#|Field name|Field type| +|:-:|-|-| +|1|announcements|[Announcement](#Announcement)| +|2|sort|uint32| + +## NotifyNewMail + +|#|Field name|Field type| +|:-:|-|-| +|1|mail|[Mail](#Mail)| + +## NotifyDeleteMail + +|#|Field name|Field type| +|:-:|-|-| +|1|mail_id_list|uint32| + +## NotifyReviveCoinUpdate + +|#|Field name|Field type| +|:-:|-|-| +|1|has_gained|bool| + +## NotifyDailyTaskUpdate + +|#|Field name|Field type| +|:-:|-|-| +|1|progresses|[TaskProgress](#TaskProgress)| +|2|max_daily_task_count|uint32| +|3|refresh_count|uint32| + +## NotifyActivityTaskUpdate + +|#|Field name|Field type| +|:-:|-|-| +|1|progresses|[TaskProgress](#TaskProgress)| + +## NotifyActivityPeriodTaskUpdate + +|#|Field name|Field type| +|:-:|-|-| +|1|progresses|[TaskProgress](#TaskProgress)| + +## NotifyAccountRandomTaskUpdate + +|#|Field name|Field type| +|:-:|-|-| +|1|progresses|[TaskProgress](#TaskProgress)| + +## NotifyNewComment + +No fields + +## NotifyRollingNotice + +|#|Field name|Field type| +|:-:|-|-| +|1|notice|[RollingNotice](#RollingNotice)| + +## NotifyGiftSendRefresh + +No fields + +## NotifyShopUpdate + +|#|Field name|Field type| +|:-:|-|-| +|1|shop_info|[ShopInfo](#ShopInfo)| + +## NotifyVipLevelChange + +|#|Field name|Field type| +|:-:|-|-| +|1|gift_limit|uint32| +|2|friend_max_count|uint32| +|3|zhp_free_refresh_limit|uint32| +|4|zhp_cost_refresh_limit|uint32| +|5|buddy_bonus|[float](#float)| +|6|record_collect_limit|uint32| + +## NotifyServerSetting + +|#|Field name|Field type| +|:-:|-|-| +|1|settings|[ServerSettings](#ServerSettings)| + +## NotifyPayResult + +|#|Field name|Field type| +|:-:|-|-| +|1|pay_result|uint32| +|2|order_id|string| +|3|goods_id|uint32| +|4|new_month_ticket|uint32| +|5|resource_modify|[ResourceModify](#ResourceModify)| + +## NotifyCustomContestAccountMsg + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| +|2|account_id|uint32| +|3|sender|string| +|4|content|string| +|5|verified|uint32| + +## NotifyCustomContestSystemMsg + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| +|2|type|uint32| +|3|uuid|string| +|4|game_start|[CustomizedContestGameStart](#CustomizedContestGameStart)| +|5|game_end|[CustomizedContestGameEnd](#CustomizedContestGameEnd)| + +## NotifyCustomContestState + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| +|2|state|uint32| + +## NotifyActivityChange + +|#|Field name|Field type| +|:-:|-|-| +|1|new_activities|[Activity](#Activity)| +|2|end_activities|uint32| + +## NotifyAFKResult + +|#|Field name|Field type| +|:-:|-|-| +|1|type|uint32| +|2|ban_end_time|uint32| +|3|game_uuid|string| + +## Error + +|#|Field name|Field type| +|:-:|-|-| +|1|code|uint32| +|2|u32_params|uint32| +|3|str_params|string| +|4|json_param|string| + +## Wrapper + +|#|Field name|Field type| +|:-:|-|-| +|1|name|string| +|2|data|[bytes](#bytes)| + +## NetworkEndpoint + +|#|Field name|Field type| +|:-:|-|-| +|1|family|string| +|2|address|string| +|3|port|uint32| + +## ReqCommon + +No fields + +## ResCommon + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| + +## ResAccountUpdate + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|update|[AccountUpdate](#AccountUpdate)| + +## AntiAddiction + +|#|Field name|Field type| +|:-:|-|-| +|1|online_duration|uint32| + +## AccountMahjongStatistic + +|#|Field name|Field type| +|:-:|-|-| +|1|final_position_counts|uint32| +|2|recent_round|[RoundSummary](#RoundSummary)| +|3|recent_hu|[HuSummary](#HuSummary)| +|4|highest_hu|[HighestHuRecord](#HighestHuRecord)| +|6|recent_20_hu_summary|[Liqi20Summary](#Liqi20Summary)| +|7|recent_10_hu_summary|[LiQi10Summary](#LiQi10Summary)| +|8|recent_10_game_result|[GameResult](#GameResult)| + +## AccountStatisticData + +|#|Field name|Field type| +|:-:|-|-| +|1|mahjong_category|uint32| +|2|game_category|uint32| +|3|statistic|[AccountMahjongStatistic](#AccountMahjongStatistic)| + +## AccountLevel + +|#|Field name|Field type| +|:-:|-|-| +|1|id|uint32| +|2|score|uint32| + +## ViewSlot + +|#|Field name|Field type| +|:-:|-|-| +|1|slot|uint32| +|2|item_id|uint32| + +## Account + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id|uint32| +|2|nickname|string| +|3|login_time|uint32| +|4|logout_time|uint32| +|5|room_id|uint32| +|6|anti_addiction|[AntiAddiction](#AntiAddiction)| +|7|title|uint32| +|8|signature|string| +|9|email|string| +|10|email_verify|uint32| +|11|gold|uint32| +|12|diamond|uint32| +|13|avatar_id|uint32| +|14|vip|uint32| +|15|birthday|int32| +|16|phone|string| +|17|phone_verify|uint32| +|18|platform_diamond|[PlatformDiamond](#PlatformDiamond)| +|21|level|[AccountLevel](#AccountLevel)| +|22|level3|[AccountLevel](#AccountLevel)| +|23|avatar_frame|uint32| +|24|skin_ticket|uint32| +|25|platform_skin_ticket|[PlatformSkinTicket](#PlatformSkinTicket)| +|26|verified|uint32| + +## AccountOwnerData + +|#|Field name|Field type| +|:-:|-|-| +|1|unlock_characters|uint32| + +## AccountUpdate + +|#|Field name|Field type| +|:-:|-|-| +|1|numerical|[NumericalUpdate](#NumericalUpdate)| +|2|character|[CharacterUpdate](#CharacterUpdate)| +|3|bag|[BagUpdate](#BagUpdate)| +|4|achievement|[AchievementUpdate](#AchievementUpdate)| +|5|shilian|[AccountShiLian](#AccountShiLian)| +|6|daily_task|[DailyTaskUpdate](#DailyTaskUpdate)| +|7|title|[TitleUpdate](#TitleUpdate)| +|8|new_recharged_list|uint32| +|9|activity_task|[TaskUpdate](#TaskUpdate)| +|10|activity_flip_task|[TaskUpdate](#TaskUpdate)| +|11|activity_period_task|[TaskUpdate](#TaskUpdate)| +|12|activity_random_task|[TaskUpdate](#TaskUpdate)| + +## GameMetaData + +|#|Field name|Field type| +|:-:|-|-| +|1|room_id|uint32| +|2|mode_id|uint32| +|3|contest_uid|uint32| + +## AccountPlayingGame + +|#|Field name|Field type| +|:-:|-|-| +|1|game_uuid|string| +|2|category|uint32| +|3|meta|[GameMetaData](#GameMetaData)| + +## AccountCacheView + +|#|Field name|Field type| +|:-:|-|-| +|1|cache_version|uint32| +|2|account_id|uint32| +|3|nickname|string| +|4|login_time|uint32| +|5|logout_time|uint32| +|6|is_online|bool| +|7|room_id|uint32| +|8|title|uint32| +|9|avatar_id|uint32| +|10|vip|uint32| +|11|level|[AccountLevel](#AccountLevel)| +|12|playing_game|[AccountPlayingGame](#AccountPlayingGame)| +|13|level3|[AccountLevel](#AccountLevel)| +|14|avatar_frame|uint32| +|15|verified|uint32| +|16|ban_deadline|uint32| +|17|comment_ban|uint32| + +## PlayerBaseView + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id|uint32| +|2|avatar_id|uint32| +|3|title|uint32| +|4|nickname|string| +|5|level|[AccountLevel](#AccountLevel)| +|6|level3|[AccountLevel](#AccountLevel)| +|7|avatar_frame|uint32| +|8|verified|uint32| + +## PlayerGameView + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id|uint32| +|2|avatar_id|uint32| +|3|title|uint32| +|4|nickname|string| +|5|level|[AccountLevel](#AccountLevel)| +|6|character|[Character](#Character)| +|7|level3|[AccountLevel](#AccountLevel)| +|8|avatar_frame|uint32| +|9|verified|uint32| +|10|views|[ViewSlot](#ViewSlot)| + +## GameMode + +|#|Field name|Field type| +|:-:|-|-| +|1|mode|uint32| +|4|ai|bool| +|5|extendinfo|string| +|6|detail_rule|[GameDetailRule](#GameDetailRule)| +|7|testing_environment|[GameTestingEnvironmentSet](#GameTestingEnvironmentSet)| + +## GameTestingEnvironmentSet + +|#|Field name|Field type| +|:-:|-|-| +|1|paixing|uint32| +|2|left_count|uint32| + +## GameDetailRule + +|#|Field name|Field type| +|:-:|-|-| +|1|time_fixed|uint32| +|2|time_add|uint32| +|3|dora_count|uint32| +|4|shiduan|uint32| +|5|init_point|uint32| +|6|fandian|uint32| +|7|can_jifei|bool| +|8|tianbian_value|uint32| +|9|liqibang_value|uint32| +|10|changbang_value|uint32| +|11|noting_fafu_1|uint32| +|12|noting_fafu_2|uint32| +|13|noting_fafu_3|uint32| +|14|have_liujumanguan|bool| +|15|have_qieshangmanguan|bool| +|16|have_biao_dora|bool| +|17|have_gang_biao_dora|bool| +|18|ming_dora_immediately_open|bool| +|19|have_li_dora|bool| +|20|have_gang_li_dora|bool| +|21|have_sifenglianda|bool| +|22|have_sigangsanle|bool| +|23|have_sijializhi|bool| +|24|have_jiuzhongjiupai|bool| +|25|have_sanjiahele|bool| +|26|have_toutiao|bool| +|27|have_helelianzhuang|bool| +|28|have_helezhongju|bool| +|29|have_tingpailianzhuang|bool| +|30|have_tingpaizhongju|bool| +|31|have_yifa|bool| +|32|have_nanruxiru|bool| +|33|jingsuanyuandian|uint32| +|34|shunweima_2|int32| +|35|shunweima_3|int32| +|36|shunweima_4|int32| +|37|bianjietishi|bool| +|38|ai_level|uint32| +|39|have_zimosun|bool| +|40|disable_multi_yukaman|bool| +|41|fanfu|uint32| +|42|guyi_mode|uint32| +|43|dora3_mode|uint32| +|44|begin_open_mode|uint32| +|45|jiuchao_mode|uint32| +|46|muyu_mode|uint32| +|47|open_hand|uint32| + +## Room + +|#|Field name|Field type| +|:-:|-|-| +|1|room_id|uint32| +|2|owner_id|uint32| +|3|mode|[GameMode](#GameMode)| +|4|max_player_count|uint32| +|5|persons|[PlayerGameView](#PlayerGameView)| +|6|ready_list|uint32| +|7|is_playing|bool| +|8|public_live|bool| +|9|robot_count|uint32| +|10|tournament_id|uint32| + +## GameEndResult + +|#|Field name|Field type| +|:-:|-|-| +|1|players|[PlayerItem](#PlayerItem)| + +## GameConnectInfo + +|#|Field name|Field type| +|:-:|-|-| +|2|connect_token|string| +|3|game_uuid|string| +|4|location|string| + +## ItemGainRecord + +|#|Field name|Field type| +|:-:|-|-| +|1|item_id|uint32| +|2|count|uint32| + +## ItemGainRecords + +|#|Field name|Field type| +|:-:|-|-| +|1|record_time|uint32| +|2|limit_source_id|uint32| +|3|records|[ItemGainRecord](#ItemGainRecord)| + +## Item + +|#|Field name|Field type| +|:-:|-|-| +|1|item_id|uint32| +|2|stack|uint32| + +## Bag + +|#|Field name|Field type| +|:-:|-|-| +|1|items|[Item](#Item)| +|2|daily_gain_record|[ItemGainRecords](#ItemGainRecords)| + +## BagUpdate + +|#|Field name|Field type| +|:-:|-|-| +|1|update_items|[Item](#Item)| +|2|update_daily_gain_record|[ItemGainRecords](#ItemGainRecords)| + +## RewardSlot + +|#|Field name|Field type| +|:-:|-|-| +|1|id|uint32| +|2|count|uint32| + +## OpenResult + +|#|Field name|Field type| +|:-:|-|-| +|1|reward|[RewardSlot](#RewardSlot)| +|2|replace|[RewardSlot](#RewardSlot)| + +## RewardPlusResult + +|#|Field name|Field type| +|:-:|-|-| +|1|id|uint32| +|2|count|uint32| +|3|exchange|[Exchange](#Exchange)| + +## ExecuteReward + +|#|Field name|Field type| +|:-:|-|-| +|1|reward|[RewardSlot](#RewardSlot)| +|2|replace|[RewardSlot](#RewardSlot)| +|3|replace_count|uint32| + +## Mail + +|#|Field name|Field type| +|:-:|-|-| +|1|mail_id|uint32| +|2|state|uint32| +|3|take_attachment|bool| +|4|title|string| +|5|content|string| +|6|attachments|[RewardSlot](#RewardSlot)| +|7|create_time|uint32| +|8|expire_time|uint32| +|9|reference_id|uint32| + +## AchievementProgress + +|#|Field name|Field type| +|:-:|-|-| +|1|id|uint32| +|2|counter|uint32| +|3|achieved|bool| +|4|date|uint32| + +## AccountStatisticByGameMode + +|#|Field name|Field type| +|:-:|-|-| +|1|mode|uint32| +|2|game_count_sum|uint32| +|3|game_final_position|uint32| +|4|fly_count|uint32| +|5|gold_earn_sum|[float](#float)| +|6|round_count_sum|uint32| +|7|dadian_sum|[float](#float)| +|8|round_end|[RoundEndData](#RoundEndData)| +|9|ming_count_sum|uint32| +|10|liqi_count_sum|uint32| +|11|xun_count_sum|uint32| +|12|highest_lianzhuang|uint32| +|13|score_earn_sum|uint32| +|14|rank_score|[RankScore](#RankScore)| + +## AccountStatisticByFan + +|#|Field name|Field type| +|:-:|-|-| +|1|fan_id|uint32| +|2|sum|uint32| + +## AccountFanAchieved + +|#|Field name|Field type| +|:-:|-|-| +|1|mahjong_category|uint32| +|2|fan|[AccountStatisticByFan](#AccountStatisticByFan)| +|3|liujumanguan|uint32| + +## AccountDetailStatistic + +|#|Field name|Field type| +|:-:|-|-| +|1|game_mode|[AccountStatisticByGameMode](#AccountStatisticByGameMode)| +|2|fan|[AccountStatisticByFan](#AccountStatisticByFan)| +|3|liujumanguan|uint32| +|4|fan_achieved|[AccountFanAchieved](#AccountFanAchieved)| + +## AccountDetailStatisticByCategory + +|#|Field name|Field type| +|:-:|-|-| +|1|category|uint32| +|2|detail_statistic|[AccountDetailStatistic](#AccountDetailStatistic)| + +## AccountDetailStatisticV2 + +|#|Field name|Field type| +|:-:|-|-| +|1|friend_room_statistic|[AccountDetailStatistic](#AccountDetailStatistic)| +|2|rank_statistic|[RankStatistic](#RankStatistic)| +|3|customized_contest_statistic|[CustomizedContestStatistic](#CustomizedContestStatistic)| +|4|leisure_match_statistic|[AccountDetailStatistic](#AccountDetailStatistic)| + +## AccountShiLian + +|#|Field name|Field type| +|:-:|-|-| +|1|step|uint32| +|2|state|uint32| + +## ClientDeviceInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|device_type|string| +|2|os|string| +|3|os_version|string| +|4|browser|string| + +## GamePlayerState + +## Announcement + +|#|Field name|Field type| +|:-:|-|-| +|1|id|uint32| +|2|title|string| +|3|content|string| + +## TaskProgress + +|#|Field name|Field type| +|:-:|-|-| +|1|id|uint32| +|2|counter|uint32| +|3|achieved|bool| +|4|rewarded|bool| + +## GameConfig + +|#|Field name|Field type| +|:-:|-|-| +|1|category|uint32| +|2|mode|[GameMode](#GameMode)| +|3|meta|[GameMetaData](#GameMetaData)| + +## AccountActiveState + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id|uint32| +|2|login_time|uint32| +|3|logout_time|uint32| +|4|is_online|bool| +|5|playing|[AccountPlayingGame](#AccountPlayingGame)| + +## Friend + +|#|Field name|Field type| +|:-:|-|-| +|1|base|[PlayerBaseView](#PlayerBaseView)| +|2|state|[AccountActiveState](#AccountActiveState)| + +## GameLiveUnit + +|#|Field name|Field type| +|:-:|-|-| +|1|timestamp|uint32| +|2|action_category|uint32| +|3|action_data|[bytes](#bytes)| + +## GameLiveSegment + +|#|Field name|Field type| +|:-:|-|-| +|1|actions|[GameLiveUnit](#GameLiveUnit)| + +## GameLiveSegmentUri + +|#|Field name|Field type| +|:-:|-|-| +|1|segment_id|uint32| +|2|segment_uri|string| + +## GameLiveHead + +|#|Field name|Field type| +|:-:|-|-| +|1|uuid|string| +|2|start_time|uint32| +|3|game_config|[GameConfig](#GameConfig)| +|4|players|[PlayerGameView](#PlayerGameView)| +|5|seat_list|uint32| + +## GameNewRoundState + +|#|Field name|Field type| +|:-:|-|-| +|1|seat_states|uint32| + +## GameEndAction + +|#|Field name|Field type| +|:-:|-|-| +|1|state|uint32| + +## GameNoopAction + +No fields + +## CommentItem + +|#|Field name|Field type| +|:-:|-|-| +|1|comment_id|uint32| +|2|timestamp|uint32| +|3|commenter|[PlayerBaseView](#PlayerBaseView)| +|4|content|string| +|5|is_banned|uint32| + +## RollingNotice + +|#|Field name|Field type| +|:-:|-|-| +|1|id|uint32| +|2|content|string| +|3|start_time|uint32| +|4|end_time|uint32| +|5|repeat_interval|uint32| + +## BillingGoods + +|#|Field name|Field type| +|:-:|-|-| +|1|id|string| +|2|name|string| +|3|desc|string| +|4|icon|string| +|5|resource_id|uint32| +|6|resource_count|uint32| + +## BillShortcut + +|#|Field name|Field type| +|:-:|-|-| +|1|id|uint32| +|2|count|uint32| +|3|dealPrice|uint32| + +## BillingProduct + +|#|Field name|Field type| +|:-:|-|-| +|1|goods|[BillingGoods](#BillingGoods)| +|2|currency_code|string| +|3|currency_price|uint32| +|4|sort_weight|uint32| + +## Character + +|#|Field name|Field type| +|:-:|-|-| +|1|charid|uint32| +|2|level|uint32| +|3|exp|uint32| +|4|views|[ViewSlot](#ViewSlot)| +|5|skin|uint32| +|6|is_upgraded|bool| +|7|extra_emoji|uint32| + +## BuyRecord + +|#|Field name|Field type| +|:-:|-|-| +|1|id|uint32| +|2|count|uint32| + +## ZHPShop + +|#|Field name|Field type| +|:-:|-|-| +|1|goods|uint32| +|2|buy_records|[BuyRecord](#BuyRecord)| +|3|free_refresh|[RefreshCount](#RefreshCount)| +|4|cost_refresh|[RefreshCount](#RefreshCount)| + +## MonthTicketInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|id|uint32| +|2|end_time|uint32| +|3|last_pay_time|uint32| + +## ShopInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|zhp|[ZHPShop](#ZHPShop)| +|2|buy_records|[BuyRecord](#BuyRecord)| +|3|last_refresh_time|uint32| + +## ChangeNicknameRecord + +|#|Field name|Field type| +|:-:|-|-| +|1|from|string| +|2|to|string| +|3|time|uint32| + +## ServerSettings + +|#|Field name|Field type| +|:-:|-|-| +|3|payment_setting|[PaymentSetting](#PaymentSetting)| + +## PaymentSetting + +|#|Field name|Field type| +|:-:|-|-| +|1|open_payment|uint32| +|2|payment_info_show_type|uint32| +|3|payment_info|string| +|4|wechat|[WechatData](#WechatData)| +|5|alipay|[AlipayData](#AlipayData)| + +## AccountSetting + +|#|Field name|Field type| +|:-:|-|-| +|1|key|uint32| +|2|value|uint32| + +## ChestData + +|#|Field name|Field type| +|:-:|-|-| +|1|chest_id|uint32| +|2|total_open_count|uint32| +|3|consume_count|uint32| +|4|face_black_count|uint32| + +## ChestDataV2 + +|#|Field name|Field type| +|:-:|-|-| +|1|chest_id|uint32| +|2|total_open_count|uint32| +|3|face_black_count|uint32| + +## FaithData + +|#|Field name|Field type| +|:-:|-|-| +|1|faith_id|uint32| +|2|total_open_count|uint32| +|3|consume_count|uint32| +|4|modify_count|int32| + +## CustomizedContestBase + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| +|2|contest_id|uint32| +|3|contest_name|string| +|4|state|uint32| +|5|creator_id|uint32| +|6|create_time|uint32| +|7|start_time|uint32| +|8|finish_time|uint32| +|9|open|bool| +|10|contest_type|uint32| + +## CustomizedContestExtend + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| +|2|public_notice|string| + +## CustomizedContestAbstract + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| +|2|contest_id|uint32| +|3|contest_name|string| +|4|state|uint32| +|5|creator_id|uint32| +|6|create_time|uint32| +|7|start_time|uint32| +|8|finish_time|uint32| +|9|open|bool| +|10|public_notice|string| + +## CustomizedContestDetail + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| +|2|contest_id|uint32| +|3|contest_name|string| +|4|state|uint32| +|5|creator_id|uint32| +|6|create_time|uint32| +|7|start_time|uint32| +|8|finish_time|uint32| +|9|open|bool| +|10|rank_rule|uint32| +|11|game_mode|[GameMode](#GameMode)| +|12|private_notice|string| +|13|observer_switch|uint32| + +## CustomizedContestPlayerReport + +|#|Field name|Field type| +|:-:|-|-| +|1|rank_rule|uint32| +|2|rank|uint32| +|3|point|int32| +|4|game_ranks|uint32| +|5|total_game_count|uint32| + +## RecordGame + +|#|Field name|Field type| +|:-:|-|-| +|1|uuid|string| +|2|start_time|uint32| +|3|end_time|uint32| +|5|config|[GameConfig](#GameConfig)| +|11|accounts|[AccountInfo](#AccountInfo)| +|12|result|[GameEndResult](#GameEndResult)| + +## CustomizedContestGameStart + +|#|Field name|Field type| +|:-:|-|-| +|1|players|[Item](#Item)| + +## CustomizedContestGameEnd + +|#|Field name|Field type| +|:-:|-|-| +|1|players|[Item](#Item)| + +## Activity + +|#|Field name|Field type| +|:-:|-|-| +|1|activity_id|uint32| +|2|start_time|uint32| +|3|end_time|uint32| +|4|type|string| + +## ExchangeRecord + +|#|Field name|Field type| +|:-:|-|-| +|1|exchange_id|uint32| +|2|count|uint32| + +## ActivityAccumulatedPointData + +|#|Field name|Field type| +|:-:|-|-| +|1|activity_id|uint32| +|2|point|int32| +|3|gained_reward_list|uint32| + +## ActivityRankPointData + +|#|Field name|Field type| +|:-:|-|-| +|1|leaderboard_id|uint32| +|2|point|int32| +|3|gained_reward|bool| +|4|gainable_time|uint32| + +## GameRoundHuData + +|#|Field name|Field type| +|:-:|-|-| +|1|hupai|[HuPai](#HuPai)| +|2|fans|[Fan](#Fan)| +|3|score|uint32| +|4|xun|uint32| +|5|title_id|uint32| +|6|fan_sum|uint32| +|7|fu_sum|uint32| +|8|yakuman_count|uint32| +|9|biao_dora_count|uint32| +|10|red_dora_count|uint32| +|11|li_dora_count|uint32| +|12|babei_count|uint32| +|13|xuan_shang_count|uint32| + +## GameRoundPlayerResult + +|#|Field name|Field type| +|:-:|-|-| +|1|type|uint32| +|2|hands|string| +|3|ming|string| +|4|liqi_type|uint32| +|5|is_fulu|bool| +|6|is_liujumanguan|bool| +|7|lian_zhuang|uint32| +|8|hu|[GameRoundHuData](#GameRoundHuData)| + +## GameRoundPlayer + +|#|Field name|Field type| +|:-:|-|-| +|1|score|int32| +|2|rank|uint32| +|3|result|[GameRoundPlayerResult](#GameRoundPlayerResult)| + +## GameRoundSnapshot + +|#|Field name|Field type| +|:-:|-|-| +|1|ju|uint32| +|2|ben|uint32| +|3|players|[GameRoundPlayer](#GameRoundPlayer)| + +## GameFinalSnapshot + +|#|Field name|Field type| +|:-:|-|-| +|1|uuid|string| +|2|state|uint32| +|3|category|uint32| +|4|mode|[GameMode](#GameMode)| +|5|meta|[GameMetaData](#GameMetaData)| +|6|calculate_param|[CalculateParam](#CalculateParam)| +|7|create_time|uint32| +|8|start_time|uint32| +|9|finish_time|uint32| +|10|seats|[GameSeat](#GameSeat)| +|11|rounds|[GameRoundSnapshot](#GameRoundSnapshot)| +|12|account_views|[PlayerGameView](#PlayerGameView)| +|13|final_players|[FinalPlayer](#FinalPlayer)| +|14|afk_info|[AFKInfo](#AFKInfo)| + +## RecordCollectedData + +|#|Field name|Field type| +|:-:|-|-| +|1|uuid|string| +|2|remarks|string| +|3|start_time|uint32| +|4|end_time|uint32| + +## ContestDetailRule + +|#|Field name|Field type| +|:-:|-|-| +|5|init_point|uint32| +|6|fandian|uint32| +|7|can_jifei|bool| +|8|tianbian_value|uint32| +|9|liqibang_value|uint32| +|10|changbang_value|uint32| +|11|noting_fafu_1|uint32| +|12|noting_fafu_2|uint32| +|13|noting_fafu_3|uint32| +|14|have_liujumanguan|bool| +|15|have_qieshangmanguan|bool| +|16|have_biao_dora|bool| +|17|have_gang_biao_dora|bool| +|18|ming_dora_immediately_open|bool| +|19|have_li_dora|bool| +|20|have_gang_li_dora|bool| +|21|have_sifenglianda|bool| +|22|have_sigangsanle|bool| +|23|have_sijializhi|bool| +|24|have_jiuzhongjiupai|bool| +|25|have_sanjiahele|bool| +|26|have_toutiao|bool| +|27|have_helelianzhuang|bool| +|28|have_helezhongju|bool| +|29|have_tingpailianzhuang|bool| +|30|have_tingpaizhongju|bool| +|31|have_yifa|bool| +|32|have_nanruxiru|bool| +|33|jingsuanyuandian|uint32| +|34|shunweima_2|int32| +|35|shunweima_3|int32| +|36|shunweima_4|int32| +|37|bianjietishi|bool| +|38|ai_level|uint32| +|39|have_zimosun|bool| +|40|disable_multi_yukaman|bool| +|41|guyi_mode|uint32| + +## ContestDetailRuleV2 + +|#|Field name|Field type| +|:-:|-|-| +|1|game_rule|[ContestDetailRule](#ContestDetailRule)| +|2|extra_rule|[ExtraRule](#ExtraRule)| + +## GameRuleSetting + +|#|Field name|Field type| +|:-:|-|-| +|1|round_type|uint32| +|2|shiduan|bool| +|3|dora_count|uint32| +|4|thinking_type|uint32| +|5|use_detail_rule|bool| +|6|detail_rule_v2|[ContestDetailRuleV2](#ContestDetailRuleV2)| + +## Lobby + +* fetchConnectionInfo([ResConnectionInfo](#ResConnectionInfo) return [ReqCommon](#ReqCommon) +* signup([ResSignupAccount](#ResSignupAccount) return [ReqSignupAccount](#ReqSignupAccount) +* login([ResLogin](#ResLogin) return [ReqLogin](#ReqLogin) +* emailLogin([ResLogin](#ResLogin) return [ReqEmailLogin](#ReqEmailLogin) +* oauth2Auth([ResOauth2Auth](#ResOauth2Auth) return [ReqOauth2Auth](#ReqOauth2Auth) +* oauth2Check([ResOauth2Check](#ResOauth2Check) return [ReqOauth2Check](#ReqOauth2Check) +* oauth2Signup([ResOauth2Signup](#ResOauth2Signup) return [ReqOauth2Signup](#ReqOauth2Signup) +* oauth2Login([ResLogin](#ResLogin) return [ReqOauth2Login](#ReqOauth2Login) +* dmmPreLogin([ResDMMPreLogin](#ResDMMPreLogin) return [ReqDMMPreLogin](#ReqDMMPreLogin) +* createPhoneVerifyCode([ResCommon](#ResCommon) return [ReqCreatePhoneVerifyCode](#ReqCreatePhoneVerifyCode) +* createEmailVerifyCode([ResCommon](#ResCommon) return [ReqCreateEmailVerifyCode](#ReqCreateEmailVerifyCode) +* verfifyCodeForSecure([ResVerfiyCodeForSecure](#ResVerfiyCodeForSecure) return [ReqVerifyCodeForSecure](#ReqVerifyCodeForSecure) +* bindPhoneNumber([ResCommon](#ResCommon) return [ReqBindPhoneNumber](#ReqBindPhoneNumber) +* unbindPhoneNumber([ResCommon](#ResCommon) return [ReqUnbindPhoneNumber](#ReqUnbindPhoneNumber) +* fetchPhoneLoginBind([ResFetchPhoneLoginBind](#ResFetchPhoneLoginBind) return [ReqCommon](#ReqCommon) +* createPhoneLoginBind([ResCommon](#ResCommon) return [ReqCreatePhoneLoginBind](#ReqCreatePhoneLoginBind) +* bindEmail([ResCommon](#ResCommon) return [ReqBindEmail](#ReqBindEmail) +* modifyPassword([ResCommon](#ResCommon) return [ReqModifyPassword](#ReqModifyPassword) +* bindAccount([ResCommon](#ResCommon) return [ReqBindAccount](#ReqBindAccount) +* logout([ResLogout](#ResLogout) return [ReqLogout](#ReqLogout) +* heatbeat([ResCommon](#ResCommon) return [ReqHeatBeat](#ReqHeatBeat) +* loginBeat([ResCommon](#ResCommon) return [ReqLoginBeat](#ReqLoginBeat) +* createNickname([ResCommon](#ResCommon) return [ReqCreateNickname](#ReqCreateNickname) +* modifyNickname([ResCommon](#ResCommon) return [ReqModifyNickname](#ReqModifyNickname) +* modifyBirthday([ResCommon](#ResCommon) return [ReqModifyBirthday](#ReqModifyBirthday) +* fetchRoom([ResSelfRoom](#ResSelfRoom) return [ReqCommon](#ReqCommon) +* createRoom([ResCreateRoom](#ResCreateRoom) return [ReqCreateRoom](#ReqCreateRoom) +* joinRoom([ResJoinRoom](#ResJoinRoom) return [ReqJoinRoom](#ReqJoinRoom) +* leaveRoom([ResCommon](#ResCommon) return [ReqCommon](#ReqCommon) +* readyPlay([ResCommon](#ResCommon) return [ReqRoomReady](#ReqRoomReady) +* dressingStatus([ResCommon](#ResCommon) return [ReqRoomDressing](#ReqRoomDressing) +* startRoom([ResCommon](#ResCommon) return [ReqRoomStart](#ReqRoomStart) +* kickPlayer([ResCommon](#ResCommon) return [ReqRoomKick](#ReqRoomKick) +* modifyRoom([ResCommon](#ResCommon) return [ReqModifyRoom](#ReqModifyRoom) +* matchGame([ResCommon](#ResCommon) return [ReqJoinMatchQueue](#ReqJoinMatchQueue) +* cancelMatch([ResCommon](#ResCommon) return [ReqCancelMatchQueue](#ReqCancelMatchQueue) +* fetchAccountInfo([ResAccountInfo](#ResAccountInfo) return [ReqAccountInfo](#ReqAccountInfo) +* changeAvatar([ResCommon](#ResCommon) return [ReqChangeAvatar](#ReqChangeAvatar) +* fetchAccountStatisticInfo([ResAccountStatisticInfo](#ResAccountStatisticInfo) return [ReqAccountStatisticInfo](#ReqAccountStatisticInfo) +* fetchAccountCharacterInfo([ResAccountCharacterInfo](#ResAccountCharacterInfo) return [ReqCommon](#ReqCommon) +* shopPurchase([ResShopPurchase](#ResShopPurchase) return [ReqShopPurchase](#ReqShopPurchase) +* fetchGameRecord([ResGameRecord](#ResGameRecord) return [ReqGameRecord](#ReqGameRecord) +* fetchGameRecordList([ResGameRecordList](#ResGameRecordList) return [ReqGameRecordList](#ReqGameRecordList) +* fetchCollectedGameRecordList([ResCollectedGameRecordList](#ResCollectedGameRecordList) return [ReqCommon](#ReqCommon) +* fetchGameRecordsDetail([ResGameRecordsDetail](#ResGameRecordsDetail) return [ReqGameRecordsDetail](#ReqGameRecordsDetail) +* addCollectedGameRecord([ResAddCollectedGameRecord](#ResAddCollectedGameRecord) return [ReqAddCollectedGameRecord](#ReqAddCollectedGameRecord) +* removeCollectedGameRecord([ResRemoveCollectedGameRecord](#ResRemoveCollectedGameRecord) return [ReqRemoveCollectedGameRecord](#ReqRemoveCollectedGameRecord) +* changeCollectedGameRecordRemarks([ResChangeCollectedGameRecordRemarks](#ResChangeCollectedGameRecordRemarks) return [ReqChangeCollectedGameRecordRemarks](#ReqChangeCollectedGameRecordRemarks) +* fetchLevelLeaderboard([ResLevelLeaderboard](#ResLevelLeaderboard) return [ReqLevelLeaderboard](#ReqLevelLeaderboard) +* fetchMultiAccountBrief([ResMultiAccountBrief](#ResMultiAccountBrief) return [ReqMultiAccountId](#ReqMultiAccountId) +* fetchFriendList([ResFriendList](#ResFriendList) return [ReqCommon](#ReqCommon) +* fetchFriendApplyList([ResFriendApplyList](#ResFriendApplyList) return [ReqCommon](#ReqCommon) +* applyFriend([ResCommon](#ResCommon) return [ReqApplyFriend](#ReqApplyFriend) +* handleFriendApply([ResCommon](#ResCommon) return [ReqHandleFriendApply](#ReqHandleFriendApply) +* removeFriend([ResCommon](#ResCommon) return [ReqRemoveFriend](#ReqRemoveFriend) +* searchAccountById([ResSearchAccountById](#ResSearchAccountById) return [ReqSearchAccountById](#ReqSearchAccountById) +* searchAccountByPattern([ResSearchAccountByPattern](#ResSearchAccountByPattern) return [ReqSearchAccountByPattern](#ReqSearchAccountByPattern) +* fetchAccountState([ResAccountStates](#ResAccountStates) return [ReqAccountList](#ReqAccountList) +* fetchBagInfo([ResBagInfo](#ResBagInfo) return [ReqCommon](#ReqCommon) +* useBagItem([ResCommon](#ResCommon) return [ReqUseBagItem](#ReqUseBagItem) +* openManualItem([ResCommon](#ResCommon) return [ReqOpenManualItem](#ReqOpenManualItem) +* openRandomRewardItem([ResOpenRandomRewardItem](#ResOpenRandomRewardItem) return [ReqOpenRandomRewardItem](#ReqOpenRandomRewardItem) +* composeShard([ResCommon](#ResCommon) return [ReqComposeShard](#ReqComposeShard) +* fetchAnnouncement([ResAnnouncement](#ResAnnouncement) return [ReqCommon](#ReqCommon) +* readAnnouncement([ResCommon](#ResCommon) return [ReqReadAnnouncement](#ReqReadAnnouncement) +* fetchMailInfo([ResMailInfo](#ResMailInfo) return [ReqCommon](#ReqCommon) +* readMail([ResCommon](#ResCommon) return [ReqReadMail](#ReqReadMail) +* deleteMail([ResCommon](#ResCommon) return [ReqDeleteMail](#ReqDeleteMail) +* takeAttachmentFromMail([ResCommon](#ResCommon) return [ReqTakeAttachment](#ReqTakeAttachment) +* fetchAchievement([ResAchievement](#ResAchievement) return [ReqCommon](#ReqCommon) +* buyShiLian([ResCommon](#ResCommon) return [ReqBuyShiLian](#ReqBuyShiLian) +* matchShiLian([ResCommon](#ResCommon) return [ReqCommon](#ReqCommon) +* goNextShiLian([ResCommon](#ResCommon) return [ReqCommon](#ReqCommon) +* updateClientValue([ResCommon](#ResCommon) return [ReqUpdateClientValue](#ReqUpdateClientValue) +* fetchClientValue([ResClientValue](#ResClientValue) return [ReqCommon](#ReqCommon) +* clientMessage([ResCommon](#ResCommon) return [ReqClientMessage](#ReqClientMessage) +* fetchCurrentMatchInfo([ResCurrentMatchInfo](#ResCurrentMatchInfo) return [ReqCurrentMatchInfo](#ReqCurrentMatchInfo) +* userComplain([ResCommon](#ResCommon) return [ReqUserComplain](#ReqUserComplain) +* fetchReviveCoinInfo([ResReviveCoinInfo](#ResReviveCoinInfo) return [ReqCommon](#ReqCommon) +* gainReviveCoin([ResCommon](#ResCommon) return [ReqCommon](#ReqCommon) +* fetchDailyTask([ResDailyTask](#ResDailyTask) return [ReqCommon](#ReqCommon) +* refreshDailyTask([ResRefreshDailyTask](#ResRefreshDailyTask) return [ReqRefreshDailyTask](#ReqRefreshDailyTask) +* useGiftCode([ResUseGiftCode](#ResUseGiftCode) return [ReqUseGiftCode](#ReqUseGiftCode) +* fetchTitleList([ResTitleList](#ResTitleList) return [ReqCommon](#ReqCommon) +* useTitle([ResCommon](#ResCommon) return [ReqUseTitle](#ReqUseTitle) +* sendClientMessage([ResCommon](#ResCommon) return [ReqSendClientMessage](#ReqSendClientMessage) +* fetchGameLiveInfo([ResGameLiveInfo](#ResGameLiveInfo) return [ReqGameLiveInfo](#ReqGameLiveInfo) +* fetchGameLiveLeftSegment([ResGameLiveLeftSegment](#ResGameLiveLeftSegment) return [ReqGameLiveLeftSegment](#ReqGameLiveLeftSegment) +* fetchGameLiveList([ResGameLiveList](#ResGameLiveList) return [ReqGameLiveList](#ReqGameLiveList) +* fetchCommentSetting([ResCommentSetting](#ResCommentSetting) return [ReqCommon](#ReqCommon) +* updateCommentSetting([ResCommon](#ResCommon) return [ReqUpdateCommentSetting](#ReqUpdateCommentSetting) +* fetchCommentList([ResFetchCommentList](#ResFetchCommentList) return [ReqFetchCommentList](#ReqFetchCommentList) +* fetchCommentContent([ResFetchCommentContent](#ResFetchCommentContent) return [ReqFetchCommentContent](#ReqFetchCommentContent) +* leaveComment([ResCommon](#ResCommon) return [ReqLeaveComment](#ReqLeaveComment) +* deleteComment([ResCommon](#ResCommon) return [ReqDeleteComment](#ReqDeleteComment) +* updateReadComment([ResCommon](#ResCommon) return [ReqUpdateReadComment](#ReqUpdateReadComment) +* fetchRollingNotice([ReqRollingNotice](#ReqRollingNotice) return [ReqCommon](#ReqCommon) +* fetchServerTime([ResServerTime](#ResServerTime) return [ReqCommon](#ReqCommon) +* fetchPlatformProducts([ResPlatformBillingProducts](#ResPlatformBillingProducts) return [ReqPlatformBillingProducts](#ReqPlatformBillingProducts) +* cancelGooglePlayOrder([ResCommon](#ResCommon) return [ReqCancelGooglePlayOrder](#ReqCancelGooglePlayOrder) +* openChest([ResOpenChest](#ResOpenChest) return [ReqOpenChest](#ReqOpenChest) +* buyFromChestShop([ResBuyFromChestShop](#ResBuyFromChestShop) return [ReqBuyFromChestShop](#ReqBuyFromChestShop) +* fetchDailySignInInfo([ResDailySignInInfo](#ResDailySignInInfo) return [ReqCommon](#ReqCommon) +* doDailySignIn([ResCommon](#ResCommon) return [ReqCommon](#ReqCommon) +* doActivitySignIn([ResDoActivitySignIn](#ResDoActivitySignIn) return [ReqDoActivitySignIn](#ReqDoActivitySignIn) +* fetchCharacterInfo([ResCharacterInfo](#ResCharacterInfo) return [ReqCommon](#ReqCommon) +* changeMainCharacter([ResCommon](#ResCommon) return [ReqChangeMainCharacter](#ReqChangeMainCharacter) +* changeCharacterSkin([ResCommon](#ResCommon) return [ReqChangeCharacterSkin](#ReqChangeCharacterSkin) +* changeCharacterView([ResCommon](#ResCommon) return [ReqChangeCharacterView](#ReqChangeCharacterView) +* sendGiftToCharacter([ResSendGiftToCharacter](#ResSendGiftToCharacter) return [ReqSendGiftToCharacter](#ReqSendGiftToCharacter) +* sellItem([ResCommon](#ResCommon) return [ReqSellItem](#ReqSellItem) +* fetchCommonView([ResCommonView](#ResCommonView) return [ReqCommon](#ReqCommon) +* changeCommonView([ResCommon](#ResCommon) return [ReqChangeCommonView](#ReqChangeCommonView) +* saveCommonViews([ResCommon](#ResCommon) return [ReqSaveCommonViews](#ReqSaveCommonViews) +* fetchCommonViews([ResCommonViews](#ResCommonViews) return [ReqCommonViews](#ReqCommonViews) +* fetchAllCommonViews([ResAllcommonViews](#ResAllcommonViews) return [ReqCommon](#ReqCommon) +* useCommonView([ResCommon](#ResCommon) return [ReqUseCommonView](#ReqUseCommonView) +* upgradeCharacter([ResUpgradeCharacter](#ResUpgradeCharacter) return [ReqUpgradeCharacter](#ReqUpgradeCharacter) +* addFinishedEnding([ResCommon](#ResCommon) return [ReqFinishedEnding](#ReqFinishedEnding) +* receiveEndingReward([ResCommon](#ResCommon) return [ReqFinishedEnding](#ReqFinishedEnding) +* gameMasterCommand([ResCommon](#ResCommon) return [ReqGMCommand](#ReqGMCommand) +* fetchShopInfo([ResShopInfo](#ResShopInfo) return [ReqCommon](#ReqCommon) +* buyFromShop([ResBuyFromShop](#ResBuyFromShop) return [ReqBuyFromShop](#ReqBuyFromShop) +* buyFromZHP([ResCommon](#ResCommon) return [ReqBuyFromZHP](#ReqBuyFromZHP) +* refreshZHPShop([ResRefreshZHPShop](#ResRefreshZHPShop) return [ReqReshZHPShop](#ReqReshZHPShop) +* fetchMonthTicketInfo([ResMonthTicketInfo](#ResMonthTicketInfo) return [ReqCommon](#ReqCommon) +* payMonthTicket([ResPayMonthTicket](#ResPayMonthTicket) return [ReqPayMonthTicket](#ReqPayMonthTicket) +* exchangeCurrency([ResCommon](#ResCommon) return [ReqExchangeCurrency](#ReqExchangeCurrency) +* exchangeChestStone([ResCommon](#ResCommon) return [ReqExchangeCurrency](#ReqExchangeCurrency) +* exchangeDiamond([ResCommon](#ResCommon) return [ReqExchangeCurrency](#ReqExchangeCurrency) +* fetchServerSettings([ResServerSettings](#ResServerSettings) return [ReqCommon](#ReqCommon) +* fetchAccountSettings([ResAccountSettings](#ResAccountSettings) return [ReqCommon](#ReqCommon) +* updateAccountSettings([ResCommon](#ResCommon) return [ReqUpdateAccountSettings](#ReqUpdateAccountSettings) +* fetchModNicknameTime([ResModNicknameTime](#ResModNicknameTime) return [ReqCommon](#ReqCommon) +* createWechatNativeOrder([ResCreateWechatNativeOrder](#ResCreateWechatNativeOrder) return [ReqCreateWechatNativeOrder](#ReqCreateWechatNativeOrder) +* createWechatAppOrder([ResCreateWechatAppOrder](#ResCreateWechatAppOrder) return [ReqCreateWechatAppOrder](#ReqCreateWechatAppOrder) +* createAlipayOrder([ResCreateAlipayOrder](#ResCreateAlipayOrder) return [ReqCreateAlipayOrder](#ReqCreateAlipayOrder) +* createAlipayScanOrder([ResCreateAlipayScanOrder](#ResCreateAlipayScanOrder) return [ReqCreateAlipayScanOrder](#ReqCreateAlipayScanOrder) +* createAlipayAppOrder([ResCreateAlipayAppOrder](#ResCreateAlipayAppOrder) return [ReqCreateAlipayAppOrder](#ReqCreateAlipayAppOrder) +* createJPCreditCardOrder([ResCreateJPCreditCardOrder](#ResCreateJPCreditCardOrder) return [ReqCreateJPCreditCardOrder](#ReqCreateJPCreditCardOrder) +* createJPPaypalOrder([ResCreateJPPaypalOrder](#ResCreateJPPaypalOrder) return [ReqCreateJPPaypalOrder](#ReqCreateJPPaypalOrder) +* createJPAuOrder([ResCreateJPAuOrder](#ResCreateJPAuOrder) return [ReqCreateJPAuOrder](#ReqCreateJPAuOrder) +* createJPDocomoOrder([ResCreateJPDocomoOrder](#ResCreateJPDocomoOrder) return [ReqCreateJPDocomoOrder](#ReqCreateJPDocomoOrder) +* createJPWebMoneyOrder([ResCreateJPWebMoneyOrder](#ResCreateJPWebMoneyOrder) return [ReqCreateJPWebMoneyOrder](#ReqCreateJPWebMoneyOrder) +* createJPSoftbankOrder([ResCreateJPSoftbankOrder](#ResCreateJPSoftbankOrder) return [ReqCreateJPSoftbankOrder](#ReqCreateJPSoftbankOrder) +* createENPaypalOrder([ResCreateENPaypalOrder](#ResCreateENPaypalOrder) return [ReqCreateENPaypalOrder](#ReqCreateENPaypalOrder) +* createENMasterCardOrder([ResCreateENMasterCardOrder](#ResCreateENMasterCardOrder) return [ReqCreateENMasterCardOrder](#ReqCreateENMasterCardOrder) +* createENVisaOrder([ResCreateENVisaOrder](#ResCreateENVisaOrder) return [ReqCreateENVisaOrder](#ReqCreateENVisaOrder) +* createENJCBOrder([ResCreateENJCBOrder](#ResCreateENJCBOrder) return [ReqCreateENJCBOrder](#ReqCreateENJCBOrder) +* createENAlipayOrder([ResCreateENAlipayOrder](#ResCreateENAlipayOrder) return [ReqCreateENAlipayOrder](#ReqCreateENAlipayOrder) +* createDMMOrder([ResCreateDmmOrder](#ResCreateDmmOrder) return [ReqCreateDMMOrder](#ReqCreateDMMOrder) +* createIAPOrder([ResCreateIAPOrder](#ResCreateIAPOrder) return [ReqCreateIAPOrder](#ReqCreateIAPOrder) +* createMyCardAndroidOrder([ResCreateMyCardOrder](#ResCreateMyCardOrder) return [ReqCreateMyCardOrder](#ReqCreateMyCardOrder) +* createMyCardWebOrder([ResCreateMyCardOrder](#ResCreateMyCardOrder) return [ReqCreateMyCardOrder](#ReqCreateMyCardOrder) +* verifyMyCardOrder([ResCommon](#ResCommon) return [ReqVerifyMyCardOrder](#ReqVerifyMyCardOrder) +* verificationIAPOrder([ResVerificationIAPOrder](#ResVerificationIAPOrder) return [ReqVerificationIAPOrder](#ReqVerificationIAPOrder) +* createYostarSDKOrder([ResCreateYostarOrder](#ResCreateYostarOrder) return [ReqCreateYostarOrder](#ReqCreateYostarOrder) +* createBillingOrder([ResCreateBillingOrder](#ResCreateBillingOrder) return [ReqCreateBillingOrder](#ReqCreateBillingOrder) +* solveGooglePlayOrder([ResCommon](#ResCommon) return [ReqSolveGooglePlayOrder](#ReqSolveGooglePlayOrder) +* solveGooglePayOrderV3([ResCommon](#ResCommon) return [ReqSolveGooglePlayOrderV3](#ReqSolveGooglePlayOrderV3) +* fetchMisc([ResMisc](#ResMisc) return [ReqCommon](#ReqCommon) +* modifySignature([ResCommon](#ResCommon) return [ReqModifySignature](#ReqModifySignature) +* fetchIDCardInfo([ResIDCardInfo](#ResIDCardInfo) return [ReqCommon](#ReqCommon) +* updateIDCardInfo([ResCommon](#ResCommon) return [ReqUpdateIDCardInfo](#ReqUpdateIDCardInfo) +* fetchVipReward([ResVipReward](#ResVipReward) return [ReqCommon](#ReqCommon) +* gainVipReward([ResCommon](#ResCommon) return [ReqGainVipReward](#ReqGainVipReward) +* fetchCustomizedContestList([ResFetchCustomizedContestList](#ResFetchCustomizedContestList) return [ReqFetchCustomizedContestList](#ReqFetchCustomizedContestList) +* fetchCustomizedContestExtendInfo([ResFetchCustomizedContestExtendInfo](#ResFetchCustomizedContestExtendInfo) return [ReqFetchCustomizedContestExtendInfo](#ReqFetchCustomizedContestExtendInfo) +* fetchCustomizedContestAuthInfo([ResFetchCustomizedContestAuthInfo](#ResFetchCustomizedContestAuthInfo) return [ReqFetchCustomizedContestAuthInfo](#ReqFetchCustomizedContestAuthInfo) +* enterCustomizedContest([ResEnterCustomizedContest](#ResEnterCustomizedContest) return [ReqEnterCustomizedContest](#ReqEnterCustomizedContest) +* leaveCustomizedContest([ResCommon](#ResCommon) return [ReqCommon](#ReqCommon) +* fetchCustomizedContestOnlineInfo([ResFetchCustomizedContestOnlineInfo](#ResFetchCustomizedContestOnlineInfo) return [ReqFetchCustomizedContestOnlineInfo](#ReqFetchCustomizedContestOnlineInfo) +* fetchCustomizedContestByContestId([ResFetchCustomizedContestByContestId](#ResFetchCustomizedContestByContestId) return [ReqFetchCustomizedContestByContestId](#ReqFetchCustomizedContestByContestId) +* startCustomizedContest([ResCommon](#ResCommon) return [ReqStartCustomizedContest](#ReqStartCustomizedContest) +* stopCustomizedContest([ResCommon](#ResCommon) return [ReqCommon](#ReqCommon) +* joinCustomizedContestChatRoom([ResJoinCustomizedContestChatRoom](#ResJoinCustomizedContestChatRoom) return [ReqJoinCustomizedContestChatRoom](#ReqJoinCustomizedContestChatRoom) +* leaveCustomizedContestChatRoom([ResCommon](#ResCommon) return [ReqCommon](#ReqCommon) +* sayChatMessage([ResCommon](#ResCommon) return [ReqSayChatMessage](#ReqSayChatMessage) +* fetchCustomizedContestGameRecords([ResFetchCustomizedContestGameRecords](#ResFetchCustomizedContestGameRecords) return [ReqFetchCustomizedContestGameRecords](#ReqFetchCustomizedContestGameRecords) +* fetchCustomizedContestGameLiveList([ResFetchCustomizedContestGameLiveList](#ResFetchCustomizedContestGameLiveList) return [ReqFetchCustomizedContestGameLiveList](#ReqFetchCustomizedContestGameLiveList) +* followCustomizedContest([ResCommon](#ResCommon) return [ReqTargetCustomizedContest](#ReqTargetCustomizedContest) +* unfollowCustomizedContest([ResCommon](#ResCommon) return [ReqTargetCustomizedContest](#ReqTargetCustomizedContest) +* fetchActivityList([ResActivityList](#ResActivityList) return [ReqCommon](#ReqCommon) +* fetchAccountActivityData([ResAccountActivityData](#ResAccountActivityData) return [ReqCommon](#ReqCommon) +* exchangeActivityItem([ResExchangeActivityItem](#ResExchangeActivityItem) return [ReqExchangeActivityItem](#ReqExchangeActivityItem) +* completeActivityTask([ResCommon](#ResCommon) return [ReqCompleteActivityTask](#ReqCompleteActivityTask) +* completeActivityFlipTask([ResCommon](#ResCommon) return [ReqCompleteActivityTask](#ReqCompleteActivityTask) +* completePeriodActivityTask([ResCommon](#ResCommon) return [ReqCompleteActivityTask](#ReqCompleteActivityTask) +* completeRandomActivityTask([ResCommon](#ResCommon) return [ReqCompleteActivityTask](#ReqCompleteActivityTask) +* receiveActivityFlipTask([ResReceiveActivityFlipTask](#ResReceiveActivityFlipTask) return [ReqReceiveActivityFlipTask](#ReqReceiveActivityFlipTask) +* fetchActivityFlipInfo([ResFetchActivityFlipInfo](#ResFetchActivityFlipInfo) return [ReqFetchActivityFlipInfo](#ReqFetchActivityFlipInfo) +* gainAccumulatedPointActivityReward([ResCommon](#ResCommon) return [ReqGainAccumulatedPointActivityReward](#ReqGainAccumulatedPointActivityReward) +* fetchRankPointLeaderboard([ResFetchRankPointLeaderboard](#ResFetchRankPointLeaderboard) return [ReqFetchRankPointLeaderboard](#ReqFetchRankPointLeaderboard) +* gainRankPointReward([ResCommon](#ResCommon) return [ReqGainRankPointReward](#ReqGainRankPointReward) +* richmanActivityNextMove([ResRichmanNextMove](#ResRichmanNextMove) return [ReqRichmanNextMove](#ReqRichmanNextMove) +* richmanAcitivitySpecialMove([ResRichmanNextMove](#ResRichmanNextMove) return [ReqRichmanSpecialMove](#ReqRichmanSpecialMove) +* richmanActivityChestInfo([ResRichmanChestInfo](#ResRichmanChestInfo) return [ReqRichmanChestInfo](#ReqRichmanChestInfo) +* createGameObserveAuth([ResCreateGameObserveAuth](#ResCreateGameObserveAuth) return [ReqCreateGameObserveAuth](#ReqCreateGameObserveAuth) +* refreshGameObserveAuth([ResRefreshGameObserveAuth](#ResRefreshGameObserveAuth) return [ReqRefreshGameObserveAuth](#ReqRefreshGameObserveAuth) +## ResConnectionInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|client_endpoint|[NetworkEndpoint](#NetworkEndpoint)| + +## ReqSignupAccount + +|#|Field name|Field type| +|:-:|-|-| +|1|account|string| +|2|password|string| +|3|code|string| +|4|type|uint32| + +## ResSignupAccount + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| + +## ReqLogin + +|#|Field name|Field type| +|:-:|-|-| +|1|account|string| +|2|password|string| +|3|reconnect|bool| +|4|device|[ClientDeviceInfo](#ClientDeviceInfo)| +|5|random_key|string| +|6|client_version|string| +|7|gen_access_token|bool| +|8|currency_platforms|uint32| +|9|type|uint32| + +## ResLogin + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|account_id|uint32| +|3|account|[Account](#Account)| +|4|game_info|[GameConnectInfo](#GameConnectInfo)| +|5|has_unread_announcement|bool| +|6|access_token|string| +|7|signup_time|uint32| +|8|is_id_card_authed|bool| + +## ReqEmailLogin + +|#|Field name|Field type| +|:-:|-|-| +|1|email|string| +|2|password|string| +|3|reconnect|bool| +|4|device|[ClientDeviceInfo](#ClientDeviceInfo)| +|5|random_key|string| +|6|client_version|string| +|7|gen_access_token|bool| +|8|currency_platforms|uint32| + +## ReqBindAccount + +|#|Field name|Field type| +|:-:|-|-| +|1|account|string| +|2|password|string| + +## ReqCreatePhoneVerifyCode + +|#|Field name|Field type| +|:-:|-|-| +|1|phone|string| +|2|usage|uint32| + +## ReqCreateEmailVerifyCode + +|#|Field name|Field type| +|:-:|-|-| +|1|email|string| +|2|usage|uint32| + +## ReqVerifyCodeForSecure + +|#|Field name|Field type| +|:-:|-|-| +|1|code|string| +|2|operation|uint32| + +## ResVerfiyCodeForSecure + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|secure_token|string| + +## ReqBindPhoneNumber + +|#|Field name|Field type| +|:-:|-|-| +|1|code|string| +|2|phone|string| +|3|password|string| +|4|multi_bind_version|bool| + +## ReqUnbindPhoneNumber + +|#|Field name|Field type| +|:-:|-|-| +|1|code|string| +|2|phone|string| +|3|password|string| + +## ResFetchPhoneLoginBind + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|phone_login|uint32| + +## ReqCreatePhoneLoginBind + +|#|Field name|Field type| +|:-:|-|-| +|1|password|string| + +## ReqBindEmail + +|#|Field name|Field type| +|:-:|-|-| +|1|email|string| +|2|code|string| +|3|password|string| + +## ReqModifyPassword + +|#|Field name|Field type| +|:-:|-|-| +|1|new_password|string| +|2|old_password|string| +|3|secure_token|string| + +## ReqOauth2Auth + +|#|Field name|Field type| +|:-:|-|-| +|1|type|uint32| +|2|code|string| +|3|uid|string| + +## ResOauth2Auth + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|access_token|string| + +## ReqOauth2Check + +|#|Field name|Field type| +|:-:|-|-| +|1|type|uint32| +|2|access_token|string| + +## ResOauth2Check + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|has_account|bool| + +## ReqOauth2Signup + +|#|Field name|Field type| +|:-:|-|-| +|1|type|uint32| +|2|access_token|string| +|3|email|string| +|4|advertise_str|string| + +## ResOauth2Signup + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| + +## ReqOauth2Login + +|#|Field name|Field type| +|:-:|-|-| +|1|type|uint32| +|2|access_token|string| +|3|reconnect|bool| +|4|device|[ClientDeviceInfo](#ClientDeviceInfo)| +|5|random_key|string| +|6|client_version|string| +|8|currency_platforms|uint32| + +## ReqDMMPreLogin + +|#|Field name|Field type| +|:-:|-|-| +|1|finish_url|string| + +## ResDMMPreLogin + +|#|Field name|Field type| +|:-:|-|-| +|1|parameter|string| + +## ReqLogout + +No fields + +## ResLogout + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| + +## ReqHeatBeat + +|#|Field name|Field type| +|:-:|-|-| +|1|no_operation_counter|uint32| + +## ReqLoginBeat + +|#|Field name|Field type| +|:-:|-|-| +|1|contract|string| + +## ReqJoinMatchQueue + +|#|Field name|Field type| +|:-:|-|-| +|1|match_mode|uint32| + +## ReqCancelMatchQueue + +|#|Field name|Field type| +|:-:|-|-| +|1|match_mode|uint32| + +## ReqAccountInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id|uint32| + +## ResAccountInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|account|[Account](#Account)| +|3|room|[Room](#Room)| + +## ReqCreateNickname + +|#|Field name|Field type| +|:-:|-|-| +|1|nickname|string| +|2|advertise_str|string| + +## ReqModifyNickname + +|#|Field name|Field type| +|:-:|-|-| +|1|nickname|string| +|2|use_item_id|uint32| + +## ReqModifyBirthday + +|#|Field name|Field type| +|:-:|-|-| +|1|birthday|int32| + +## ResSelfRoom + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|room|[Room](#Room)| + +## ReqCreateRoom + +|#|Field name|Field type| +|:-:|-|-| +|1|player_count|uint32| +|2|mode|[GameMode](#GameMode)| +|3|public_live|bool| + +## ResCreateRoom + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|room|[Room](#Room)| + +## ReqJoinRoom + +|#|Field name|Field type| +|:-:|-|-| +|1|room_id|uint32| + +## ResJoinRoom + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|room|[Room](#Room)| + +## ReqRoomReady + +|#|Field name|Field type| +|:-:|-|-| +|1|ready|bool| + +## ReqRoomDressing + +|#|Field name|Field type| +|:-:|-|-| +|1|dressing|bool| + +## ReqRoomStart + +No fields + +## ReqRoomKick + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id|uint32| + +## ReqModifyRoom + +|#|Field name|Field type| +|:-:|-|-| +|1|robot_count|uint32| + +## ReqChangeAvatar + +|#|Field name|Field type| +|:-:|-|-| +|1|avatar_id|uint32| + +## ReqAccountStatisticInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id|uint32| + +## ResAccountStatisticInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|statistic_data|[AccountStatisticData](#AccountStatisticData)| +|3|detail_data|[AccountDetailStatisticV2](#AccountDetailStatisticV2)| + +## ResAccountCharacterInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|unlock_list|uint32| + +## ReqShopPurchase + +|#|Field name|Field type| +|:-:|-|-| +|1|type|string| +|2|id|uint32| + +## ResShopPurchase + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|update|[AccountUpdate](#AccountUpdate)| + +## ReqGameRecord + +|#|Field name|Field type| +|:-:|-|-| +|1|game_uuid|string| + +## ResGameRecord + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|3|head|[RecordGame](#RecordGame)| +|4|data|[bytes](#bytes)| +|5|data_url|string| + +## ReqGameRecordList + +|#|Field name|Field type| +|:-:|-|-| +|1|start|uint32| +|2|count|uint32| +|3|type|uint32| + +## ResGameRecordList + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|total_count|uint32| +|3|record_list|[RecordGame](#RecordGame)| + +## ResCollectedGameRecordList + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|record_list|[RecordCollectedData](#RecordCollectedData)| +|3|record_collect_limit|uint32| + +## ReqGameRecordsDetail + +|#|Field name|Field type| +|:-:|-|-| +|1|uuid_list|string| + +## ResGameRecordsDetail + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|record_list|[RecordGame](#RecordGame)| + +## ReqAddCollectedGameRecord + +|#|Field name|Field type| +|:-:|-|-| +|1|uuid|string| +|2|remarks|string| +|3|start_time|uint32| +|4|end_time|uint32| + +## ResAddCollectedGameRecord + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| + +## ReqRemoveCollectedGameRecord + +|#|Field name|Field type| +|:-:|-|-| +|1|uuid|string| + +## ResRemoveCollectedGameRecord + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| + +## ReqChangeCollectedGameRecordRemarks + +|#|Field name|Field type| +|:-:|-|-| +|1|uuid|string| +|2|remarks|string| + +## ResChangeCollectedGameRecordRemarks + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| + +## ReqLevelLeaderboard + +|#|Field name|Field type| +|:-:|-|-| +|1|type|uint32| + +## ResLevelLeaderboard + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|items|[Item](#Item)| +|3|self_rank|uint32| + +## ReqMultiAccountId + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id_list|uint32| + +## ResMultiAccountBrief + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|players|[PlayerBaseView](#PlayerBaseView)| + +## ResFriendList + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|friends|[Friend](#Friend)| +|3|friend_max_count|uint32| + +## ResFriendApplyList + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|applies|[FriendApply](#FriendApply)| + +## ReqApplyFriend + +|#|Field name|Field type| +|:-:|-|-| +|1|target_id|uint32| + +## ReqHandleFriendApply + +|#|Field name|Field type| +|:-:|-|-| +|1|target_id|uint32| +|2|method|uint32| + +## ReqRemoveFriend + +|#|Field name|Field type| +|:-:|-|-| +|1|target_id|uint32| + +## ReqSearchAccountByPattern + +|#|Field name|Field type| +|:-:|-|-| +|1|search_next|bool| +|2|pattern|string| + +## ResSearchAccountByPattern + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|is_finished|bool| +|3|match_accounts|uint32| +|4|decode_id|uint32| + +## ReqAccountList + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id_list|uint32| + +## ResAccountStates + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|states|[AccountActiveState](#AccountActiveState)| + +## ReqSearchAccountById + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id|uint32| + +## ResSearchAccountById + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|player|[PlayerBaseView](#PlayerBaseView)| + +## ResBagInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|bag|[Bag](#Bag)| + +## ReqUseBagItem + +|#|Field name|Field type| +|:-:|-|-| +|1|item_id|uint32| + +## ReqOpenManualItem + +|#|Field name|Field type| +|:-:|-|-| +|1|item_id|uint32| +|2|count|uint32| +|3|select_id|uint32| + +## ReqOpenRandomRewardItem + +|#|Field name|Field type| +|:-:|-|-| +|1|item_id|uint32| + +## ResOpenRandomRewardItem + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|results|[OpenResult](#OpenResult)| + +## ReqComposeShard + +|#|Field name|Field type| +|:-:|-|-| +|1|item_id|uint32| + +## ResAnnouncement + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|announcements|[Announcement](#Announcement)| +|3|sort|uint32| +|4|read_list|uint32| + +## ResMailInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|mails|[Mail](#Mail)| + +## ReqReadMail + +|#|Field name|Field type| +|:-:|-|-| +|1|mail_id|uint32| + +## ReqDeleteMail + +|#|Field name|Field type| +|:-:|-|-| +|1|mail_id|uint32| + +## ReqTakeAttachment + +|#|Field name|Field type| +|:-:|-|-| +|1|mail_id|uint32| + +## ResAchievement + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|progresses|[AchievementProgress](#AchievementProgress)| + +## ResTitleList + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|title_list|uint32| + +## ReqUseTitle + +|#|Field name|Field type| +|:-:|-|-| +|1|title|uint32| + +## ReqBuyShiLian + +|#|Field name|Field type| +|:-:|-|-| +|1|type|uint32| + +## ReqUpdateClientValue + +|#|Field name|Field type| +|:-:|-|-| +|1|key|uint32| +|2|value|uint32| + +## ResClientValue + +|#|Field name|Field type| +|:-:|-|-| +|1|datas|[Value](#Value)| +|2|recharged_count|uint32| + +## ReqClientMessage + +|#|Field name|Field type| +|:-:|-|-| +|1|timestamp|uint32| +|2|message|string| + +## ReqCurrentMatchInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|mode_list|uint32| + +## ResCurrentMatchInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|matches|[CurrentMatchInfo](#CurrentMatchInfo)| + +## ReqUserComplain + +|#|Field name|Field type| +|:-:|-|-| +|1|target_id|uint32| +|2|type|uint32| + +## ReqReadAnnouncement + +|#|Field name|Field type| +|:-:|-|-| +|1|announcement_id|uint32| + +## ResReviveCoinInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|has_gained|bool| + +## ResDailyTask + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|progresses|[TaskProgress](#TaskProgress)| +|3|has_refresh_count|bool| +|4|max_daily_task_count|uint32| +|5|refresh_count|uint32| + +## ReqRefreshDailyTask + +|#|Field name|Field type| +|:-:|-|-| +|1|task_id|uint32| + +## ResRefreshDailyTask + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|progress|[TaskProgress](#TaskProgress)| +|3|refresh_count|uint32| + +## ReqUseGiftCode + +|#|Field name|Field type| +|:-:|-|-| +|1|code|string| + +## ResUseGiftCode + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|6|rewards|[RewardSlot](#RewardSlot)| + +## ReqSendClientMessage + +|#|Field name|Field type| +|:-:|-|-| +|1|target_id|uint32| +|2|type|uint32| +|3|content|string| + +## ReqGameLiveInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|game_uuid|string| + +## ResGameLiveInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|left_start_seconds|uint32| +|3|live_head|[GameLiveHead](#GameLiveHead)| +|4|segments|[GameLiveSegmentUri](#GameLiveSegmentUri)| +|5|now_millisecond|uint32| + +## ReqGameLiveLeftSegment + +|#|Field name|Field type| +|:-:|-|-| +|1|game_uuid|string| +|2|last_segment_id|uint32| + +## ResGameLiveLeftSegment + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|live_state|uint32| +|4|segments|[GameLiveSegmentUri](#GameLiveSegmentUri)| +|5|now_millisecond|uint32| +|6|segment_end_millisecond|uint32| + +## ReqGameLiveList + +|#|Field name|Field type| +|:-:|-|-| +|1|filter_id|uint32| + +## ResGameLiveList + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|live_list|[GameLiveHead](#GameLiveHead)| + +## ResCommentSetting + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|comment_allow|uint32| + +## ReqUpdateCommentSetting + +|#|Field name|Field type| +|:-:|-|-| +|1|comment_allow|uint32| + +## ReqFetchCommentList + +|#|Field name|Field type| +|:-:|-|-| +|1|target_id|uint32| + +## ResFetchCommentList + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|comment_allow|uint32| +|3|comment_id_list|uint32| +|4|last_read_id|uint32| + +## ReqFetchCommentContent + +|#|Field name|Field type| +|:-:|-|-| +|1|target_id|uint32| +|2|comment_id_list|uint32| + +## ResFetchCommentContent + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|comments|[CommentItem](#CommentItem)| + +## ReqLeaveComment + +|#|Field name|Field type| +|:-:|-|-| +|1|target_id|uint32| +|2|content|string| + +## ReqDeleteComment + +|#|Field name|Field type| +|:-:|-|-| +|1|target_id|uint32| +|2|delete_list|uint32| + +## ReqUpdateReadComment + +|#|Field name|Field type| +|:-:|-|-| +|1|read_id|uint32| + +## ReqRollingNotice + +|#|Field name|Field type| +|:-:|-|-| +|1|notice|[RollingNotice](#RollingNotice)| + +## ResServerTime + +|#|Field name|Field type| +|:-:|-|-| +|1|server_time|uint32| + +## ReqPlatformBillingProducts + +|#|Field name|Field type| +|:-:|-|-| +|1|shelves_id|uint32| + +## ResPlatformBillingProducts + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|products|[BillingProduct](#BillingProduct)| + +## ReqCreateBillingOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|payment_platform|uint32| +|3|client_type|uint32| +|4|account_id|uint32| + +## ResCreateBillingOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| + +## ReqSolveGooglePlayOrder + +|#|Field name|Field type| +|:-:|-|-| +|2|inapp_purchase_data|string| +|3|inapp_data_signature|string| + +## ReqSolveGooglePlayOrderV3 + +|#|Field name|Field type| +|:-:|-|-| +|1|order_id|string| +|2|transaction_id|string| +|3|token|string| +|4|account_id|uint32| + +## ReqCancelGooglePlayOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|order_id|string| + +## ReqCreateWechatNativeOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|account_ip|string| + +## ResCreateWechatNativeOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|qrcode_buffer|string| +|3|order_id|string| + +## ReqCreateWechatAppOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|account_ip|string| + +## ResCreateWechatAppOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|call_wechat_app_param|[CallWechatAppParam](#CallWechatAppParam)| + +## ReqCreateAlipayOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|alipay_trade_type|string| +|5|return_url|string| + +## ResCreateAlipayOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|alipay_url|string| + +## ReqCreateAlipayScanOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| + +## ResCreateAlipayScanOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|qrcode_buffer|string| +|3|order_id|string| +|4|qr_code|string| + +## ReqCreateAlipayAppOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| + +## ResCreateAlipayAppOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|alipay_url|string| + +## ReqCreateJPCreditCardOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|return_url|string| +|5|access_token|string| + +## ResCreateJPCreditCardOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| + +## ReqCreateJPPaypalOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|return_url|string| +|5|access_token|string| + +## ResCreateJPPaypalOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| + +## ReqCreateJPAuOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|return_url|string| +|5|access_token|string| + +## ResCreateJPAuOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| + +## ReqCreateJPDocomoOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|return_url|string| +|5|access_token|string| + +## ResCreateJPDocomoOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| + +## ReqCreateJPWebMoneyOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|return_url|string| +|5|access_token|string| + +## ResCreateJPWebMoneyOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| + +## ReqCreateJPSoftbankOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|return_url|string| +|5|access_token|string| + +## ResCreateJPSoftbankOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| + +## ReqCreateYostarOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|order_type|uint32| + +## ResCreateYostarOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| + +## ReqCreateENPaypalOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|return_url|string| +|5|access_token|string| + +## ResCreateENPaypalOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| + +## ReqCreateENJCBOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|return_url|string| +|5|access_token|string| + +## ResCreateENJCBOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| + +## ReqCreateENMasterCardOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|return_url|string| +|5|access_token|string| + +## ResCreateENMasterCardOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| + +## ReqCreateENVisaOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|return_url|string| +|5|access_token|string| + +## ResCreateENVisaOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| + +## ReqCreateENAlipayOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|return_url|string| +|5|access_token|string| + +## ResCreateENAlipayOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| + +## ReqCreateDMMOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|account_id|uint32| +|3|client_type|uint32| + +## ResCreateDmmOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| +|3|transaction_id|string| +|4|dmm_user_id|string| +|5|token|string| +|6|callback_url|string| +|9|request_time|string| +|10|dmm_app_id|string| + +## ReqCreateIAPOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| +|4|access_token|string| + +## ResCreateIAPOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|order_id|string| + +## ReqVerificationIAPOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|order_id|string| +|2|transaction_id|string| +|3|receipt_data|string| +|4|account_id|uint32| + +## ResVerificationIAPOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| + +## ReqCreateMyCardOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|client_type|uint32| +|3|account_id|uint32| + +## ResCreateMyCardOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|auth_code|string| +|3|order_id|string| + +## ReqVerifyMyCardOrder + +|#|Field name|Field type| +|:-:|-|-| +|1|order_id|string| +|2|account_id|uint32| + +## ReqOpenChest + +|#|Field name|Field type| +|:-:|-|-| +|1|chest_id|uint32| +|2|count|uint32| +|3|use_ticket|bool| + +## ResOpenChest + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|results|[OpenResult](#OpenResult)| +|3|total_open_count|uint32| +|4|faith_count|uint32| + +## ReqBuyFromChestShop + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|count|uint32| + +## ResBuyFromChestShop + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|chest_id|uint32| +|3|consume_count|uint32| +|4|faith_count|uint32| + +## ResDailySignInInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|sign_in_days|uint32| + +## ReqDoActivitySignIn + +|#|Field name|Field type| +|:-:|-|-| +|2|activity_id|uint32| + +## ResDoActivitySignIn + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|rewards|[RewardData](#RewardData)| +|3|sign_in_count|uint32| + +## ResCharacterInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|characters|[Character](#Character)| +|3|skins|uint32| +|4|main_character_id|uint32| +|5|send_gift_count|uint32| +|6|send_gift_limit|uint32| +|7|finished_endings|uint32| +|8|rewarded_endings|uint32| + +## ReqChangeMainCharacter + +|#|Field name|Field type| +|:-:|-|-| +|1|character_id|uint32| + +## ReqChangeCharacterSkin + +|#|Field name|Field type| +|:-:|-|-| +|1|character_id|uint32| +|2|skin|uint32| + +## ReqChangeCharacterView + +|#|Field name|Field type| +|:-:|-|-| +|1|character_id|uint32| +|2|slot|uint32| +|3|item_id|uint32| + +## ReqSendGiftToCharacter + +|#|Field name|Field type| +|:-:|-|-| +|1|character_id|uint32| +|2|gifts|[Gift](#Gift)| + +## ResSendGiftToCharacter + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|level|uint32| +|3|exp|uint32| + +## ReqSellItem + +|#|Field name|Field type| +|:-:|-|-| +|1|sells|[Item](#Item)| + +## ResCommonView + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|slots|[Slot](#Slot)| + +## ReqChangeCommonView + +|#|Field name|Field type| +|:-:|-|-| +|1|slot|uint32| +|2|value|uint32| + +## ReqSaveCommonViews + +|#|Field name|Field type| +|:-:|-|-| +|1|views|[ViewSlot](#ViewSlot)| +|2|save_index|uint32| +|3|is_use|uint32| + +## ReqCommonViews + +|#|Field name|Field type| +|:-:|-|-| +|1|index|uint32| + +## ResCommonViews + +|#|Field name|Field type| +|:-:|-|-| +|1|views|[ViewSlot](#ViewSlot)| + +## ResAllcommonViews + +|#|Field name|Field type| +|:-:|-|-| +|1|views|[Views](#Views)| +|2|use|uint32| +|3|error|[Error](#Error)| + +## ReqUseCommonView + +|#|Field name|Field type| +|:-:|-|-| +|3|index|uint32| + +## ReqUpgradeCharacter + +|#|Field name|Field type| +|:-:|-|-| +|1|character_id|uint32| + +## ResUpgradeCharacter + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|character|[Character](#Character)| + +## ReqFinishedEnding + +|#|Field name|Field type| +|:-:|-|-| +|1|character_id|uint32| +|2|story_id|uint32| +|3|ending_id|uint32| + +## ReqGMCommand + +|#|Field name|Field type| +|:-:|-|-| +|1|command|string| + +## ResShopInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|shop_info|[ShopInfo](#ShopInfo)| + +## ReqBuyFromShop + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|count|uint32| +|3|bill_short_cut|[BillShortcut](#BillShortcut)| +|4|deal_price|uint32| + +## ResBuyFromShop + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|rewards|[RewardSlot](#RewardSlot)| + +## ReqBuyFromZHP + +|#|Field name|Field type| +|:-:|-|-| +|1|goods_id|uint32| +|2|count|uint32| + +## ReqPayMonthTicket + +|#|Field name|Field type| +|:-:|-|-| +|1|ticket_id|uint32| + +## ResPayMonthTicket + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|resource_id|uint32| +|3|resource_count|uint32| + +## ReqReshZHPShop + +|#|Field name|Field type| +|:-:|-|-| +|1|free_refresh|uint32| +|2|cost_refresh|uint32| + +## ResRefreshZHPShop + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|zhp|[ZHPShop](#ZHPShop)| + +## ResMonthTicketInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|month_ticket_info|[MonthTicketInfo](#MonthTicketInfo)| + +## ReqExchangeCurrency + +|#|Field name|Field type| +|:-:|-|-| +|1|id|uint32| +|2|count|uint32| + +## ResServerSettings + +|#|Field name|Field type| +|:-:|-|-| +|1|settings|[ServerSettings](#ServerSettings)| + +## ResAccountSettings + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|settings|[AccountSetting](#AccountSetting)| + +## ReqUpdateAccountSettings + +|#|Field name|Field type| +|:-:|-|-| +|1|setting|[AccountSetting](#AccountSetting)| + +## ResModNicknameTime + +|#|Field name|Field type| +|:-:|-|-| +|1|last_mod_time|uint32| + +## ResMisc + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|recharged_list|uint32| +|3|faiths|[MiscFaithData](#MiscFaithData)| + +## ReqModifySignature + +|#|Field name|Field type| +|:-:|-|-| +|1|signature|string| + +## ResIDCardInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|is_authed|bool| +|3|country|string| + +## ReqUpdateIDCardInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|fullname|string| +|2|card_no|string| + +## ResVipReward + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|gained_vip_levels|uint32| + +## ReqGainVipReward + +|#|Field name|Field type| +|:-:|-|-| +|1|vip_level|uint32| + +## ReqFetchCustomizedContestList + +|#|Field name|Field type| +|:-:|-|-| +|1|start|uint32| +|2|count|uint32| + +## ResFetchCustomizedContestList + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|contests|[CustomizedContestBase](#CustomizedContestBase)| +|3|follow_contests|[CustomizedContestBase](#CustomizedContestBase)| + +## ReqFetchCustomizedContestExtendInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|uid_list|uint32| + +## ResFetchCustomizedContestExtendInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|extend_list|[CustomizedContestExtend](#CustomizedContestExtend)| + +## ReqFetchCustomizedContestAuthInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| + +## ResFetchCustomizedContestAuthInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|observer_level|uint32| + +## ReqEnterCustomizedContest + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| + +## ResEnterCustomizedContest + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|detail_info|[CustomizedContestDetail](#CustomizedContestDetail)| +|3|player_report|[CustomizedContestPlayerReport](#CustomizedContestPlayerReport)| +|4|is_followed|bool| + +## ReqFetchCustomizedContestOnlineInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| + +## ResFetchCustomizedContestOnlineInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|online_player|uint32| + +## ReqFetchCustomizedContestByContestId + +|#|Field name|Field type| +|:-:|-|-| +|1|contest_id|uint32| + +## ResFetchCustomizedContestByContestId + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|contest_info|[CustomizedContestAbstract](#CustomizedContestAbstract)| + +## ReqStartCustomizedContest + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| + +## ReqJoinCustomizedContestChatRoom + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| + +## ResJoinCustomizedContestChatRoom + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|chat_history|[bytes](#bytes)| + +## ReqSayChatMessage + +|#|Field name|Field type| +|:-:|-|-| +|1|content|string| + +## ReqFetchCustomizedContestGameLiveList + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| + +## ResFetchCustomizedContestGameLiveList + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|live_list|[GameLiveHead](#GameLiveHead)| + +## ReqFetchCustomizedContestGameRecords + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| +|2|last_index|uint32| + +## ResFetchCustomizedContestGameRecords + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|next_index|uint32| +|3|record_list|[RecordGame](#RecordGame)| + +## ReqTargetCustomizedContest + +|#|Field name|Field type| +|:-:|-|-| +|1|unique_id|uint32| + +## ResActivityList + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|activities|[Activity](#Activity)| + +## ResAccountActivityData + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|exchange_records|[ExchangeRecord](#ExchangeRecord)| +|3|task_progress_list|[TaskProgress](#TaskProgress)| +|4|accumulated_point_list|[ActivityAccumulatedPointData](#ActivityAccumulatedPointData)| +|5|rank_data_list|[ActivityRankPointData](#ActivityRankPointData)| +|6|flip_task_progress_list|[TaskProgress](#TaskProgress)| +|7|sign_in_data|[ActivitySignInData](#ActivitySignInData)| +|8|richman_data|[ActivityRichmanData](#ActivityRichmanData)| +|9|period_task_progress_list|[TaskProgress](#TaskProgress)| +|10|random_task_progress_list|[TaskProgress](#TaskProgress)| + +## ReqExchangeActivityItem + +|#|Field name|Field type| +|:-:|-|-| +|1|exchange_id|uint32| + +## ResExchangeActivityItem + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|execute_reward|[ExecuteReward](#ExecuteReward)| + +## ReqCompleteActivityTask + +|#|Field name|Field type| +|:-:|-|-| +|1|task_id|uint32| + +## ReqReceiveActivityFlipTask + +|#|Field name|Field type| +|:-:|-|-| +|1|task_id|uint32| + +## ResReceiveActivityFlipTask + +|#|Field name|Field type| +|:-:|-|-| +|1|count|uint32| +|2|error|[Error](#Error)| + +## ReqFetchActivityFlipInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|activity_id|uint32| + +## ResFetchActivityFlipInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|rewards|uint32| +|2|count|uint32| +|3|error|[Error](#Error)| + +## ReqGainAccumulatedPointActivityReward + +|#|Field name|Field type| +|:-:|-|-| +|1|activity_id|uint32| +|2|reward_id|uint32| + +## ReqFetchRankPointLeaderboard + +|#|Field name|Field type| +|:-:|-|-| +|1|leaderboard_id|uint32| + +## ResFetchRankPointLeaderboard + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|items|[Item](#Item)| +|3|last_refresh_time|uint32| + +## ReqGainRankPointReward + +|#|Field name|Field type| +|:-:|-|-| +|1|leaderboard_id|uint32| +|2|activity_id|uint32| + +## ReqRichmanNextMove + +|#|Field name|Field type| +|:-:|-|-| +|1|activity_id|uint32| + +## ResRichmanNextMove + +|#|Field name|Field type| +|:-:|-|-| +|1|paths|[PathData](#PathData)| +|2|dice|uint32| +|3|location|uint32| +|4|finished_count|uint32| +|5|step|uint32| +|6|buff|[BuffData](#BuffData)| +|7|bank_save|uint32| +|8|chest_position|uint32| +|9|exp|uint32| +|10|bank_save_add|uint32| +|11|error|[Error](#Error)| + +## ReqRichmanSpecialMove + +|#|Field name|Field type| +|:-:|-|-| +|1|activity_id|uint32| +|2|step|uint32| + +## ReqRichmanChestInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|activity_id|uint32| + +## ResRichmanChestInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|items|[ItemData](#ItemData)| +|2|error|[Error](#Error)| + +## ReqCreateGameObserveAuth + +|#|Field name|Field type| +|:-:|-|-| +|1|game_uuid|string| + +## ResCreateGameObserveAuth + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|token|string| +|3|location|string| + +## ReqRefreshGameObserveAuth + +|#|Field name|Field type| +|:-:|-|-| +|1|token|string| + +## ResRefreshGameObserveAuth + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|ttl|uint32| + +## ActionMJStart + +No fields + +## NewRoundOpenedTiles + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|tiles|string| +|3|count|uint32| + +## MuyuInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|count|uint32| +|3|count_max|uint32| +|4|id|uint32| + +## ActionNewRound + +|#|Field name|Field type| +|:-:|-|-| +|1|chang|uint32| +|2|ju|uint32| +|3|ben|uint32| +|4|tiles|string| +|5|dora|string| +|6|scores|int32| +|7|operation|[OptionalOperationList](#OptionalOperationList)| +|8|liqibang|uint32| +|9|tingpais0|[TingPaiDiscardInfo](#TingPaiDiscardInfo)| +|10|tingpais1|[TingPaiInfo](#TingPaiInfo)| +|11|al|bool| +|12|md5|string| +|13|left_tile_count|uint32| +|14|doras|string| +|15|opens|[NewRoundOpenedTiles](#NewRoundOpenedTiles)| +|16|muyu|[MuyuInfo](#MuyuInfo)| + +## RecordNewRound + +|#|Field name|Field type| +|:-:|-|-| +|1|chang|uint32| +|2|ju|uint32| +|3|ben|uint32| +|4|dora|string| +|5|scores|int32| +|6|liqibang|uint32| +|7|tiles0|string| +|8|tiles1|string| +|9|tiles2|string| +|10|tiles3|string| +|11|tingpai|[TingPai](#TingPai)| +|12|operation|[OptionalOperationList](#OptionalOperationList)| +|13|md5|string| +|14|paishan|string| +|15|left_tile_count|uint32| +|16|doras|string| +|17|opens|[NewRoundOpenedTiles](#NewRoundOpenedTiles)| +|18|muyu|[MuyuInfo](#MuyuInfo)| + +## GameSnapshot + +|#|Field name|Field type| +|:-:|-|-| +|1|chang|uint32| +|2|ju|uint32| +|3|ben|uint32| +|4|index_player|uint32| +|5|left_tile_count|uint32| +|6|hands|string| +|7|doras|string| +|8|liqibang|uint32| +|9|players|[PlayerSnapshot](#PlayerSnapshot)| +|10|zhenting|bool| + +## ActionPrototype + +|#|Field name|Field type| +|:-:|-|-| +|1|step|uint32| +|2|name|string| +|3|data|[bytes](#bytes)| + +## GameDetailRecords + +|#|Field name|Field type| +|:-:|-|-| +|1|records|[bytes](#bytes)| + +## OptionalOperation + +|#|Field name|Field type| +|:-:|-|-| +|1|type|uint32| +|2|combination|string| + +## OptionalOperationList + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|operation_list|[OptionalOperation](#OptionalOperation)| +|4|time_add|uint32| +|5|time_fixed|uint32| + +## LiQiSuccess + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|score|int32| +|3|liqibang|uint32| + +## FanInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|name|string| +|2|val|uint32| +|3|id|uint32| + +## HuleInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|hand|string| +|2|ming|string| +|3|hu_tile|string| +|4|seat|uint32| +|5|zimo|bool| +|6|qinjia|bool| +|7|liqi|bool| +|8|doras|string| +|9|li_doras|string| +|10|yiman|bool| +|11|count|uint32| +|12|fans|[FanInfo](#FanInfo)| +|13|fu|uint32| +|14|title|string| +|15|point_rong|uint32| +|16|point_zimo_qin|uint32| +|17|point_zimo_xian|uint32| +|18|title_id|uint32| +|19|point_sum|uint32| + +## TingPaiInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|tile|string| +|2|haveyi|bool| +|3|yiman|bool| +|4|count|uint32| +|5|fu|uint32| +|6|biao_dora_count|uint32| +|7|yiman_zimo|bool| +|8|count_zimo|uint32| +|9|fu_zimo|uint32| + +## TingPaiDiscardInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|tile|string| +|2|zhenting|bool| +|3|infos|[TingPaiInfo](#TingPaiInfo)| + +## GameEnd + +|#|Field name|Field type| +|:-:|-|-| +|1|scores|int32| + +## ActionDiscardTile + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|tile|string| +|3|is_liqi|bool| +|4|operation|[OptionalOperationList](#OptionalOperationList)| +|5|moqie|bool| +|6|zhenting|bool| +|7|tingpais|[TingPaiInfo](#TingPaiInfo)| +|8|doras|string| +|9|is_wliqi|bool| +|10|tile_state|uint32| +|11|muyu|[MuyuInfo](#MuyuInfo)| + +## RecordDiscardTile + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|tile|string| +|3|is_liqi|bool| +|5|moqie|bool| +|6|zhenting|bool| +|7|tingpais|[TingPaiInfo](#TingPaiInfo)| +|8|doras|string| +|9|is_wliqi|bool| +|10|operations|[OptionalOperationList](#OptionalOperationList)| +|11|tile_state|uint32| +|12|muyu|[MuyuInfo](#MuyuInfo)| + +## ActionDealTile + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|tile|string| +|3|left_tile_count|uint32| +|4|operation|[OptionalOperationList](#OptionalOperationList)| +|5|liqi|[LiQiSuccess](#LiQiSuccess)| +|6|doras|string| +|7|zhenting|bool| +|8|tingpais|[TingPaiDiscardInfo](#TingPaiDiscardInfo)| +|9|tile_state|uint32| +|10|muyu|[MuyuInfo](#MuyuInfo)| + +## RecordDealTile + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|tile|string| +|3|left_tile_count|uint32| +|5|liqi|[LiQiSuccess](#LiQiSuccess)| +|6|doras|string| +|7|zhenting|bool| +|8|operation|[OptionalOperationList](#OptionalOperationList)| +|9|tile_state|uint32| +|11|muyu|[MuyuInfo](#MuyuInfo)| + +## ActionChiPengGang + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|type|uint32| +|3|tiles|string| +|4|froms|uint32| +|5|liqi|[LiQiSuccess](#LiQiSuccess)| +|6|operation|[OptionalOperationList](#OptionalOperationList)| +|7|zhenting|bool| +|8|tingpais|[TingPaiDiscardInfo](#TingPaiDiscardInfo)| +|9|tile_states|uint32| +|10|muyu|[MuyuInfo](#MuyuInfo)| + +## RecordChiPengGang + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|type|uint32| +|3|tiles|string| +|4|froms|uint32| +|5|liqi|[LiQiSuccess](#LiQiSuccess)| +|7|zhenting|bool| +|8|operation|[OptionalOperationList](#OptionalOperationList)| +|9|tile_states|uint32| +|10|muyu|[MuyuInfo](#MuyuInfo)| + +## ActionAnGangAddGang + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|type|uint32| +|3|tiles|string| +|4|operation|[OptionalOperationList](#OptionalOperationList)| +|6|doras|string| +|7|zhenting|bool| +|8|tingpais|[TingPaiInfo](#TingPaiInfo)| +|9|muyu|[MuyuInfo](#MuyuInfo)| + +## RecordAnGangAddGang + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|type|uint32| +|3|tiles|string| +|6|doras|string| +|7|operations|[OptionalOperationList](#OptionalOperationList)| +|8|muyu|[MuyuInfo](#MuyuInfo)| + +## ActionBaBei + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|4|operation|[OptionalOperationList](#OptionalOperationList)| +|6|doras|string| +|7|zhenting|bool| +|8|tingpais|[TingPaiInfo](#TingPaiInfo)| +|9|moqie|bool| +|10|tile_state|uint32| +|11|muyu|[MuyuInfo](#MuyuInfo)| + +## RecordBaBei + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|6|doras|string| +|7|operations|[OptionalOperationList](#OptionalOperationList)| +|8|moqie|bool| +|10|tile_state|uint32| +|11|muyu|[MuyuInfo](#MuyuInfo)| + +## ActionHule + +|#|Field name|Field type| +|:-:|-|-| +|1|hules|[HuleInfo](#HuleInfo)| +|2|old_scores|int32| +|3|delta_scores|int32| +|4|wait_timeout|uint32| +|5|scores|int32| +|6|gameend|[GameEnd](#GameEnd)| +|7|doras|string| +|8|muyu|[MuyuInfo](#MuyuInfo)| + +## RecordHule + +|#|Field name|Field type| +|:-:|-|-| +|1|hules|[HuleInfo](#HuleInfo)| +|2|old_scores|int32| +|3|delta_scores|int32| +|4|wait_timeout|uint32| +|5|scores|int32| +|6|gameend|[GameEnd](#GameEnd)| +|7|doras|string| +|8|muyu|[MuyuInfo](#MuyuInfo)| + +## ActionLiuJu + +|#|Field name|Field type| +|:-:|-|-| +|1|type|uint32| +|2|gameend|[GameEnd](#GameEnd)| +|3|seat|uint32| +|4|tiles|string| +|5|liqi|[LiQiSuccess](#LiQiSuccess)| +|6|allplayertiles|string| +|7|muyu|[MuyuInfo](#MuyuInfo)| + +## RecordLiuJu + +|#|Field name|Field type| +|:-:|-|-| +|1|type|uint32| +|2|gameend|[GameEnd](#GameEnd)| +|3|seat|uint32| +|4|tiles|string| +|5|liqi|[LiQiSuccess](#LiQiSuccess)| +|6|allplayertiles|string| +|7|muyu|[MuyuInfo](#MuyuInfo)| + +## NoTilePlayerInfo + +|#|Field name|Field type| +|:-:|-|-| +|3|tingpai|bool| +|4|hand|string| +|5|tings|[TingPaiInfo](#TingPaiInfo)| + +## NoTileScoreInfo + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|old_scores|int32| +|3|delta_scores|int32| +|4|hand|string| +|5|ming|string| +|6|doras|string| +|7|score|uint32| + +## ActionNoTile + +|#|Field name|Field type| +|:-:|-|-| +|1|liujumanguan|bool| +|2|players|[NoTilePlayerInfo](#NoTilePlayerInfo)| +|3|scores|[NoTileScoreInfo](#NoTileScoreInfo)| +|4|gameend|bool| +|5|muyu|[MuyuInfo](#MuyuInfo)| + +## RecordNoTile + +|#|Field name|Field type| +|:-:|-|-| +|1|liujumanguan|bool| +|2|players|[NoTilePlayerInfo](#NoTilePlayerInfo)| +|3|scores|[NoTileScoreInfo](#NoTileScoreInfo)| +|4|gameend|bool| +|5|muyu|[MuyuInfo](#MuyuInfo)| + +## PlayerLeaving + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| + +## FastTest + +* authGame([ResAuthGame](#ResAuthGame) return [ReqAuthGame](#ReqAuthGame) +* enterGame([ResEnterGame](#ResEnterGame) return [ReqCommon](#ReqCommon) +* syncGame([ResSyncGame](#ResSyncGame) return [ReqSyncGame](#ReqSyncGame) +* finishSyncGame([ResCommon](#ResCommon) return [ReqCommon](#ReqCommon) +* terminateGame([ResCommon](#ResCommon) return [ReqCommon](#ReqCommon) +* inputOperation([ResCommon](#ResCommon) return [ReqSelfOperation](#ReqSelfOperation) +* inputChiPengGang([ResCommon](#ResCommon) return [ReqChiPengGang](#ReqChiPengGang) +* confirmNewRound([ResCommon](#ResCommon) return [ReqCommon](#ReqCommon) +* broadcastInGame([ResCommon](#ResCommon) return [ReqBroadcastInGame](#ReqBroadcastInGame) +* inputGameGMCommand([ResCommon](#ResCommon) return [ReqGMCommandInGaming](#ReqGMCommandInGaming) +* fetchGamePlayerState([ResGamePlayerState](#ResGamePlayerState) return [ReqCommon](#ReqCommon) +* checkNetworkDelay([ResCommon](#ResCommon) return [ReqCommon](#ReqCommon) +* clearLeaving([ResCommon](#ResCommon) return [ReqCommon](#ReqCommon) +* voteGameEnd([ResGameEndVote](#ResGameEndVote) return [ReqVoteGameEnd](#ReqVoteGameEnd) +* authObserve([ResCommon](#ResCommon) return [ReqAuthObserve](#ReqAuthObserve) +* startObserve([ResStartObserve](#ResStartObserve) return [ReqCommon](#ReqCommon) +* stopObserve([ResCommon](#ResCommon) return [ReqCommon](#ReqCommon) +## ReqAuthGame + +|#|Field name|Field type| +|:-:|-|-| +|1|account_id|uint32| +|2|token|string| +|3|game_uuid|string| + +## ResAuthGame + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|players|[PlayerGameView](#PlayerGameView)| +|3|seat_list|uint32| +|4|is_game_start|bool| +|5|game_config|[GameConfig](#GameConfig)| +|6|ready_id_list|uint32| + +## GameRestore + +|#|Field name|Field type| +|:-:|-|-| +|1|snapshot|[GameSnapshot](#GameSnapshot)| +|2|actions|[ActionPrototype](#ActionPrototype)| +|3|passed_waiting_time|uint32| +|4|game_state|uint32| +|5|start_time|uint32| +|6|last_pause_time_ms|uint32| + +## ResEnterGame + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|is_end|bool| +|3|step|uint32| +|4|game_restore|[GameRestore](#GameRestore)| + +## ReqSyncGame + +|#|Field name|Field type| +|:-:|-|-| +|1|round_id|string| +|2|step|uint32| + +## ResSyncGame + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|is_end|bool| +|3|step|uint32| +|4|game_restore|[GameRestore](#GameRestore)| + +## ReqSelfOperation + +|#|Field name|Field type| +|:-:|-|-| +|1|type|uint32| +|2|index|uint32| +|3|tile|string| +|4|cancel_operation|bool| +|5|moqie|bool| +|6|timeuse|uint32| +|7|tile_state|int32| + +## ReqChiPengGang + +|#|Field name|Field type| +|:-:|-|-| +|1|type|uint32| +|2|index|uint32| +|3|cancel_operation|bool| +|6|timeuse|uint32| + +## ReqBroadcastInGame + +|#|Field name|Field type| +|:-:|-|-| +|1|content|string| +|2|except_self|bool| + +## ReqGMCommandInGaming + +|#|Field name|Field type| +|:-:|-|-| +|1|json_data|string| + +## ResGamePlayerState + +|#|Field name|Field type| +|:-:|-|-| +|1|error|[Error](#Error)| +|2|state_list|[GamePlayerState](#GamePlayerState)| + +## ReqVoteGameEnd + +|#|Field name|Field type| +|:-:|-|-| +|1|yes|bool| + +## ResGameEndVote + +|#|Field name|Field type| +|:-:|-|-| +|1|success|bool| +|2|vote_cd_end_time|uint32| +|3|error|[Error](#Error)| + +## ReqAuthObserve + +|#|Field name|Field type| +|:-:|-|-| +|1|token|string| + +## ResStartObserve + +|#|Field name|Field type| +|:-:|-|-| +|1|head|[GameLiveHead](#GameLiveHead)| +|2|passed|[GameLiveSegment](#GameLiveSegment)| + +## NotifyNewGame + +|#|Field name|Field type| +|:-:|-|-| +|1|game_uuid|string| +|2|player_list|string| + +## NotifyPlayerLoadGameReady + +|#|Field name|Field type| +|:-:|-|-| +|1|ready_id_list|uint32| + +## NotifyGameBroadcast + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|content|string| + +## NotifyGameEndResult + +|#|Field name|Field type| +|:-:|-|-| +|1|result|[GameEndResult](#GameEndResult)| + +## NotifyGameTerminate + +|#|Field name|Field type| +|:-:|-|-| +|1|reason|string| + +## NotifyPlayerConnectionState + +|#|Field name|Field type| +|:-:|-|-| +|1|seat|uint32| +|2|state|[GamePlayerState](#GamePlayerState)| + +## NotifyAccountLevelChange + +|#|Field name|Field type| +|:-:|-|-| +|1|origin|[AccountLevel](#AccountLevel)| +|2|final|[AccountLevel](#AccountLevel)| +|3|type|uint32| + +## NotifyGameFinishReward + +|#|Field name|Field type| +|:-:|-|-| +|1|mode_id|uint32| +|2|level_change|[LevelChange](#LevelChange)| +|3|match_chest|[MatchChest](#MatchChest)| +|4|main_character|[MainCharacter](#MainCharacter)| +|5|character_gift|[CharacterGift](#CharacterGift)| + +## NotifyActivityReward + +|#|Field name|Field type| +|:-:|-|-| +|1|activity_reward|[ActivityReward](#ActivityReward)| + +## NotifyActivityPoint + +|#|Field name|Field type| +|:-:|-|-| +|1|activity_points|[ActivityPoint](#ActivityPoint)| + +## NotifyLeaderboardPoint + +|#|Field name|Field type| +|:-:|-|-| +|1|leaderboard_points|[LeaderboardPoint](#LeaderboardPoint)| + +## NotifyGamePause + +|#|Field name|Field type| +|:-:|-|-| +|1|paused|bool| + +## NotifyEndGameVote + +|#|Field name|Field type| +|:-:|-|-| +|1|results|[VoteResult](#VoteResult)| +|2|start_time|uint32| +|3|duration_time|uint32| + +## NotifyObserveData + +|#|Field name|Field type| +|:-:|-|-| +|1|unit|[GameLiveUnit](#GameLiveUnit)| + diff --git a/liqi.proto b/liqi.proto new file mode 100644 index 0000000..6fa3023 --- /dev/null +++ b/liqi.proto @@ -0,0 +1,3999 @@ +syntax = "proto3"; + +package lq; + +message NotifyRoomGameStart { + + string game_url = 1; + string connect_token = 2; + string game_uuid = 3; + string location = 4; +} + +message NotifyMatchGameStart { + + string game_url = 1; + string connect_token = 2; + string game_uuid = 3; + uint32 match_mode_id = 4; + string location = 5; +} + +message NotifyRoomPlayerReady { + + uint32 account_id = 1; + bool ready = 2; +} + +message NotifyRoomPlayerDressing { + + uint32 account_id = 1; + bool dressing = 2; +} + +message NotifyRoomPlayerUpdate { + + repeated PlayerBaseView update_list = 1; + repeated uint32 remove_list = 2; + uint32 owner_id = 3; + uint32 robot_count = 4; +} + +message NotifyRoomKickOut { +} + +message NotifyMatchTimeout { +} + +message NotifyFriendStateChange { + + uint32 target_id = 1; + AccountActiveState active_state = 2; +} + +message NotifyFriendViewChange { + + uint32 target_id = 1; + PlayerBaseView base = 2; +} + +message NotifyFriendChange { + + uint32 account_id = 1; + uint32 type = 2; + Friend friend = 3; +} + +message NotifyNewFriendApply { + + uint32 account_id = 1; + uint32 apply_time = 2; + uint32 removed_id = 3; +} + +message NotifyClientMessage { + + PlayerBaseView sender = 1; + uint32 type = 2; + string content = 3; +} + +message NotifyAccountUpdate { + + AccountUpdate update = 1; +} + +message NotifyAnotherLogin { +} + +message NotifyAccountLogout { +} + +message NotifyAnnouncementUpdate { + + repeated Announcement announcements = 1; + repeated uint32 sort = 2; +} + +message NotifyNewMail { + + Mail mail = 1; +} + +message NotifyDeleteMail { + + repeated uint32 mail_id_list = 1; +} + +message NotifyReviveCoinUpdate { + + bool has_gained = 1; +} + +message NotifyDailyTaskUpdate { + + repeated TaskProgress progresses = 1; + uint32 max_daily_task_count = 2; + uint32 refresh_count = 3; +} + +message NotifyActivityTaskUpdate { + + repeated TaskProgress progresses = 1; +} + +message NotifyActivityPeriodTaskUpdate { + + repeated TaskProgress progresses = 1; +} + +message NotifyAccountRandomTaskUpdate { + + repeated TaskProgress progresses = 1; +} + +message NotifyNewComment { +} + +message NotifyRollingNotice { + + RollingNotice notice = 1; +} + +message NotifyGiftSendRefresh { +} + +message NotifyShopUpdate { + + ShopInfo shop_info = 1; +} + +message NotifyVipLevelChange { + + uint32 gift_limit = 1; + uint32 friend_max_count = 2; + uint32 zhp_free_refresh_limit = 3; + uint32 zhp_cost_refresh_limit = 4; + float buddy_bonus = 5; + uint32 record_collect_limit = 6; +} + +message NotifyServerSetting { + + ServerSettings settings = 1; +} + +message NotifyPayResult { + + uint32 pay_result = 1; + string order_id = 2; + uint32 goods_id = 3; + uint32 new_month_ticket = 4; + repeated ResourceModify resource_modify = 5; + + message ResourceModify { + + uint32 id = 1; + uint32 count = 2; + uint32 final = 3; + } +} + +message NotifyCustomContestAccountMsg { + + uint32 unique_id = 1; + uint32 account_id = 2; + string sender = 3; + string content = 4; + uint32 verified = 5; +} + +message NotifyCustomContestSystemMsg { + + uint32 unique_id = 1; + uint32 type = 2; + string uuid = 3; + CustomizedContestGameStart game_start = 4; + CustomizedContestGameEnd game_end = 5; +} + +message NotifyCustomContestState { + + uint32 unique_id = 1; + uint32 state = 2; +} + +message NotifyActivityChange { + + repeated Activity new_activities = 1; + repeated uint32 end_activities = 2; +} + +message NotifyAFKResult { + + uint32 type = 1; + uint32 ban_end_time = 2; + string game_uuid = 3; +} + +message Error { + + uint32 code = 1; + repeated uint32 u32_params = 2; + repeated string str_params = 3; + string json_param = 4; +} + +message Wrapper { + + string name = 1; + bytes data = 2; +} + +message NetworkEndpoint { + + string family = 1; + string address = 2; + uint32 port = 3; +} + +message ReqCommon { +} + +message ResCommon { + + Error error = 1; +} + +message ResAccountUpdate { + + Error error = 1; + AccountUpdate update = 2; +} + +message AntiAddiction { + + uint32 online_duration = 1; +} + +message AccountMahjongStatistic { + + repeated uint32 final_position_counts = 1; + RoundSummary recent_round = 2; + HuSummary recent_hu = 3; + HighestHuRecord highest_hu = 4; + Liqi20Summary recent_20_hu_summary = 6; + LiQi10Summary recent_10_hu_summary = 7; + repeated GameResult recent_10_game_result = 8; + + message RoundSummary { + + uint32 total_count = 1; + uint32 rong_count = 2; + uint32 zimo_count = 3; + uint32 fangchong_count = 4; + } + + message HuSummary { + + uint32 total_count = 1; + uint32 dora_round_count = 2; + uint32 total_fan = 3; + } + + message HighestHuRecord { + + uint32 fanshu = 1; + uint32 doranum = 2; + string title = 3; + repeated string hands = 4; + repeated string ming = 5; + string hupai = 6; + uint32 title_id = 7; + } + + message Liqi20Summary { + + uint32 total_count = 1; + uint32 total_lidora_count = 2; + uint32 average_hu_point = 3; + } + + message LiQi10Summary { + + uint32 total_xuanshang = 1; + uint32 total_fanshu = 2; + } + + message GameResult { + + uint32 rank = 1; + int32 final_point = 2; + } +} + +message AccountStatisticData { + + uint32 mahjong_category = 1; + uint32 game_category = 2; + AccountMahjongStatistic statistic = 3; +} + +message AccountLevel { + + uint32 id = 1; + uint32 score = 2; +} + +message ViewSlot { + + uint32 slot = 1; + uint32 item_id = 2; +} + +message Account { + + uint32 account_id = 1; + string nickname = 2; + uint32 login_time = 3; + uint32 logout_time = 4; + uint32 room_id = 5; + AntiAddiction anti_addiction = 6; + uint32 title = 7; + string signature = 8; + string email = 9; + uint32 email_verify = 10; + uint32 gold = 11; + uint32 diamond = 12; + uint32 avatar_id = 13; + uint32 vip = 14; + int32 birthday = 15; + string phone = 16; + uint32 phone_verify = 17; + repeated PlatformDiamond platform_diamond = 18; + AccountLevel level = 21; + AccountLevel level3 = 22; + uint32 avatar_frame = 23; + uint32 skin_ticket = 24; + repeated PlatformSkinTicket platform_skin_ticket = 25; + uint32 verified = 26; + + message PlatformDiamond { + + uint32 id = 1; + uint32 count = 2; + } + + message PlatformSkinTicket { + + uint32 id = 1; + uint32 count = 2; + } +} + +message AccountOwnerData { + + repeated uint32 unlock_characters = 1; +} + +message AccountUpdate { + + repeated NumericalUpdate numerical = 1; + CharacterUpdate character = 2; + BagUpdate bag = 3; + AchievementUpdate achievement = 4; + AccountShiLian shilian = 5; + DailyTaskUpdate daily_task = 6; + TitleUpdate title = 7; + repeated uint32 new_recharged_list = 8; + TaskUpdate activity_task = 9; + TaskUpdate activity_flip_task = 10; + TaskUpdate activity_period_task = 11; + TaskUpdate activity_random_task = 12; + + message NumericalUpdate { + + uint32 id = 1; + uint32 final = 3; + } + + message CharacterUpdate { + + repeated Character characters = 2; + repeated uint32 skins = 3; + repeated uint32 finished_endings = 4; + repeated uint32 rewarded_endings = 5; + } + + message AchievementUpdate { + + repeated AchievementProgress progresses = 1; + } + + message DailyTaskUpdate { + + repeated TaskProgress progresses = 1; + } + + message TitleUpdate { + + repeated uint32 new_titles = 1; + repeated uint32 remove_titles = 2; + } + + message TaskUpdate { + + repeated TaskProgress progresses = 1; + } +} + +message GameMetaData { + + uint32 room_id = 1; + uint32 mode_id = 2; + uint32 contest_uid = 3; +} + +message AccountPlayingGame { + + string game_uuid = 1; + uint32 category = 2; + GameMetaData meta = 3; +} + +message AccountCacheView { + + uint32 cache_version = 1; + uint32 account_id = 2; + string nickname = 3; + uint32 login_time = 4; + uint32 logout_time = 5; + bool is_online = 6; + uint32 room_id = 7; + uint32 title = 8; + uint32 avatar_id = 9; + uint32 vip = 10; + AccountLevel level = 11; + AccountPlayingGame playing_game = 12; + AccountLevel level3 = 13; + uint32 avatar_frame = 14; + uint32 verified = 15; + uint32 ban_deadline = 16; + uint32 comment_ban = 17; +} + +message PlayerBaseView { + + uint32 account_id = 1; + uint32 avatar_id = 2; + uint32 title = 3; + string nickname = 4; + AccountLevel level = 5; + AccountLevel level3 = 6; + uint32 avatar_frame = 7; + uint32 verified = 8; +} + +message PlayerGameView { + + uint32 account_id = 1; + uint32 avatar_id = 2; + uint32 title = 3; + string nickname = 4; + AccountLevel level = 5; + Character character = 6; + AccountLevel level3 = 7; + uint32 avatar_frame = 8; + uint32 verified = 9; + repeated ViewSlot views = 10; +} + +message GameMode { + + uint32 mode = 1; + bool ai = 4; + string extendinfo = 5; + GameDetailRule detail_rule = 6; + GameTestingEnvironmentSet testing_environment = 7; +} + +message GameTestingEnvironmentSet { + + uint32 paixing = 1; + uint32 left_count = 2; +} + +message GameDetailRule { + + uint32 time_fixed = 1; + uint32 time_add = 2; + uint32 dora_count = 3; + uint32 shiduan = 4; + uint32 init_point = 5; + uint32 fandian = 6; + bool can_jifei = 7; + uint32 tianbian_value = 8; + uint32 liqibang_value = 9; + uint32 changbang_value = 10; + uint32 noting_fafu_1 = 11; + uint32 noting_fafu_2 = 12; + uint32 noting_fafu_3 = 13; + bool have_liujumanguan = 14; + bool have_qieshangmanguan = 15; + bool have_biao_dora = 16; + bool have_gang_biao_dora = 17; + bool ming_dora_immediately_open = 18; + bool have_li_dora = 19; + bool have_gang_li_dora = 20; + bool have_sifenglianda = 21; + bool have_sigangsanle = 22; + bool have_sijializhi = 23; + bool have_jiuzhongjiupai = 24; + bool have_sanjiahele = 25; + bool have_toutiao = 26; + bool have_helelianzhuang = 27; + bool have_helezhongju = 28; + bool have_tingpailianzhuang = 29; + bool have_tingpaizhongju = 30; + bool have_yifa = 31; + bool have_nanruxiru = 32; + uint32 jingsuanyuandian = 33; + int32 shunweima_2 = 34; + int32 shunweima_3 = 35; + int32 shunweima_4 = 36; + bool bianjietishi = 37; + uint32 ai_level = 38; + bool have_zimosun = 39; + bool disable_multi_yukaman = 40; + uint32 fanfu = 41; + uint32 guyi_mode = 42; + uint32 dora3_mode = 43; + uint32 begin_open_mode = 44; + uint32 jiuchao_mode = 45; + uint32 muyu_mode = 46; + uint32 open_hand = 47; +} + +message Room { + + uint32 room_id = 1; + uint32 owner_id = 2; + GameMode mode = 3; + uint32 max_player_count = 4; + repeated PlayerGameView persons = 5; + repeated uint32 ready_list = 6; + bool is_playing = 7; + bool public_live = 8; + uint32 robot_count = 9; + uint32 tournament_id = 10; +} + +message GameEndResult { + + repeated PlayerItem players = 1; + + message PlayerItem { + + uint32 seat = 1; + int32 total_point = 2; + int32 part_point_1 = 3; + int32 part_point_2 = 4; + int32 grading_score = 5; + int32 gold = 6; + } +} + +message GameConnectInfo { + + string connect_token = 2; + string game_uuid = 3; + string location = 4; +} + +message ItemGainRecord { + + uint32 item_id = 1; + uint32 count = 2; +} + +message ItemGainRecords { + + uint32 record_time = 1; + uint32 limit_source_id = 2; + repeated ItemGainRecord records = 3; +} + +message Item { + + uint32 item_id = 1; + uint32 stack = 2; +} + +message Bag { + + repeated Item items = 1; + repeated ItemGainRecords daily_gain_record = 2; +} + +message BagUpdate { + + repeated Item update_items = 1; + repeated ItemGainRecords update_daily_gain_record = 2; +} + +message RewardSlot { + + uint32 id = 1; + uint32 count = 2; +} + +message OpenResult { + + RewardSlot reward = 1; + RewardSlot replace = 2; +} + +message RewardPlusResult { + + uint32 id = 1; + uint32 count = 2; + Exchange exchange = 3; + + message Exchange { + + uint32 id = 1; + uint32 count = 2; + uint32 exchange = 3; + } +} + +message ExecuteReward { + + RewardSlot reward = 1; + RewardSlot replace = 2; + uint32 replace_count = 3; +} + +message Mail { + + uint32 mail_id = 1; + uint32 state = 2; + bool take_attachment = 3; + string title = 4; + string content = 5; + repeated RewardSlot attachments = 6; + uint32 create_time = 7; + uint32 expire_time = 8; + uint32 reference_id = 9; +} + +message AchievementProgress { + + uint32 id = 1; + uint32 counter = 2; + bool achieved = 3; + uint32 date = 4; +} + +message AccountStatisticByGameMode { + + uint32 mode = 1; + uint32 game_count_sum = 2; + repeated uint32 game_final_position = 3; + uint32 fly_count = 4; + float gold_earn_sum = 5; + uint32 round_count_sum = 6; + float dadian_sum = 7; + repeated RoundEndData round_end = 8; + uint32 ming_count_sum = 9; + uint32 liqi_count_sum = 10; + uint32 xun_count_sum = 11; + uint32 highest_lianzhuang = 12; + uint32 score_earn_sum = 13; + repeated RankScore rank_score = 14; + + message RoundEndData { + + uint32 type = 1; + uint32 sum = 2; + } + + message RankScore { + + uint32 rank = 1; + int32 score_sum = 2; + uint32 count = 3; + } +} + +message AccountStatisticByFan { + + uint32 fan_id = 1; + uint32 sum = 2; +} + +message AccountFanAchieved { + + uint32 mahjong_category = 1; + repeated AccountStatisticByFan fan = 2; + uint32 liujumanguan = 3; +} + +message AccountDetailStatistic { + + repeated AccountStatisticByGameMode game_mode = 1; + repeated AccountStatisticByFan fan = 2; + uint32 liujumanguan = 3; + repeated AccountFanAchieved fan_achieved = 4; +} + +message AccountDetailStatisticByCategory { + + uint32 category = 1; + AccountDetailStatistic detail_statistic = 2; +} + +message AccountDetailStatisticV2 { + + AccountDetailStatistic friend_room_statistic = 1; + RankStatistic rank_statistic = 2; + CustomizedContestStatistic customized_contest_statistic = 3; + AccountDetailStatistic leisure_match_statistic = 4; + + message RankStatistic { + + RankData total_statistic = 1; + RankData month_statistic = 2; + uint32 month_refresh_time = 3; + + message RankData { + + AccountDetailStatistic all_level_statistic = 1; + repeated RankLevelData level_data_list = 2; + + message RankLevelData { + + uint32 rank_level = 1; + AccountDetailStatistic statistic = 2; + } + } + } + + message CustomizedContestStatistic { + + AccountDetailStatistic total_statistic = 1; + AccountDetailStatistic month_statistic = 2; + uint32 month_refresh_time = 3; + } +} + +message AccountShiLian { + + uint32 step = 1; + uint32 state = 2; +} + +message ClientDeviceInfo { + + string device_type = 1; + string os = 2; + string os_version = 3; + string browser = 4; +} + +enum GamePlayerState { + + NULL = 0; + AUTH = 1; + SYNCING = 2; + READY = 3; +} + +message Announcement { + + uint32 id = 1; + string title = 2; + string content = 3; +} + +message TaskProgress { + + uint32 id = 1; + uint32 counter = 2; + bool achieved = 3; + bool rewarded = 4; +} + +message GameConfig { + + uint32 category = 1; + GameMode mode = 2; + GameMetaData meta = 3; +} + +message AccountActiveState { + + uint32 account_id = 1; + uint32 login_time = 2; + uint32 logout_time = 3; + bool is_online = 4; + AccountPlayingGame playing = 5; +} + +message Friend { + + PlayerBaseView base = 1; + AccountActiveState state = 2; +} + +message GameLiveUnit { + + uint32 timestamp = 1; + uint32 action_category = 2; + bytes action_data = 3; +} + +message GameLiveSegment { + + repeated GameLiveUnit actions = 1; +} + +message GameLiveSegmentUri { + + uint32 segment_id = 1; + string segment_uri = 2; +} + +message GameLiveHead { + + string uuid = 1; + uint32 start_time = 2; + GameConfig game_config = 3; + repeated PlayerGameView players = 4; + repeated uint32 seat_list = 5; +} + +message GameNewRoundState { + + repeated uint32 seat_states = 1; +} + +message GameEndAction { + + uint32 state = 1; +} + +message GameNoopAction { +} + +message CommentItem { + + uint32 comment_id = 1; + uint32 timestamp = 2; + PlayerBaseView commenter = 3; + string content = 4; + uint32 is_banned = 5; +} + +message RollingNotice { + + uint32 id = 1; + string content = 2; + uint32 start_time = 3; + uint32 end_time = 4; + uint32 repeat_interval = 5; +} + +message BillingGoods { + + string id = 1; + string name = 2; + string desc = 3; + string icon = 4; + uint32 resource_id = 5; + uint32 resource_count = 6; +} + +message BillShortcut { + + uint32 id = 1; + uint32 count = 2; + uint32 deal_price = 3; +} + +message BillingProduct { + + BillingGoods goods = 1; + string currency_code = 2; + uint32 currency_price = 3; + uint32 sort_weight = 4; +} + +message Character { + + uint32 charid = 1; + uint32 level = 2; + uint32 exp = 3; + repeated ViewSlot views = 4; + uint32 skin = 5; + bool is_upgraded = 6; + repeated uint32 extra_emoji = 7; +} + +message BuyRecord { + + uint32 id = 1; + uint32 count = 2; +} + +message ZHPShop { + + repeated uint32 goods = 1; + repeated BuyRecord buy_records = 2; + RefreshCount free_refresh = 3; + RefreshCount cost_refresh = 4; + + message RefreshCount { + + uint32 count = 1; + uint32 limit = 2; + } +} + +message MonthTicketInfo { + + uint32 id = 1; + uint32 end_time = 2; + uint32 last_pay_time = 3; +} + +message ShopInfo { + + ZHPShop zhp = 1; + repeated BuyRecord buy_records = 2; + uint32 last_refresh_time = 3; +} + +message ChangeNicknameRecord { + + string from = 1; + string to = 2; + uint32 time = 3; +} + +message ServerSettings { + + PaymentSetting payment_setting = 3; +} + +message PaymentSetting { + + uint32 open_payment = 1; + uint32 payment_info_show_type = 2; + string payment_info = 3; + WechatData wechat = 4; + AlipayData alipay = 5; + + message WechatData { + + bool disable_create = 1; + uint32 payment_source_platform = 2; + bool enable_credit = 3; + } + + message AlipayData { + + bool disable_create = 1; + uint32 payment_source_platform = 2; + } +} + +message AccountSetting { + + uint32 key = 1; + uint32 value = 2; +} + +message ChestData { + + uint32 chest_id = 1; + uint32 total_open_count = 2; + uint32 consume_count = 3; + uint32 face_black_count = 4; +} + +message ChestDataV2 { + + uint32 chest_id = 1; + uint32 total_open_count = 2; + uint32 face_black_count = 3; +} + +message FaithData { + + uint32 faith_id = 1; + uint32 total_open_count = 2; + uint32 consume_count = 3; + int32 modify_count = 4; +} + +message CustomizedContestBase { + + uint32 unique_id = 1; + uint32 contest_id = 2; + string contest_name = 3; + uint32 state = 4; + uint32 creator_id = 5; + uint32 create_time = 6; + uint32 start_time = 7; + uint32 finish_time = 8; + bool open = 9; + uint32 contest_type = 10; +} + +message CustomizedContestExtend { + + uint32 unique_id = 1; + string public_notice = 2; +} + +message CustomizedContestAbstract { + + uint32 unique_id = 1; + uint32 contest_id = 2; + string contest_name = 3; + uint32 state = 4; + uint32 creator_id = 5; + uint32 create_time = 6; + uint32 start_time = 7; + uint32 finish_time = 8; + bool open = 9; + string public_notice = 10; +} + +message CustomizedContestDetail { + + uint32 unique_id = 1; + uint32 contest_id = 2; + string contest_name = 3; + uint32 state = 4; + uint32 creator_id = 5; + uint32 create_time = 6; + uint32 start_time = 7; + uint32 finish_time = 8; + bool open = 9; + uint32 rank_rule = 10; + GameMode game_mode = 11; + string private_notice = 12; + uint32 observer_switch = 13; +} + +message CustomizedContestPlayerReport { + + uint32 rank_rule = 1; + uint32 rank = 2; + int32 point = 3; + repeated uint32 game_ranks = 4; + uint32 total_game_count = 5; +} + +message RecordGame { + + string uuid = 1; + uint32 start_time = 2; + uint32 end_time = 3; + GameConfig config = 5; + repeated AccountInfo accounts = 11; + GameEndResult result = 12; + + message AccountInfo { + + uint32 account_id = 1; + uint32 seat = 2; + string nickname = 3; + uint32 avatar_id = 4; + Character character = 5; + uint32 title = 6; + AccountLevel level = 7; + AccountLevel level3 = 8; + uint32 avatar_frame = 9; + uint32 verified = 10; + repeated ViewSlot views = 11; + } +} + +message CustomizedContestGameStart { + + repeated Item players = 1; + + message Item { + + uint32 account_id = 1; + string nickname = 2; + } +} + +message CustomizedContestGameEnd { + + repeated Item players = 1; + + message Item { + + uint32 account_id = 1; + string nickname = 2; + int32 total_point = 3; + } +} + +message Activity { + + uint32 activity_id = 1; + uint32 start_time = 2; + uint32 end_time = 3; + string type = 4; +} + +message ExchangeRecord { + + uint32 exchange_id = 1; + uint32 count = 2; +} + +message ActivityAccumulatedPointData { + + uint32 activity_id = 1; + int32 point = 2; + repeated uint32 gained_reward_list = 3; +} + +message ActivityRankPointData { + + uint32 leaderboard_id = 1; + int32 point = 2; + bool gained_reward = 3; + uint32 gainable_time = 4; +} + +message GameRoundHuData { + + HuPai hupai = 1; + repeated Fan fans = 2; + uint32 score = 3; + uint32 xun = 4; + uint32 title_id = 5; + uint32 fan_sum = 6; + uint32 fu_sum = 7; + uint32 yakuman_count = 8; + uint32 biao_dora_count = 9; + uint32 red_dora_count = 10; + uint32 li_dora_count = 11; + uint32 babei_count = 12; + uint32 xuan_shang_count = 13; + + message HuPai { + + string tile = 1; + uint32 seat = 2; + uint32 liqi = 3; + } + + message Fan { + + uint32 id = 1; + uint32 count = 2; + uint32 fan = 3; + } +} + +message GameRoundPlayerResult { + + uint32 type = 1; + repeated string hands = 2; + repeated string ming = 3; + uint32 liqi_type = 4; + bool is_fulu = 5; + bool is_liujumanguan = 6; + uint32 lian_zhuang = 7; + GameRoundHuData hu = 8; +} + +message GameRoundPlayer { + + int32 score = 1; + uint32 rank = 2; + GameRoundPlayerResult result = 3; +} + +message GameRoundSnapshot { + + uint32 ju = 1; + uint32 ben = 2; + repeated GameRoundPlayer players = 3; +} + +message GameFinalSnapshot { + + string uuid = 1; + uint32 state = 2; + uint32 category = 3; + GameMode mode = 4; + GameMetaData meta = 5; + CalculateParam calculate_param = 6; + uint32 create_time = 7; + uint32 start_time = 8; + uint32 finish_time = 9; + repeated GameSeat seats = 10; + repeated GameRoundSnapshot rounds = 11; + repeated PlayerGameView account_views = 12; + repeated FinalPlayer final_players = 13; + repeated AFKInfo afk_info = 14; + + message CalculateParam { + + uint32 init_point = 1; + uint32 jingsuanyuandian = 2; + repeated int32 rank_points = 3; + } + + message GameSeat { + + uint32 type = 1; + uint32 account_id = 2; + NetworkEndpoint notify_endpoint = 3; + string client_address = 4; + bool is_connected = 5; + } + + message FinalPlayer { + + uint32 seat = 1; + int32 total_point = 2; + int32 part_point_1 = 3; + int32 part_point_2 = 4; + int32 grading_score = 5; + int32 gold = 6; + } + + message AFKInfo { + + uint32 deal_tile_count = 1; + uint32 moqie_count = 2; + uint32 seat = 3; + } +} + +message RecordCollectedData { + + string uuid = 1; + string remarks = 2; + uint32 start_time = 3; + uint32 end_time = 4; +} + +message ContestDetailRule { + + uint32 init_point = 5; + uint32 fandian = 6; + bool can_jifei = 7; + uint32 tianbian_value = 8; + uint32 liqibang_value = 9; + uint32 changbang_value = 10; + uint32 noting_fafu_1 = 11; + uint32 noting_fafu_2 = 12; + uint32 noting_fafu_3 = 13; + bool have_liujumanguan = 14; + bool have_qieshangmanguan = 15; + bool have_biao_dora = 16; + bool have_gang_biao_dora = 17; + bool ming_dora_immediately_open = 18; + bool have_li_dora = 19; + bool have_gang_li_dora = 20; + bool have_sifenglianda = 21; + bool have_sigangsanle = 22; + bool have_sijializhi = 23; + bool have_jiuzhongjiupai = 24; + bool have_sanjiahele = 25; + bool have_toutiao = 26; + bool have_helelianzhuang = 27; + bool have_helezhongju = 28; + bool have_tingpailianzhuang = 29; + bool have_tingpaizhongju = 30; + bool have_yifa = 31; + bool have_nanruxiru = 32; + uint32 jingsuanyuandian = 33; + int32 shunweima_2 = 34; + int32 shunweima_3 = 35; + int32 shunweima_4 = 36; + bool bianjietishi = 37; + uint32 ai_level = 38; + bool have_zimosun = 39; + bool disable_multi_yukaman = 40; + uint32 guyi_mode = 41; +} + +message ContestDetailRuleV2 { + + ContestDetailRule game_rule = 1; + ExtraRule extra_rule = 2; + + message ExtraRule { + + uint32 required_level = 1; + uint32 max_game_count = 2; + } +} + +message GameRuleSetting { + + uint32 round_type = 1; + bool shiduan = 2; + uint32 dora_count = 3; + uint32 thinking_type = 4; + bool use_detail_rule = 5; + ContestDetailRuleV2 detail_rule_v2 = 6; +} +service Lobby { + rpc fetchConnectionInfo (ReqCommon) returns (ResConnectionInfo); + rpc signup (ReqSignupAccount) returns (ResSignupAccount); + rpc login (ReqLogin) returns (ResLogin); + rpc emailLogin (ReqEmailLogin) returns (ResLogin); + rpc oauth2Auth (ReqOauth2Auth) returns (ResOauth2Auth); + rpc oauth2Check (ReqOauth2Check) returns (ResOauth2Check); + rpc oauth2Signup (ReqOauth2Signup) returns (ResOauth2Signup); + rpc oauth2Login (ReqOauth2Login) returns (ResLogin); + rpc dmmPreLogin (ReqDMMPreLogin) returns (ResDMMPreLogin); + rpc createPhoneVerifyCode (ReqCreatePhoneVerifyCode) returns (ResCommon); + rpc createEmailVerifyCode (ReqCreateEmailVerifyCode) returns (ResCommon); + rpc verfifyCodeForSecure (ReqVerifyCodeForSecure) returns (ResVerfiyCodeForSecure); + rpc bindPhoneNumber (ReqBindPhoneNumber) returns (ResCommon); + rpc unbindPhoneNumber (ReqUnbindPhoneNumber) returns (ResCommon); + rpc fetchPhoneLoginBind (ReqCommon) returns (ResFetchPhoneLoginBind); + rpc createPhoneLoginBind (ReqCreatePhoneLoginBind) returns (ResCommon); + rpc bindEmail (ReqBindEmail) returns (ResCommon); + rpc modifyPassword (ReqModifyPassword) returns (ResCommon); + rpc bindAccount (ReqBindAccount) returns (ResCommon); + rpc logout (ReqLogout) returns (ResLogout); + rpc heatbeat (ReqHeatBeat) returns (ResCommon); + rpc loginBeat (ReqLoginBeat) returns (ResCommon); + rpc createNickname (ReqCreateNickname) returns (ResCommon); + rpc modifyNickname (ReqModifyNickname) returns (ResCommon); + rpc modifyBirthday (ReqModifyBirthday) returns (ResCommon); + rpc fetchRoom (ReqCommon) returns (ResSelfRoom); + rpc createRoom (ReqCreateRoom) returns (ResCreateRoom); + rpc joinRoom (ReqJoinRoom) returns (ResJoinRoom); + rpc leaveRoom (ReqCommon) returns (ResCommon); + rpc readyPlay (ReqRoomReady) returns (ResCommon); + rpc dressingStatus (ReqRoomDressing) returns (ResCommon); + rpc startRoom (ReqRoomStart) returns (ResCommon); + rpc kickPlayer (ReqRoomKick) returns (ResCommon); + rpc modifyRoom (ReqModifyRoom) returns (ResCommon); + rpc matchGame (ReqJoinMatchQueue) returns (ResCommon); + rpc cancelMatch (ReqCancelMatchQueue) returns (ResCommon); + rpc fetchAccountInfo (ReqAccountInfo) returns (ResAccountInfo); + rpc changeAvatar (ReqChangeAvatar) returns (ResCommon); + rpc fetchAccountStatisticInfo (ReqAccountStatisticInfo) returns (ResAccountStatisticInfo); + rpc fetchAccountCharacterInfo (ReqCommon) returns (ResAccountCharacterInfo); + rpc shopPurchase (ReqShopPurchase) returns (ResShopPurchase); + rpc fetchGameRecord (ReqGameRecord) returns (ResGameRecord); + rpc fetchGameRecordList (ReqGameRecordList) returns (ResGameRecordList); + rpc fetchCollectedGameRecordList (ReqCommon) returns (ResCollectedGameRecordList); + rpc fetchGameRecordsDetail (ReqGameRecordsDetail) returns (ResGameRecordsDetail); + rpc addCollectedGameRecord (ReqAddCollectedGameRecord) returns (ResAddCollectedGameRecord); + rpc removeCollectedGameRecord (ReqRemoveCollectedGameRecord) returns (ResRemoveCollectedGameRecord); + rpc changeCollectedGameRecordRemarks (ReqChangeCollectedGameRecordRemarks) returns (ResChangeCollectedGameRecordRemarks); + rpc fetchLevelLeaderboard (ReqLevelLeaderboard) returns (ResLevelLeaderboard); + rpc fetchMultiAccountBrief (ReqMultiAccountId) returns (ResMultiAccountBrief); + rpc fetchFriendList (ReqCommon) returns (ResFriendList); + rpc fetchFriendApplyList (ReqCommon) returns (ResFriendApplyList); + rpc applyFriend (ReqApplyFriend) returns (ResCommon); + rpc handleFriendApply (ReqHandleFriendApply) returns (ResCommon); + rpc removeFriend (ReqRemoveFriend) returns (ResCommon); + rpc searchAccountById (ReqSearchAccountById) returns (ResSearchAccountById); + rpc searchAccountByPattern (ReqSearchAccountByPattern) returns (ResSearchAccountByPattern); + rpc fetchAccountState (ReqAccountList) returns (ResAccountStates); + rpc fetchBagInfo (ReqCommon) returns (ResBagInfo); + rpc useBagItem (ReqUseBagItem) returns (ResCommon); + rpc openManualItem (ReqOpenManualItem) returns (ResCommon); + rpc openRandomRewardItem (ReqOpenRandomRewardItem) returns (ResOpenRandomRewardItem); + rpc composeShard (ReqComposeShard) returns (ResCommon); + rpc fetchAnnouncement (ReqCommon) returns (ResAnnouncement); + rpc readAnnouncement (ReqReadAnnouncement) returns (ResCommon); + rpc fetchMailInfo (ReqCommon) returns (ResMailInfo); + rpc readMail (ReqReadMail) returns (ResCommon); + rpc deleteMail (ReqDeleteMail) returns (ResCommon); + rpc takeAttachmentFromMail (ReqTakeAttachment) returns (ResCommon); + rpc fetchAchievement (ReqCommon) returns (ResAchievement); + rpc buyShiLian (ReqBuyShiLian) returns (ResCommon); + rpc matchShiLian (ReqCommon) returns (ResCommon); + rpc goNextShiLian (ReqCommon) returns (ResCommon); + rpc updateClientValue (ReqUpdateClientValue) returns (ResCommon); + rpc fetchClientValue (ReqCommon) returns (ResClientValue); + rpc clientMessage (ReqClientMessage) returns (ResCommon); + rpc fetchCurrentMatchInfo (ReqCurrentMatchInfo) returns (ResCurrentMatchInfo); + rpc userComplain (ReqUserComplain) returns (ResCommon); + rpc fetchReviveCoinInfo (ReqCommon) returns (ResReviveCoinInfo); + rpc gainReviveCoin (ReqCommon) returns (ResCommon); + rpc fetchDailyTask (ReqCommon) returns (ResDailyTask); + rpc refreshDailyTask (ReqRefreshDailyTask) returns (ResRefreshDailyTask); + rpc useGiftCode (ReqUseGiftCode) returns (ResUseGiftCode); + rpc fetchTitleList (ReqCommon) returns (ResTitleList); + rpc useTitle (ReqUseTitle) returns (ResCommon); + rpc sendClientMessage (ReqSendClientMessage) returns (ResCommon); + rpc fetchGameLiveInfo (ReqGameLiveInfo) returns (ResGameLiveInfo); + rpc fetchGameLiveLeftSegment (ReqGameLiveLeftSegment) returns (ResGameLiveLeftSegment); + rpc fetchGameLiveList (ReqGameLiveList) returns (ResGameLiveList); + rpc fetchCommentSetting (ReqCommon) returns (ResCommentSetting); + rpc updateCommentSetting (ReqUpdateCommentSetting) returns (ResCommon); + rpc fetchCommentList (ReqFetchCommentList) returns (ResFetchCommentList); + rpc fetchCommentContent (ReqFetchCommentContent) returns (ResFetchCommentContent); + rpc leaveComment (ReqLeaveComment) returns (ResCommon); + rpc deleteComment (ReqDeleteComment) returns (ResCommon); + rpc updateReadComment (ReqUpdateReadComment) returns (ResCommon); + rpc fetchRollingNotice (ReqCommon) returns (ReqRollingNotice); + rpc fetchServerTime (ReqCommon) returns (ResServerTime); + rpc fetchPlatformProducts (ReqPlatformBillingProducts) returns (ResPlatformBillingProducts); + rpc cancelGooglePlayOrder (ReqCancelGooglePlayOrder) returns (ResCommon); + rpc openChest (ReqOpenChest) returns (ResOpenChest); + rpc buyFromChestShop (ReqBuyFromChestShop) returns (ResBuyFromChestShop); + rpc fetchDailySignInInfo (ReqCommon) returns (ResDailySignInInfo); + rpc doDailySignIn (ReqCommon) returns (ResCommon); + rpc doActivitySignIn (ReqDoActivitySignIn) returns (ResDoActivitySignIn); + rpc fetchCharacterInfo (ReqCommon) returns (ResCharacterInfo); + rpc changeMainCharacter (ReqChangeMainCharacter) returns (ResCommon); + rpc changeCharacterSkin (ReqChangeCharacterSkin) returns (ResCommon); + rpc changeCharacterView (ReqChangeCharacterView) returns (ResCommon); + rpc sendGiftToCharacter (ReqSendGiftToCharacter) returns (ResSendGiftToCharacter); + rpc sellItem (ReqSellItem) returns (ResCommon); + rpc fetchCommonView (ReqCommon) returns (ResCommonView); + rpc changeCommonView (ReqChangeCommonView) returns (ResCommon); + rpc saveCommonViews (ReqSaveCommonViews) returns (ResCommon); + rpc fetchCommonViews (ReqCommonViews) returns (ResCommonViews); + rpc fetchAllCommonViews (ReqCommon) returns (ResAllcommonViews); + rpc useCommonView (ReqUseCommonView) returns (ResCommon); + rpc upgradeCharacter (ReqUpgradeCharacter) returns (ResUpgradeCharacter); + rpc addFinishedEnding (ReqFinishedEnding) returns (ResCommon); + rpc receiveEndingReward (ReqFinishedEnding) returns (ResCommon); + rpc gameMasterCommand (ReqGMCommand) returns (ResCommon); + rpc fetchShopInfo (ReqCommon) returns (ResShopInfo); + rpc buyFromShop (ReqBuyFromShop) returns (ResBuyFromShop); + rpc buyFromZHP (ReqBuyFromZHP) returns (ResCommon); + rpc refreshZHPShop (ReqReshZHPShop) returns (ResRefreshZHPShop); + rpc fetchMonthTicketInfo (ReqCommon) returns (ResMonthTicketInfo); + rpc payMonthTicket (ReqPayMonthTicket) returns (ResPayMonthTicket); + rpc exchangeCurrency (ReqExchangeCurrency) returns (ResCommon); + rpc exchangeChestStone (ReqExchangeCurrency) returns (ResCommon); + rpc exchangeDiamond (ReqExchangeCurrency) returns (ResCommon); + rpc fetchServerSettings (ReqCommon) returns (ResServerSettings); + rpc fetchAccountSettings (ReqCommon) returns (ResAccountSettings); + rpc updateAccountSettings (ReqUpdateAccountSettings) returns (ResCommon); + rpc fetchModNicknameTime (ReqCommon) returns (ResModNicknameTime); + rpc createWechatNativeOrder (ReqCreateWechatNativeOrder) returns (ResCreateWechatNativeOrder); + rpc createWechatAppOrder (ReqCreateWechatAppOrder) returns (ResCreateWechatAppOrder); + rpc createAlipayOrder (ReqCreateAlipayOrder) returns (ResCreateAlipayOrder); + rpc createAlipayScanOrder (ReqCreateAlipayScanOrder) returns (ResCreateAlipayScanOrder); + rpc createAlipayAppOrder (ReqCreateAlipayAppOrder) returns (ResCreateAlipayAppOrder); + rpc createJPCreditCardOrder (ReqCreateJPCreditCardOrder) returns (ResCreateJPCreditCardOrder); + rpc createJPPaypalOrder (ReqCreateJPPaypalOrder) returns (ResCreateJPPaypalOrder); + rpc createJPAuOrder (ReqCreateJPAuOrder) returns (ResCreateJPAuOrder); + rpc createJPDocomoOrder (ReqCreateJPDocomoOrder) returns (ResCreateJPDocomoOrder); + rpc createJPWebMoneyOrder (ReqCreateJPWebMoneyOrder) returns (ResCreateJPWebMoneyOrder); + rpc createJPSoftbankOrder (ReqCreateJPSoftbankOrder) returns (ResCreateJPSoftbankOrder); + rpc createENPaypalOrder (ReqCreateENPaypalOrder) returns (ResCreateENPaypalOrder); + rpc createENMasterCardOrder (ReqCreateENMasterCardOrder) returns (ResCreateENMasterCardOrder); + rpc createENVisaOrder (ReqCreateENVisaOrder) returns (ResCreateENVisaOrder); + rpc createENJCBOrder (ReqCreateENJCBOrder) returns (ResCreateENJCBOrder); + rpc createENAlipayOrder (ReqCreateENAlipayOrder) returns (ResCreateENAlipayOrder); + rpc createDMMOrder (ReqCreateDMMOrder) returns (ResCreateDmmOrder); + rpc createIAPOrder (ReqCreateIAPOrder) returns (ResCreateIAPOrder); + rpc createMyCardAndroidOrder (ReqCreateMyCardOrder) returns (ResCreateMyCardOrder); + rpc createMyCardWebOrder (ReqCreateMyCardOrder) returns (ResCreateMyCardOrder); + rpc verifyMyCardOrder (ReqVerifyMyCardOrder) returns (ResCommon); + rpc verificationIAPOrder (ReqVerificationIAPOrder) returns (ResVerificationIAPOrder); + rpc createYostarSDKOrder (ReqCreateYostarOrder) returns (ResCreateYostarOrder); + rpc createBillingOrder (ReqCreateBillingOrder) returns (ResCreateBillingOrder); + rpc solveGooglePlayOrder (ReqSolveGooglePlayOrder) returns (ResCommon); + rpc solveGooglePayOrderV3 (ReqSolveGooglePlayOrderV3) returns (ResCommon); + rpc fetchMisc (ReqCommon) returns (ResMisc); + rpc modifySignature (ReqModifySignature) returns (ResCommon); + rpc fetchIDCardInfo (ReqCommon) returns (ResIDCardInfo); + rpc updateIDCardInfo (ReqUpdateIDCardInfo) returns (ResCommon); + rpc fetchVipReward (ReqCommon) returns (ResVipReward); + rpc gainVipReward (ReqGainVipReward) returns (ResCommon); + rpc fetchCustomizedContestList (ReqFetchCustomizedContestList) returns (ResFetchCustomizedContestList); + rpc fetchCustomizedContestExtendInfo (ReqFetchCustomizedContestExtendInfo) returns (ResFetchCustomizedContestExtendInfo); + rpc fetchCustomizedContestAuthInfo (ReqFetchCustomizedContestAuthInfo) returns (ResFetchCustomizedContestAuthInfo); + rpc enterCustomizedContest (ReqEnterCustomizedContest) returns (ResEnterCustomizedContest); + rpc leaveCustomizedContest (ReqCommon) returns (ResCommon); + rpc fetchCustomizedContestOnlineInfo (ReqFetchCustomizedContestOnlineInfo) returns (ResFetchCustomizedContestOnlineInfo); + rpc fetchCustomizedContestByContestId (ReqFetchCustomizedContestByContestId) returns (ResFetchCustomizedContestByContestId); + rpc startCustomizedContest (ReqStartCustomizedContest) returns (ResCommon); + rpc stopCustomizedContest (ReqCommon) returns (ResCommon); + rpc joinCustomizedContestChatRoom (ReqJoinCustomizedContestChatRoom) returns (ResJoinCustomizedContestChatRoom); + rpc leaveCustomizedContestChatRoom (ReqCommon) returns (ResCommon); + rpc sayChatMessage (ReqSayChatMessage) returns (ResCommon); + rpc fetchCustomizedContestGameRecords (ReqFetchCustomizedContestGameRecords) returns (ResFetchCustomizedContestGameRecords); + rpc fetchCustomizedContestGameLiveList (ReqFetchCustomizedContestGameLiveList) returns (ResFetchCustomizedContestGameLiveList); + rpc followCustomizedContest (ReqTargetCustomizedContest) returns (ResCommon); + rpc unfollowCustomizedContest (ReqTargetCustomizedContest) returns (ResCommon); + rpc fetchActivityList (ReqCommon) returns (ResActivityList); + rpc fetchAccountActivityData (ReqCommon) returns (ResAccountActivityData); + rpc exchangeActivityItem (ReqExchangeActivityItem) returns (ResExchangeActivityItem); + rpc completeActivityTask (ReqCompleteActivityTask) returns (ResCommon); + rpc completeActivityFlipTask (ReqCompleteActivityTask) returns (ResCommon); + rpc completePeriodActivityTask (ReqCompleteActivityTask) returns (ResCommon); + rpc completeRandomActivityTask (ReqCompleteActivityTask) returns (ResCommon); + rpc receiveActivityFlipTask (ReqReceiveActivityFlipTask) returns (ResReceiveActivityFlipTask); + rpc fetchActivityFlipInfo (ReqFetchActivityFlipInfo) returns (ResFetchActivityFlipInfo); + rpc gainAccumulatedPointActivityReward (ReqGainAccumulatedPointActivityReward) returns (ResCommon); + rpc fetchRankPointLeaderboard (ReqFetchRankPointLeaderboard) returns (ResFetchRankPointLeaderboard); + rpc gainRankPointReward (ReqGainRankPointReward) returns (ResCommon); + rpc richmanActivityNextMove (ReqRichmanNextMove) returns (ResRichmanNextMove); + rpc richmanAcitivitySpecialMove (ReqRichmanSpecialMove) returns (ResRichmanNextMove); + rpc richmanActivityChestInfo (ReqRichmanChestInfo) returns (ResRichmanChestInfo); + rpc createGameObserveAuth (ReqCreateGameObserveAuth) returns (ResCreateGameObserveAuth); + rpc refreshGameObserveAuth (ReqRefreshGameObserveAuth) returns (ResRefreshGameObserveAuth); +} + +message ResConnectionInfo { + + Error error = 1; + NetworkEndpoint client_endpoint = 2; +} + +message ReqSignupAccount { + + string account = 1; + string password = 2; + string code = 3; + uint32 type = 4; +} + +message ResSignupAccount { + + Error error = 1; +} + +message ReqLogin { + + string account = 1; + string password = 2; + bool reconnect = 3; + ClientDeviceInfo device = 4; + string random_key = 5; + string client_version = 6; + bool gen_access_token = 7; + repeated uint32 currency_platforms = 8; + uint32 type = 9; +} + +message ResLogin { + + Error error = 1; + uint32 account_id = 2; + Account account = 3; + GameConnectInfo game_info = 4; + bool has_unread_announcement = 5; + string access_token = 6; + uint32 signup_time = 7; + bool is_id_card_authed = 8; +} + +message ReqEmailLogin { + + string email = 1; + string password = 2; + bool reconnect = 3; + ClientDeviceInfo device = 4; + string random_key = 5; + string client_version = 6; + bool gen_access_token = 7; + repeated uint32 currency_platforms = 8; +} + +message ReqBindAccount { + + string account = 1; + string password = 2; +} + +message ReqCreatePhoneVerifyCode { + + string phone = 1; + uint32 usage = 2; +} + +message ReqCreateEmailVerifyCode { + + string email = 1; + uint32 usage = 2; +} + +message ReqVerifyCodeForSecure { + + string code = 1; + uint32 operation = 2; +} + +message ResVerfiyCodeForSecure { + + Error error = 1; + string secure_token = 2; +} + +message ReqBindPhoneNumber { + + string code = 1; + string phone = 2; + string password = 3; + bool multi_bind_version = 4; +} + +message ReqUnbindPhoneNumber { + + string code = 1; + string phone = 2; + string password = 3; +} + +message ResFetchPhoneLoginBind { + + Error error = 1; + uint32 phone_login = 2; +} + +message ReqCreatePhoneLoginBind { + + string password = 1; +} + +message ReqBindEmail { + + string email = 1; + string code = 2; + string password = 3; +} + +message ReqModifyPassword { + + string new_password = 1; + string old_password = 2; + string secure_token = 3; +} + +message ReqOauth2Auth { + + uint32 type = 1; + string code = 2; + string uid = 3; +} + +message ResOauth2Auth { + + Error error = 1; + string access_token = 2; +} + +message ReqOauth2Check { + + uint32 type = 1; + string access_token = 2; +} + +message ResOauth2Check { + + Error error = 1; + bool has_account = 2; +} + +message ReqOauth2Signup { + + uint32 type = 1; + string access_token = 2; + string email = 3; + string advertise_str = 4; +} + +message ResOauth2Signup { + + Error error = 1; +} + +message ReqOauth2Login { + + uint32 type = 1; + string access_token = 2; + bool reconnect = 3; + ClientDeviceInfo device = 4; + string random_key = 5; + string client_version = 6; + repeated uint32 currency_platforms = 8; +} + +message ReqDMMPreLogin { + + string finish_url = 1; +} + +message ResDMMPreLogin { + + string parameter = 1; +} + +message ReqLogout { +} + +message ResLogout { + + Error error = 1; +} + +message ReqHeatBeat { + + uint32 no_operation_counter = 1; +} + +message ReqLoginBeat { + + string contract = 1; +} + +message ReqJoinMatchQueue { + + uint32 match_mode = 1; +} + +message ReqCancelMatchQueue { + + uint32 match_mode = 1; +} + +message ReqAccountInfo { + + uint32 account_id = 1; +} + +message ResAccountInfo { + + Error error = 1; + Account account = 2; + Room room = 3; +} + +message ReqCreateNickname { + + string nickname = 1; + string advertise_str = 2; +} + +message ReqModifyNickname { + + string nickname = 1; + uint32 use_item_id = 2; +} + +message ReqModifyBirthday { + + int32 birthday = 1; +} + +message ResSelfRoom { + + Error error = 1; + Room room = 2; +} + +message ReqCreateRoom { + + uint32 player_count = 1; + GameMode mode = 2; + bool public_live = 3; +} + +message ResCreateRoom { + + Error error = 1; + Room room = 2; +} + +message ReqJoinRoom { + + uint32 room_id = 1; +} + +message ResJoinRoom { + + Error error = 1; + Room room = 2; +} + +message ReqRoomReady { + + bool ready = 1; +} + +message ReqRoomDressing { + + bool dressing = 1; +} + +message ReqRoomStart { +} + +message ReqRoomKick { + + uint32 account_id = 1; +} + +message ReqModifyRoom { + + uint32 robot_count = 1; +} + +message ReqChangeAvatar { + + uint32 avatar_id = 1; +} + +message ReqAccountStatisticInfo { + + uint32 account_id = 1; +} + +message ResAccountStatisticInfo { + + Error error = 1; + repeated AccountStatisticData statistic_data = 2; + AccountDetailStatisticV2 detail_data = 3; +} + +message ResAccountCharacterInfo { + + repeated uint32 unlock_list = 1; +} + +message ReqShopPurchase { + + string type = 1; + uint32 id = 2; +} + +message ResShopPurchase { + + Error error = 1; + AccountUpdate update = 2; +} + +message ReqGameRecord { + + string game_uuid = 1; +} + +message ResGameRecord { + + Error error = 1; + RecordGame head = 3; + bytes data = 4; + string data_url = 5; +} + +message ReqGameRecordList { + + uint32 start = 1; + uint32 count = 2; + uint32 type = 3; +} + +message ResGameRecordList { + + Error error = 1; + uint32 total_count = 2; + repeated RecordGame record_list = 3; +} + +message ResCollectedGameRecordList { + + Error error = 1; + repeated RecordCollectedData record_list = 2; + uint32 record_collect_limit = 3; +} + +message ReqGameRecordsDetail { + + repeated string uuid_list = 1; +} + +message ResGameRecordsDetail { + + Error error = 1; + repeated RecordGame record_list = 2; +} + +message ReqAddCollectedGameRecord { + + string uuid = 1; + string remarks = 2; + uint32 start_time = 3; + uint32 end_time = 4; +} + +message ResAddCollectedGameRecord { + + Error error = 1; +} + +message ReqRemoveCollectedGameRecord { + + string uuid = 1; +} + +message ResRemoveCollectedGameRecord { + + Error error = 1; +} + +message ReqChangeCollectedGameRecordRemarks { + + string uuid = 1; + string remarks = 2; +} + +message ResChangeCollectedGameRecordRemarks { + + Error error = 1; +} + +message ReqLevelLeaderboard { + + uint32 type = 1; +} + +message ResLevelLeaderboard { + + Error error = 1; + repeated Item items = 2; + uint32 self_rank = 3; + + message Item { + + uint32 account_id = 1; + AccountLevel level = 2; + } +} + +message ReqMultiAccountId { + + repeated uint32 account_id_list = 1; +} + +message ResMultiAccountBrief { + + Error error = 1; + repeated PlayerBaseView players = 2; +} + +message ResFriendList { + + Error error = 1; + repeated Friend friends = 2; + uint32 friend_max_count = 3; +} + +message ResFriendApplyList { + + Error error = 1; + repeated FriendApply applies = 2; + + message FriendApply { + + uint32 account_id = 1; + uint32 apply_time = 2; + } +} + +message ReqApplyFriend { + + uint32 target_id = 1; +} + +message ReqHandleFriendApply { + + uint32 target_id = 1; + uint32 method = 2; +} + +message ReqRemoveFriend { + + uint32 target_id = 1; +} + +message ReqSearchAccountByPattern { + + bool search_next = 1; + string pattern = 2; +} + +message ResSearchAccountByPattern { + + Error error = 1; + bool is_finished = 2; + repeated uint32 match_accounts = 3; + uint32 decode_id = 4; +} + +message ReqAccountList { + + repeated uint32 account_id_list = 1; +} + +message ResAccountStates { + + Error error = 1; + repeated AccountActiveState states = 2; +} + +message ReqSearchAccountById { + + uint32 account_id = 1; +} + +message ResSearchAccountById { + + Error error = 1; + PlayerBaseView player = 2; +} + +message ResBagInfo { + + Error error = 1; + Bag bag = 2; +} + +message ReqUseBagItem { + + uint32 item_id = 1; +} + +message ReqOpenManualItem { + + uint32 item_id = 1; + uint32 count = 2; + uint32 select_id = 3; +} + +message ReqOpenRandomRewardItem { + + uint32 item_id = 1; +} + +message ResOpenRandomRewardItem { + + Error error = 1; + repeated OpenResult results = 2; +} + +message ReqComposeShard { + + uint32 item_id = 1; +} + +message ResAnnouncement { + + Error error = 1; + repeated Announcement announcements = 2; + repeated uint32 sort = 3; + repeated uint32 read_list = 4; +} + +message ResMailInfo { + + Error error = 1; + repeated Mail mails = 2; +} + +message ReqReadMail { + + uint32 mail_id = 1; +} + +message ReqDeleteMail { + + uint32 mail_id = 1; +} + +message ReqTakeAttachment { + + uint32 mail_id = 1; +} + +message ResAchievement { + + Error error = 1; + repeated AchievementProgress progresses = 2; +} + +message ResTitleList { + + Error error = 1; + repeated uint32 title_list = 2; +} + +message ReqUseTitle { + + uint32 title = 1; +} + +message ReqBuyShiLian { + + uint32 type = 1; +} + +message ReqUpdateClientValue { + + uint32 key = 1; + uint32 value = 2; +} + +message ResClientValue { + + repeated Value datas = 1; + uint32 recharged_count = 2; + + message Value { + + uint32 key = 1; + uint32 value = 2; + } +} + +message ReqClientMessage { + + uint32 timestamp = 1; + string message = 2; +} + +message ReqCurrentMatchInfo { + + repeated uint32 mode_list = 1; +} + +message ResCurrentMatchInfo { + + Error error = 1; + repeated CurrentMatchInfo matches = 2; + + message CurrentMatchInfo { + + uint32 mode_id = 1; + uint32 playing_count = 2; + } +} + +message ReqUserComplain { + + uint32 target_id = 1; + uint32 type = 2; +} + +message ReqReadAnnouncement { + + uint32 announcement_id = 1; +} + +message ResReviveCoinInfo { + + Error error = 1; + bool has_gained = 2; +} + +message ResDailyTask { + + Error error = 1; + repeated TaskProgress progresses = 2; + bool has_refresh_count = 3; + uint32 max_daily_task_count = 4; + uint32 refresh_count = 5; +} + +message ReqRefreshDailyTask { + + uint32 task_id = 1; +} + +message ResRefreshDailyTask { + + Error error = 1; + TaskProgress progress = 2; + uint32 refresh_count = 3; +} + +message ReqUseGiftCode { + + string code = 1; +} + +message ResUseGiftCode { + + Error error = 1; + repeated RewardSlot rewards = 6; +} + +message ReqSendClientMessage { + + uint32 target_id = 1; + uint32 type = 2; + string content = 3; +} + +message ReqGameLiveInfo { + + string game_uuid = 1; +} + +message ResGameLiveInfo { + + Error error = 1; + uint32 left_start_seconds = 2; + GameLiveHead live_head = 3; + repeated GameLiveSegmentUri segments = 4; + uint32 now_millisecond = 5; +} + +message ReqGameLiveLeftSegment { + + string game_uuid = 1; + uint32 last_segment_id = 2; +} + +message ResGameLiveLeftSegment { + + Error error = 1; + uint32 live_state = 2; + repeated GameLiveSegmentUri segments = 4; + uint32 now_millisecond = 5; + uint32 segment_end_millisecond = 6; +} + +message ReqGameLiveList { + + uint32 filter_id = 1; +} + +message ResGameLiveList { + + Error error = 1; + repeated GameLiveHead live_list = 2; +} + +message ResCommentSetting { + + Error error = 1; + uint32 comment_allow = 2; +} + +message ReqUpdateCommentSetting { + + uint32 comment_allow = 1; +} + +message ReqFetchCommentList { + + uint32 target_id = 1; +} + +message ResFetchCommentList { + + Error error = 1; + uint32 comment_allow = 2; + repeated uint32 comment_id_list = 3; + uint32 last_read_id = 4; +} + +message ReqFetchCommentContent { + + uint32 target_id = 1; + repeated uint32 comment_id_list = 2; +} + +message ResFetchCommentContent { + + Error error = 1; + repeated CommentItem comments = 2; +} + +message ReqLeaveComment { + + uint32 target_id = 1; + string content = 2; +} + +message ReqDeleteComment { + + uint32 target_id = 1; + repeated uint32 delete_list = 2; +} + +message ReqUpdateReadComment { + + uint32 read_id = 1; +} + +message ReqRollingNotice { + + RollingNotice notice = 1; +} + +message ResServerTime { + + uint32 server_time = 1; +} + +message ReqPlatformBillingProducts { + + uint32 shelves_id = 1; +} + +message ResPlatformBillingProducts { + + Error error = 1; + repeated BillingProduct products = 2; +} + +message ReqCreateBillingOrder { + + uint32 goods_id = 1; + uint32 payment_platform = 2; + uint32 client_type = 3; + uint32 account_id = 4; +} + +message ResCreateBillingOrder { + + Error error = 1; + string order_id = 2; +} + +message ReqSolveGooglePlayOrder { + + string inapp_purchase_data = 2; + string inapp_data_signature = 3; +} + +message ReqSolveGooglePlayOrderV3 { + + string order_id = 1; + string transaction_id = 2; + string token = 3; + uint32 account_id = 4; +} + +message ReqCancelGooglePlayOrder { + + string order_id = 1; +} + +message ReqCreateWechatNativeOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string account_ip = 4; +} + +message ResCreateWechatNativeOrder { + + Error error = 1; + string qrcode_buffer = 2; + string order_id = 3; +} + +message ReqCreateWechatAppOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string account_ip = 4; +} + +message ResCreateWechatAppOrder { + + Error error = 1; + CallWechatAppParam call_wechat_app_param = 2; + + message CallWechatAppParam { + + string appid = 1; + string partnerid = 2; + string prepayid = 3; + string package = 4; + string noncestr = 5; + string timestamp = 6; + string sign = 7; + } +} + +message ReqCreateAlipayOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string alipay_trade_type = 4; + string return_url = 5; +} + +message ResCreateAlipayOrder { + + Error error = 1; + string alipay_url = 2; +} + +message ReqCreateAlipayScanOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; +} + +message ResCreateAlipayScanOrder { + + Error error = 1; + string qrcode_buffer = 2; + string order_id = 3; + string qr_code = 4; +} + +message ReqCreateAlipayAppOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; +} + +message ResCreateAlipayAppOrder { + + Error error = 1; + string alipay_url = 2; +} + +message ReqCreateJPCreditCardOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string return_url = 4; + string access_token = 5; +} + +message ResCreateJPCreditCardOrder { + + Error error = 1; + string order_id = 2; +} + +message ReqCreateJPPaypalOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string return_url = 4; + string access_token = 5; +} + +message ResCreateJPPaypalOrder { + + Error error = 1; + string order_id = 2; +} + +message ReqCreateJPAuOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string return_url = 4; + string access_token = 5; +} + +message ResCreateJPAuOrder { + + Error error = 1; + string order_id = 2; +} + +message ReqCreateJPDocomoOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string return_url = 4; + string access_token = 5; +} + +message ResCreateJPDocomoOrder { + + Error error = 1; + string order_id = 2; +} + +message ReqCreateJPWebMoneyOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string return_url = 4; + string access_token = 5; +} + +message ResCreateJPWebMoneyOrder { + + Error error = 1; + string order_id = 2; +} + +message ReqCreateJPSoftbankOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string return_url = 4; + string access_token = 5; +} + +message ResCreateJPSoftbankOrder { + + Error error = 1; + string order_id = 2; +} + +message ReqCreateYostarOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + uint32 order_type = 4; +} + +message ResCreateYostarOrder { + + Error error = 1; + string order_id = 2; +} + +message ReqCreateENPaypalOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string return_url = 4; + string access_token = 5; +} + +message ResCreateENPaypalOrder { + + Error error = 1; + string order_id = 2; +} + +message ReqCreateENJCBOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string return_url = 4; + string access_token = 5; +} + +message ResCreateENJCBOrder { + + Error error = 1; + string order_id = 2; +} + +message ReqCreateENMasterCardOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string return_url = 4; + string access_token = 5; +} + +message ResCreateENMasterCardOrder { + + Error error = 1; + string order_id = 2; +} + +message ReqCreateENVisaOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string return_url = 4; + string access_token = 5; +} + +message ResCreateENVisaOrder { + + Error error = 1; + string order_id = 2; +} + +message ReqCreateENAlipayOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string return_url = 4; + string access_token = 5; +} + +message ResCreateENAlipayOrder { + + Error error = 1; + string order_id = 2; +} + +message ReqCreateDMMOrder { + + uint32 goods_id = 1; + uint32 account_id = 2; + uint32 client_type = 3; +} + +message ResCreateDmmOrder { + + Error error = 1; + string order_id = 2; + string transaction_id = 3; + string dmm_user_id = 4; + string token = 5; + string callback_url = 6; + string request_time = 9; + string dmm_app_id = 10; +} + +message ReqCreateIAPOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; + string access_token = 4; +} + +message ResCreateIAPOrder { + + Error error = 1; + string order_id = 2; +} + +message ReqVerificationIAPOrder { + + string order_id = 1; + string transaction_id = 2; + string receipt_data = 3; + uint32 account_id = 4; +} + +message ResVerificationIAPOrder { + + Error error = 1; +} + +message ReqCreateMyCardOrder { + + uint32 goods_id = 1; + uint32 client_type = 2; + uint32 account_id = 3; +} + +message ResCreateMyCardOrder { + + Error error = 1; + string auth_code = 2; + string order_id = 3; +} + +message ReqVerifyMyCardOrder { + + string order_id = 1; + uint32 account_id = 2; +} + +message ReqOpenChest { + + uint32 chest_id = 1; + uint32 count = 2; + bool use_ticket = 3; +} + +message ResOpenChest { + + Error error = 1; + repeated OpenResult results = 2; + uint32 total_open_count = 3; + uint32 faith_count = 4; +} + +message ReqBuyFromChestShop { + + uint32 goods_id = 1; + uint32 count = 2; +} + +message ResBuyFromChestShop { + + Error error = 1; + uint32 chest_id = 2; + uint32 consume_count = 3; + uint32 faith_count = 4; +} + +message ResDailySignInInfo { + + Error error = 1; + uint32 sign_in_days = 2; +} + +message ReqDoActivitySignIn { + + uint32 activity_id = 2; +} + +message ResDoActivitySignIn { + + Error error = 1; + repeated RewardData rewards = 2; + uint32 sign_in_count = 3; + + message RewardData { + + uint32 resource_id = 1; + uint32 count = 2; + } +} + +message ResCharacterInfo { + + Error error = 1; + repeated Character characters = 2; + repeated uint32 skins = 3; + uint32 main_character_id = 4; + uint32 send_gift_count = 5; + uint32 send_gift_limit = 6; + repeated uint32 finished_endings = 7; + repeated uint32 rewarded_endings = 8; +} + +message ReqChangeMainCharacter { + + uint32 character_id = 1; +} + +message ReqChangeCharacterSkin { + + uint32 character_id = 1; + uint32 skin = 2; +} + +message ReqChangeCharacterView { + + uint32 character_id = 1; + uint32 slot = 2; + uint32 item_id = 3; +} + +message ReqSendGiftToCharacter { + + uint32 character_id = 1; + repeated Gift gifts = 2; + + message Gift { + + uint32 item_id = 1; + uint32 count = 2; + } +} + +message ResSendGiftToCharacter { + + Error error = 1; + uint32 level = 2; + uint32 exp = 3; +} + +message ReqSellItem { + + repeated Item sells = 1; + + message Item { + + uint32 item_id = 1; + uint32 count = 2; + } +} + +message ResCommonView { + + Error error = 1; + repeated Slot slots = 2; + + message Slot { + + uint32 slot = 1; + uint32 value = 2; + } +} + +message ReqChangeCommonView { + + uint32 slot = 1; + uint32 value = 2; +} + +message ReqSaveCommonViews { + + repeated ViewSlot views = 1; + uint32 save_index = 2; + uint32 is_use = 3; +} + +message ReqCommonViews { + + uint32 index = 1; +} + +message ResCommonViews { + + repeated ViewSlot views = 1; +} + +message ResAllcommonViews { + + repeated Views views = 1; + uint32 use = 2; + Error error = 3; + + message Views { + + repeated ViewSlot values = 1; + uint32 index = 2; + } +} + +message ReqUseCommonView { + + uint32 index = 3; +} + +message ReqUpgradeCharacter { + + uint32 character_id = 1; +} + +message ResUpgradeCharacter { + + Error error = 1; + Character character = 2; +} + +message ReqFinishedEnding { + + uint32 character_id = 1; + uint32 story_id = 2; + uint32 ending_id = 3; +} + +message ReqGMCommand { + + string command = 1; +} + +message ResShopInfo { + + Error error = 1; + ShopInfo shop_info = 2; +} + +message ReqBuyFromShop { + + uint32 goods_id = 1; + uint32 count = 2; + repeated BillShortcut bill_short_cut = 3; + uint32 deal_price = 4; +} + +message ResBuyFromShop { + + Error error = 1; + repeated RewardSlot rewards = 2; +} + +message ReqBuyFromZHP { + + uint32 goods_id = 1; + uint32 count = 2; +} + +message ReqPayMonthTicket { + + uint32 ticket_id = 1; +} + +message ResPayMonthTicket { + + Error error = 1; + uint32 resource_id = 2; + uint32 resource_count = 3; +} + +message ReqReshZHPShop { + + uint32 free_refresh = 1; + uint32 cost_refresh = 2; +} + +message ResRefreshZHPShop { + + Error error = 1; + ZHPShop zhp = 2; +} + +message ResMonthTicketInfo { + + repeated MonthTicketInfo month_ticket_info = 1; +} + +message ReqExchangeCurrency { + + uint32 id = 1; + uint32 count = 2; +} + +message ResServerSettings { + + ServerSettings settings = 1; +} + +message ResAccountSettings { + + Error error = 1; + repeated AccountSetting settings = 2; +} + +message ReqUpdateAccountSettings { + + AccountSetting setting = 1; +} + +message ResModNicknameTime { + + uint32 last_mod_time = 1; +} + +message ResMisc { + + Error error = 1; + repeated uint32 recharged_list = 2; + repeated MiscFaithData faiths = 3; + + message MiscFaithData { + + uint32 faith_id = 1; + uint32 count = 2; + } +} + +message ReqModifySignature { + + string signature = 1; +} + +message ResIDCardInfo { + + Error error = 1; + bool is_authed = 2; + string country = 3; +} + +message ReqUpdateIDCardInfo { + + string fullname = 1; + string card_no = 2; +} + +message ResVipReward { + + Error error = 1; + repeated uint32 gained_vip_levels = 2; +} + +message ReqGainVipReward { + + uint32 vip_level = 1; +} + +message ReqFetchCustomizedContestList { + + uint32 start = 1; + uint32 count = 2; +} + +message ResFetchCustomizedContestList { + + Error error = 1; + repeated CustomizedContestBase contests = 2; + repeated CustomizedContestBase follow_contests = 3; +} + +message ReqFetchCustomizedContestExtendInfo { + + repeated uint32 uid_list = 1; +} + +message ResFetchCustomizedContestExtendInfo { + + Error error = 1; + repeated CustomizedContestExtend extend_list = 2; +} + +message ReqFetchCustomizedContestAuthInfo { + + uint32 unique_id = 1; +} + +message ResFetchCustomizedContestAuthInfo { + + Error error = 1; + uint32 observer_level = 2; +} + +message ReqEnterCustomizedContest { + + uint32 unique_id = 1; +} + +message ResEnterCustomizedContest { + + Error error = 1; + CustomizedContestDetail detail_info = 2; + CustomizedContestPlayerReport player_report = 3; + bool is_followed = 4; +} + +message ReqFetchCustomizedContestOnlineInfo { + + uint32 unique_id = 1; +} + +message ResFetchCustomizedContestOnlineInfo { + + Error error = 1; + uint32 online_player = 2; +} + +message ReqFetchCustomizedContestByContestId { + + uint32 contest_id = 1; +} + +message ResFetchCustomizedContestByContestId { + + Error error = 1; + CustomizedContestAbstract contest_info = 2; +} + +message ReqStartCustomizedContest { + + uint32 unique_id = 1; +} + +message ReqJoinCustomizedContestChatRoom { + + uint32 unique_id = 1; +} + +message ResJoinCustomizedContestChatRoom { + + Error error = 1; + repeated bytes chat_history = 2; +} + +message ReqSayChatMessage { + + string content = 1; +} + +message ReqFetchCustomizedContestGameLiveList { + + uint32 unique_id = 1; +} + +message ResFetchCustomizedContestGameLiveList { + + Error error = 1; + repeated GameLiveHead live_list = 2; +} + +message ReqFetchCustomizedContestGameRecords { + + uint32 unique_id = 1; + uint32 last_index = 2; +} + +message ResFetchCustomizedContestGameRecords { + + Error error = 1; + uint32 next_index = 2; + repeated RecordGame record_list = 3; +} + +message ReqTargetCustomizedContest { + + uint32 unique_id = 1; +} + +message ResActivityList { + + Error error = 1; + repeated Activity activities = 2; +} + +message ResAccountActivityData { + + Error error = 1; + repeated ExchangeRecord exchange_records = 2; + repeated TaskProgress task_progress_list = 3; + repeated ActivityAccumulatedPointData accumulated_point_list = 4; + repeated ActivityRankPointData rank_data_list = 5; + repeated TaskProgress flip_task_progress_list = 6; + repeated ActivitySignInData sign_in_data = 7; + repeated ActivityRichmanData richman_data = 8; + repeated TaskProgress period_task_progress_list = 9; + repeated TaskProgress random_task_progress_list = 10; + + message ActivitySignInData { + + uint32 activity_id = 1; + uint32 sign_in_count = 2; + uint32 last_sign_in_time = 3; + } + + message BuffData { + + uint32 type = 1; + uint32 remain = 2; + uint32 effect = 3; + } + + message ActivityRichmanData { + + uint32 activity_id = 1; + uint32 location = 2; + uint32 finished_count = 3; + uint32 chest_position = 4; + uint32 bank_save = 5; + uint32 exp = 6; + repeated BuffData buff = 7; + } +} + +message ReqExchangeActivityItem { + + uint32 exchange_id = 1; +} + +message ResExchangeActivityItem { + + Error error = 1; + repeated ExecuteReward execute_reward = 2; +} + +message ReqCompleteActivityTask { + + uint32 task_id = 1; +} + +message ReqReceiveActivityFlipTask { + + uint32 task_id = 1; +} + +message ResReceiveActivityFlipTask { + + uint32 count = 1; + Error error = 2; +} + +message ReqFetchActivityFlipInfo { + + uint32 activity_id = 1; +} + +message ResFetchActivityFlipInfo { + + repeated uint32 rewards = 1; + uint32 count = 2; + Error error = 3; +} + +message ReqGainAccumulatedPointActivityReward { + + uint32 activity_id = 1; + uint32 reward_id = 2; +} + +message ReqFetchRankPointLeaderboard { + + uint32 leaderboard_id = 1; +} + +message ResFetchRankPointLeaderboard { + + Error error = 1; + repeated Item items = 2; + uint32 last_refresh_time = 3; + + message Item { + + uint32 account_id = 1; + uint32 rank = 2; + PlayerBaseView view = 3; + uint32 point = 4; + } +} + +message ReqGainRankPointReward { + + uint32 leaderboard_id = 1; + uint32 activity_id = 2; +} + +message ReqRichmanNextMove { + + uint32 activity_id = 1; +} + +message ResRichmanNextMove { + + repeated PathData paths = 1; + uint32 dice = 2; + uint32 location = 3; + uint32 finished_count = 4; + uint32 step = 5; + repeated BuffData buff = 6; + uint32 bank_save = 7; + uint32 chest_position = 8; + uint32 exp = 9; + uint32 bank_save_add = 10; + Error error = 11; + + message RewardData { + + uint32 resource_id = 1; + uint32 count = 2; + uint32 origin_count = 3; + uint32 is_chest = 4; + } + + message PathData { + + uint32 location = 1; + repeated RewardData rewards = 2; + repeated uint32 events = 3; + } + + message BuffData { + + uint32 type = 1; + uint32 remain = 2; + uint32 effect = 3; + } +} + +message ReqRichmanSpecialMove { + + uint32 activity_id = 1; + uint32 step = 2; +} + +message ReqRichmanChestInfo { + + uint32 activity_id = 1; +} + +message ResRichmanChestInfo { + + repeated ItemData items = 1; + Error error = 2; + + message ItemData { + + uint32 id = 1; + uint32 count = 2; + } +} + +message ReqCreateGameObserveAuth { + + string game_uuid = 1; +} + +message ResCreateGameObserveAuth { + + Error error = 1; + string token = 2; + string location = 3; +} + +message ReqRefreshGameObserveAuth { + + string token = 1; +} + +message ResRefreshGameObserveAuth { + + Error error = 1; + uint32 ttl = 2; +} + +message ActionMJStart { +} + +message NewRoundOpenedTiles { + + uint32 seat = 1; + repeated string tiles = 2; + repeated uint32 count = 3; +} + +message MuyuInfo { + + uint32 seat = 1; + uint32 count = 2; + uint32 count_max = 3; + uint32 id = 4; +} + +message ActionNewRound { + + uint32 chang = 1; + uint32 ju = 2; + uint32 ben = 3; + repeated string tiles = 4; + string dora = 5; + repeated int32 scores = 6; + OptionalOperationList operation = 7; + uint32 liqibang = 8; + repeated TingPaiDiscardInfo tingpais0 = 9; + repeated TingPaiInfo tingpais1 = 10; + bool al = 11; + string md5 = 12; + uint32 left_tile_count = 13; + repeated string doras = 14; + repeated NewRoundOpenedTiles opens = 15; + MuyuInfo muyu = 16; +} + +message RecordNewRound { + + uint32 chang = 1; + uint32 ju = 2; + uint32 ben = 3; + string dora = 4; + repeated int32 scores = 5; + uint32 liqibang = 6; + repeated string tiles0 = 7; + repeated string tiles1 = 8; + repeated string tiles2 = 9; + repeated string tiles3 = 10; + repeated TingPai tingpai = 11; + OptionalOperationList operation = 12; + string md5 = 13; + string paishan = 14; + uint32 left_tile_count = 15; + repeated string doras = 16; + repeated NewRoundOpenedTiles opens = 17; + MuyuInfo muyu = 18; + + message TingPai { + + uint32 seat = 1; + repeated TingPaiInfo tingpais1 = 2; + } +} + +message GameSnapshot { + + uint32 chang = 1; + uint32 ju = 2; + uint32 ben = 3; + uint32 index_player = 4; + uint32 left_tile_count = 5; + repeated string hands = 6; + repeated string doras = 7; + uint32 liqibang = 8; + repeated PlayerSnapshot players = 9; + bool zhenting = 10; + + message PlayerSnapshot { + + int32 score = 1; + int32 liqiposition = 2; + uint32 tilenum = 3; + repeated string qipais = 4; + repeated Fulu mings = 5; + + message Fulu { + + uint32 type = 1; + repeated string tile = 2; + repeated uint32 from = 3; + } + } +} + +message ActionPrototype { + + uint32 step = 1; + string name = 2; + bytes data = 3; +} + +message GameDetailRecords { + + repeated bytes records = 1; +} + +message OptionalOperation { + + uint32 type = 1; + repeated string combination = 2; +} + +message OptionalOperationList { + + uint32 seat = 1; + repeated OptionalOperation operation_list = 2; + uint32 time_add = 4; + uint32 time_fixed = 5; +} + +message LiQiSuccess { + + uint32 seat = 1; + int32 score = 2; + uint32 liqibang = 3; +} + +message FanInfo { + + string name = 1; + uint32 val = 2; + uint32 id = 3; +} + +message HuleInfo { + + repeated string hand = 1; + repeated string ming = 2; + string hu_tile = 3; + uint32 seat = 4; + bool zimo = 5; + bool qinjia = 6; + bool liqi = 7; + repeated string doras = 8; + repeated string li_doras = 9; + bool yiman = 10; + uint32 count = 11; + repeated FanInfo fans = 12; + uint32 fu = 13; + string title = 14; + uint32 point_rong = 15; + uint32 point_zimo_qin = 16; + uint32 point_zimo_xian = 17; + uint32 title_id = 18; + uint32 point_sum = 19; +} + +message TingPaiInfo { + + string tile = 1; + bool haveyi = 2; + bool yiman = 3; + uint32 count = 4; + uint32 fu = 5; + uint32 biao_dora_count = 6; + bool yiman_zimo = 7; + uint32 count_zimo = 8; + uint32 fu_zimo = 9; +} + +message TingPaiDiscardInfo { + + string tile = 1; + bool zhenting = 2; + repeated TingPaiInfo infos = 3; +} + +message GameEnd { + + repeated int32 scores = 1; +} + +message ActionDiscardTile { + + uint32 seat = 1; + string tile = 2; + bool is_liqi = 3; + OptionalOperationList operation = 4; + bool moqie = 5; + bool zhenting = 6; + repeated TingPaiInfo tingpais = 7; + repeated string doras = 8; + bool is_wliqi = 9; + uint32 tile_state = 10; + MuyuInfo muyu = 11; +} + +message RecordDiscardTile { + + uint32 seat = 1; + string tile = 2; + bool is_liqi = 3; + bool moqie = 5; + repeated bool zhenting = 6; + repeated TingPaiInfo tingpais = 7; + repeated string doras = 8; + bool is_wliqi = 9; + repeated OptionalOperationList operations = 10; + uint32 tile_state = 11; + MuyuInfo muyu = 12; +} + +message ActionDealTile { + + uint32 seat = 1; + string tile = 2; + uint32 left_tile_count = 3; + OptionalOperationList operation = 4; + LiQiSuccess liqi = 5; + repeated string doras = 6; + bool zhenting = 7; + repeated TingPaiDiscardInfo tingpais = 8; + uint32 tile_state = 9; + MuyuInfo muyu = 10; +} + +message RecordDealTile { + + uint32 seat = 1; + string tile = 2; + uint32 left_tile_count = 3; + LiQiSuccess liqi = 5; + repeated string doras = 6; + repeated bool zhenting = 7; + OptionalOperationList operation = 8; + uint32 tile_state = 9; + MuyuInfo muyu = 11; +} + +message ActionChiPengGang { + + uint32 seat = 1; + uint32 type = 2; + repeated string tiles = 3; + repeated uint32 froms = 4; + LiQiSuccess liqi = 5; + OptionalOperationList operation = 6; + bool zhenting = 7; + repeated TingPaiDiscardInfo tingpais = 8; + repeated uint32 tile_states = 9; + MuyuInfo muyu = 10; +} + +message RecordChiPengGang { + + uint32 seat = 1; + uint32 type = 2; + repeated string tiles = 3; + repeated uint32 froms = 4; + LiQiSuccess liqi = 5; + repeated bool zhenting = 7; + OptionalOperationList operation = 8; + repeated uint32 tile_states = 9; + MuyuInfo muyu = 10; +} + +message ActionAnGangAddGang { + + uint32 seat = 1; + uint32 type = 2; + string tiles = 3; + OptionalOperationList operation = 4; + repeated string doras = 6; + bool zhenting = 7; + repeated TingPaiInfo tingpais = 8; + MuyuInfo muyu = 9; +} + +message RecordAnGangAddGang { + + uint32 seat = 1; + uint32 type = 2; + string tiles = 3; + repeated string doras = 6; + repeated OptionalOperationList operations = 7; + MuyuInfo muyu = 8; +} + +message ActionBaBei { + + uint32 seat = 1; + OptionalOperationList operation = 4; + repeated string doras = 6; + bool zhenting = 7; + repeated TingPaiInfo tingpais = 8; + bool moqie = 9; + uint32 tile_state = 10; + MuyuInfo muyu = 11; +} + +message RecordBaBei { + + uint32 seat = 1; + repeated string doras = 6; + repeated OptionalOperationList operations = 7; + bool moqie = 8; + uint32 tile_state = 10; + MuyuInfo muyu = 11; +} + +message ActionHule { + + repeated HuleInfo hules = 1; + repeated int32 old_scores = 2; + repeated int32 delta_scores = 3; + uint32 wait_timeout = 4; + repeated int32 scores = 5; + GameEnd gameend = 6; + repeated string doras = 7; + MuyuInfo muyu = 8; +} + +message RecordHule { + + repeated HuleInfo hules = 1; + repeated int32 old_scores = 2; + repeated int32 delta_scores = 3; + uint32 wait_timeout = 4; + repeated int32 scores = 5; + GameEnd gameend = 6; + repeated string doras = 7; + MuyuInfo muyu = 8; +} + +message ActionLiuJu { + + uint32 type = 1; + GameEnd gameend = 2; + uint32 seat = 3; + repeated string tiles = 4; + LiQiSuccess liqi = 5; + repeated string allplayertiles = 6; + MuyuInfo muyu = 7; +} + +message RecordLiuJu { + + uint32 type = 1; + GameEnd gameend = 2; + uint32 seat = 3; + repeated string tiles = 4; + LiQiSuccess liqi = 5; + repeated string allplayertiles = 6; + MuyuInfo muyu = 7; +} + +message NoTilePlayerInfo { + + bool tingpai = 3; + repeated string hand = 4; + repeated TingPaiInfo tings = 5; +} + +message NoTileScoreInfo { + + uint32 seat = 1; + repeated int32 old_scores = 2; + repeated int32 delta_scores = 3; + repeated string hand = 4; + repeated string ming = 5; + repeated string doras = 6; + uint32 score = 7; +} + +message ActionNoTile { + + bool liujumanguan = 1; + repeated NoTilePlayerInfo players = 2; + repeated NoTileScoreInfo scores = 3; + bool gameend = 4; + MuyuInfo muyu = 5; +} + +message RecordNoTile { + + bool liujumanguan = 1; + repeated NoTilePlayerInfo players = 2; + repeated NoTileScoreInfo scores = 3; + bool gameend = 4; + MuyuInfo muyu = 5; +} + +message PlayerLeaving { + + uint32 seat = 1; +} +service FastTest { + rpc authGame (ReqAuthGame) returns (ResAuthGame); + rpc enterGame (ReqCommon) returns (ResEnterGame); + rpc syncGame (ReqSyncGame) returns (ResSyncGame); + rpc finishSyncGame (ReqCommon) returns (ResCommon); + rpc terminateGame (ReqCommon) returns (ResCommon); + rpc inputOperation (ReqSelfOperation) returns (ResCommon); + rpc inputChiPengGang (ReqChiPengGang) returns (ResCommon); + rpc confirmNewRound (ReqCommon) returns (ResCommon); + rpc broadcastInGame (ReqBroadcastInGame) returns (ResCommon); + rpc inputGameGMCommand (ReqGMCommandInGaming) returns (ResCommon); + rpc fetchGamePlayerState (ReqCommon) returns (ResGamePlayerState); + rpc checkNetworkDelay (ReqCommon) returns (ResCommon); + rpc clearLeaving (ReqCommon) returns (ResCommon); + rpc voteGameEnd (ReqVoteGameEnd) returns (ResGameEndVote); + rpc authObserve (ReqAuthObserve) returns (ResCommon); + rpc startObserve (ReqCommon) returns (ResStartObserve); + rpc stopObserve (ReqCommon) returns (ResCommon); +} + +message ReqAuthGame { + + uint32 account_id = 1; + string token = 2; + string game_uuid = 3; +} + +message ResAuthGame { + + Error error = 1; + repeated PlayerGameView players = 2; + repeated uint32 seat_list = 3; + bool is_game_start = 4; + GameConfig game_config = 5; + repeated uint32 ready_id_list = 6; +} + +message GameRestore { + + GameSnapshot snapshot = 1; + repeated ActionPrototype actions = 2; + uint32 passed_waiting_time = 3; + uint32 game_state = 4; + uint32 start_time = 5; + uint32 last_pause_time_ms = 6; +} + +message ResEnterGame { + + Error error = 1; + bool is_end = 2; + uint32 step = 3; + GameRestore game_restore = 4; +} + +message ReqSyncGame { + + string round_id = 1; + uint32 step = 2; +} + +message ResSyncGame { + + Error error = 1; + bool is_end = 2; + uint32 step = 3; + GameRestore game_restore = 4; +} + +message ReqSelfOperation { + + uint32 type = 1; + uint32 index = 2; + string tile = 3; + bool cancel_operation = 4; + bool moqie = 5; + uint32 timeuse = 6; + int32 tile_state = 7; +} + +message ReqChiPengGang { + + uint32 type = 1; + uint32 index = 2; + bool cancel_operation = 3; + uint32 timeuse = 6; +} + +message ReqBroadcastInGame { + + string content = 1; + bool except_self = 2; +} + +message ReqGMCommandInGaming { + + string json_data = 1; +} + +message ResGamePlayerState { + + Error error = 1; + repeated GamePlayerState state_list = 2; +} + +message ReqVoteGameEnd { + + bool yes = 1; +} + +message ResGameEndVote { + + bool success = 1; + uint32 vote_cd_end_time = 2; + Error error = 3; +} + +message ReqAuthObserve { + + string token = 1; +} + +message ResStartObserve { + + GameLiveHead head = 1; + GameLiveSegment passed = 2; +} + +message NotifyNewGame { + + string game_uuid = 1; + repeated string player_list = 2; +} + +message NotifyPlayerLoadGameReady { + + repeated uint32 ready_id_list = 1; +} + +message NotifyGameBroadcast { + + uint32 seat = 1; + string content = 2; +} + +message NotifyGameEndResult { + + GameEndResult result = 1; +} + +message NotifyGameTerminate { + + string reason = 1; +} + +message NotifyPlayerConnectionState { + + uint32 seat = 1; + GamePlayerState state = 2; +} + +message NotifyAccountLevelChange { + + AccountLevel origin = 1; + AccountLevel final = 2; + uint32 type = 3; +} + +message NotifyGameFinishReward { + + uint32 mode_id = 1; + LevelChange level_change = 2; + MatchChest match_chest = 3; + MainCharacter main_character = 4; + CharacterGift character_gift = 5; + + message LevelChange { + + AccountLevel origin = 1; + AccountLevel final = 2; + uint32 type = 3; + } + + message MatchChest { + + uint32 chest_id = 1; + uint32 origin = 2; + uint32 final = 3; + bool is_graded = 4; + repeated RewardSlot rewards = 5; + } + + message MainCharacter { + + uint32 level = 1; + uint32 exp = 2; + uint32 add = 3; + } + + message CharacterGift { + + uint32 origin = 1; + uint32 final = 2; + uint32 add = 3; + bool is_graded = 4; + } +} + +message NotifyActivityReward { + + repeated ActivityReward activity_reward = 1; + + message ActivityReward { + + uint32 activity_id = 1; + repeated RewardSlot rewards = 2; + } +} + +message NotifyActivityPoint { + + repeated ActivityPoint activity_points = 1; + + message ActivityPoint { + + uint32 activity_id = 1; + uint32 point = 2; + } +} + +message NotifyLeaderboardPoint { + + repeated LeaderboardPoint leaderboard_points = 1; + + message LeaderboardPoint { + + uint32 leaderboard_id = 1; + uint32 point = 2; + } +} + +message NotifyGamePause { + + bool paused = 1; +} + +message NotifyEndGameVote { + + repeated VoteResult results = 1; + uint32 start_time = 2; + uint32 duration_time = 3; + + message VoteResult { + + uint32 account_id = 1; + bool yes = 2; + } +} + +message NotifyObserveData { + + GameLiveUnit unit = 1; +} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..887ea13 --- /dev/null +++ b/package.json @@ -0,0 +1,18 @@ +{ + "name": "ms", + "version": "1.0.0", + "description": "Mahjong Soul RPC client", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "bytebuffer": "^5.0.1", + "command-line-args": "^5.1.1", + "command-line-usage": "^6.0.2", + "protobufjs": "^6.8.8", + "websocket": "^1.0.30" + } +} diff --git a/res_list.txt b/res_list.txt new file mode 100644 index 0000000..0cacae6 --- /dev/null +++ b/res_list.txt @@ -0,0 +1,9767 @@ +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/head_frame/default.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2/mjp/mjp_default/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/maolianggongyingshang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/kejifangkuai_1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_fish/Materials/shadow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00115_baibian01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/activity_shaizi.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/mingzhiyingshu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_eye.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/yijidantong_win-yijidantong_win.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/right4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/reward_20190501.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_mao_ear02_right.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/tool_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/match.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_xinnianchuzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/course6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/wangcilangWSJ.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_fish/fish_yingzi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20yd_Mup.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/qingxiaoshuo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/shouzhang_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/toy0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/ron_xhzy.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lihuatong01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu_0/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/console1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_qianzhi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_default.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala_xinnianchuzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_lobby/buy_success.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/UI_daxingxing_kuang01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/scoreboard.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cj6_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wushilanyangcai/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wushilanyangcai_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/newyear_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_CJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/necessary.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/tablecloth/tablecloth_lotus/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/diamond2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic1910.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/sushe.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/effect_liqi_feiyu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/default_girl/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/baishinainai/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/mpzs_shandian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/book2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jingbing.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qingku/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fiend_mist_new_2_sheet.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade_bright.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyu_CHST.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/yijidagong_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_re_CHST.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/sanma_quehao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/bg_yueka.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/mingzhiyingshu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200021/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade_tender.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/dress0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/_64x64_sunshine_zhi2_caise01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/wangcilangWSJ.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_dog/dog_color2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_jiutiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20ydsl_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/daocaoquan_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200020/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/xuegao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/wanxianggengxin.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/fish.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/dress1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/course5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/hunzhidizaozhe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wushilanyangcai_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/entrance.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_yijitiantong/yijilizhibang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/plane-Plane001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/left3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fangsheguang_00004_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_hupai_sakura.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiaoniaoyouchutian_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/996.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/mid4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chigua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-034.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiaoniaoyouchutian_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cjM2_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_jinlongyu/shadow.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fushiquan3.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200020/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/yuanchuzhihuo.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fudai_sun.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/art2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200023/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_0/happy.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/client_language.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dankong1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/tablecloth_violet_purple.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiJP01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiasheng_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.8.w/res/atlas/chs_t/myres/room.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/qianbi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/christmas_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/mjp/mjp_green/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/xunmihuishi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin5.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/activity_shaizi1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/luoxuan ping 1-Helix001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/biscuit1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/newyear_loading/newyear_5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/mjdesktop2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic1906_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/art1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zhaitengzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/comic0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/mingpai_bingfen.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_yakumanready.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_xinnianchuzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qingku/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2/mjp/mjp_default.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiaoniaoyouchutian_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/sima_fish.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/effect_liqi_bianfujiejie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_xhzy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chiyuebin.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/default.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/book1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/icexiao_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/tablecloth/tablecloth_green/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/lobby4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/7.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres/star_up/bg.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/btn_appear.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_biaoji.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/zuichuhuntian3_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/impact_new_1_m_sheet_new.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_xinnianchuzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/newyear_loading/newyear_5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/lianggongxingshu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200024/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/yinghuozhiguang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_20chunjie_0/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanquedingCHN_CHST.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/sigongxiasheng/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_wei.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fushiquan2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/art0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_levelup0.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_gejumeiying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/present_king.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/bitmapfont.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bone/bone_yingzi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/star_get_lose/suipian_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/shuimo_00042_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/shizishanguang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/get_character.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_xinnianchuzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/2434chudai_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/lianggongxingshu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_mingpai_default.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/mjp_green.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/console1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/baishinainai_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_yiji.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200020/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/quejie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_qizi_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2/mjp/mjp_20chunjie/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingyan_01111.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/activity_cj2020_exchange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/right3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/juguangdeng02-juguangdeng02.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/haolong.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/newyear_loading/newyear_7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/christmas_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_biaoji_en.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fushiquan7.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/bamuweiSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/yijidantong_alleffect-yijidantong_alleffect.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/mingzhiyingshu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/kawei_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/daocaoquan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/mjp/mjp_rosered/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/effect_liqi_ice.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_youling/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_shengjiban.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00115_hong.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/mjp/mjp_yellow/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/readme.md +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_queshi_bang.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cjM6_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/lianggongxingshu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_20chunjie_chs_t/Table_Dif.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_green/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_jianai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres/star_up/levelup.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_dora3_begin_chs_t.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/tablecloth_violet.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/appmiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_szx.jpg.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fushiquan7.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200020/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_lobby/matchcomplete.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/hunzhiqidizhe2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/newyear_loading/newyear_3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/beijing_chunying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/activity_yijidagong.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/rank1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_changtiao.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_xinnianchuzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200025/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/ganjunwudi_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/erjietangWSJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_wind.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/mingzhiyingshu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_yangcai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/ui_img/blackboard.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/course1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00006.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyu_muyu_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/xigua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200020/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/christmas_bell.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/sima_queshi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala_xinnianchuzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_xiasheng.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zhaitengzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_lobby/gacha_character_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fushiquan1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade_honest.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/daodantangguo_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_jade.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/dress1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200021/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wushilanyangcai/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cjM4_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/hand_cat.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/Glasses.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/baishinainai/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang/serious.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/score_appear.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_rosered_0/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_20chunjie/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/activity_yijidagong.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200021/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/tablecloth_quehunji1_enjp.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/mjp/mjp_20chunjie/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/bomb_suixue.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wushilanyangcai_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyuJP03.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/course2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/tablecloth_20chunjie_en.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_0/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/course6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fushiquan6.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/touzi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200025/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/mjp_orange.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chigua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/start_show.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00115_hong.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/lianggongxingshu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/xuegao_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200023/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/tablecloth/tablecloth_chigua/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_CJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course25.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_xiangyuanwu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200025/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/ice_nova_sheet_00000.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_mao_shader_left.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_yiji/yijilizhibang-_polySurface1.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/dress2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200023/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-006.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_liyu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_xhzy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_xuegao/binggun_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiasheng_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/activity_shaizi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_CJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/reward_20190501.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/wine2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/default_man/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/console0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/bothui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/newyear_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/sima_quejie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiaoniaoyouchutian/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_yiman2.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yiji_zui.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cj13_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_szx.jpg.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fudai_guiren.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/sigongxiasheng_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/match_lobby.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_default/box_yingzi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_duane/shadow_duane.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_xinnianchuzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200024/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/hunzhiqiyuezhe3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-023.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/zidanhepai_pai-zidanhepai_pai.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/bitmapfont1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_scallion/Materials/shadow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/tablecloth/tablecloth_quehunji1/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/erzhigonghuaCJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yijidedagongmaoxian/lizi_0011501.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiasheng_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/MAN_Hand7_skin-MAN_Hand7_skin-MAN_Hand7_skinAvatar.lav +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/lobby_bg/beijing_aiai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/explosion_smoke_4_sheet_purple.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/995.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/right1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200023/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/hunzhidizaozhe3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fushiquan6.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/_64x64_sunshine_zhi2_00000.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/sushe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_xuegao/shadow_binggun.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/lobby.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/sigongxiasheng/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/music/liqi1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/mjp/mjp_youling/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/comic2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/match1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/mjdesktop_en.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_liqi_mofashaonv.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200023/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/zuichuhuntian3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/daodantangguo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin_0/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu_0/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/lobby5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200023/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_green/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200022/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/dress0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/Anim_cat_Lizhi-LiZhi.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/gift_heart_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course21.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanquedingCHN_add_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_scallion.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/jianzhou_open.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fushiquan5.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/word_line.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fudai_sun.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_levelup0.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_CJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade4.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/qianzhiSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/shouzhang_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qingku/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/christmas_socks.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200025/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/quehunji_huodong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/toy1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/effect_liqi_ice.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_hua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/jingbao.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200025/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/yueka.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_manjiban.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_dog/Hand_dog_skin-dog.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yanwu01_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin_0/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yuesefu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/duanwu_point.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fudai_sun.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/effect_liqi_mofashaonv.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_qingkuniang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_green_0/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_liqi_20chunjie.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yuesefu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_yellow_0/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200021/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/lianggongxingshu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chizi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/karma.conf.js +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.32.w/index.html +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jingbing_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/alitrace.js +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiaoniaoyouchutian_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/tablecloth/tablecloth_newyear/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fire_smoke.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/quehunji_huodong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/mingzhiyingshu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/quesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_default_0/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/hand_man.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/chs_t/chst_youyuan_bold.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/treasure.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/l_2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/match.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/baishinainai_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/mjhandpai.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/present_king.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coupon.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/discard_tile.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/l_1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/mjdesktop/shengduan.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2/mjp/mjp_rosered/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_erjietang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_baozhu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/winlose.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/erjietangCJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala_xinnianchuzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/tablecloth_quehunji1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/qianbi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/kejifangkuai_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/7ff07951-344a-45fb-8a52-0ab85b21a359.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_meishu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_chutian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_R_ear.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/chs_t/chst_youyuan.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/console0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/14.png +https://mahjongsoul.game.yo-star.com/v0.8.8.w/res/atlas/chs_t/myres/yueka.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_dog/Hand_dog_skin-hand_dog-Hand_dog_skinAvatar.lav +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200021/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/course0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/fblogin.js +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/touzi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/tablecloth/tablecloth_zhongxiahuahuo/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/music/game.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/sigongxiasheng_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/_64x64_sunshine_zhi2_00000.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/l_2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_xhzy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_0/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang/serious.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/hunzhidizaozhe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20yd_Mup.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/sima_quejie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/tablecloth_quehunji1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200025/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/mingzhiyingshu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_default/Table_Dif.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_manjiban.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/match1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/wanxianggengxin.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/bothui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_hupai_juguang.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_green_0/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bianfu/shadow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/mingpaizhishi_dian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/hunzhiqidizhe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_R_ear.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/13.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/yinghuozhiguang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/sequence_11021_add_1.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/desktop0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lobby/beijing_xiaripaidui.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_baoxiang01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/zhongxialvdong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/riguangbaohe.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liqi/pai_faguang_huang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200022/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/mingzhiyingshu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiasheng_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_chigua/Table_Dif.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/shop.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_quehunji1_enjp/Table_Dif.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/default_man/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200021/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200025/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/desk_purple.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_jiaozi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/bamuweiSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin_0/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/activity_duanwu.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/monthcard.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/hupai/thunder.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin5.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coupon_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/effect_liqi_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200023/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200023/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/hunzhiqiyuezhe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/course5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/baishinainai/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200024/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/christmas_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200021/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres/lobby/report2019.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200022/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200022/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/d3_prefab.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qingku/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/tablecloth/tablecloth_violet/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/right1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/miaoguodahufa.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_CJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/mjp_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/queshi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_liqi_canying.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yinghua2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200023/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yezi.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fudai_guiren.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala_xinnianchuzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/yuanhuan01-Cylinder001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_liqi_szx.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/mjdesktop3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/dress2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/lobby_bg/beijing_chunying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/Particle_Impact01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_goldbar.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/right3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_chutian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/guihuajiu_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cjM3_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_levelup0.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/shouzhang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200024/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/default_girl/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/wine2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/zuichuhuntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/bothui1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/ganjunwudi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/add2desktop_ios.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/course3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_kuang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/shop.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang/happy.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/wanxianggengxin.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/effect_liqi_feiyu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fengling.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_kong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_red.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200023/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/left1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_liqi_longteng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_xiangyuanwu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_CJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cj5_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/xunmihuishi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200020/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fudai_star.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/UI_daxingxing_kuang01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/lobby3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_mao_ear01_right.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres/star_up/bang_heart.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/kejifangkuai01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200022/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres/star_up/bang_heart.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic1910_Mup1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic1910_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_manjiban.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/docs/xinshouyindao_chs.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/tanfang1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/activity_duanwu.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/hule_point1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_chutian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/bomb_suixue_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liqi/pai_faguang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_bgm_2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/default_girl/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200021/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_nanguamao.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/course_ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tachunxing_qizi_glow_lan.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/tachunxing_touzi_E-tachunxing_touzi_E.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00015_huang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/tanfang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/lobby_bg/beijing_aiai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/tablecloth/tablecloth_zhongxiahuahuo/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_fuzi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/Particle_Impact02.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/course7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_evil.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/quejie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cj14_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_yiman_jihui_chs.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/treasure.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/tablecloth/tablecloth_default/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00006.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cjM5_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/winlose_en.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_youlingaoao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_L_ear.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200025/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_xhzy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/docs/xinshouyindao_jp.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid_en/left.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/denglong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qingku/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_quehunji1/Table_Dif.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade_will.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00115.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cj9_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_default.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/bothui1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_L_ear.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_main_qianjin.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/banner_zhongqiushangdian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_lotus/Table_Dif.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/default.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/newyear_loading/newyear_7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/dress2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_losestar.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/sanma_queshi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_szx.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_zimu02.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/qiaokeli.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/mingzhiyingshu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_xinnianchuzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi_0/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/00000133.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/12dora.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_xuegao/shadow_binggun.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/tanfang2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/sushe.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/10.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_rosered_0/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/bamuweiSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/tablecloth_navy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chizi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/activity_fanpai.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_chocolate.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/icon_en.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_rosered/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200020/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-035.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200021/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/chst/chst_youyuan.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/lianggongxingshu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/tablecloth_20chunjie.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/quehunji_huodong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/yijiYD_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/mingpai_bingfen.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200024/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wushilanyangcai_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/denglong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_fish/fish_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/sigongxiasheng/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/jinbi03.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fushiquan1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_xhzy.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade_pure.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_manjiban.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_kuang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/biscuit2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/zhongxia_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/diamond2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/daocaoquan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_liqi_ice.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lihua_tong_glow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/liqipai_ani2-LiQiPai.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/tanfang5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_lizi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/present_cotten.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/mid4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/activity_fanpai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/Goal alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/tablecloth/tablecloth_20chunjie/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_doradorara.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_yellow_0/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_xiangyuanwu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yiji_zui01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/wanxianggengxin.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200023/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fire_bai_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-030.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/wishstone_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/quehao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/beijing_shengdanjianianhua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/mingzhiyingshu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200022/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qingku/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/tablecloth_navy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-011.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_yangcai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong_CJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/hunzhidizaozhe2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/touzi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wushilanyangcai/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/wurenyuebing.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/zuichuquesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala_xinnianchuzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/sushe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_qizi.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/add2desktop_android.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200022/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_qizi.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/mingzhiyingshu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/newyear_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/wine0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/mingzhiyingshu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200021/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qingku_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/tablecloth_violet.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/chst/chst_haolong.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/lianggongxingshu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_jinlongyu/Materials/shadow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_xinnianchuzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid/left.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/activity_cj2020_exchange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuebing_white.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyu_zhi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/luoxuan ping-Helix001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200025/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyuEN02.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_baoxiang02.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/player_indicator/particle_shining.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_jinlongyu/model-model-modelAvatar.lav +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_mofashaonv/shadow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_kuang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/default_girl/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/ab8d5fc4-bdd1-478b-812b-22e08e1fe1ea.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/diamond1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuanqiu2_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/starstone_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/tablecloth_newyear.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200020/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2/mjp/mjp_yellow/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/comic2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cj6_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_huolongjuan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/impact_new_1_m_sheet_new.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2/mjp/mjp_default/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/6dbd770e-bc04-495c-a809-9f66a954a636.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/sanma_huntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/yanhua_tuowei-yanhua_tuowei.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fudai_xianren.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200020/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00015_huang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_yiji.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/yaokongtouzi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_main_qianjin.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_youling/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/zeniyaWSJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/15.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cj9_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/effect_fulu/smoke.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_default.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/winlose.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiasheng_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/bite_impact_orange_sheet.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_kawei.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200021/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/icon.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/console0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fangsheguang_00004.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_liqi_ding.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyuJP04.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_default/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/yaokongtouzi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/bothui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/lobby.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/tablecloth_christmas.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_liyu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/mjdesktop.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_bone.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_default_0/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/yijiYD_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_bianpao.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_duane/xiangsu-xiangsu_polySurface11.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200022/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/mjp/mjp_default/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_CJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_liqi_20chunjie.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/present_cotten.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/start_show.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade4.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/yijidagong_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/present_silver.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/default_man/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong_CJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/activity_sign.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Lizhi_Ani-LiZhi.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/activity_fanpai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqibgm.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yiji_ku.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin4.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_jiaozi/jiaozi.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic1910.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/demo/constructor-nodelist.html +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/sijiaomianpian-Plane004.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_xuegao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_jinlongyu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_yellow/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/effect_liqi_longteng.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_hupai_fire.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/activity_duanwu.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yuesefu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/entrance/Materials/icon_color.lmat +https://mahjongsoul.game.yo-star.com/v0.8.35.w/config.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/wanzhuangti-Cylinder001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200025/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_touzi_red.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_mofashaonv.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00115_zi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/1.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/biscuit1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200021/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/zuichuhuntian3_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/mpzs_default.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Hand_Skin-Plane01.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiaoniaoyouchutian/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/webpack.config.js +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-020.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_nilin.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200020/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cj8_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong_CJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic2005maidM1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/duanwu_rank.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_default_0/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic1911_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/ron_nilin.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/diamond0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200025/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/entrance.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_yuebing_yuan.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade_hope.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yiji_mojing.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cjM6_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/flash.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_bang0.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_bang0.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/tablecloth/tablecloth_20chunjie/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qingku_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chizi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/zuichuquesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/room.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/qingxiaoshuo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/quehun.url +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade_courage.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/mjp_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cj1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin_0/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/tongxinjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/guangyun.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/dress2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tachunxing_qizi_glow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/sigongxiasheng/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_xiaoemofanbian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/jiutiaohaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Materials/Majiang_Hand_Girl_Hand_001_Low2.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_youling/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/erjietangWSJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_click_default.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong_CJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/lobby/en.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_red/box_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200023/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liuxing.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala_xinnianchuzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/mjdesktop1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cj8_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/effect_liqi_szx.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_kuang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_dog/Dog_Lizhi_Ani-LiZhi.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/tablecloth_green.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/comic1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/mjp/mjp_rosered/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/wanxianggengxin.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/course8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_zimu03_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala_xinnianchuzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/room.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yuesefu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/front_scene_effect.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/baishinainai/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/shader/cartoon/cartoon.vs +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qingku_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/shalaYD_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/mid1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/course5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/xiashengWSJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/yueguangbaohe.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_R_lingdang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/ROEliteCircle_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fushiquan4.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres/star_up/levelup.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_biaoji.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bianpao/bianpao_fin.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_xingshu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tile_shadow/shadow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_kawei.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic1910_Mup1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lihua_tong_glow.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade5.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/gold0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/quesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic1911_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/default_man/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/quejie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_biaoji_en.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuebing_white_1.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2/mjp/mjp_default/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/get_character.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liuxing.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/headframe_default.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade4.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/head_frame/default.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200025/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/desktop0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cjM5_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200023/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/zhongxialvdong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fangkuai add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/headframe_douya.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/effect_liqi_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/desk_green.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200024/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/ron_ko.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fudai_sun.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200021/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi_0/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/mjp_rosered.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fengling_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic1912_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yuesefu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/scene_tanfang_liuxing.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/src/clipboard.js +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yiji_mojing.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/sushe.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zhaitengzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cj7_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/mjp_rosered.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/kuantuowei.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_keji.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi_0/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/quesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/default_man/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/guihuajiu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200025/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zhaitengzhi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/hunzhidizaozhe2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00017.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/starstone.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/dafuwen_baoxiang_xiaoshi-dafuwen_baoxiang_xiaoshi.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/baishinainai/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang/happy.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/jiutiaohaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/tablecloth/tablecloth_lotus/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qingku_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/hand_cat_blue.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/dress2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yuesefu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/desk_green.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_szx.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cj11_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coupon.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_rosered_0/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/mingzhiyingshu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cj4_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/wishstone.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Materials/Majiang_Hand_Girl_Hand_001_Low3.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/en/en_shuhun.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20jpzn1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/sanma_quejie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiaoniaoyouchutian_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanjihuiJAN.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanquedingJAN.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200022/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cj6_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200024/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/Glasses.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_muyu_begin_jp.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/tachunxing_qizi02-tachunxing_qizi02.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/mjp/mjp_default/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_lan.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_goldbar.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cj5_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/monvnangua_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/task_20190501.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/wine1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_evil.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/desktop-mjtai002.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_lobby_yinghua.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/mjdesktop3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/xigua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/mjdesktop1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/jpg_0022.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_biaoqing_WSJ.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_green_0/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/plane alpha-Plane001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cjM1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_R_hudiejie.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/zuichuhuntian3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin5.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Resources/unity_builtin_extra.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.30.w/res/config/lqc.lqbin +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic1911_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/tanfang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_default/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyu_long.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fu_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi_0/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fushiquan3.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liqibang_nanguatou.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/hunzhiqiyuezhe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/l_1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_biaoqing_appmiao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/baishinainai/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiaoniaoyouchutian/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/duijubgm.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_muyu_jp.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/beijing_xiaripaidui.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/effect_liqi_fire.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_liqi_fire.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2/mjp/mjp_green/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cj5_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_yuebing_tou.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/yuanzhu-Cylinder001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-026.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/12dora.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ui_img/correct_circle.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/hand_cat_orange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/beijing_xiaripaidui.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/heart_kong.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin_0/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qingku_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/sima_quesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/tanfang1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yuesefu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanquedingENG.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_0/happy.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/activity_duanwu.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_youlingaoao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/add2desktop_ios.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/tablecloth/tablecloth_green/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_nainai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_bank.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/banner_zhongqiurenwu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_jade.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres/lobby/report2019.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/xinshouyouling.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/yijihaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-013.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_evil.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cj13_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/tablecloth_violet.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/diamond2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200021/3.png +https://mahjongsoul.game.yo-star.com/v0.8.34.w/uiconfig/ui_chs.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/lianggongxingshu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/erjietangCJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_huolongjuan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lobby/beijing_chunying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_mofashaonv/shadow.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ui_img/arrow.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiaoniaoyouchutian/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/activity_yijidagong.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chizi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_xinnianchuzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade7.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00001_huang01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/wanshengmiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00017.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/hupai/lizi.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_jinlongyu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/xinshouyouling_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200022/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/shop.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/tablecloth/tablecloth_green/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/baozhu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_keji.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200022/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/course6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_CJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cj2_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/jinbi03_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_shuzi_2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/lobby_bg/beijing_zhongxia.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai_pai_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/sima_queshi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyu_zhi.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/gang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/docs/contact_us.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ui_img/correct.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/yueka.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liqibang_maotou.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/sequence_1063.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/yijidagong_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/activity_yijidagong.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuebing_yuan.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/bothui1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_zimu03_CHST.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_get_zhuangban.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200021/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/activity_20chunji_kaixue_exchange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200024/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_0/serious.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/huntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/activity_yijidagong.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/12.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200023/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2/mjp/mjp_youling/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-003.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi_0/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fudai_moon.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/book2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/baishinainai_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/hunzhiqidizhe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_red/Materials/box_color.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/package.js +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bianpao/bianpao_yingzi.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200024/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200022/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200022/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qingku/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/beijing_shengdanjianianhua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/maque_outline-majiangv3_Box001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin_0/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200022/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_jianai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00115_baibian01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/mjdesktop.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/xigua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/Glasses_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/wine1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_kong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200025/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_mao_ear01_right.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_muyu_en.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fushiquan4.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_yiman_jihui_en.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200024/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yiji_ku.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_yellow/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/qiaodao_mao_right-qiaodao_mao_right.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/miaoguodahufa.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course9.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200024/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200020/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/hunzhiqiyuezhe.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/effect_liqi_feiyu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_dora.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/default_girl/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/entrance/icon_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/bothui1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200021/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cj10_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/headframe_douya.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cj1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_levelup0.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/tablecloth_newyear.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade3.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fudai_lvren.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/gaimingka.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_peipai_begin_en.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/tablecloth/tablecloth_christmas/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/mingzhiyingshu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/diamond1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/c48edd85-725d-4138-9d97-08808f089417.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/xiangsudimian02.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fangsheguang_00164.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/art2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_liqi_bao.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fushiquan2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/default_girl/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200020/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/newyear_loading/newyear_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/996.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/lianggongxingshu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Anim_Dapai_test1-LiQiPai.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/6dbd770e-bc04-495c-a809-9f66a954a636.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/sanma_quesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_levelup0.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/shader/shader_ranshao/shader_ranshao.ps +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/bitmapfont/jp1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/qiaokeli.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_sakura.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/shader/shader_ranshao/shader_ranshao.vs +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/shop.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai_pei_CHST.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_0/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/start_show.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong_CJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/activity_sign.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_lobby/gacha_character.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-029.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_xinnianchuzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_hupai_feng.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid/mid.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_re.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/mjp/mjp_green/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_fire.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/7ff07951-344a-45fb-8a52-0ab85b21a359.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/baishinainai_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_violet/Table_Dif.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/hupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/wurenyuebing.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_heihuo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/activity_yijidagong1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/duanwu_rank.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/plane_Y-Plane001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/mjp/mjp_youling/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/xiashengWSJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_lobby/gacha_zhuangban.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/juguangdeng01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/lobby_bg/beijing_xiaripaidui.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/kongSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade_knowledge.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/guihuajiu.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/sequence_11014_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/hule_fan_out.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiJP.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuanquan_sexiang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/wurenyuebing.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2/mjp/mjp_green/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/duqiu.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/sanma_quejie.png +https://mahjongsoul.game.yo-star.com/v0.8.32.w/code.js +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/head_frame/douya.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/Hand_cat_skin-hand_cat-Hand_cat_skinAvatar.lav +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200020/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tile_indicator/majiangarrow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/beijing_chunying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/activity_fanpai.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/default_man/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_rosered_0/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_yingshu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/headframe_douya.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/necessary.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_qizi_lvup.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_gejumeiying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/Glasses_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/luoxuan03-Helix001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/appmiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_evil/Materials/box_color.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_liqi_longteng.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200025/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200025/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-033.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/start_show.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200022/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/newyear_loading/newyear_4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zhaitengzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/test/clipboard.js +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/wine2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course24.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/zuichuquesheng3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/activity_duanwu.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/jingbao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bianpao/bianpao_yingzi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_shuzi_4.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/music/liqi_chuzhen.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_liqi_ding.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200022/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20ydsl_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/sanma_queshi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_yiman_queding_en.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200022/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20jpzn1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/MAN_Hand7_skin-polySurface18.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/effect_liqi_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_xhzy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/haitanpaiduilibao2_shop .jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chizi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanqueding_4_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/monthcard.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/desk_light.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yuesefu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/mingzhiyingshu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_yiman_queding_chs_t.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_xiaoemofanbian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.11.w/res/atlas/en/myres/room.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/yueguangbaohe.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200025/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/_64x64_sunshine zhi2_00002.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_scallion.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wushilanyangcai/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres/lobby/report2019.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_bone.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/plane1X1-Plane01.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/head_frame/default.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/yijidantong/defeat-defeat.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/daoguang_xulie_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/g.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fiend_mist_new_2_sheet.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/xunmihuishi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/diamond1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/tablecloth/tablecloth_chigua/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_yiji.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qingku_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/shop.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/tablecloth_violet.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/Goal_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/treasure.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiaoniaoyouchutian_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/changfangxing-Box001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/effect_liqi_fire.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_biaoji_chs.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_rosered/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai_pei.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/wanxianggengxin.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200023/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_getstar.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuebing_jio.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_yuebing_white.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/wanshengmiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/scene_shengjiban.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200023/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuebing_white_1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/gift_heart_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/present_jade.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/lianggongxingshu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/christmas_socks.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_yiji.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_evil.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/lobby1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/kuosan_xiangsu_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyuJP03.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/995.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_dora3_begin_en.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zhaitengzhi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/12dora_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_dog/Dog_Anim_Dapai_heng-LiQiPai.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_hupai_ray.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_dora3_begin_chs.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fushiquan4.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic2_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_winlose.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/scoreboard.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/shengduan/juanzhou.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_hua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/monvnangua_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/erjietangWSJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/scoreboard.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_hupai_feng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/effect_liqi_canying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/lobby3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200023/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/bothui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_yijitiantong/shadow_yijilizhibang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/wurenyuebing_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/hupai/kuosan.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/Anim_cat_Fulu-Fulu.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liuxing_huang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/hand_cat_orange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200024/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade_courage.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/qiandao_yiji-qiandao_yiji.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/ron_ko.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20jpzn1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200020/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_mofashaonv/mozhang_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/xinshouyouling_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yuesefu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_dog/hand_dog.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/2434chudai_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_youling/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/new_dora.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/head_frame/douya.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic1906.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/effect_liqi_longteng.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/sequence_12001.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/baishinainai/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/left4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zhaitengzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_wind.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/lianggongxingshu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fire_smoke.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/sys_event02.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/yuanchuzhihuo.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200020/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/haitanpaiduilibao2_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai_pai_CHST.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/entrance.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/default_girl/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai_pei.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_jade/Materials/box_color.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_xuegao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/icexiao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00052.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/995.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fushiquan_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/test/clipboard-action.js +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/activity_wsj2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-018.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/l_1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/wine1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/favicon_en.ico +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/sign_btn_confirm.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/hunzhiqiyuezhe2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_qianzhi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qingku/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_green/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/guangyun.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic1908_Mup1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/desktop1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_wei.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/erjietangWSJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/music/zhongxialvdong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00001.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai_pai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_hupai_yanhua_bang.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/banner_2020yuandan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/995.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/mjdesktop3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/zuichuhuntian3_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/mjp/mjp_green/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_xinnianchuzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200021/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/course_ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/gift_heart.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/present_jade.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2/mjp/mjp_green/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/daoguang_xulie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_xiasheng.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/left2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/sequence_12006.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/aaee4801-fa1b-4f39-ad0c-6b2cd3d51de7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/default_man/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/baishinainai_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/mjp/mjp_rosered/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/wishstone.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/hand_cat_blue.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_yiman.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/Glasses.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_guoqingmiao.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_zimu03.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/left0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic1912_Mup.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yuesefu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200025/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/left4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/left1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_CJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/shader/outline/outline.vs +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/sanma_quejie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/default.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/art1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yijidedagongmaoxian/shenxian_xulie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/sanma_fish.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/mjp/mjp_20chunjie/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic1908_Mup2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200020/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic1908_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/mingzhiyingshu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade_pure.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/mpzs_shandian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/present_gold.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zhaitengzhi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200022/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/default_man/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fudai_lvren.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_lightening.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20yd_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/sigongxiasheng/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid_en/word_left.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/di_yuan01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/l_4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic1908_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/entrance/icon_color_jp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/diamond0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wushilanyangcai_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/hunzhichaoyuezhe.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/newyear_loading/newyear_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/christmas_socks.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/start_show.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/tablecloth_default.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/mjp_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_dora3_begin_jp.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200025/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200024/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/lianggongxingshu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200022/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/right0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong_CJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/necessary.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/00000133_zi.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200025/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fushiquan3.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_yingshu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyuJP01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi_0/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/ron_huolongjuan.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/sigongxiasheng_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200023/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_mao_body_right.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/default.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/zuocangshayejia_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/wurenyuebing_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200025/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_yangcai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_zhouyin/zhouyin.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/baishinainai_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/necessary.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jingbing_0 .png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/left2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_liqi_feichangshitai.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Materials/Majiang_Hand_Girl_Fingernail_001 _Low.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/art1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cj10_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ui_img/bubble.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200020/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tachunxing_touzi03.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/cat_blue.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_bone.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_0/sad.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/sigongxiasheng_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/ron_meiguihua.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_jiutiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200024/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuanqiu2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade_bright.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/entrance/Materials/icon_color_en.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200024/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wushilanyangcai_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dora_shine/dora_shine.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/desk_cyan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/queshi_down.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi_0/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/mjdesktop_en.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic1908_Mup2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/japan_g.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200025/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chiyuebin.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/sima_huntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/sigongxiasheng/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/tablecloth/tablecloth_green/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/put_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cjM2_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_jiaozi/New Material.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Hand_Skin-hand_2-Hand_SkinAvatar.lav +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cj4_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/beijing_aiai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yuesefu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/ui_img/bubble.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/bitmapfont/jp.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liqibang_nanguatou.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/left3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200025/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/hunzhiqidizhe3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2/mjp/mjp_20chunjie/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200021/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiaoniaoyouchutian_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/zhongxia_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/bianfu02.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/tablecloth_chigua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/ron_huolongjuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/effect_liqi_xhzy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade6.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course20.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/sima_quehao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wushilanyangcai/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/explosion_smoke_4_sheet_purple.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/default_man/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_chuzhen.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/course8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyu_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/yueguangbaohe.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bone/bone_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_mao_eye_right.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_goldbar.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/daodantangguo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/mjp_orange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic2_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200020/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zhaitengzhi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/wine2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_yiman_jihui_jp.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yanhualizi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai_CHST.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic1910_Mup1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Hand_Skin-hand_1-Hand_SkinAvatar.lav +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_default/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/necessary.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/default_girl/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20jpznM1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/Particle_Impact01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/baishinainai/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/entrance_en.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Library/unity default resources-Sphere.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/414acd35-b1d2-4407-876b-7fdc3814448701.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_chocolate.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/head_frame/douya.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/present_cotten.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ui_img/blackboard.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200020/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/book2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/sigongxiasheng_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/434860fc-836a-4f85-9a75-9fe497a673ed.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200021/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/yijihaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liqibang_nanguagai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyuEN03.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid_en/dir.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/baozhu_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/shader/outline/outline.ps +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/9.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyuEN04.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/music/liqi2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/gift_heart.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jingbing_0 .png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_xiaoemofanbian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yuesefu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lihuamao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu_0/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yiji_eye.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/baozhu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/guihuajiu.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/comic0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/treasure.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_0/serious.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_lobby/gacha_tree_out.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/jianaiSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/baishinainai_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/mjp/mjp_20chunjie/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi_0/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/kawei/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200021/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_scallion/scallion-pCylinder7.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/console2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/dress1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200023/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_xinnianchuzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/tablecloth_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course9.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/wishstone_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_manjiban.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qingku_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/dress0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_chocolate.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/get_character.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/mjdesktop/shengduan1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course24.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/newyear_loading/newyear_4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wushilanyangcai_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_hupai_ice.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course22.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/c48edd85-725d-4138-9d97-08808f089416.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/console2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/right2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_jiaozi/jiaozi_fin.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/mingzhiyingshu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/lobby1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/christmas_bell.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200021/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/erjietangCJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zhaitengzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid_en/chang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_xuegao/binggun.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/hupai/bao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/douya.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/KO01_gai_alpha_1.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/activity_sign.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/kawei_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/kawei/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/kuantuowei.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/lobby.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_xinnianchuzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/hunzhiqidizhe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00135.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Hand_Skin-hand_3-Hand_SkinAvatar.lav +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizhibang_tangguo.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/mingzhiyingshu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liqibang_nanguagai.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00001_huang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanquedingCHN.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/japan_g_item.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fushiquan4.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/xunmihuishi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/bitmapfont/chs_t.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_red.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cj2_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tachunxing_qizi_glow_lan.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00115_zi.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_0/sad.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/baishinainai/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/kawei_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/guoqingmiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/ganjunwudi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/en/en_hanyi.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/mjp/mjp_yellow/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/newyear_loading/newyear_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/stardust.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/wurenyuebing.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_wanshengjie.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_20chunjie/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200021/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/xuegao_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_yuesefu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_0/sad.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/sanma_huntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu_0/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_yanhua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_ron_youling.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/996.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_hupai_sakura.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/yijiYD_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/9e5192ab-5d87-47b7-87b2-0bb4cd736811.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/nanguagai-nanguagai.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_20chunjie/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/sanma_fish.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/mingzhiyingshu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/console1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tachunxing_touzi03_red.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/hand_cat_black.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/dress2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jingbing_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_default/box_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200022/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/xuegao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/ui_img/error.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-007.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/effect_liqi_canying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fushiquan0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yuesefu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/mjp_orange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/tablecloth_lotus.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid/ju.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/shuimo_00042.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/baishinainai_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/right4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/xigua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200024/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/lianggongxingshu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/zhongxia_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fu_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zhaitengzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/_64x64_sunshine zhi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_xhzy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala_xinnianchuzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/xunmihuishi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/tablecloth/tablecloth_quehunji1/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_jiaozi/jiaozi_yingzi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/cat_black.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fudai_guiren.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/duqiu 1.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200021/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cjM1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/shop.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/sigongxiasheng_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/shop.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_yellow/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_meiguihua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/tablecloth_newyear.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_dora.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/Anim_cat_Dapai_heng-LiQiPai.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/sanma_huntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/mjdesktop/shengduan1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2/mjp/mjp_yellow/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_jade.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fudai_moon.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/activity_duanwu.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200024/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jingbing_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_green/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/docs/xinshouyindao_en.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/match_lobby.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_CJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyuEN01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_nainai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/kawei_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres/star_up/bg.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/baishinainai/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/9.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_item_shine_big1.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_xuegao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chizi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_mofashaonv.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/effect_liqi_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/scene_jianying_sakura.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cj1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/tablecloth/tablecloth_quehunji1/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_duane/shadow_duane.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fudai_moon.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic1912_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.10.w/docs/chst_fuwuxieyi.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zhaitengzhi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/cutin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/course_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/book1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/shuimolongquan_xiugai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/right0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fushiquan1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200021/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/toy1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_newyear/Table_Dif.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic1908_Mup2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_CJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/hand_cat_black.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/bitmapfont2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/activity_shaizi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/tablecloth/tablecloth_20chunjie/preview_en.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cjM6_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjphand.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/head_frame/default.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/necessary.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_jiaozi/jiaozi_shadow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2/mjp/mjp_youling/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/tablecloth_chigua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_yellow/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/desktop0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/tablecloth/tablecloth_lotus/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.24.w/docs/chs_t/yinsitiaokuan_chs.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang/happy.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_meishu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/add2desktop_ios.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizhibang_tangguo.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_CJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/sima_huntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/add2desktop_android.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/entrance/Materials/icon_color_chs_t.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/shalaYD_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiasheng_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_zhouyin/zhouyin-zhouyin.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_biaoqing_chiyuebin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_youling/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/hand_cat_orange.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_jiaozi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200021/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/kawei/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/activity_20chunji_kaixue.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/MAN_Hand7_skin-polySurface14.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/riguangbaohe.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/desk_light.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_yellow_0/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course22.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade_courage.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_yiji/yijilizhibang.color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/mjp/mjp_yellow/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_peipai_begin_chs_t.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai_pei_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/christmas_bell_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/present_jade.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/effect_liqi_ice.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_zimu03.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/l_3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_jade/box_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/docs/jp_liyongguiyue.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/bitmapfont/en.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/meigui128.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/cat_shadow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/sigongxiasheng_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/mid2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiasheng_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuebing_yuan.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_yijitiantong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00015.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/banner_2020yuandan_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuanqiu2_xs.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/xinshouyouling.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_mofashaonv/Materials/mozhang_color.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2/mjp/mjp_youling/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yezi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_kuang_CHST.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mianhuatang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic1908_Mup1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/stardust.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_scallion.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200022/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/biscuit0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/yijidantong/win-win.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_yiji.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200023/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200025/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/desk_purple.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/course4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/sigongxiasheng_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/xigua_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yuesefu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/qiaokeli.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/daodantangguo_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2/mjp/mjp_yellow/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_jp02.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_0/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_0/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wushilanyangcai/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/duijubgm.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/lianggongxingshu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/cat_shadow_black.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/Particle_Impact01_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/head_frame/default.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/tablecloth/tablecloth_default/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bone/Materials/shadow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course22.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2/mjp/mjp_youling/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200022/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/biscuit2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/hupai/thunder.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/close.html +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade3.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/comic1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/left0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/effect_liqi_szx.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_default/Materials/box_color.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/MAN_Hand7_skin-MAN_Hand7_skin (1)-MAN_Hand7_skinAvatar.lav +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/MAN_DaPai_Heng-LiQiPai.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/tablecloth_green.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiJP01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_keji.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tile_indicator/majiangkuang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/lobby2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_ko.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cj12_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/l_2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200025/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanjihuiENG.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200024/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200022/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/console2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_winlose_chs_t.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_bone.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/toy2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic1908_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200021/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qingku/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_zhongxiahuahuo/Table_Dif.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/diamond2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/yijidagong_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade7.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_lihuamao01.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/effect_fulu/bang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200020/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/12dora_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/activity_shaizi.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_heihuo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/cat.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/sima_quehao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/ec1f377f-25f2-48c7-86e1-021c8c1f004e.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2/mjp/mjp_default/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2/mjp/mjp_default/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/tablecloth/tablecloth_default/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/activity_shaizi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/demo/function-text.html +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/lobby_bg/beijing_zhongxia.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid/chang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200022/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_20chunjie/Table_Dif.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_youling/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/ron_gejumeiying.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_biaoji_chs.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanjihuiCHN.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200021/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/jiutiaohaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/beijing_xiaripaidui.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zhaitengzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/mingzhiyingshu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cj10_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yuesefu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/996.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/entrance.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_xinnianchuzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/default_girl/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/queshi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/sima_quesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/lobby2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cj7_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/xigua_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/art2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/sanma_quehao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/scoreboard.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/generic_splash_big_1_sheet.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20jpzn1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_default/Table_Dif.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid_en/chang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liqi/daodan_tuowei.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/docs/term_of_service.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200022/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanjihui_4.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/sigongxiasheng/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/tool_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_ra.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200020/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_mofashaonv.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wushilanyangcai_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zhaitengzhi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/sakura_outlight.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/sanma_quejie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin3.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200023/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/douya.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_mofashaonv.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_dog/Dog_Dapai_Ani-Dapai.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/entrance/Materials/blackmask.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/guoqingmiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi_0/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/toy1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200024/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/desktop1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_mao_eye_right.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_default_0/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200020/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/yuanhuan-Tube001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/hand_jk.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/sequence_1063_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/tanfang5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wushilanyangcai/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/monthcard.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/newyear_loading/newyear_2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/demo/target-input.html +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/shuimolong_PNG01_xiugai01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/mid2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/stardust_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/entrance/floower_00000.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200023/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fushiquan_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/sigongxiasheng_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/maolianggongyingshang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_yijitiantong/yijilizhibang_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lobby/beijing_zhongxia.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/lobby_bg/beijing_xiaripaidui.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_jp01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_yakumanchance.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/course6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/lobby5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_scallion/scallion_yingzi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/entrance/icon_color_en.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/glow_00037_00000.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/yijidantong/idle-idle.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/mjp_orange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/monvnangua_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/music/yichujifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200023/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_xinnianchuzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong_CJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200024/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2/mjp/mjp_20chunjie/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_rich.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/art2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/zuichuhuntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_lobby_dongribeijing.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/kejidi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yinghua.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/sequence_12001_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade6.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/yijiYD_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/tanfang.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_szx.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/cat_orange.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_CJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fushiquan3.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200025/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_goldbar.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/match_lobby.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/MAN_ZiMo-Zimo.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid_en/ju.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/left1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liqibang_maotou.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_wind.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/hupai/bao.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu_0/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/_64x64_suixue_3.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/qianbi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/newyear_loading/newyear_7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_jinlongyu.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiEN01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/entrance_jp.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/shop.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200025/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/comic1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/995.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/treasure.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/beijing_aiai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/diamond0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade_will.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yiji_eye01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/Anim_cat_Zimo-Zimo.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/course2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/hand_cat.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/mjdesktop/shengduan2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yuesefu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_mao_left.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/hand_cat_orange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/effect_fulu/smoke.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiEN03.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_juanzhou.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/tablecloth/tablecloth_20chunjie/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/guoqingmiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanjihuiCHN_CHST.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cj14_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/mjdesktop.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wushilanyangcai_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/f44dd2d4-664c-4200-80e4-cab029f3df6a.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200023/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/zuocangshayejia_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade6.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_qingkuniang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/newyear_loading/newyear_1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_mofashaonv/mozhang-mozhang_polySurface22.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200020/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_yijitiantong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zhaitengzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade_tender.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/daocaoquan_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/biscuit0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_goldbar/box_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/Sxing-Plane001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/2434chudai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/diamond2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_0/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200022/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/sima_quehao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200024/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tachunxing_touzi03.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/yinghuozhiguang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-036.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_moshi_fanbaopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.8.w/res/atlas/chs_t/myres/room.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/effect_liqi_feichangshitai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/cat_black.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200023/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zhaitengzhi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiEN02.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/kawei/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/tablecloth_20chunjie_chs_t.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/baishinainai_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/wangcilangWSJ.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/kawei/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20jpznM1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/duijubgm.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/book0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic1911_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/diamond1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200022/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200021/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_qianzhi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_baoxiang01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/tablecloth_zhongxiahuahuo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/MAN_Fulu-Fulu.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/hanyi.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/tablecloth_zhongxiahuahuo.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/tablecloth_chigua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/hunzhiqiyuezhe3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/newyear_loading/newyear_3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/newyear_loading/newyear_1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/lobby2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jingbing.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/tablecloth_chigua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade7.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200020/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/generic_buff_sheet.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_huolongjuan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200024/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai_mingpai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_hupai_heihuo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liqi/daodan_tuowei_xiangsu.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/course7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fushiquan0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/task_20190501.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/toy1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/fuzihaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/rank234.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/mjp/mjp_20chunjie/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200025/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/ron_mofashaonv.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiEN01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/start_show.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/default_man/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200022/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_nilin.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/comic1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_zhaitengzhi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200023/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_20chunjie/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Zimo_Anim-Zimo.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_fish.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/christmas_bell_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_20chunjie/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_yijitiantong/yijilizhibang-_polySurface1.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yuesefu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yanhualizi.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuanqiu3.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/course3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coupon.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_chest_disappear.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/deng01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/beijing_zhongxia.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/hupai/Light2.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic1910_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiaoniaoyouchutian/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/hunzhidizaozhe3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cj12_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_muyu_chs.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/course3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/dmm.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/deng01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/yinghuozhiguang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/course1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200025/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/console2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_yellow_0/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/tanfang3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_christmas/Table_Dif.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/denglong_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyuEN03.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/hunzhidizaozhe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/console2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yuesefu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/miaoguodahufa.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chiyuebin.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade_bright.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/activity_fanpai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingyan_03.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/task_20190501.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/art0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_lobby/flyin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/hunzhidizaozhe3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/wine1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200022/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_shuzi_1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/zuichuquesheng3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/tanfang1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_green/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/8a3cf8b4-31c1-40f0-8091-6d86d51f886a.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/activity_cj2020_exchange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/comic2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic1908_Mup1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/necessary.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/bg_yueka.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chizi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ui_img/error_circle.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/entrance.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bianpao/bianpao.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bone/Materials/bone_color.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/default_man/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/rankchange.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/datingbgm.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qingku_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_hupai_default.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/toy1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cjM3_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade_pure.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic1912_Mup.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/qingxiaoshuo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_heihuo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200021/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/comic0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/tanfang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/docs/jp_falv1_dmm.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200024/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/beijing_chunying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/get_character.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/shanguang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/gift_heart_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200021/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/tanfang1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala_xinnianchuzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/mjp/mjp_youling/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_shuzi_5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/xiangsudimian02.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/shaonv zhaozi-shaonv_zhaozi.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200022/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zhaitengzhi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/art1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/activity_yijidagong1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/zhongxialvdong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.34.w/uiconfig/ui_chs_t.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiaoniaoyouchutian/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai_mingpai_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/sigongxiasheng/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cj5_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/effect_liqi_fire.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_nainai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/mjdesktop/shengduan2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/haitanpaiduilibao_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/xunmihuishi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres/lobby/report2019.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wushilanyangcai/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_baoxiang02.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ui_img/skip.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_liqi_bianfu.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_xingshu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/8327622c-cd5d-4cc3-939f-32bf950b8e76_00001.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/datingbgm.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cjM2_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/ron_keji.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/left0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/jianaiSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiEN.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_jade.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/notitle.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/lianggongxingshu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200024/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/hand_cat_black.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_dora3_shine.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course25.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/tablecloth_chigua.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/sima_queshi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-021.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiasheng_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cjM4_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/hunzhiqiyuezhe.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200020/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_rich.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/kejifangkuai_1.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/stardust.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanjihui_4_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade_pure.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/zuichuquesheng3_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yuesefu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fangkuai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiaoniaoyouchutian/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/dress1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/daodantangguo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fangkuai_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/present_gold.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/baishinainai_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200022/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/activity_wsj1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_nilin.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/hunzhiqidizhe2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin_0/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lobby/bg_front.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiasheng_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiasheng_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/tablecloth_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_item_shine_big.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/kawei/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/flash2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_default/Materials/shadow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/head_frame/default.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zhaitengzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala_xinnianchuzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/dafuwen_baoxiang_chuxian-dafuwen_baoxiang_chuxian.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200021/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200025/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin_0/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/effect_liqi_feiyu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_mao_ear02_right.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/mjdesktop2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/daocaoquan_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_xiasheng.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/fuzihaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yuesefu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/mid0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/wanxianggengxin.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/xinshouyouling.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/heart.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bianfu/bianfu_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/effect_liqi_mofashaonv.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/sanma_queshi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/course_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/baishinainai_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/cat_blue.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/baozhu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/chst/chst_youyuan_bold.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chiyuebin.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/get_character.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/baozhu_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/l_3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-014.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic1910.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai_mingpai_CHST.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wushilanyangcai/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/lobby_bg/beijing_zhongxia.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/default_girl/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_daimao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/cat_shadow_blue.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/huaban03_add2.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_chocolate/box_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_jinlongyu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/head_frame/default.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/sigongxiasheng_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_youlingaoao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade4.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_nainai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/qianbi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/ui_img/correct.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/daodantangguo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/l_4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid/word_left.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_yanhua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/lobby6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/baishinainai/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/activity_yijidagong.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/banner_zhongqiushangdian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qingku_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/default_girl/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/mjdesktop3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuanqiu2_xs_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/tanfang2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yijidedagongmaoxian/shenxian_xulie_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanquedingENG_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/wuhaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20yd_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/head_frame/douya.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/match_lobby.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200022/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/_64x64_sunshine_zhi2_00001.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/sanma_fish.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_R_hudiejie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_green/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_fish.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/hunzhiqiyuezhe.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/biscuit1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_liqi_feichangshitai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/left3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/activity_yijidagong.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fudai_xianren.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200023/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres/activity_fanpai/bg.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiJP03.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/tablecloth_green.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/default.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_jianying_sakura.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lihuamao.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/denglong_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_bgm_1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/baishinainai/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_shala.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic1906_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/star_get_lose/star64_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2/mjp/mjp_default.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/right2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200022/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/activity_20chunji_kaixue_exchange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200023/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin4.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fengling_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_heartlevelup.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic1908.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/sigongxiasheng/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/comic1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fengling_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200024/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/guihuajiu_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mianhuatang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_manjiban.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/tanfang4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/default_man/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/diamond1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/default_girl/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200024/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_xiangyuanwu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_0/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/baishinainai/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/comic2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic2005maid1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/hunzhiqidizhe2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/mingzhiyingshu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200024/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_manjiban.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/generic_buff_sheet.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid/dir.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/activity_sign.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/duanwu_point.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/gaimingka.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_dog/Hand_dog_skin-shdow_dog.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/wine0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/comic2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/706cbe54-ac48-4a31-b709-b07f5c4f.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_20chunjie/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/erjietangCJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/default_girl/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiaoniaoyouchutian_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20ydsl_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_fuzi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-015.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/default_girl/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_quehunji1/Table_Dif.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/lobby3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/ron_nilin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/tablecloth/tablecloth_violet/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/desktop1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/course8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_rich_frozen.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/lobby4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/activity_yijidagong.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qingku_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/sigongxiasheng_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/gold1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/lobby1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/mingzhiyingshu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/zuocangshayejia.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/desk_green.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200024/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-012.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiaoniaoyouchutian/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/match.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/meigui128.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chigua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/hunzhiqiyuezhe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200020/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/iOSver +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tachunxing_qizi01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/sign_anim.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiasheng_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200023/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00001_huang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course19.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cj14_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/course2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/fulu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2/mjp/mjp_green/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_jp03.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/ice.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiaoniaoyouchutian/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/baishinainai/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/quesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/btn_cancel.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2/mjp/mjp_rosered/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200021/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/tablecloth_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wushilanyangcai/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_white.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_0/serious.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/wanzhuangti_chang-Cylinder001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/hunzhidizaozhe3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/lianggongxingshu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200024/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_20chunjie/Table_Dif.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/wine0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/sima_quesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/ice-ice.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/gift_heart.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/banner_2020yuandan_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/ice_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/lobby1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/lobby_bg/beijing_aiai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Hand_Skin-hand.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/hand_cat_black.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/xinshouyouling.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qingku/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fengling.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/shengduan/juanzhou.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200022/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00001_huang_1.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/activity_fanpai.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuanqiu2.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/mjp/mjp_default/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/diamond1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/manhand3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/mjp_orange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course23.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/shalaYD_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/mingzhiyingshu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/tablecloth/tablecloth_quehunji1/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zhaitengzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong_CJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/christmas_bell.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_ra.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/diamond1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/stardust.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tile_shadow/shadow.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_fish/fish-pCube23.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/mjdesktop/shengduan1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/activity_shaizi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_szx.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yijidedagongmaoxian/lizi_0011501.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00032.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/Goal.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/guoqingmiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/christmas_bell_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/tablecloth_christmas.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/kawei_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fushiquan_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiaoniaoyouchutian_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_default/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/treasure.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/xiashengWSJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/sanma_huntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/score_change.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic2005maid1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/hunzhiqidizhe3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_CJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zhaitengzhi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/proto/liqi.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_mao_left.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200020/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00001_huang 1.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longjuanfeng_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiaoniaoyouchutian/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cj9_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_youling_0/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200022/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coupon_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fudai_lvren.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/Particle_Impact02_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200020/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_chocolate.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_zhouyin/zhouyin.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200020/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/MAN_LiZhi-LiZhi.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic1906.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/course5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic0709.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/2434chudai_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_shala.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yuesefu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_heartup_favor.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/newyear_loading/newyear_3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qingku_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiaoniaoyouchutian_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/hunzhidizaozhe2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_liqi_mofashaonv.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/present_yiji.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/mingzhiyingshu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/hunzhichaoyuezhe.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fudai_guiren.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/starstone.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zhaitengzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/haitanpaiduilibao_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/jp/jp_jiye.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala_xinnianchuzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qingku/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin5.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/yueka.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/tanfang2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/course7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200022/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/bothui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/console0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/ui_img/bg_name.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tile_indicator/majiangkuang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yuesefu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_rosered/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/baishinainai_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/add2desktop_android.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/gold0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/kawei/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/book0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/default.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-017.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fudai_star.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200023/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/effect_liqi_bao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_20chunjie_chs_t/Table_Dif.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/sima_fish.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ui_img/Maskimg.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jingbing.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/haitanpaiduilibao_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/hand_jk.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiasheng_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200024/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wushilanyangcai/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zhaitengzhi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_duane/xiangsu.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_yanhua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/quehao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_0/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fushiquan7.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/kawei_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2/mjp/mjp_default.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200022/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/qiaodao_mao_left_shader-qiaodao_mao_left_shader.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20yd_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200025/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_0/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qingku_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_lobby/heart_levelup_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tile_indicator/majiangarrow.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/diamond2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/kawei/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala_xinnianchuzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yiji_zui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lobby/indoor.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/lobby6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/heart_kong.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/beijing_shengdanjianianhua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_xiasheng.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/touzi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/ui_img/error_circle.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/kawei_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic0709.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200023/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200023/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zhaitengzhi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-032.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_green_0/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_zimu01_CHST.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200025/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_changtiao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade5.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_chest_appear.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/qianbi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_xinnianchuzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyu_zhi_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_CJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yuesefu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_sakura.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/maolianggongyingshang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/mingzhiyingshu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu_0/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/wurenyuebing_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/tablecloth_zhongxiahuahuo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/zuocangshayejia.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/baishinainai_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/74002e75-4cbe-4c62-ae0e-4e58b3e49c6c.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_fish.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_dora3_begin.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2/mjp/mjp_green/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qingku_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/monthcard.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala_xinnianchuzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/effect_liqi_bao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/tanfang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/effect_liqi_canying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiEN02.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/activity_shaizi.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/sigongxiasheng/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200023/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/star_get_lose/suipian_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/datingbgm.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200025/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_liqi_canying.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/ron_szx.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/right3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yiji_eye01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200023/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/favicon.ico +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wushilanyangcai_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/denglong.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyu_muyu.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-037.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic1908_Mup2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_muyu_begin_chs.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/console1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/sigongxiasheng/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiJP02.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lihuatong01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/wine1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_jiutiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/yijidantong_idle-yijidantong_idle.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic1910_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/mofashaonv zhaozi hou-mofashaonv_zhaozi_hou.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/lianggongxingshu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_erjietang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fushiquan6.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala_xinnianchuzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_yiman_jihui_chs_t.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/beijing_aiai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/fengyu.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/quejie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_dog/Dog_Zimo_Anim-Zimo.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/hand_human.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fushiquan0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres/star_up/bg.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/zhongxia_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_winlose_jp.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/starstone_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200021/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-024.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/lianggongxingshu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yinghua2.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yanwu01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/dress2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2/mjp/mjp_yellow/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_zeniya.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/wanshengmiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/get_character.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200025/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yuesefu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/l_3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/tablecloth_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/sushe.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/baishinainai_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Library/unity default resources-Cube.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/mid1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/_64x64_sunshinezhi2_00001.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/996.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/00000133_zi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course19.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_eye.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/Hand_cat_skin-cat.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_wangcilang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_yellow/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/maolianggongyingshang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/queshi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic1908.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/ron_gejumeiying.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/tool.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/wangcilangWSJ.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/default_man/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/7ff07951-344a-45fb-8a52-0ab85b21a359101.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200022/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/3.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/mid3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fangkuai_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/starstone.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyu_ming.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_0/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/entrance/plane-Plane01.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200024/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/head_frame/douya.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-004.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuebing_jio_xulie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/qianbi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200020/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200020/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_0/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lihua_lizi.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/fish.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_0/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/mjdesktop.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/light.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/mjdesktop2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/effect_liqi_ding.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/tablecloth/tablecloth_newyear/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yuesefu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/course0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_xinnianchuzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qingku_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200025/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai_pai.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/7ff07951-344a-45fb-8a52-0ab85b21a359101.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/deng02.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/sigongxiasheng_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/qiaokeli.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_jinlongyu/img.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/kejifangkuai01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_default_0/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic2_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cj3_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/tablecloth/tablecloth_zhongxiahuahuo/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200023/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_bgm_1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/toy2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200021/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanquedingJAN_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_default/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course20.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200025/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cjM5_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/qingxiaoshuo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_scallion.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/9.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200025/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_wei.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/mingpai_bingfen.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_erjietang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/sima_fish.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/706cbe54-ac48-4a31-b709-b07f5c4f.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zhaitengzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/default_man/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dankong 1.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/default_man/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade5.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuebing_white.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/shizishanguang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/biscuit2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200024/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/kawei_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/default_girl/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/console1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/tablecloth_violet.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic2005maidM1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/lianggongxingshu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_baozhu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/biscuit2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/yijidagong_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/tanfang.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/denglong.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/lobby_bg/beijing_xiaripaidui.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liqi/pai_faguang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_biaoqing_guoqingmiao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/tanfang2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_jp02.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_yijitiantong/shadow_yijilizhibang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/shouzhang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_mao_shader_left.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres/star_up/levelup.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic2005maid1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00115_bai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_christmas/Table_Dif.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/hunzhiqiyuezhe.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade3.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/yuanchuzhihuo.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/kawei/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiaoniaoyouchutian_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/entrance.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/mjp_yellow.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/starstone_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/kawei/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_yellow/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/2020tachun.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_zeniya.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cj11_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/get_character.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/lobby2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/entrance_chs_t.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/entrance_chs_t.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jingbing.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/diamond2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyuJP04.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/_64x64_sunshine_zhi2_caise01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/yijidantong/all_effect-all_effect.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/hunzhiqiyuezhe2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_yijitiantong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/sushe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_item_shine1.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuebing_jio_xulie.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_CJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/get_character.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lobby/bg_back.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/desk_cyan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qingku/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/effect_liqi_szx.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_liqi_feiyu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/package.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/mjp_tianrandaiyouling.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/banner_2020yuandan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/wanxianggengxin.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20yd_Mup.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200025/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/sigongxiasheng_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/winlose_jp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/g.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/desktop0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_szx.jpg.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cj8_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/jpg_10218ly_waikuoyun.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/kawei/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/fangxing-Box001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_youling/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade_hope.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_qingkuniang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bianfu/Materials/bianfu_color.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/activity_20chunji_kaixue.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/course3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiasheng_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/l_4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/wine1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dora_shine/dora_shine.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/ice_nova_sheet_00000.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bianpao/bianpao-polySurface2.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/activity_20chunji_kaixue.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qingku_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/hupai/kuosan.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/chst/chst_fengyu.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bianpao/New Material.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/mjdesktop2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/scene_liuxing.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/entrance.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/mjp_orange.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/shalaYD_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin4.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/glow_12001_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong_CJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_shala.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/baishinainai/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/mjp_yellow.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_default/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu_0/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_rich_fire.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/default_man/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/entrance/yinghua.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_bamuwei.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/UI_daxingxing_kuang02.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/hunzhiqiyuezhe3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/dist/clipboard.js +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/gold0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/mjdesktop/shengduan.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_duane.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyu_muyu.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liqi/pai_faguang_huang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/toy0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200025/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/dist/clipboard.min.js +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200021/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/banner_2020yuandan_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/mjdesktop1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_levelup0.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/mjdesktop.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/effect_liqi_bao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_chutian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/mid3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/biscuit2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/proto/config.proto +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade_will.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/sigongxiasheng_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_gejumeiying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_duane/xiangsu_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2/mjp/mjp_rosered/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/jianaiSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_R_lingdang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/effect_liqi_ding.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yuesefu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_fish.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_jiaozi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zhaitengzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/hand_cat_black.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fushiquan0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/add2desktop_ios.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_bamuwei.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_old.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/effect_liqi_feichangshitai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/entrance.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiasheng_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_wei.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_jinbikuang_glow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lobby/beijing_aiai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_muyu_begin_chs_t.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/sushe.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuebing_jio.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/biscuit2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/tanfang.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/biscuit1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/l_2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/css/adyen_custom.css +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/activity_sign.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/kejifangkuai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Fulu_Ani-Fulu.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_zimu01_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/course4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200023/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_yuebing_jio.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wushilanyangcai_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyu.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/newyear_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/beijing_zhongxia.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qingku/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200023/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_re_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/default_man/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/course4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/yueka.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/banner_zhongqiushangdian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yuesefu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiaoniaoyouchutian/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_hupai_yanhua.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres/star_up/bang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200023/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/sima_huntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_fish.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coupon_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/mpzs_shandian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/wenli_00363.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00001.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200023/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyu_muyu_CHST.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/kawei_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/match_lobby.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_nilin.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/hunzhiqidizhe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic1908_Mup1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200020/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_lotus/Table_Dif.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/Materials/Majiang_Hand_Girl_Fingernail_001 _Low.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/christmas_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/ron_meiguihua.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_click_xuehua.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade_hope.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/tanfang5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_fuzi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/kawei/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200024/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/huaban03_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/zuichuquesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/hand_man_shadow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_kuang_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/console2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/juguangdeng_1.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiaoniaoyouchutian/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/xulie_yumao01_8x4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qingku/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20jpznM1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/christmas_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Library/unity default resources-Plane.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/xunmihuishi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/soul03.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200022/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuanqiu2_Ble.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_green_0/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/shouzhang_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/mingzhiyingshu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/zhongxialvdong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/fuzihaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_rosered/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_yellow_0/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zhaitengzhi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_lizi.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/tanfang3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/sima_fish.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/activity_yijidagong1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/shouzhang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/duanwu_rank.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/hupai/shenxian_xulie01_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/course1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/hand_cat.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2/mjp/mjp_green/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/yijidantong_defeat-yijidantong_defeat.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/headframe_default.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/default_man/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/zhongxia_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/riguangbaohe.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zhaitengzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/tablecloth_zhongxiahuahuo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/Glasses_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/tablecloth/tablecloth_default/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_meiguihua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/lianggongxingshu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/comic2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade_hope.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/meiguihuaban_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/mjdesktop.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course9.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/ron_20chunjie.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200024/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/activity_duanwu.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/kawei/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_qianzhi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/mingzhiyingshu/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/toy2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/newyear_loading/newyear_1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/baishinainai/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/tongxinjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/demo/function-target.html +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/mjp/mjp_default/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/sigongxiasheng_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade_knowledge.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/sima_quehao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/tablecloth_newyear.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic1912_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid/feng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/console1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/right2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_heihuo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/lobby.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/mjdesktop.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/yaokongtouzi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/toy2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/lobby.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_youling_0/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/match.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic2005maidM1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/yanhua02-yanhua02.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wushilanyangcai/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/biscuit1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zhaitengzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/newyear_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yuesefu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/hunzhiqiyuezhe3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coupon.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang/sad.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cj3_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/entrance/icon_color_chs_t.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala_xinnianchuzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/light01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cjM6_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/treasure.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_qizi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/appmiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/sequence_11021.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_liqi_xhzy.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qingku/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/haitanpaiduilibao2_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/mid1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_zeniya.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/effect_liqi_wind.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/maotou-maotou.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/docs/xinshouyindao_chs_t.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/art2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_liqi_szx.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fudai_moon.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/chs_t/chst_haolong.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_qingkuniang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20ydsl_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200022/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyuEN04.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/add2desktop_android.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_lobby_xiaribeijing.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cj8_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/sigongxiasheng_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_zhaitengzhi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/baishinainai_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.24.w/docs/chs_t/fuwuxieyi_chs.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/mjp_green.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/mjdesktop/shengduan.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/tablecloth/tablecloth_christmas/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_lobby/quehun_flash.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/effect_liqi_feichangshitai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/youyuan.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200025/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/mid1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_green/Table_Dif.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/fuzihaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200020/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang/happy.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/bitmapfont.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zhaitengzhi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/alitrace.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_chocolate/Materials/box_color.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/mid0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_0/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade_bright.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres/star_up/bang_heart.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/match_lobby.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_fuzi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_qizi_debuff.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/quehunji_huodong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/christmas_socks.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/guihuajiu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/zuichuquesheng3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200022/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_0/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200020/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic1910_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/yuanchuzhihuo.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_hua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cjM1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin4.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_bgm_1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/wishstone.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/tablecloth_christmas.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin_0/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/yaokongtouzi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/414acd35-b1d2-4407-876b-7fdc3814448701.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade_courage.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/kongSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong_CJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/denglong_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_wind.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/activity_yijidagong1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/diamond1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/quehao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres/activity_fanpai/bg.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/shouzhang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/newyear_loading/newyear_6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/beijing_aiai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/kongSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200023/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/hucutin.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/queshi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_levelup0.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/kawei/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/match1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade5.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/tanfang.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/mjp/mjp_rosered/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala_xinnianchuzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/hand_cat_orange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_default/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_yingshu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/mjp/mjp_green/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2/mjp/mjp_default.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_youling_0/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/present_yiji.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200023/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2/mjp/mjp_yellow/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/art2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/tool_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_liqi_xhzy.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_jinbikuang_glow.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zhaitengzhi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qingku_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic0709.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_duane.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/heart.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiaoniaoyouchutian_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wushilanyangcai_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wushilanyangcai/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/mid3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/docs/jp_falv2.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/generic_splash_1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/desk_cyan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/hunzhiqiyuezhe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_0/sad.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/mjdesktop.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200021/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cjM2_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cj9_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/zeniyaWSJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qingku_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/activity_fanpai.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/effect_liqi_fire.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200023/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade6.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_quehunji1_enjp/Table_Dif.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/bitmapfont/chs_t.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/sushe.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/effect_liqi_mofashaonv.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/kawei/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2/mjp/mjp_20chunjie/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/wuhaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/gold0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course22.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyuJP02.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/tablecloth_quehunji1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/effect_fulu/bang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/guihuajiu.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/denglong_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wushilanyangcai_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/path_00281.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/haitanpaiduilibao2_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/banner_2020yuandan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_shuzi_5.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/kawei_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/dress1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/denglong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_liqi_feiyu.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/monvnangua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_20chunjie_en/Table_Dif.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/effect_liqi_canying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid/score.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/kawei_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_peipai_begin_chs.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade_will.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200023/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fushiquan1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/Glasses.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiaoniaoyouchutian/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_zhaitengzhi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/right0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/mjp_green.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang/serious.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_baozhu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/headframe_default.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong_CJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/effect_liqi_wind.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cj4_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/tablecloth/tablecloth_20chunjie/preview_chs_t.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yuesefu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_manjiban.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/art2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tachunxing_touzi03_red.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_wangcilang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid/number_left.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/fish.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_jianai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course19.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_lobby/heart_levelup.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/sanma_quehao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fushiquan2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/right3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cjM1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200020/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_zhaitengzhi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/kawei_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/console2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_rosered/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/muyu_xiaoshi-muyu_xiaoshi.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic0709.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/qianbi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200023/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/mingzhiyingshu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_bgm_2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/fu_appear.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/right4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/tool_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_wunv.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2/mjp/mjp_rosered/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid/chang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/mpzs_shandian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qingku_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/995.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/2020tachun.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/mangan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/_64x64_suixue_2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade_honest.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/mingzhiyingshu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/diamond2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qingku/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.34.w/uiconfig/ui_jp.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_jinlongyu/Materials/box_color.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/effect_liqi_longteng.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/ron_xhzy.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/mingzhiyingshu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/effect_liqi_xhzy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/paimian.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/yuebing_white_kuai-yuebing_white_kuai.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_sakura.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200024/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cj2_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/necessary.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/lobby_bg/beijing_aiai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/wuhaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-022.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/bamuweiSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/left0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/course0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/mingzhiyingshu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/book0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/wine1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/mid3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fudai_xianren.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_hupai_fire.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qingku/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/baishinainai_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200024/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/shuimolong_PNG01_xiugai01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cj12_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/6.txt +https://mahjongsoul.game.yo-star.com/v0.8.34.w/uiconfig/ui_en.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/head_frame/douya.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/mjdesktop1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200022/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/tablecloth/tablecloth_newyear/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/activity_wsj2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/present_silver.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/tablecloth_green.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/christmas_socks_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/tool.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fudai_xianren.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_yijitiantong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/lobby_bg/beijing_chunying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/xinshouyouling_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/kongSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/mid2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/0.png +https://mahjongsoul.game.yo-star.com/v0.8.10.w/docs/chst_yinsitiaokuan.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200025/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/yijidagong_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/6.png +https://mahjongsoul.game.yo-star.com/v0.8.34.w/ui.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/course1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/817eaf4e-6b88-46cc-8dd8-2b742a471de9.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/sigongxiasheng/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/lianggongxingshu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_moshi_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade_knowledge.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_bgm_2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/gift_heart_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_lobby/gacha_wupin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/effect_liqi_bianfu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiaoniaoyouchutian/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2/mjp/mjp_default.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/tachunxing_touzi-tachunxing_touzi.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/sanma_quesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200025/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_fish/Materials/fish_color.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-008.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/mjp_green.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2/mjp/mjp_rosered/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/wine2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/youyuan_bold.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiEN03.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_xingshu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cj3_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_manjiban.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/touzi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fushiquan5.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/tablecloth_green.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/baishinainai_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/wishstone_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/mjp_orange.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/Materials/initialShadingGroup.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic2_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/kawei/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/monvnangua_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200024/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/muyu_chuxian-muyu_chuxian.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/sigongxiasheng_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course21.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/starstone_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/lobby.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/4.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_newyear/Table_Dif.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/christmas_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/l_4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/UI_daxingxing_si.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Majiang_Hand_Girl_Hand_001_Low.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200021/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_xingshu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/tablecloth_quehunji1.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tachunxing_qizi01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/quehao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_ko.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/wishstone.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200021/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang/sad.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala_xinnianchuzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/tablecloth/tablecloth_20chunjie/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/course_ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/monvnangua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_duanyao.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/activity_20chunji_kaixue_exchange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/activity_wsj1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/wine2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/kawei_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/bitmapfont/en.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/banner_zhongqiurenwu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/desk_light.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200021/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chigua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200025/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/lobby.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/sanma_queshi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_duane.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2/mjp/mjp_yellow/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqibgm.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/jp/jp_youyuan.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/biscuit0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/bothui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/sigongxiasheng/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/mjp/mjp_yellow/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/course7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/guihuajiu_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/tablecloth/tablecloth_violet/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin3.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_zhouyin/shadow.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_rosered/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200016/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_lightening.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiaoniaoyouchutian/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/toy0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/shanguang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/activity_sign.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cj11_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yijidedagongmaoxian/yuanqiu.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_scallion/scallion_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_CJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_zimu01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/mjdesktop/shengduan2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/sushe.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/christmas_bell_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/lobby_bg/beijing_chunying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/lianggongxingshu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/fish.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course25.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/effect_liqi_xhzy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/2020tachun.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/tablecloth/tablecloth_christmas/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/lianggongxingshu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade3.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic1910_Mup1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/mjdesktop.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiangyuanwu/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_default/img6_box-img6_box_pCube3.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_levelup0.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/lianggongxingshu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/wurenyuebing_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_xinnianchuzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/lianggongxingshu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/baishinainai/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_wunv.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/mjdesktop/shengduan2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/match_lobby.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/default_girl/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_wunv.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/8327622c-cd5d-4cc3-939f-32bf950b8e77.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/tablecloth/tablecloth_newyear/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid_en/feng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/jp/jp_haolong.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200024/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_zeniya.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/toy2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/gift_heart.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qingku_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Hand_Skin-hand_4-Hand_SkinAvatar.lav +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/KO01_gai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_yellow/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/sigongxiasheng/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/tablecloth/tablecloth_chigua/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20yd_Mup.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/lobby_bg/beijing_chunying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/desktop1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yanwu01_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/erzhigonghuaCJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong_CJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/bothui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/toy1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200024/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiasheng_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_20chunjie_0/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin3.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/present_king.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/present_silver.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/default_man/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/en/en_haolong.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/effect_liqi_feichangshitai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_biaoji_jp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/lianggongxingshu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/sigongxiasheng/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_lightening.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_xuegao/binggun.color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiaoniaoyouchutian_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_lan.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200023/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/lianggongxingshu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/erzhigonghuaCJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanqueding_4.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade_honest.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wushilanyangcai/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ui_img/error.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres/activity_fanpai/bg.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/l_3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_erjietang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/lobby.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/kawei/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/5.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/2020tachun.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/start_show.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_rosered_0/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/kuosan_xiangsu.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wushilanyangcai_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/jade1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/soul03.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zhaitengzhi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_chuzhen.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/yijidagong_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/star_get_lose/liewen.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-019.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_winlose_en.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic1908_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/kawei_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/tachunxing_qizi_glow.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cj6_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyuEN02.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/notitle.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200021/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/effect_liqi_xhzy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/mingzhiyingshu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/mjp_yellow.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid/number_score.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_jiutiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/reward_20190501.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200020/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/toy0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_shuzi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2/mjp/mjp_20chunjie/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_jiaozi/jiaozi-jiaozi_polySurface1.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lihua_lizi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/jpg_0022.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/demo/target-div.html +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00115.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/cat_orange.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fushiquan_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/effect_liqi_bianfujiejie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/tanfang4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_xinnianchuzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiEN.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanjihuiENG.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_goldbar.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_peipai_begin_jp.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/activity_shaizi1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/mingzhiyingshu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/nanguatou-nanguatou.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/beijing_shengdanjianianhua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic1912_Mup.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/zuichuquesheng3_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/muyu_shuzi-muyu_shuzi.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/showtile.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyu_zhi_CHST.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.24.w/docs/chs_t/yinsitiaokuan_chs_t.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fengling.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/sigongxiasheng/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_daimao.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/stardust_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid/ju.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/zuichuhuntian3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/sanma_quesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/christmas_socks_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin_0/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/mjdesktop/shengduan1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/sigongxiasheng/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_kawei.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.11.w/res/atlas/en/myres/room.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/shouzhang_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_red.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres/activity_fanpai/bg.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/comic2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/baishinainai_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/tablecloth_quehunji1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_chocolate.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_xhzy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/gold1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20cj13_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/wine2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/scene_click_effect.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200023/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/mjdesktop/shengduan.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course24.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/baishinainai_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_jp03.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/biscuit2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_biaoji_jp.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_yangcai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/jiutiaohaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jiutiao_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/newyear_loading/newyear_2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/comic1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/right1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/lianggongxingshu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_kong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/art2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/beijing_xiaripaidui.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/sigongxiasheng/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/course8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/glow_00037_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00052.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_green/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fushiquan5.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/unpack.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/9.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/christmas_socks_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200022/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiaoniaoyouchutian_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/resconfig.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/tablecloth_zhongxiahuahuo.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yizhilaikong_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_muyu.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/kawei_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/default_girl/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/lobby_bg/beijing_zhongxia.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longjuanfeng01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/sima_queshi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/star_get_lose/star.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_yuesefu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/haitanpaiduilibao_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/qianzhiSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/ron_mofashaonv.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/995.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_mofabang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/dress1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/newyear_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200023/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/daodantangguo_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yuesefu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_green/Table_Dif.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/activity_wsj2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200020/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/ron_keji.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_violet/Table_Dif.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/contributing.md +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200023/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/jade7.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/dress1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/bitmapfont/chs_t1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/activity_wsj1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_scallion/Materials/scallion_color.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_20chunjie_0/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/lianggongxingshu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200021/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/newyear_loading/newyear_5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/yijidagong_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200022/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/sequence_12006_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyu_ming_CHST.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/mingzhimuyuEN01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/mingzhiyingshu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/course0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/stardust_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/effect_liqi_bao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid/bg.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_red.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/activity_shaizi1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/8a3cf8b4-31c1-40f0-8091-6d86d51f886a.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/zeniyaWSJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_shuzi_0.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cj14_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/desk_purple.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fangsheguang_00004 add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/tanfang3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/MAN_DaPai-Dapai.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/lianggongxingshu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/tablecloth_violet_purple.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/sima_huntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/yueka.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/zhijia.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/course2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/demo/constructor-selector.html +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/sushe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200021/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong_CJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200024/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/jinbi-jinbi.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/skin_shop/qianzhiSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/reward_20190501.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_meishu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/sanma_quehao.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_evil/box_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_meishu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/tongxinjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/moshi_longzhimuyu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/toy2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiJP.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_jp01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi_0/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/lianggongxingshu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_item_shine.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zhaitengzhi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/newyear_loading/newyear_2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/wishstone_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cjM5_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fangsheguang_00164.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_chigua/Table_Dif.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200020/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/tablecloth_navy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/star_get_lose/star.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/biscuit1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/book1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/huntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/996.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/mjdesktop/shengduan.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/zuichuhuntian3_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_re.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuanquan_sexiang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_hupai_yanhua.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/default_girl/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_huolongjuan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_yiji/Materials/yijilizhibang_color.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_playerlogin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200021/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/scoreboard.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic2005maid1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/sigongxiasheng_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/start_show.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_rich.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/countdown5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_lobby/mouseclick.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres/star_up/levelup.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/shader/cartoon/cartoon.ps +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/lianggongxingshu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bianfu/bianfu2-polySurface25.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_white.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/appmiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_0/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/l_1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/tongxinjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wushilanyangcai_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/scene_click_effect.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dora9.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/cat.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_youlingaoao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiaoniaoyouchutian_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/mjdesktop/shengduan.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/biscuit1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/present_gold.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2/mjp/mjp_youling/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_mofabang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/kawei_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_meiguihua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/baozhu_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_shuzi_4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200020/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/right1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/course_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/yijihaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid/num_left.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/guihuajiu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liqi/daodan_tuowei.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-031.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/demo/target-textarea.html +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_sananke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/christmas_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-010.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/wenli_00363.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course20.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres2/mjp/mjp_rosered/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_bamuwei.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/xingxiang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00115_bai.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/434860fc-836a-4f85-9a75-9fe497a673ed_00000.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/newyear_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuanqiu5.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/xulie_yumao01_8x4.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/zuichuquesheng3_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/mjp/mjp_youling/preview.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/left3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/guihuajiu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/bitmapfont/jp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/jpg_10218ly_waikuoyun.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/sushe.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/activity_fanpai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/gai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/beijianshahezi_0/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/wine2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_chuzhen.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200020/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Hand_Skin-hand_human-Hand_SkinAvatar.lav +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200024/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/mjdesktop/shengduan.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/left1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/winlose.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong_CJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200021/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_0/happy.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fengling_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/touzi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/tablecloth_newyear.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/hunzhidizaozhe2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200022/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/sigongxiasheng/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin_0/smallhead2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_jade.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/generic_splash_1.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/tablecloth_navy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/Glasses_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/entrance.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic1906_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/level/sima_quejie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiJP03.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yijidedagongmaoxian/lizi_00015_huang01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang/serious.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/newyear_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/present_silver.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/level/sanma_fish.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/hupai/shenxian_xulie01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_jp04.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/art1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cj12_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-025.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/monvnangua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/click_pai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/activity_shaizi1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_scallion.jpg +https://mahjongsoul.game.yo-star.com/v0.8.24.w/docs/chs_t/fuwuxieyi_chs_t.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/course_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/mid0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/effect_liqi_bianfujiejie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/lihua-lihua.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/ec1f377f-25f2-48c7-86e1-021c8c1f004e.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/zhongxia_reward.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/biscuit1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/muyu_shuzi_3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yuesefu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/tablecloth/tablecloth_christmas/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/default_man/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/default_girl/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/present_cotten.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/sequence_11014.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_fire.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/tablecloth_lotus.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2/mjp/mjp_20chunjie/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_youling/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_yingshu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2/mjp/mjp_youling/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fire_bai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres/star_up/bg.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/liqi_zidan-liqi_zidan.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200020/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/effect_liqi_ice.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200020/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/console1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/mjp_tianrandaiyouling.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/UI_daxingxing_kuang02.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200020/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_mofabang.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiasheng_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00015.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course24.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_kong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/comic1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/entrance/Materials/icon_color_jp.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/daocaoquan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/hunzhiqiyuezhe2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wushilanyangcai/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang/sad.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yuesefu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/star_get_lose/liewen.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiangyuanwu_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiaoniaoyouchutian_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cj2_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/present_yiji.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/huntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/ui_img/arrow.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/wine1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala_xinnianchuzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiaoniaoyouchutian/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/banner_2020yuandan_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dankong.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/guihuajiu_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong_CJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/act_kan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_jp04.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiaoniaoyouchutian_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/tablecloth/tablecloth_lotus/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/60f9781f-4f3c-4bcd-af76-f2742b934498.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_get_character.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/ui_img/skip.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_chunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/hunzhiqidizhe2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/tanfang5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/scene_ui_effect.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic1906.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200004/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200010/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/activity_sign.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200005/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chizi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/mjp_yellow.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/head_frame/douya.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00135.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/gaimingka.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wushilanyangcai_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/cat_shadow_orange.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200012/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dafuwen_qizi.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/effect_liqi_szx.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/tanfang4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_dog/Dog_Fulu_Ani-Fulu.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/activity_wsj2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cj11_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin_0/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic1910_Mup1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/dress2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_chuzhen.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zhaitengzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/activity_shaizi.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/left2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/match_lobby.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/present_yiji.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_bang1.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20yd_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/74002e75-4cbe-4c62-ae0e-4e58b3e49c6c.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zhaitengzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/fuzi_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_bang1.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/bite_impact_orange_sheet.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiaoniaoyouchutian_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/hunzhiqidizhe3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic1908.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200024/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic1912_Mup.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_duane.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu_haitanpaidui/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/effect_liqi_ding.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/hand_cat_blue.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_ko.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/dress0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/mingzhiyingshu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/di_yuan01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiaoniaoyouchutian_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_lobby/btn_click.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_fire.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/art1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiaoniaoyouchutian/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_rosered/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_tingpai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200024/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/lobby4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_qiduizi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200020/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyu.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/banner_zhongqiurenwu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/f44dd2d4-664c-4200-80e4-cab029f3df6a.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade_honest.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/shuimolongquan_xiugai.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/mjdesktop/shengduan.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200020/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/hunzhiqidizhe3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jingbing_0 .png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/Hand_cat_skin-shdow_cat.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiaoniaoyouchutian/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/path_00281_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/zuichuquesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_yiman_queding_chs.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_0/serious.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/mid4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/touzi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/scoreboard.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bianfu/shadow.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/dafuwen_qizi-dafuwen_qizi.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fushiquan5.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/newyear_loading/newyear_6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200017/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200006/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_jinlongyu/model-polySurface32.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/toy1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_zhouyin/shadow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/kawei_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/daoguang_xulie.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/beijing_zhongxia.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_doublebei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/task_20190501.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/japan_g_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/lianggongxingshu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/baozhu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_muyu_begin_en.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/yueka.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yiji_eye.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong_CJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course20.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zhaitengzhi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/sigongxiasheng_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/newyear_loading/newyear_4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/00000133.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_fire.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cj1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/winlose_en.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/lobby_bg/beijing_xiaritinyuan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_levelmax.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/fushiquan2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi_0/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yijidedagongmaoxian/yuanqiu_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin3.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yinhua.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_yuesefu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/tablecloth_violet_purple.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/hunzhiqiyuezhe2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/default.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/mingzhiyingshu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/christmas_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200022/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_kawei.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/fuzi_haitanpaidui/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_pinghu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_white.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/right0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiaoniaoyouchutian/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/xiashengWSJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_qizi_buff.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_mofabang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_tianhu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/match.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqibgm.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/wanxianggengxin.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/yakuman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuanquan3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/996.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/qiandao_mao_body_right.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/fuzi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/effect_liqi_ding.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/zuichuhuntian3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200010/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/mjp_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jiutiao_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200005/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/art1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/beijianshahezi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanquedingJAN.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/denglong.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/gaimingka.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/music/lobby.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/xinshouyouling_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/14.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/dmm.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/xigua_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cj7_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_liyu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/daocaoquan_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/8.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-016.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wushilanyangcai/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/maque-majiangv3_Box001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/wanxianggengxin.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200021/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/deng02.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/00000133_huang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic1906_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_liyu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/tool.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/sakura_outlight.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/art0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_yibeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/flash2.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/duqiu.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_qinglaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala_xinnianchuzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/sigongxiasheng_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/ice_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade_tender.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yizhilaikong_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/sign_bang.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi_SDJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/mingzhiyingshu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yuesefu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_xinnianchuzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_rosered/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/star_get_lose/suipian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/activity_wsj1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/zuichuquesheng3_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/effect_liqi_mofashaonv.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic20cjM4_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_yiji/yijilizhibang_color.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/kawei/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/jianai_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/comic2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/tablemid_en/ju.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Anim_Dapai_heng-LiQiPai.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/9.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/toy2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/tablecloth_christmas.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200020/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_tiaoman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_20chunjie_0/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_chipeng.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/ab8d5fc4-bdd1-478b-812b-22e08e1fe1ea.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/huntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/mjp_tianrandaiyouling.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fudai_lvren.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/hand_jk.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_lobby/normalflyin.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yiji_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_xiaoemofanbian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/newyear_loading/newyear_6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200024/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/9.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/present_gold.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuebing_tou.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong_CJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200018/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_haidi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/dankong_1.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course21.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wushilanyangcai_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/winlose_jp.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/wurenyuebing.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/yueguangbaohe.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/lianggongxingshu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course9.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_yiman2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200004/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/ron_szx.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/gold1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_nan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cj7_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200022/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/bitmapfont/chs_t/chst_fengyu.fnt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_lvyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/riguangbaohe.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/lianggongxingshu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyuJP01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/left4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200021/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/anim/qiaodao_mao_left-qiaodao_mao_left.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_ko.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_manjiban.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_goldbar/Materials/box_color.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/activity_cj2020_exchange.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/tablecloth/tablecloth_violet/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200015/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/MAN_Hand7_skin-Plane01.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres2/mjp/mjp_default/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yuesefu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/sigongxiasheng/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpaiJP02.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_dora10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuanqiu4.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jiutiao_haitanpaidui/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dora8.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/wurenyuebing.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic1912_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_xuegao/binggun-binggun_polySurface1.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/xuegao_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200019/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/activity_duanwu.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/kejidi_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200021/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_qizi_enter.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/notitle.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_levelup0.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/bamuwei_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/lobby_normalmax3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_yijitiantong.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_sansetongshun.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_yifa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuebing_yuan_xulie.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200021/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/mingpaizhishi_dian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/detail_course/en_course18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/lobby/en.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_yiqitongguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_shala.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/effect_liqi_bianfujiejie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/art0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/docs/jp_falv1.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/act_rich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic1906.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fushiquan7.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/console2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/lianggongxingshu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_zimu01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/biscuit0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/mingzhiyingshu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/skin_shop/haitanpaiduilibao2_shop .jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiasheng_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/11.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200020/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_bamuwei.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_szx.jpg.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_jiaozi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/mid4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200024/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/hand_cat_blue.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200012/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanquedingENG.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qingku_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/coin5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/composer.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang/sad.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wushilanyangcai_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qingku/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200003/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/tanfang3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/baishinainai/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200007/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-002.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/baishinainai_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/shala_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/light add 1.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_sigangliuju.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_zhongxiahuahuo/Table_Dif.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_normalmax1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/right4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/loading_3que1/left4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qianzhi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_zimu02.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_xuegao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zhaitengzhi/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/match2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_manguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_youling_0/hand_ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_normal1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liqi/daodan_tuowei_xiangsu.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yuesefu/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/ingame_remain10.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_doublenan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/shala_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_jiaozi.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qingku/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/tanfang4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/demo/constructor-node.html +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/front_effect.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/UI_daxingxing_si.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/bianfu02.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/activity_cj2020_exchange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-027.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/front_effect.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/996.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200022/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/wenli_00128.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/kawei_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_xiaosixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200009/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand/Dapai_Ani-Dapai.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/mesh/luoxuanmianpian02-Helix001.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/headframe_douya.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/qingku/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/left2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zeniya/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/xigua_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/bower.json +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_dasanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_hupai_heihuo.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/present_king.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqi_baozhu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/2434chudai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_xhzy.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course25.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/lobby_levelup0.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/christmas_bell.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic2005maidM1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/lianggongxingshu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200013/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course23.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanquedingCHN_add.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/hupai/Light2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200015/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/kawei_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/en/mjp_default/mjp.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_evil.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_jinlongyu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200025/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/datingbgm.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/xingxiang01_00000.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/tablecloth_lotus.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200004/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_yiman_queding_jp.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/xiasheng_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-005.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/desk_cyan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200002/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_0/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/activity_20chunji_kaixue.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/generic_splash_big_1_sheet.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/toy2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/ROEliteCircle.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/lizi_00032.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-028.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200005/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/xuegao_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/xuegao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yuesefu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jiutiao_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/chunjie_wangcilang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/room.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200021/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_lobby_xiaritingyuan.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200021/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erjietang_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/sima_quesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong_CJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/liqibgm.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_qingyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/mingzhiyingshu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200025/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200020/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/level/sanma_quesheng.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/clip/src/clipboard-action.js +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_0/happy.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/liuxing_huang.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yimanjihuiJAN.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_green/ui.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/mingzhiyingshu_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/baishinainai/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/shala_xinnianchuzhi/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jingbing_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/jianaiSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/zhongxia_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/effect_liqi_longteng.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/room.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/japan_g.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200014/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200016/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/hunzhichaoyuezhe.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/lobby_selfintro.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course23.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres/lobby.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/coin5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/treasure_pic20jpznM1_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_20chunjie.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/zuichuhuntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/ron_mafashaonv.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zhaitengzhi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200001/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/christmas_socks_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/ingame_beiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/denglong.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_lingshang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fengling.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/9.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_yiji.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cjM3_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/mjdesktop all.ls +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyu_long_CHST.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dora5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200002/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/mjdesktop all.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei_SDJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200011/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200025/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_CJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiaoniaoyouchutian_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_levelup1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/ron_youling.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/ron_keji.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/baishinainai/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200019/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang_WSJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/act_babei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200018/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiaoniaoyouchutian/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/xiasheng_WSJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_hedi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wushilanyangcai_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/light.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/hand_cat_blue.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erzhigong_CJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/hand_cat.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu_0/reverse/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/jianai_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/wuhaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/tablecloth_christmas.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/mingzhiyingshu_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_doublexi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200021/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_xi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yiji_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/mjp_rosered.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200014/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiasheng_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200019/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/jade_tender.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic1910.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zeniya_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200009/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200020/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yuesefu/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cj10_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cj4_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_red.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/lianggongxingshu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200007/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200019/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yiji_zui01.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200006/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yijidedagongmaoxian/lizi_00015_huang01.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dora6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/dress1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/mjp_tianrandaiyouling.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200014/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_duane.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/notitle.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/hand_jk.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/act_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_hunlaotou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wushilanyangcai/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200006/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/hunzhichaoyuezhe.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/wanshengmiao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wushilanyangcai/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_zhong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/lobby_qiyue.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/loading_3que1/right2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/jade_knowledge.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/match2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_man/hand_man_neil.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yuesefu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fushiquan0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fushiquan0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_meiguihua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cjM3_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_cat/Anim_cat_Dapai-Dapai.lani +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/banner_zhongqiurenwu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/chunjie_hua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200024/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/tablecloth_lotus.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/wine0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/match.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_jiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/lizhibang/liqi_bone/bone-pCube17.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/wangcilang_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/xunmihuishi_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/docs/privacy_policy.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200022/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_yiman1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/mingpaizhishi_dian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200010/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/player_indicator/particle_shining.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200003/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200020/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/ingame_lianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200001/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/16.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/starstone.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/aaee4801-fa1b-4f39-ad0c-6b2cd3d51de8.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200018/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/lobby_bg/beijing_xiaripaidui.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres2/mjp/mjp_youling_0/ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/qianbi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/tablecloth/tablecloth_chigua/preview.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/game_top.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/monvnangua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_siankedanqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/995.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/zeniyaWSJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fu_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_wangcilang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/yuesefu/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/daodantangguo_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erzhigong_CJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200014/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/loading_3que1/mid2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/bamuwei/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/beijing_zhongxia.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/baopai_doradorara.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/kawei/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres/star_up/bang_heart.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wushilanyangcai/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200007/999.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_chunzhengjiulianbaodeng.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp_yellow/hand.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/activity_sign.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/mpzs_shandian.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/yiji_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wushilanyangcai/fan_erbeikou.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/act_pon.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erzhigong_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/hand_dog.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/jianai/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_dora2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200023/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200002/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_normal5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/comic0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cj3_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/banner_2020yuandan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200003/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/lobby_gift.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/beijing_chunying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/5.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/beijianshahezi/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/act_tumo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200015/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/erjietang_CJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/gai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/ron_sakura.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_sianke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/liqi_bgm_1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yizhilaikong_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yuesefu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/lobby_levelup0.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/fan_bai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/level/sima_quejie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200023/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/yizhilaikong_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/act_ron.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/erzhigong/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/bamuwei_SDJ/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/fire_bai_alpha.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200017/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course13.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/flash.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres2/mjp/mjp_default.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200001/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200024/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200023/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/treasurehead/treasure_pic20cjM4_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/huaban03.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200025/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coupon_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/xiangyuanwu_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/hand_man.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/ui_img/correct_circle.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/fushiquan6.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/ui_img/Maskimg.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiaoniaoyouchutian/lobby_normal3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course21.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/longzhimuyuJP02.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/headframe_default.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/fan_guoshiwushuang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/ingame_baopai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_leijiyiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/match2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/console1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_sangangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200021/10.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/beijianshahezi_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/zuichuquesheng3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/glow_12001.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/ron_20chunjie.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/duijubgm.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_dliqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/wangcilang/gameend_yiman6.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/fan_dora1.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/myres2/loading_3que1/mid0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yuesefu/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/course/detail_course/ch_course3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200009/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/bothui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200024/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/tablecloth/tablecloth_20chunjie_en/Table_Dif.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_drich.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_bone.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/daocaoquan.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/bamuwei_SDJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/myres2/treasurehead/zhongxia_task.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/fushiquan0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/gameend_yiman5.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/haitanpaiduilibao2_shop .jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200008/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/course_ui.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/myres/lobby3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/act_chi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/title/2434chudai.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200009/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_dora3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200013/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/comic1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/yiji_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/peipaimingpai_mingpai.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/yuebing_yuan_xulie.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/qianzhiSDJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jianai/fan_dihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/chunjie_jianai.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/touzi_touzi.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/lobby4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/en/myres/yueka.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200011/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200023/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/touzi.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200022/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/fan_liqi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/stardust_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/9e5192ab-5d87-47b7-87b2-0bb4cd736811.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/effect_liqi_wind.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu_haitanpaidui/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_sigangzi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/aiyin/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_yuesefu.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_dora12.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200005/11.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/tool.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wushilanyangcai_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/aiyin/gameend_jiuzhongjiupai.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/default_girl/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/aiyin/smallhead1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200003/4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200001/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/fuzi_haitanpaidui/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/table/hand_dog/hand_dog_shadow.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200016/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/wangcilang/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_guoshishisanmian.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/fuzi/lobby_normalmax2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_ziyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/chunjie_wunv.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200016/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/aiyin/smallhead3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/zeniya_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/treasure_pic1908.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/liqi_mofabang.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/mjp_rosered.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/fan_fa.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/hupai/lizi.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200022/0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/shala/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200020/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/jianai_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zhaitengzhi/gameend_yiman4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/toy1.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/diamond0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200022/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/haitanpaiduilibao2_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/default.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200008/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zhaitengzhi/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/effect_heartup.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200008/997.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200002/17.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200011/998.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_normal4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/lianggongxingshu_0/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_zimo.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/wangcilang_WSJ/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_hunquandaiyaojiu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200017/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_sansetongke.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/kawei/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_liujumanguan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/hunzhidizaozhe1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/charactor/qianzhi/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/liqi_bgm_2.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/bamuwei/fan_qianggang.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200011/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/items/coin8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/zeniya/fan_doubledong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/baozhu_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/title/ganjunwudi_item.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/lianggongxingshu/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/banner_zhongqiushangdian.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/course/detail_course/jp_course19.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ui_img/bg_name.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/chs_t/myres1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dong.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/xuegao.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wangcilang_WSJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/wushilanyangcai/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/present_jade.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/title/zuichuhuntian.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/tablecloth_lotus.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/user_xieyi/2.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/zhaitengzhi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/beijianshahezi/fan_bei.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/zeniya_0/half.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yizhilaikong/gameend_noting.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/art1_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/qianzhi_0/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/fan_dora4.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/skin_shop/erzhigonghuaCJ_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/xiangyuanwu/reverse/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erzhigonghua/fan_hunyise.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/items/ron_gejumeiying.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200007/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/mingzhiyingshu/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/myres2/treasurehead/activity_20chunji_kaixue_exchange.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/docs/jp_yinsixieyi.txt +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/888.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/yiji/lobby_playerlogin_max.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200010/14.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/audio_mj/newround_pais.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/zhaitengzhi_0/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qianzhi/fan_dasixi.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/kawei/gameend_sifenglianda.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/res/atlas/jp/myres/treasure.atlas +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200013/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/lobby_gift_favor.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200025/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/sigongxiasheng/fan_dora11.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_levelup3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/fan_duiduihu.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/charactor/erjietang_CJ/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/title/miaoguodahufa.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200020/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/15.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200017/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/mjpai/mjp-009.lm +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/gold1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/lobby_levelup2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/wenli_00128.lmat +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200018/2.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200008/12.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/myres2/treasurehead/treasure_pic20cj13_up.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/texture.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/gameend_sanbeiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/erjietang/fan_xiaosanyuan.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/fu_0.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/emo/e200012/8.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200012/3.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/shala/fan_dora13.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/emo/e200015/7.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200013/6.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/liqi_xuegao.lh +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/jiutiao/ingame_yiman.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/baishinainai/fan_dora7.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/xiangyuan/gameend_yiman3.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/kawei_0/bighead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/ron_yanhua.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/emo/e200004/1.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/lianggongxingshu/lobby_normal2.mp3 +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/aiyin/waitingroom.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/items/coin0.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/skin_shop/yijihaitanpaidui_shop.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/course/detail_course/ch_course23.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/scene/Assets/Resource/effect/texture/00000133_huang.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/extendRes/charactor/qianzhi_SDJ/smallhead.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/biscuit2_limit.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/course/course4.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/chs_t/extendRes/charactor/erjietang_WSJ/full.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/en/extendRes/emo/e200006/18.png +https://mahjongsoul.game.yo-star.com/v0.8.1.w/jp/extendRes/items/wurenyuebing.jpg +https://mahjongsoul.game.yo-star.com/v0.8.1.w/audio/sound/qingkuniang/lobby_playerlogin.mp3