diff options
author | Alex Xu <alex_y_xu@yahoo.ca> | 2013-06-28 22:14:51 -0400 |
---|---|---|
committer | Alex Xu <alex_y_xu@yahoo.ca> | 2013-06-28 22:14:51 -0400 |
commit | fcf62890c9abb994fd2534a44de66def114575da (patch) | |
tree | 7cbae92df4a7dd313d1d9befd5828086949e3e54 /www/js/menu.js | |
parent | 012ac4ef2f91ed67d36c5e06510cec8c00517de3 (diff) | |
download | html5ks-fcf62890c9abb994fd2534a44de66def114575da.tar.xz html5ks-fcf62890c9abb994fd2534a44de66def114575da.zip |
commit changes
Diffstat (limited to 'www/js/menu.js')
-rw-r--r-- | www/js/menu.js | 85 |
1 files changed, 55 insertions, 30 deletions
diff --git a/www/js/menu.js b/www/js/menu.js index ad37964..573dd8d 100644 --- a/www/js/menu.js +++ b/www/js/menu.js @@ -1,33 +1,58 @@ -html5ks.menu = { - mainMenu: function () { - html5ks.api.stop("music"); - html5ks.api.stop("sound"); - html5ks.api.stop("ambient"); - html5ks.api.window("hide"); - html5ks.api.play("music", "music_menus"); - html5ks.elements.bg.style.background = "url(dump/ui/main/bg-main.png) 0 0 / cover"; - html5ks.elements.mainMenu.style.display = "block"; - }, +(function () { + "use strict"; + html5ks.menu = { + mainMenu: function () { + html5ks.api.stop("music"); + html5ks.api.stop("sound"); + html5ks.api.stop("ambient"); + html5ks.api.window("hide"); + html5ks.api.play("music", "music_menus"); + html5ks.elements.bg.style.background = "url(dump/ui/main/bg-main.png) 0 0 / cover"; + this.elements.mainMenu.style.display = "block"; + }, - activeDialog: null, + activeDialog: null, - dialog: function (name) { - this.activeDialog = html5ks.elements.dialog[name]; - this.activeDialog.style.display = "block"; - html5ks.elements.dialogs.style.display = "block"; - }, + dialog: function (name) { + this.activeDialog = html5ks.elements.dialog[name]; + this.activeDialog.style.display = "block"; + html5ks.elements.dialogs.style.display = "block"; + }, - initEvents: function () { - document.getElementById("start").addEventListener("click", function () { - html5ks.elements.mainMenu.style.display = "none"; - html5ks.api.iscene("en_NOP1").then(html5ks.menu.mainMenu); - }, false); - document.getElementById("options-button").addEventListener("click", function () { - html5ks.menu.dialog("options"); - }, false); - html5ks.elements.dialog.return.addEventListener("click", function (e) { - html5ks.menu.activeDialog.style.display = "none"; - html5ks.elements.dialogs.style.display = "none"; - }, false); - } -}; + initElements: function () { + this.elements = { + dialogs: document.getElementById("dialogs"), + dialog: { + return: document.getElementById("return") + }, + mainMenu: document.getElementById("main-menu"), + main: { + start: document.getElementById("start"), + optionsButton: document.getElementById("options-button"), + } + }; + }, + + init: function () { + this.initElements(); + this.elements.main.start.addEventListener("click", function () { + if (this._imachine_loaded) { + this.elements.mainMenu.style.display = "none"; + html5ks.api.iscene("en_NOP1").then(this.mainMenu.bind(this)); + } + }.bind(this), false); + this.elements.main.optionsButton.addEventListener("click", function () { + html5ks.menu.dialog("options"); + }, false); + this.elements.dialog.return.addEventListener("click", function (e) { + html5ks.menu.activeDialog.style.display = "none"; + html5ks.elements.dialogs.style.display = "none"; + }, false); + html5ks.fetch("imachine").then(function () { + var start = this.elements.main.start; + start.className = start.className.replace("button-disabled", "button-enabled"); + this._imachine_loaded = true; + }.bind(this)); + } + }; +}()); |