function CMain(oData) { var _bUpdate; var _iCurResource = 0; var RESOURCE_TO_LOAD = 0; var _iState = STATE_LOADING; var _oData; var _oPreloader; var _oMenu; var _oHelp; var _oGame; this.initContainer = function () { var canvas = document.getElementById("canvas"); s_oStage = new createjs.Stage(canvas); createjs.Touch.enable(s_oStage); s_oStage.preventSelection = false; s_bMobile = jQuery.browser.mobile; if (s_bMobile === false) { s_oStage.enableMouseOver(20); $('body').on('contextmenu', '#canvas', function (e) { return false; }); FPS = FPS_DESKTOP; FPS_TIME = 1 / FPS; BUFFER_ANIM_MONITOR = 20 * (FPS / 30); PHYSICS_STEP = 1 / (FPS * STEP_RATE); ROLL_BALL_RATE = 60 / FPS; } else { BALL_VELOCITY_MULTIPLIER = 0.8; } 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(); _bUpdate = true; }; this.soundLoaded = function () { _iCurResource++; var iPerc = Math.floor(_iCurResource / RESOURCE_TO_LOAD * 100); _oPreloader.refreshLoader(iPerc); }; this._initSounds = function(){ s_aSoundsInfo = new Array(); s_aSoundsInfo.push({path: './sounds/',filename:'ball_hitting',loop:false,volume:1, ingamename: 'ball_hitting'}); s_aSoundsInfo.push({path: './sounds/',filename:'click',loop:false,volume:1, ingamename: 'click'}); s_aSoundsInfo.push({path: './sounds/',filename:'ball_crash',loop:false,volume:1, ingamename: 'ball_crash'}); s_aSoundsInfo.push({path: './sounds/',filename:'binder',loop:false,volume:1, ingamename: 'binder'}); s_aSoundsInfo.push({path: './sounds/',filename:'pin_hitted',loop:false,volume:1, ingamename: 'pin_hitted'}); s_aSoundsInfo.push({path: './sounds/',filename:'gingle_gutterball',loop:false,volume:1, ingamename: 'gingle_gutterball'}); s_aSoundsInfo.push({path: './sounds/',filename:'gingle_spare',loop:false,volume:1, ingamename: 'gingle_spare'}); s_aSoundsInfo.push({path: './sounds/',filename:'gingle_strike',loop:false,volume:1, ingamename: 'gingle_strike'}); s_aSoundsInfo.push({path: './sounds/',filename:'ambience',loop:true,volume:1, ingamename: 'ambience'}); s_aSoundsInfo.push({path: './sounds/',filename:'soundtrack',loop:true,volume:1, ingamename: 'soundtrack'}); RESOURCE_TO_LOAD += s_aSoundsInfo.length; s_aSounds = new Array(); for(var i=0; i= 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_CHECK_ORIENTATION = oData.check_orientation; ENABLE_FULLSCREEN = oData.fullscreen; 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_iCanvasResizeHeight; var s_iCanvasResizeWidth; var s_iCanvasOffsetHeight; var s_iCanvasOffsetWidth; var s_iAdsLevel = 1; var s_oDrawLayer; var s_oStage; var s_oMain; var s_oSpriteLibrary; var s_oSoundTrack = null; var s_bFullscreen = false; var s_aSounds; var s_aSoundsInfo;