import * as PIXI from './pixi'; import { Howl, Howler } from './howler.min'; import gamen from './gamen'; import { TimelineLite, Sine, TweenMax } from './TweenMax.min' import { pixelRatioX, pixelRatioY, windowWidth, windowHeight } from './fitConfig'; var GD, DataManager, GamePadManager; var GAME_IMG_PATH = 'https://pub.dwstatic.com/wxgame/puzzletrip/'; var COMMON_IMG_PATH = 'https://pub.dwstatic.com/wxgame/puzzletrip/human/'; var RES_DIR_SOUND = GAME_IMG_PATH + 'sound/'; // source code version var CACHE_VER = 0.2; var IMG_VERSION = CACHE_VER; var SOUND_VERSION = CACHE_VER; !function (t) { function e(n) { if (i[n]) return i[n].exports; var o = i[n] = { i: n, l: !1, exports: {} }; return t[n].call(o.exports, o, o.exports, e), o.l = !0, o.exports } var i = {}; return e.m = t, e.c = i, e.d = function (t, i, n) { e.o(t, i) || Object.defineProperty(t, i, { configurable: !1, enumerable: !0, get: n }) } , e.n = function (t) { var i = t && t.__esModule ? function () { return t["default"] } : function () { return t } ; return e.d(i, "a", i), i } , e.o = function (t, e) { return Object.prototype.hasOwnProperty.call(t, e) } , e.p = "", e(e.s = 0) }([function (t, e, i) { i(1), i(2), i(3), i(4), i(5), i(6), i(7), i(8), i(9), i(10), i(11), i(12), i(13), i(14) } , function (t, e) { GD = { loader: null, stats: null, width: 504, height: 861, leng: "ko", isMobile: !1, isDebug: !1, isShowLog: !1, isLogin: !1, unique: null, pk: null, sKey: null, oKey: null, startTime: null, medal: [], soundType: 1, isAllSound: !0, isBgmSound: !0, isEffectSound: !0, isShowPadGuide: !0, orientationType: null, orientationGuide: null, sound: {}, darkBg: null, stage: null, commonIntro: null, commonOption: null, tutorial: null, loading: null }, GD.init = function (t, e, i, n, o, backgroundColor) { var gWidth = windowWidth * pixelRatioX var gHeight = windowHeight * pixelRatioY GD.width = gWidth GD.height = gHeight GD.leng = gamen.game_language var app = GD.app = new PIXI.Application({ width: gWidth, height: gHeight, forceCanvas: true, backgroundColor: backgroundColor, clearBeforeRender: false, resolution: 2, view: canvas }) app.renderer.plugins.interaction.mapPositionToPoint = (point, x, y) => { point.x = x * pixelRatioX point.y = y * pixelRatioY } // requestAnimationFrame(this.update) this.renderer = app.renderer this.stage = app.stage // this.resize() this.setSpriteTexture() this.resourceLoad() } , GD.resourceLoad = function () { var t = COMMON_IMG_PATH + "image/json/"; GD.loader = PIXI.loader, GD.loader.add(t + "human_common.json"), GD.loader.add(t + "human_popup_" + this.leng + ".json") } , GD.showProgress = function () { GD.progress || (GD.progress = new GD.Progress), GD.progress.show(), this.stage.addChild(GD.progress) } , GD.hideProgress = function () { GD.progress.hide(), this.stage.removeChild(GD.progress) } , GD.resize = function () { if (GD.renderer) { var t = GD.width / GD.height , e = window.innerWidth , i = window.innerHeight , n = e / i; if ($("#gamecontainer")[0]) { var o = document.getElementById("gamecontainer"); o.style.color = "#FF0000", n > t ? (e = i * t, o.style.width = e + "px", o.style.height = i + "px", GD.renderer.view.style.width = e + "px", GD.renderer.view.style.height = i + "px") : (i = e / t, o.style.width = e + "px", o.style.height = i + "px", GD.renderer.view.style.width = e + "px", GD.renderer.view.style.height = i + "px") } else n > t ? e = i * t : i = e / t, this.renderer.view.style.width = e + "px", this.renderer.view.style.height = i + "px" } gamen.score_view_status || this.setOrientationGuide() } , GD.render = function () { GD.renderer.render(GD.root) } , GD.update = function () { GD.isDebug && GD.stats.begin(), requestAnimationFrame(GD.update), GD.render(), GD.isDebug && GD.stats.end() } , GD.buttonAction = function (t, e, i) { e || (e = 1.2), i || (i = 1), t.scale.set(e), TweenMax.to(t.scale, .2, { x: i, y: i }) } , GD.setSpriteTexture = function () { PIXI.Container.prototype.setSpriteTexture = function (t, e, i) { return "sprite" == e ? t ? t.texture = GD.loader.resources[i].texture : t = new PIXI.Sprite(GD.loader.resources[i].texture) : t ? t.texture = PIXI.Texture.fromFrame(i + ".png") : t = new PIXI.Sprite.fromFrame(i + ".png"), t } } , GD.getDarkBg = function () { return GD.darkBg || (GD.darkBg = new PIXI.Graphics, GD.darkBg.beginFill(0, .8), GD.darkBg.drawRect(0, 0, GD.width, GD.height), GD.darkBg.endFill()), GD.darkBg } , GD.log = function (t) { GD.isShowLog ? (GD.logStr = t + "\n" + GD.logStr, GD.logText || (GD.logText = new PIXI.Text("", { font: "14px Arial", fill: "#F7EDCA", stroke: "#000", strokeThickness: 4, wordWrapWidth: GD.width - 60, wordWrap: !0 }), GD.logText.x = 30, GD.logText.y = 30), GD.logText.parent || GD.root.addChild(GD.logText), GD.logText.text = GD.logStr) : console.log(t) } , GD.fullScreen = function () { if (GD.isMobile) { var t = navigator.platform.match(/iPhone|iPod|iPad/); if (!t) { var e = GD.renderer.view; try { e.requestFullscreen ? e.requestFullscreen() : e.webkitRequestFullScreen ? e.webkitRequestFullScreen() : e.mozRequestFullScreen() } catch (i) { console.log("fullscree fail") } } } } , GD.exitFullScreen = function () { if (GD.isMobile) { var t = navigator.platform.match(/iPhone|iPod|iPad/); if (!t) try { document.exitFullscreen ? document.exitFullscreen() : document.msExitFullscreen ? document.msExitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.webkitCancelFullScreen && document.webkitCancelFullScreen() } catch (e) { console.log("fullscree cancel fail") } } } , GD.setOrientationGuide = function () { var t = document.getElementById("rank_layout"); if (t && "none" != t.style.display && com) return GD.renderer.view.style.display = "none", void GD.showOrientation(!1); var e = window.innerWidth / window.innerHeight , i = GD.width / GD.height; i > 1 ? GD.orientationType = "phone rotate_x" : GD.orientationType = "phone rotate_y", e > 1 && 1 > i || 1 > e && i > 1 ? GD.showOrientation(!0) : GD.showOrientation(!1) } , GD.showOrientation = function (t) { for (var e = ["Z300C", "TF701T", "TF700T", "TF103C", "TF101-1B251A", "TA2506 10BK", "SM-T805", "SM-T800", "SM-T677", "SM-T670", "SM-P900", "SMP-605", "SMP-600", "SMART-TV", "SmartTV", "SM-905", "SHW-M480W", "SHW-M380", "SHV-E230", "SGP771", "SGP311", "QM0101", "Q109", "MZ68", "MZ601", "MX1080", "MID 1065-8", "MID 1042-8", "ME102A", "LGV940", "LGV700N", "GT-P5110", "FZ-A1", "AT105", "A10-70", "10QS", "10ES"], i = e.length; i--;) if (navigator.userAgent.match(e[i])) return; var n, o, s, r, a, h; if (GD.isMobile) { var l = document.getElementsByClassName("xy_wrap").length; if (t) { if (n = GD.orientationGuide, null == n) { if (n = document.createElement("div"), n.style.backgroundColor = "#ff7e17", n.style.position = "absolute", n.style.left = 0, n.style.top = 0, n.style.right = 0, n.style.bottom = 0, n.style.margin = "auto", n.setAttribute("class", "xy_wrap"), GD.orientationGuide = n, o = document.createElement("div"), o.setAttribute("class", "xy_info"), s = document.createElement("div"), s.setAttribute("class", GD.orientationType), r = document.createElement("span"), r.setAttribute("class", "yes"), a = document.createElement("span"), a.setAttribute("class", "no"), n.appendChild(o), o.appendChild(s), o.appendChild(r), o.appendChild(a), h = document.createElement("p"), h.style.left = "0px", h.style.right = "0px", h.style.padding = "15px", h.style.lineHeight = "130%", h.style.color = "#FFFFFF", h.style.position = "absolute", "en" == GD.lang) h.style.fontSize = "18px", h.innerHTML = "Please rotate your device."; else { var u; switch (GD.lang) { case "jp": u = "お使いの 携?電話を 回?させて 下ください。"; break; case "en": u = "ROTATE YOUR PHONE"; break; case "cn": u = "如果?幕不能旋?,?打?自?旋?功能。"; break; default: u = window.innerWidth > 480 ? "화면 전환이 되지 않는다면, 자동회전 기능을 켜 주세요." : "화면 전환이 되지 않는다면,
자동회전 기능을 켜 주세요." } h.innerHTML = u } o.appendChild(h) } 0 == l && (document.body.appendChild(n), GD.orientationChange(!0), GD.renderer.view.style.visibility = "hidden") } else l > 0 && (document.body.removeChild(GD.orientationGuide), GD.orientationChange(!1), GD.renderer.view.style.visibility = "visible") } } , GD.orientationChange = function (t) { t ? GD.soundMute() : GD.isAllSound && GD.soundUnMute() } , GD.loadSound = function (t, e) { var index = 0, options = [], n = t.length; for (let o = 0, s = n; s--;) { let i = t[s]; options[s] = { key: i, value: { src: [RES_DIR_SOUND + i + ".mp3?ver=" + SOUND_VERSION, RES_DIR_SOUND + i + ".ogg?ver=" + SOUND_VERSION, RES_DIR_SOUND + i + ".wav?ver=" + SOUND_VERSION], onload: function () { o++; if (index < n) { index++; let option = options[index - 1] GD.sound[option.key] = new Howl(option.value) index == n && e(); } }, onloaderror: function (msg) { console.error("error:", msg); o++; if (index < n) { index++; let option = options[index - 1] GD.sound[option.key] = new Howl(option.value) index == n && e(); } } } } } let max = Math.min(options.length - 1, 2) while (index <= max) { let option = options[index] GD.sound[option.key] = new Howl(option.value); index++; } } , GD.bgmPlay = function (t) { var e = GD.sound.sound_bgm; e._loop = !0, t ? e._volume = t : e._volume = .3, GD.isBgmSound && e.play() } , GD.bgmStop = function () { GD.sound.sound_bgm.stop() } , GD.soundPlay = function (t, e, i) { var n = GD.sound[t]; e || (e = 1), e ? n._volume = e : n._volume = 1, i ? n._loop = i : n._loop = !1, GD.isEffectSound && n.play() } , GD.soundStop = function (t) { GD.isEffectSound && GD.sound[t].stop() } , GD.soundAllStop = function () { for (var t in GD.sound) GD.sound[t].stop() } , GD.soundMute = function () { Howler.mute(!0) } , GD.soundUnMute = function () { GD.isAllSound && Howler.mute(!1) } , window.onresize = function (t) { GD.resize() } } , function (t, e) { GD.Util = { zeroStr: function (t, e) { for (var i = t.toString(), n = e - i.length; n--;) i = "0" + i; return i }, randomNumber: function (t, e) { var i = 10 * e || 1; return Math.floor(Math.random() * t * i / i) }, hitTest: function (t, e) { return e.x >= t.x && e.x <= t.x + t.width && e.y >= t.y && e.y <= t.y + t.height }, uniqueArray: function (t) { for (var e = [], i = 0, n = t.length; n > i; i++) -1 === e.indexOf(t[i]) && "" !== t[i] && e.push(t[i]); return e }, comma: function (t) { return t = String(t), t.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, "$1,") }, shuffle: function (t) { var e, i, n; for (n = t.length; n; n--) e = Math.floor(Math.random() * n), i = t[n - 1], t[n - 1] = t[e], t[e] = i }, grep: function (t, e) { return jQuery.grep(t, function (t) { return t != e }) }, getParam: function (t) { var e = window.location.search.match(new RegExp("(?:[?&]" + t + "=)([^&]+)")); return e ? e[1] : null }, mobileCheck: function () { return !!(navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/Windows Phone/i)) }, radiansToDegrees: function (t) { return t * Math.PI / 180 }, degreesToradians: function (t) { return 180 * t / Math.PI } } } , function (t, e) { DataManager = {}, DataManager.unique = null, DataManager.pk = null, DataManager.Skey = null, DataManager.Okey = null, DataManager.callFunc = null, DataManager.target = null, DataManager.playInterval = null, DataManager.start = function (t, e) { DataManager.callFunc = t, DataManager.target = e, gamen.start(DataManager.startDataComplete) } , DataManager.startDataComplete = function (t, e, i, n, o) { if (GD.isLogin = t, GD.isLogin && (GD.sKey = gamen.spkey(n), GD.oKey = gamen.opkey(o), GD.unique = XORcipher().xorDecoder(e, GD.sKey), GD.pk = i, GD.startTime = Date.now(), GD.medal = [], null != gamen.achievement)) for (var s = gamen.achievement.length, r = 0; s > r; ++r) { var a = XORcipher().xorDecoder(gamen.achievement[r], GD.sKey) , h = []; h = a.split("_gamen_"), GD.medal[r] = [parseInt(h[0]), !1, parseInt(h[1]), h[2], h[3], parseInt(h[5]), h[4]] } DataManager.callFunc.call(DataManager.target), DataManager.playInterval = setInterval(DataManager.promisePlay, .1) } , DataManager.point = function (t, e) { if (GD.log(t + " : " + e), DataManager.otherPoint(t, e), GD.isLogin) { t = XORcipher().xorEncoder(t, GD.sKey), e = XORcipher().xorEncoder(e.toString(), GD.sKey); var i = Date.now() - GD.startTime , n = XORcipher().xorEncoder(i.toString(), GD.sKey); gamen.point(t, e, n) } } , DataManager.otherPoint = function (t, e) { if (GD.isLogin) { t = XORcipher().xorEncoder(t, GD.oKey), e = XORcipher().xorEncoder(e.toString(), GD.oKey); var i = Date.now() - GD.startTime , n = XORcipher().xorEncoder(i.toString(), GD.oKey); gamen.otherpoint(t, e, n) } } , DataManager.promisePlay = function () { var t = Date.now() - GD.startTime , e = XORcipher().xorEncoder(t.toString(), GD.oKey); gamen.promiseplay(e) } , DataManager.finish = function (t) { if (DataManager.playInterval && clearInterval(DataManager.playInterval), GD.isLogin) { if (GD.medal.length > 0) { var e = [] , i = GD.medal.length; gamen.new_achievement = []; for (var n = 0; i > n; ++n) e[n] = GD.medal[n][0] + "_gamen_" + GD.medal[n][2] + "_gamen_" + GD.medal[n][3] + "_gamen_" + GD.medal[n][4] + "_gamen_" + parseInt(GD.medal[n][5]), gamen.new_achievement[n] = XORcipher().xorEncoder(e[n], GD.sKey) } var o = XORcipher().xorEncoder(t.toString(), GD.sKey) , s = GD.commonOption.gameRestart.bind(GD.commonOption) , r = XORcipher().xorEncoder(GD.unique, GD.sKey) , a = XORcipher().xorEncoder(GD.startTime.toString(), GD.sKey) , h = Date.now() , l = XORcipher().xorEncoder(h.toString(), this.sKey); gamen.finish(GD.pk, o, s, r, a, l) } else gamen.finish(t, GD.commonOption.gameRestart.bind(GD.commonOption)) } , DataManager.addMedal = function (t, e) { if (GD.isLogin && GD.medal.length > 0) for (var i = null, n = 0; n < GD.medal.length; ++n) if (t == GD.medal[n][0]) { i = n, 0 == GD.medal[i][1] && (null == e && (e = 1), GD.medal[i][5] += e, GD.medal[i][2] <= GD.medal[i][5] && (GD.medal[i][1] = !0, GD.commonOption.setAchievement(i + 1))); break } } } , function (t, e) { GamePadManager = { isConnected: !1, init: function () { try { gamepadSupport.init() } catch (t) { console.log("gamepadSupport is not defined -- gamepad.js") } }, showNotSupported: function () { }, updateGamePads: function (t) { if (this.isConnected = !1, t) for (var e in t) { var i = t[e]; i && (this.isConnected = !0) } }, updateButton: function (t, e, i) { t.pressed && $(this).trigger("padButton", i) }, updateAxis: function (t, e, i, n, o) { "stick-1" == n && ("stick-1-axis-x" == i ? $(this).trigger("padStickX", t) : "stick-1-axis-y" == i && $(this).trigger("padStickY", t)) } } } , function (t, e) { GD.ScorePopup = function () { PIXI.Container.call(this), this.darkBg = GD.getDarkBg(), this.bg = this.setSpriteTexture(this.allBtn, "texture", "gameOver_box"), this.bg.anchor.set(.5), this.bg.x = GD.width / 2, this.bg.y = GD.height / 2, this.pointTxt = new gc.NumberText("gameOver_num_", "center", -12), this.pointTxt.y = 8, this.bg.addChild(this.pointTxt), this.retryBtn = this.setSpriteTexture(this.retryBtn, "texture", "retry_btn"), this.retryBtn.anchor.set(.5), this.retryBtn.x = -112, this.retryBtn.y = 200, this.setTouchStartAction(this.retryBtn, function () { this.emit("GAME_REPLAY_EVENT") }, this), this.bg.addChild(this.retryBtn), this.exitBtn = this.setSpriteTexture(this.exitBtn, "texture", "option_exit_btn_s"), this.exitBtn.anchor.set(.5), this.exitBtn.x = -this.retryBtn.x, this.exitBtn.y = this.retryBtn.y, this.setTouchStartAction(this.exitBtn, function () { this.emit("EXIT_EVENT") }, this), this.bg.addChild(this.exitBtn) } , GD.ScorePopup.constructor = GD.ScorePopup, GD.ScorePopup.prototype = Object.create(PIXI.Container.prototype), GD.ScorePopup.prototype.show = function (t) { this.removeChild(), this.retryBtn.scale.set(1), this.exitBtn.scale.set(1), this.pointTxt.setValue(t), this.addChild(this.darkBg), this.addChild(this.bg), this.bg.scale.set(.1), TweenMax.to(this.bg.scale, .15, { x: 1, y: 1, ease: Back.easeOut, onComplete: this.showComplete.bind(this) }) } , GD.ScorePopup.prototype.showComplete = function () { this.setInteractive(!0) } , GD.ScorePopup.prototype.setInteractive = function (t) { this.retryBtn.interactive = t, this.exitBtn.interactive = t } , GD.ScorePopup.prototype.removeChild = function () { this.setInteractive(!1), this.removeChildren() } } , function (t, e) { GD.OptionPopup = function () { PIXI.Container.call(this), this.darkBg = GD.getDarkBg(), this.bg = null, this.type = null, this.allBtn = this.setSpriteTexture(this.allBtn, "texture", "option_on_0"), this.allBtn.anchor.set(.5), this.allBtn.x = 110, this.setTouchEnd(this.allBtn, function () { GD.isAllSound = !GD.isAllSound, this.setAllSoundBtn(), this.setBgmBtn(!1), this.setEffectBtn() }, this), this.bgmBtn = this.setSpriteTexture(this.bgmBtn, "texture", "option_on_0"), this.bgmBtn.anchor.set(.5), this.bgmBtn.x = this.allBtn.x, this.setTouchEnd(this.bgmBtn, function () { GD.isAllSound && (GD.isBgmSound = !GD.isBgmSound, this.setBgmBtn(!0)) }, this), this.effectBtn = this.setSpriteTexture(this.effectBtn, "texture", "option_on_0"), this.effectBtn.anchor.set(.5), this.effectBtn.x = this.allBtn.x, this.setTouchEnd(this.effectBtn, function () { GD.isAllSound && (GD.isEffectSound = !GD.isEffectSound, this.setEffectBtn()) }, this), this.closeBtn = this.setSpriteTexture(this.closeBtn, "texture", "option_close_btn"), this.closeBtn.anchor.set(.5), this.closeBtn.x = 200, this.setTouchStartAction(this.closeBtn, function () { this.emit("SOUND_POPUP_CLOSE_EVENT") }, this), this.tutorialBtn = this.setSpriteTexture(this.tutorialBtn, "texture", "option_help_btn"), this.tutorialBtn.anchor.set(.5), this.setTouchStartAction(this.tutorialBtn), this.setTouchEnd(this.tutorialBtn, function () { this.setInteractive(!1), this.emit("TUTORIAL_OPEN_EVENT") }, this) } , GD.OptionPopup.constructor = GD.OptionPopup, GD.OptionPopup.prototype = Object.create(PIXI.Container.prototype), GD.OptionPopup.prototype.show = function (t) { this.removeChild(), this.type = t; var e = "option_box_0"; 0 == this.type ? (1 == GD.soundType ? (this.closeBtn.y = -185, this.allBtn.y = -62) : (e = "option_box1_0", this.closeBtn.y = -92, this.allBtn.y = 25, this.allBtn.y = 30), this.bgmBtn.y = 70, this.effectBtn.y = 165) : (e = "option_box_1", 1 == GD.soundType ? (this.closeBtn.y = -247, this.allBtn.y = -124, this.tutorialBtn.y = 230) : (e = "option_box1_1", this.closeBtn.y = -148, this.allBtn.y = -27, this.tutorialBtn.y = 130), this.bgmBtn.y = 20, this.effectBtn.y = 115), this.addChild(this.darkBg), this.bg = this.setSpriteTexture(this.bg, "texture", e), this.bg.anchor.set(.5), this.bg.x = GD.width / 2, this.bg.y = GD.height / 2, this.addChild(this.bg), this.bg.addChild(this.closeBtn), this.bg.addChild(this.allBtn), 1 == GD.soundType && (this.bg.addChild(this.bgmBtn), this.bg.addChild(this.effectBtn)), 1 == this.type && this.bg.addChild(this.tutorialBtn), this.setAllSoundBtn(), this.setBgmBtn(!1), this.setEffectBtn(), this.bg.scale.set(.1), TweenMax.to(this.bg.scale, .15, { x: 1, y: 1, ease: Back.easeOut, onComplete: this.showComplete.bind(this) }) } , GD.OptionPopup.prototype.showComplete = function () { this.setInteractive(!0) } , GD.OptionPopup.prototype.hide = function () { this.removeChild() } , GD.OptionPopup.prototype.setAllSoundBtn = function () { GD.isAllSound ? (this.allBtn = this.setSpriteTexture(this.allBtn, "texture", "option_on_0"), GD.soundUnMute()) : (this.allBtn = this.setSpriteTexture(this.allBtn, "texture", "option_off_0"), GD.soundMute()) } , GD.OptionPopup.prototype.setBgmBtn = function (t) { GD.isAllSound ? (GD.isBgmSound ? this.bgmBtn = this.setSpriteTexture(this.bgmBtn, "texture", "option_on_0") : this.bgmBtn = this.setSpriteTexture(this.bgmBtn, "texture", "option_off_0"), t && 1 == this.type && (GD.isBgmSound ? GD.bgmPlay() : GD.bgmStop())) : GD.isBgmSound ? this.bgmBtn = this.setSpriteTexture(this.bgmBtn, "texture", "option_on_1") : this.bgmBtn = this.setSpriteTexture(this.bgmBtn, "texture", "option_off_1") } , GD.OptionPopup.prototype.setEffectBtn = function () { GD.isAllSound ? GD.isEffectSound ? this.effectBtn = this.setSpriteTexture(this.effectBtn, "texture", "option_on_0") : this.effectBtn = this.setSpriteTexture(this.effectBtn, "texture", "option_off_0") : GD.isEffectSound ? this.effectBtn = this.setSpriteTexture(this.effectBtn, "texture", "option_on_1") : this.effectBtn = this.setSpriteTexture(this.effectBtn, "texture", "option_off_1") } , GD.OptionPopup.prototype.setInteractive = function (t) { this.allBtn.interactive = t, this.bgmBtn.interactive = t, this.effectBtn.interactive = t, this.tutorialBtn.interactive = t, this.closeBtn.interactive = t } , GD.OptionPopup.prototype.removeChild = function () { this.removeChildren(), this.bg && this.bg.removeChildren(), this.setInteractive(!1) } } , function (t, e) { GD.Achievement = function () { PIXI.Container.call(this), this.bgList = [], this.tmpBgList = [], this.icons = [], this.tmpIcons = [], this.idx = 0, this.interval = null } , GD.Achievement.constructor = GD.Achievement, GD.Achievement.prototype = Object.create(PIXI.Container.prototype), GD.Achievement.prototype.init = function () { this.removeAll() } , GD.Achievement.prototype.show = function (t, e) { var i; this.tmpBgList.length ? (i = this.bgList.shift(), this.setSpriteTexture(i, "texture", "medal_box")) : i = this.setSpriteTexture(null, "texture", "medal_box"), i.anchor.set(.5), i.scale.set(.3), i.count = 0, i.idx = this.idx, i.x = GD.width + 50, e ? i.y = e : i.y = 140, this.icons.length > 0 && (i.y += 100 * this.icons.length), this.bgList.push(i), GD.log("game_medal_" + t); var n; this.tmpIcons.length ? (n = this.tmpIcons.shift(), this.setSpriteTexture(n, "sprite", "game_medal_" + t)) : n = this.setSpriteTexture(null, "sprite", "game_medal_" + t), n.anchor.set(.5), n.y = -30, i.addChild(n), this.addChild(i), this.icons.push(n) } , GD.Achievement.prototype.removeIcon = function (t) { for (var e, i = this.icons.length; i--;) if (e = this.icons[i], e.idx == t.idx) { this.icons.splice(i, 1), this.bg.removeChild(e); break } } , GD.Achievement.prototype.removeAll = function () { var t, e, i = this.bgList.length; for (t = 0; i > t; t++) e = this.bgList.shift(), this.tmpBgList.push(e), e.removeChildren(); for (i = this.icons.length, t = 0; i > t; t++) e = this.icons.shift(), this.tmpIcons.push(e); this.removeChildren() } , GD.Achievement.prototype.updateTransform = function () { PIXI.Container.prototype.updateTransform.call(this); for (var t, e = this.bgList.length; e--;) t = this.bgList[e], t.count++ , t.count < 80 ? (t.x += .3 * (GD.width - 50 - t.x), t.sp = .1) : (t.sp = 1.3 * t.sp, t.x += t.sp, t.x > GD.width + 50 && (this.removeIcon(t), this.removeChild(t), this.bgList.splice(e, 1), this.tmpBgList.push(t))) } } , function (t, e) { GD.GamePadGuide = function () { PIXI.Container.call(this), this.guide = this.setSpriteTexture(this.guide, "sprite", "gamePadGuide"), this.setTouchEnd(this.guide, function () { this.setInteractive(!1), this.removeChild(this.guide), this.emit("GAME_PAD_GUIDE_CLOSE_EVENT") } .bind(this)) } , GD.GamePadGuide.constructor = GD.GamePadGuide, GD.GamePadGuide.prototype = Object.create(PIXI.Container.prototype), GD.GamePadGuide.prototype.init = function () { this.removeChild(), this.addChild(this.guide), this.setInteractive(!0) } , GD.GamePadGuide.prototype.setInteractive = function (t) { this.guide.interactive = t } , GD.GamePadGuide.prototype.removeChild = function () { this.removeChildren() } } , function (t, e) { GD.LoadingView = function () { PIXI.Container.call(this), this.darkBg = GD.getDarkBg(), this.img = this.setSpriteTexture(null, "texture", "loadingCircle"), this.img.scale.set(.8), this.img.anchor.set(.5), this.img.x = GD.width / 2, this.img.y = GD.height / 2, this.addChild(this.img) } , GD.LoadingView.constructor = GD.LoadingView, GD.LoadingView.prototype = Object.create(PIXI.Container.prototype), GD.LoadingView.prototype.init = function () { this.removeAll(), this.addChild(this.darkBg), this.addChild(this.img) } , GD.LoadingView.prototype.removeAll = function () { this.removeChildren() } , GD.LoadingView.prototype.updateTransform = function () { PIXI.Container.prototype.updateTransform.call(this), this.img.rotation += .1 } , GD.LoadingView.getInstance = function () { return GD.loading || (GD.loading = new GD.LoadingView), GD.loading } } , function (t, e) { GD.Progress = function () { this.bg = null, this.logo = null, this.logoTxt = null, this.tween = null, PIXI.Container.call(this) } , GD.Progress.constructor = GD.Progress, GD.Progress.prototype = Object.create(PIXI.Container.prototype), GD.Progress.prototype.show = function () { if (this.bg || (this.bg = new PIXI.Graphics, this.bg.beginFill(16777215, 1), this.bg.drawRect(0, 0, GD.width, GD.height), this.bg.endFill()), this.addChild(this.bg), !this.logo) { var logo = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGwAAABoCAYAAAAU9xXbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEI5ODVERjI3RjM2MTFFODlFMTM5NTUyODcxNUY3OUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEI5ODVERjE3RjM2MTFFODlFMTM5NTUyODcxNUY3OUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjZBMDcxRjk3RjM1MTFFODhERjFCNTExNzU3RjZCQTgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjZBMDcxRkE3RjM1MTFFODhERjFCNTExNzU3RjZCQTgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7zjCZwAAAUNElEQVR42uxd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" this.logo = new PIXI.Sprite.fromImage(logo) } this.logo.x = GD.width / 2, this.logo.y = GD.height / 2, this.logo.anchor.set(.5), this.logo.scale.set(.1), this.logo.rotation = 20, this.addChild(this.logo), this.tween ? this.tween.kill() : this.tween = new TimelineLite, this.tween.to(this.logo, 1, { rotation: 0, ease: Sine.easeOut }), this.tween.call(this.showLocoText.bind(this)), TweenMax.to(this.logo.scale, 1, { x: 1, y: 1 }) } , GD.Progress.prototype.showLocoText = function () { if (!this.logoTxt) { var logoTxt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO8AAABgCAYAAAD1liW0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjkxRENCNTdEN0YzMjExRTg4NTI4QkZBMjUyNjVCNTFBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjkxRENCNTdFN0YzMjExRTg4NTI4QkZBMjUyNjVCNTFBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTFEQ0I1N0I3RjMyMTFFODg1MjhCRkEyNTI2NUI1MUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTFEQ0I1N0M3RjMyMTFFODg1MjhCRkEyNTI2NUI1MUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6edgZnAAAYG0lEQVR42uxd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" this.logoTxt = new PIXI.Sprite.fromImage(logoTxt), this.logoTxt.anchor.set(.5), this.logoTxt.scale.set(1), this.logoTxt.y = GD.height / 2 } this.logoTxt.x = GD.width / 2 + 65, this.logoTxt.alpha = 0, this.addChild(this.logoTxt), TweenMax.to(this.logo, .4, { x: GD.width / 2 - 95, ease: Sine.easeOut }), TweenMax.to(this.logoTxt, .4, { x: GD.width / 2 + 90, alpha: 1, ease: Sine.easeOut }), TweenMax.delayedCall(2, this.replay.bind(this)) } , GD.Progress.prototype.replay = function () { this.hide(), this.show() } , GD.Progress.prototype.hide = function () { TweenMax.killAll(), this.tween.clear(), this.removeChildren() } , GD.Progress.prototype.updateTransform = function () { PIXI.Container.prototype.updateTransform.call(this) } } , function (t, e) { GD.Tutorial = function () { PIXI.Container.call(this), this.type = 1, this.tutorialImg = null, this.nowPage = 0, this.totalPage = 0, this.contents = [], this.container = new PIXI.Container, this.img = this.setSpriteTexture(this.img, "texture", "temp"), this.prevBtn = this.setSpriteTexture(this.prevBtn, "texture", "temp"), this.prevBtn.anchor.set(.5), this.prevBtn.x = 30, this.prevBtn.y = GD.height / 2, this.setTouchStartAction(this.prevBtn, function () { this.nowPage > 0 && this.initPage(this.nowPage - 1) }, this), this.addChild(this.prevBtn), this.nextBtn = this.setSpriteTexture(this.nextBtn, "texture", "temp"), this.nextBtn.anchor.set(.5), this.nextBtn.x = GD.width - 30, this.nextBtn.y = GD.height / 2, this.setTouchStartAction(this.nextBtn, function () { this.nowPage + 1 < this.totalPage && this.initPage(this.nowPage + 1) }, this), this.addChild(this.nextBtn), this.closeBtn = this.setSpriteTexture(this.closeBtn, "texture", "temp"), this.closeBtn.anchor.set(.5), this.closeBtn.x = GD.width / 2, this.closeBtn.y = GD.height - 105, this.setTouchStartAction(this.closeBtn), this.setTouchEnd(this.closeBtn, function () { this.emit("TUTORIAL_CLOSE_EVENT") }, this), this.addChild(this.closeBtn) } , GD.Tutorial.constructor = GD.Tutorial, GD.Tutorial.prototype = Object.create(PIXI.Container.prototype), GD.Tutorial.prototype.init = function (t, e) { this.removeChild(), this.type = 1, this.tutorialImg = e, this.nowPage = 0, this.totalPage = t, this.addChild(this.img), this.addChild(this.closeBtn), this.initPageButton(), this.setTutorialImg(), this.setInteractive(!0), this.setButtons() } , GD.Tutorial.prototype.initContent = function (t, e) { this.removeChild(), this.type = 2, this.nowPage = 0, this.totalPage = t, this.contents = e, this.addChild(this.container), this.addChild(this.closeBtn), this.container.addChild(this.contents[0]), this.setContent(), this.initPageButton(), this.setInteractive(!0), this.setButtons() } , GD.Tutorial.prototype.initPage = function (t, e) { this.nowPage = t, e && (this.closeBtn = this.setSpriteTexture(this.closeBtn, "texture", e)), 1 == this.type ? this.setTutorialImg() : this.setContent(), this.setButtons() } , GD.Tutorial.prototype.initPageButton = function () { this.totalPage > 1 && (this.prevBtn = this.setSpriteTexture(this.prevBtn, "texture", "help_prev"), this.nextBtn = this.setSpriteTexture(this.nextBtn, "texture", "help_next"), this.prevBtn.scale.set(1), this.nextBtn.scale.set(1), this.addChild(this.prevBtn), this.addChild(this.nextBtn)) } , GD.Tutorial.prototype.setPrevButtonPos = function (t, e) { this.prevBtn.x = t, this.prevBtn.y = e } , GD.Tutorial.prototype.setNextButtonPos = function (t, e) { this.nextBtn.x = t, this.nextBtn.y = e } , GD.Tutorial.prototype.setCloseButtonPos = function (t, e) { this.closeBtn.x = t, this.closeBtn.y = e } , GD.Tutorial.prototype.setTutorialImg = function () { this.img = this.setSpriteTexture(this.img, "texture", this.tutorialImg + (this.nowPage + 1)) } , GD.Tutorial.prototype.setContent = function () { this.container.removeChildren(); var t = this.contents[this.nowPage]; t.init && t.init(), this.container.addChild(t) } , GD.Tutorial.prototype.setButtons = function () { this.totalPage > 0 && (0 == this.nowPage ? (this.prevBtn.alpha = .3, this.nextBtn.alpha = 1, this.prevBtn.interactive = !1, this.nextBtn.interactive = !0) : this.nowPage + 1 == this.totalPage ? (this.prevBtn.alpha = 1, this.nextBtn.alpha = .3, this.prevBtn.interactive = !0, this.nextBtn.interactive = !1) : (this.prevBtn.alpha = 1, this.nextBtn.alpha = 1, this.prevBtn.interactive = !0, this.nextBtn.interactive = !0)) } , GD.Tutorial.prototype.setInteractive = function (t) { this.prevBtn.interactive = t, this.nextBtn.interactive = t, this.closeBtn.interactive = t } , GD.Tutorial.prototype.removeChild = function () { this.setInteractive(!1), this.container.removeChildren(), this.removeChildren() } , GD.Tutorial.getInstance = function () { return GD.tutorial || (GD.tutorial = new GD.Tutorial), GD.tutorial } } , function (t, e) { PIXI.Container.prototype.setTouchStartAction = function (t, e, i) { t.mousedown = t.touchstart = function (n) { n.stopPropagation(), GD.fullScreen(), GD.buttonAction(t), e && e.call(i, n) } .bind(i) } , PIXI.Container.prototype.setTouchStart = function (t, e, i) { t.mousedown = t.touchstart = function (t) { t.stopPropagation(), GD.fullScreen(), e && e.call(i, t) } .bind(i) } , PIXI.Container.prototype.setTouchEnd = function (t, e, i) { t.tap = function (t) { t.stopPropagation(), GD.fullScreen(), e && e.call(i, t) } .bind(i), GD.isMobile || (t.click = function (t) { t.stopPropagation(), e && e.call(i, t) } .bind(i)) } , PIXI.Container.prototype.setTouchMove = function (t, e, i) { t.mousemove = t.touchmove = function (t) { t.stopPropagation(), e && e.call(i, t) } .bind(i) } , PIXI.Container.prototype.addGamePadEvent = function () { this.removeGamePadEvent(), $(GamePadManager).on("padButton", this.onGamePadEvent.bind(this)), $(GamePadManager).on("padStickX", this.onGamePadStickXEvent.bind(this)), $(GamePadManager).on("padStickY", this.onGamePadStickYEvent.bind(this)) } , PIXI.Container.prototype.removeGamePadEvent = function () { $(GamePadManager).off() } , PIXI.Container.prototype.onGamePadEvent = function (t, e) { } , PIXI.Container.prototype.onGamePadStickXEvent = function (t, e) { } , PIXI.Container.prototype.onGamePadStickYEvent = function (t, e) { } , PIXI.Container.prototype.showLoading = function () { GD.loading = GD.LoadingView.getInstance(), GD.loading.init(), this.addChild(GD.loading) } , PIXI.Container.prototype.hideLoading = function () { this.removeChild(GD.loading) } } , function (t, e) { GD.CommonIntro = function (t, e) { PIXI.Container.call(this), this.helpBtn = null, this.soundpBtn = null, this.startBtn = null, this.callBackFunc = null, this.callBackTarget = null, this.bg = this.setSpriteTexture(this.bg, "texture", e), this.addChild(this.bg), this.copyText = this.setSpriteTexture(this.copyText, "texture", "copybar_" + t), this.copyText.anchor.set(.5), this.copyText.x = GD.width / 2, this.copyText.y = GD.height - 20, this.addChild(this.copyText), this.gamePadGuide = null, this.soundPopup = new GD.OptionPopup, this.soundPopup.on("SOUND_POPUP_CLOSE_EVENT", this.closeSoundPopup.bind(this)), gamen.loadend() } , GD.CommonIntro.constructor = GD.CommonIntro, GD.CommonIntro.prototype = Object.create(PIXI.Container.prototype), GD.CommonIntro.prototype.init = function () { return 0 == gamen.intro_view_status || "false" == gamen.intro_view_status ? (this.removeChildren(), GD.showProgress(), void this.sendStartData()) : (GamePadManager.init(), GamePadManager.isConnected && GD.isShowPadGuide && (this.gamePadGuide || (this.gamePadGuide = new GD.GamePadGuide), this.showGamePadGuide(), this.addGamePadEvent()), GD.isShowPadGuide = !1, void this.setInteractive(!0)) } , GD.CommonIntro.prototype.showGamePadGuide = function () { this.gamePadGuide.init(), this.addChild(this.gamePadGuide) } , GD.CommonIntro.prototype.hideGamePadGuide = function () { this.removeChild(this.gamePadGuide) } , GD.CommonIntro.prototype.initHelp = function (t, e, i) { 0 != gamen.intro_view_status && "false" != gamen.intro_view_status && (this.helpBtn = this.setSpriteTexture(this.helpBtn, "texture", t), this.helpBtn.anchor.set(.5), this.helpBtn.x = e, this.helpBtn.y = i, this.helpBtn.scale.set(1), this.addChild(this.helpBtn), this.setTouchStartAction(this.helpBtn), this.setTouchEnd(this.helpBtn, this.showHelp, this)) } , GD.CommonIntro.prototype.initSound = function (t, e, i) { 0 != gamen.intro_view_status && "false" != gamen.intro_view_status && (this.soundpBtn = this.setSpriteTexture(this.soundpBtn, "texture", t), this.soundpBtn.anchor.set(.5), this.soundpBtn.x = e, this.soundpBtn.y = i, this.soundpBtn.scale.set(1), this.addChild(this.soundpBtn), this.setTouchStartAction(this.soundpBtn), this.setTouchEnd(this.soundpBtn, this.showSoundPopup, this)) } , GD.CommonIntro.prototype.initStart = function (t, e, i, n, o) { this.callBackFunc = n, this.callBackTarget = o, 0 != gamen.intro_view_status && "false" != gamen.intro_view_status && (this.startBtn = this.setSpriteTexture(this.startBtn, "texture", t), this.startBtn.anchor.set(.5), this.startBtn.x = e, this.startBtn.y = i, this.startBtn.scale.set(1), this.addChild(this.startBtn), this.setTouchStartAction(this.startBtn), this.setTouchEnd(this.startBtn, this.sendStartData, this)) } , GD.CommonIntro.prototype.onGamePadEvent = function (t, e) { switch (e) { case "button-1": this.hideGamePadGuide(), this.sendStartData(); break; case "button-2": this.hideGamePadGuide(), this.showHelp(); break; case "button-3": this.hideGamePadGuide(), this.showSoundPopup(); break; case "button-4": this.hideGamePadGuide() } } , GD.CommonIntro.prototype.showHelp = function () { this.setInteractive(!1), GD.tutorial.initPage(0, "help_start"), GD.tutorial.once("TUTORIAL_CLOSE_EVENT", this.hideHelp.bind(this)), this.addChild(GD.tutorial) } , GD.CommonIntro.prototype.hideHelp = function () { this.sendStartData() } , GD.CommonIntro.prototype.showSoundPopup = function () { this.setInteractive(!1), this.soundPopup.show(0), this.addChild(this.soundPopup) } , GD.CommonIntro.prototype.closeSoundPopup = function () { this.removeChild(this.soundPopup), this.setInteractive(!0) } , GD.CommonIntro.prototype.sendStartData = function () { this.showLoading(), DataManager.start(this.startDataComplete, this) } , GD.CommonIntro.prototype.startDataComplete = function () { this.hideLoading(), GD.hideProgress(), GD.tutorial && this.removeChild(GD.tutorial), this.callBackFunc.call(this.callBackTarget) } , GD.CommonIntro.prototype.setInteractive = function (t) { this.helpBtn.interactive = t, this.soundpBtn.interactive = t, this.startBtn.interactive = t, GamePadManager.isConnected && (t ? this.addGamePadEvent() : this.removeGamePadEvent()) } , GD.CommonIntro.getInstance = function (t, e) { return GD.commonIntro || (GD.commonIntro = new GD.CommonIntro(t, e)), GD.commonIntro } } , function (t, e) { GD.CommonOption = function (t) { PIXI.Container.call(this), this.scorePopup = new GD.ScorePopup, this.scorePopup.on("GAME_REPLAY_EVENT", this.gameReplay.bind(this)), this.scorePopup.on("EXIT_EVENT", this.exit.bind(this)), this.optionPopup = new GD.OptionPopup, this.optionPopup.on("SOUND_POPUP_CLOSE_EVENT", this.closeOptionPopup.bind(this)), this.optionPopup.on("TUTORIAL_OPEN_EVENT", this.showTutorial.bind(this)), this.optBtn = this.setSpriteTexture(this.optBtn, "texture", "btn_option_" + t), this.optBtn.anchor.set(.5), this.optBtn.x = GD.width - 40, this.optBtn.y = 40, this.setTouchStartAction(this.optBtn), this.setTouchEnd(this.optBtn, function () { this.setInteractive(!1), this.emit("OPTION_OPEN_EVENT"), this.optionPopup.show(1), this.addChild(this.optionPopup) } .bind(this)), this.achievement = new GD.Achievement } , GD.CommonOption.constructor = GD.CommonOption, GD.CommonOption.prototype = Object.create(PIXI.Container.prototype), GD.CommonOption.prototype.init = function () { this.removeAll(), this.addChild(this.optBtn), this.achievement.init(), this.addChild(this.achievement), this.setInteractive(!0) } , GD.CommonOption.prototype.setAchievement = function (t) { this.achievement.show(t) } , GD.CommonOption.prototype.setInteractive = function (t) { this.optBtn.interactive = t } , GD.CommonOption.prototype.closeOptionPopup = function () { this.removeChild(this.optionPopup), this.setInteractive(!0), this.emit("OPTION_CLOSE_EVENT") } , GD.CommonOption.prototype.showTutorial = function () { GD.tutorial.initPage(0, "help_close"), GD.tutorial.on("TUTORIAL_CLOSE_EVENT", this.hideHelp.bind(this)), this.addChild(GD.tutorial) } , GD.CommonOption.prototype.hideHelp = function () { this.removeChild(GD.tutorial), this.optionPopup.setInteractive(!0) } , GD.CommonOption.prototype.gameReplay = function () { this.gameRestart() } , GD.CommonOption.prototype.exit = function () { gamen.gameout() } , GD.CommonOption.prototype.finish = function (t) { gamen.score_view_status ? (this.scorePopup.show(t), this.addChild(this.scorePopup)) : (GD.exitFullScreen(), DataManager.finish(t)) } , GD.CommonOption.prototype.gameRestart = function () { GD.renderer.view.style.display = "inline", this.emit("GAME_RESTART") } , GD.CommonOption.prototype.removeAll = function () { this.removeChildren() } , GD.CommonOption.getInstance = function (t) { return GD.commonOption || (GD.commonOption = new GD.CommonOption(t)), GD.commonOption } } ]); export default GD