function CMenu() { var _oBg; var _oButPlay; var _oFade; var _oAudioToggle; var _oCreditsBut; var _oButFullscreen; var _oButSave; var _oAreYouSurePanel; var _fRequestFullScreen = null; var _fCancelFullScreen = null; var _pStartPosSave; var _pStartPosAudio; var _pStartPosCredits; var _pStartPosFullscreen; this._init = function () { _oBg = createBitmap(s_oSpriteLibrary.getSprite('bg_menu')); s_oStage.addChild(_oBg); var oSpritePlay = s_oSpriteLibrary.getSprite('but_play'); _oButPlay = new CGfxButton((CANVAS_WIDTH / 2), CANVAS_HEIGHT / 2 + 250, oSpritePlay,s_oStage); _oButPlay.addEventListener(ON_MOUSE_UP, this._onButPlayRelease, this); if (DISABLE_SOUND_MOBILE === false || s_bMobile === false) { var oSprite = s_oSpriteLibrary.getSprite('icon_audio'); _pStartPosAudio = {x: CANVAS_WIDTH - (oSprite.width / 2) + 15, y: (oSprite.height / 2) + 20}; _oAudioToggle = new CToggle(_pStartPosAudio.x, _pStartPosAudio.y, oSprite, s_bAudioActive); _oAudioToggle.addEventListener(ON_MOUSE_UP, this._onAudioToggle, this); } var oSprite = s_oSpriteLibrary.getSprite('but_credits'); _pStartPosCredits = {x: (oSprite.width/2) + 20, y: (oSprite.height/2) + 20}; _oCreditsBut = new CGfxButton(_pStartPosCredits.x,_pStartPosCredits.y,oSprite, s_oStage); _oCreditsBut.addEventListener(ON_MOUSE_UP, this._onCreditsBut, this); var doc = window.document; var docEl = doc.documentElement; _fRequestFullScreen = docEl.requestFullscreen || docEl.mozRequestFullScreen || docEl.webkitRequestFullScreen || docEl.msRequestFullscreen; _fCancelFullScreen = doc.exitFullscreen || doc.mozCancelFullScreen || doc.webkitExitFullscreen || doc.msExitFullscreen; if(ENABLE_FULLSCREEN === false){ _fRequestFullScreen = false; } if (_fRequestFullScreen && screenfull.isEnabled){ oSprite = s_oSpriteLibrary.getSprite('but_fullscreen'); _pStartPosFullscreen = {x:_pStartPosCredits.x + oSprite.width/2 + 10,y:_pStartPosCredits.y}; _oButFullscreen = new CToggle(_pStartPosFullscreen.x,_pStartPosFullscreen.y,oSprite,s_bFullscreen,true); _oButFullscreen.addEventListener(ON_MOUSE_UP, this._onFullscreenRelease, this); } var oSprite = s_oSpriteLibrary.getSprite("but_clear_save") _pStartPosSave = {x:(oSprite.width/2) + 20,y:CANVAS_HEIGHT - oSprite.height/2 - 20}; _oButSave = new CGfxButton(_pStartPosSave.x,_pStartPosSave.y,oSprite,s_oStage); _oButSave.addEventListener(ON_MOUSE_UP,this._onClearSave,this); _oAreYouSurePanel = new CAreYouSurePanel(); _oAreYouSurePanel.addEventListener(ON_BUT_YES_DOWN,this._onConfirmClear,this); if(!s_bStorageAvailable){ new CAlertSavingBox(TEXT_ERR_LS,s_oStage); } _oFade = new createjs.Shape(); _oFade.graphics.beginFill("black").drawRect(0, 0, CANVAS_WIDTH, CANVAS_HEIGHT); s_oStage.addChild(_oFade); createjs.Tween.get(_oFade).to({alpha: 0}, 1000).call(function () { s_oStage.removeChild(_oFade); }); this.refreshButtonPos(s_iOffsetX, s_iOffsetY); }; this.unload = function () { _oButPlay.unload(); _oButPlay = null; _oButSave.unload(); s_oStage.removeChild(_oBg); _oBg = null; if (DISABLE_SOUND_MOBILE === false || s_bMobile === false) { _oAudioToggle.unload(); _oAudioToggle = null; } if (_fRequestFullScreen && screenfull.isEnabled){ _oButFullscreen.unload(); } _oCreditsBut.unload(); s_oMenu = null; }; this.refreshButtonPos = function () { if (DISABLE_SOUND_MOBILE === false || s_bMobile === false) { _oAudioToggle.setPosition(_pStartPosAudio.x - s_iOffsetX, _pStartPosAudio.y + s_iOffsetY); } if (_fRequestFullScreen && screenfull.isEnabled){ _oButFullscreen.setPosition(_pStartPosFullscreen.x + s_iOffsetX,_pStartPosFullscreen.y + s_iOffsetY); } _oCreditsBut.setPosition(_pStartPosCredits.x + s_iOffsetX,_pStartPosCredits.y + s_iOffsetY); _oButSave.setPosition(_pStartPosSave.x + s_iOffsetX,_pStartPosSave.y - s_iOffsetY); }; this._onAudioToggle = function () { Howler.mute(s_bAudioActive); s_bAudioActive = !s_bAudioActive; }; this._onButPlayRelease = function () { this.unload(); s_oMain.gotoLevelMenu(); }; this._onCreditsBut = function(){ new CCreditsPanel(); }; this.resetFullscreenBut = function(){ if (_fRequestFullScreen && screenfull.isEnabled){ _oButFullscreen.setActive(s_bFullscreen); } }; this._onFullscreenRelease = function(){ if(s_bFullscreen) { _fCancelFullScreen.call(window.document); }else{ _fRequestFullScreen.call(window.document.documentElement); } sizeHandler(); }; this._onClearSave = function(){ _oAreYouSurePanel.show(TEXT_CONFIRM_CLEAR_SAVINGS); }; this._onConfirmClear = function(){ s_oMain.clearLocalStorage(); }; s_oMenu = this; this._init(); } var s_oMenu = null;