function CMain(oData) { var _bUpdate; var _iCurResource = 0; var RESOURCE_TO_LOAD = 0; var _iState = STATE_LOADING; var _oData; var _oPreloader; var _oMenu; var _oGame; var _oLevelMenu; this.initContainer = function () { s_oCanvas = document.getElementById("canvas"); s_oStage = new createjs.Stage(s_oCanvas); s_bMobile = isMobile(); if (s_bMobile === false) { s_oStage.enableMouseOver(20); }else{ createjs.Touch.enable(s_oStage,true); } s_iPrevTime = new Date().getTime(); createjs.Ticker.addEventListener("tick", this._update); createjs.Ticker.framerate = FPS; if (navigator.userAgent.match(/Windows Phone/i)) { DISABLE_SOUND_MOBILE = true; } s_oSpriteLibrary = new CSpriteLibrary(); //ADD PRELOADER _oPreloader = new CPreloader(); }; this.setLocalStorageLevel = function(iLevel){ var iSavedLevel = getItem(GAME_NAME+"_level"); if(iSavedLevel === null || iSavedLevel < iLevel){ s_iLastLevel = iLevel; saveItem(GAME_NAME+"_level", s_iLastLevel); } }; this.setLocalStorageScore = function(iCurScore,iLevel){ saveItem(GAME_NAME+"_score_level_"+iLevel, iCurScore); }; this.clearLocalStorage = function(){ s_iLastLevel = 1; if(s_bStorageAvailable){ var iCont = 0; while(iCont < localStorage.length){ var szKey = localStorage.key(iCont); if(szKey.indexOf(GAME_NAME) !== -1){ localStorage.removeItem(szKey); }else{ iCont++; } } } }; this.getScoreTillLevel = function(iLevel){ if(!s_bStorageAvailable){ return 0; } var iScore = 0; // for(var i=0;i= s_iLastLevel){ s_iLastLevel = iLevel; } s_oMain.gotoGame(iLevel); }; this.gotoGame = function (iLevel) { _oGame = new CGame(_oData, iLevel); _iState = STATE_GAME; }; this.gotoLevelMenu = function () { _oLevelMenu = new CLevelMenu(_oData); _iState = STATE_MENU; }; this.stopUpdate = function(){ _bUpdate = false; createjs.Ticker.paused = true; document.querySelector("#block_game").style.display = "block"; if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){ Howler.mute(true); } }; this.startUpdate = function(){ s_iPrevTime = new Date().getTime(); _bUpdate = true; createjs.Ticker.paused = false; document.querySelector("#block_game").style.display = "none"; if(DISABLE_SOUND_MOBILE === false || s_bMobile === false){ if(s_bAudioActive){ Howler.mute(false); } } }; this.stopUpdateNoBlock = function(){ _bUpdate = false; createjs.Ticker.paused = true; }; this.startUpdateNoBlock = function(){ s_iPrevTime = new Date().getTime(); _bUpdate = true; createjs.Ticker.paused = false; }; this._update = function (event) { if (_bUpdate === false) { return; } var iCurTime = new Date().getTime(); s_iTimeElaps = iCurTime - s_iPrevTime; s_iCntTime += s_iTimeElaps; s_iCntFps++; s_iPrevTime = iCurTime; if (s_iCntTime >= 1000) { s_iCurFps = s_iCntFps; s_iCntTime -= 1000; s_iCntFps = 0; } if (_iState === STATE_GAME) { _oGame.update(); } s_oStage.update(event); }; s_oMain = this; _oData = oData; ENABLE_FULLSCREEN = oData.fullscreen; ENABLE_CHECK_ORIENTATION = oData.check_orientation; s_bAudioActive = oData.audio_enable_on_startup; this.initContainer(); } var s_bMobile; var s_bAudioActive = true; var s_iCntTime = 0; var s_iTimeElaps = 0; var s_iPrevTime = 0; var s_iCntFps = 0; var s_iCurFps = 0; var s_iLastLevel = 1; var s_oStage; var s_oMain; var s_oSpriteLibrary; var s_oCanvas; var s_bFullscreen = false; var s_aSounds; var s_bStorageAvailable = true; var s_aSoundsInfo;