| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- function CInterface(iNextBlock) {
- var _pStartPosPause;
- var _pStartPosAudio;
- var _pStartPosExit;
- var _pStartPosLogo;
- var _pStartPosFullscreen;
- var _fRequestFullScreen = null;
- var _fCancelFullScreen = null;
-
- var _oAudioToggle;
- var _oButPause;
- var _oButExit;
- var _oHelpPanel;
- var _oFpsText;
- var _oFpsTextStruct;
- var _oWinPanel;
- var _oCongratPanel;
- var _oGameOverPanel;
- var _oPausePanel;
- var _oNextBlockBoard;
- var _oInfoBoard;
- var _oScoreBoard;
- var _oLogo;
- var _oController = null;
- var _oButFullscreen;
- this._init = function (iNextBlock) {
- var iPadding = 30;
- var oSpriteExit = s_oSpriteLibrary.getSprite('but_exit');
- _pStartPosExit = {x: CANVAS_WIDTH - (oSpriteExit.width / 2) - iPadding, y: (oSpriteExit.height / 2) + iPadding};
- _oButExit = new CGfxButton(_pStartPosExit.x, _pStartPosExit.y, oSpriteExit);
- _oButExit.addEventListener(ON_MOUSE_UP, this._onExit, this);
- var oSpritePause = s_oSpriteLibrary.getSprite('but_pause');
- _pStartPosPause = {x: CANVAS_WIDTH - (oSpritePause.width / 2) - (oSpriteExit.width) - iPadding - 15, y: (oSpritePause.height / 2) + iPadding};
- _oButPause = new CGfxButton(_pStartPosPause.x, _pStartPosPause.y, oSpritePause);
- _oButPause.addEventListener(ON_MOUSE_UP, this.onButPauseRelease, this);
-
- var oSpriteFullscreen = s_oSpriteLibrary.getSprite('but_fullscreen');
- if (DISABLE_SOUND_MOBILE === false || s_bMobile === false) {
- var oSprite = s_oSpriteLibrary.getSprite('icon_audio');
- _pStartPosAudio = {x: CANVAS_WIDTH - (oSprite.width / 2) - (oSpritePause.width) - (oSpriteExit.width / 2) - iPadding - 30,
- y: (oSprite.height / 2) + iPadding};
- _oAudioToggle = new CToggle(_pStartPosAudio.x, _pStartPosAudio.y, oSprite, s_bAudioActive,s_oStage);
- _oAudioToggle.addEventListener(ON_MOUSE_UP, this._onAudioToggle, this);
-
- _pStartPosFullscreen = {x: _pStartPosAudio.x - oSpriteFullscreen.width/2 - 10,y:_pStartPosAudio.y};
- }else{
- _pStartPosFullscreen = {x: CANVAS_WIDTH - (oSpriteFullscreen.width / 2) - (oSpritePause.width) - (oSpriteExit.width / 2) - iPadding - 30,
- y: (oSpriteFullscreen.height / 2) + iPadding};
- }
-
- 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 ) {
- _oButFullscreen = new CToggle(_pStartPosFullscreen.x,_pStartPosFullscreen.y,oSpriteFullscreen,s_bFullscreen,s_oStage);
- _oButFullscreen.addEventListener(ON_MOUSE_UP, this._onFullscreenRelease, this);
- }
-
- var oSpriteNextBoard = s_oSpriteLibrary.getSprite("next_board");
- _oNextBlockBoard = new CNextBlockBoard(800, 417, oSpriteNextBoard, iNextBlock, s_oStage);
- var oSpriteInfoBoard = s_oSpriteLibrary.getSprite("info_board");
- _oInfoBoard = new CInfoBoard(800, 757, oSpriteInfoBoard, s_oStage);
- var oSpriteScoreBoard = s_oSpriteLibrary.getSprite("score_board");
- _oScoreBoard = new CScoreBoard(800, 1051, oSpriteScoreBoard, s_oStage);
- var oSpriteLogo = s_oSpriteLibrary.getSprite("small_logo");
- _pStartPosLogo = {x: oSpriteLogo.width * 0.5 + 30, y: oSpriteLogo.height * 0.5 + 30};
- _oLogo = createBitmap(oSpriteLogo);
- _oLogo.x = _pStartPosLogo;
- _oLogo.y = _pStartPosLogo;
- _oLogo.regX = oSpriteLogo.width * 0.5;
- _oLogo.regY = oSpriteLogo.height * 0.5;
- s_oStage.addChild(_oLogo);
- if (SHOW_FPS === true) {
- var iX = -330;
- var iY = 550;
- _oFpsText = new createjs.Text("", "normal " + 60 + "px " + PRIMARY_FONT, "#ffd800");
- _oFpsText.textAlign = "center";
- _oFpsText.textBaseline = "alphabetic";
- _oFpsText.x = CANVAS_WIDTH * 0.5 + iX;
- _oFpsText.y = CANVAS_HEIGHT * 0.5 + iY;
- _oFpsTextStruct = new createjs.Text("", "normal " + 60 + "px " + PRIMARY_FONT, "#025cce");
- _oFpsTextStruct.textAlign = "center";
- _oFpsTextStruct.textBaseline = "alphabetic";
- _oFpsTextStruct.x = CANVAS_WIDTH * 0.5 + iX + 2;
- _oFpsTextStruct.y = CANVAS_HEIGHT * 0.5 + iY + 2;
- s_oStage.addChild(_oFpsTextStruct, _oFpsText);
- }
- if (s_bMobile) {
- _oController = new CController();
- }
- this.refreshButtonPos(s_iOffsetX, s_iOffsetY);
- };
- 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);
- }
- _oButPause.setPosition(_pStartPosPause.x - s_iOffsetX, _pStartPosPause.y + s_iOffsetY);
- _oButExit.setPosition(_pStartPosExit.x - s_iOffsetX, _pStartPosExit.y + s_iOffsetY);
- var oPosNextBlockBoard = _oNextBlockBoard.getStartPos();
- _oNextBlockBoard.setPosition(oPosNextBlockBoard.x - s_iOffsetX, oPosNextBlockBoard.y);
- var oPosInfoBoard = _oInfoBoard.getStartPos();
- _oInfoBoard.setPosition(oPosInfoBoard.x - s_iOffsetX, oPosInfoBoard.y);
- var oPosScoreBoard = _oScoreBoard.getStartPos();
- _oScoreBoard.setPosition(oPosScoreBoard.x - s_iOffsetX, oPosScoreBoard.y);
- _oLogo.x = _pStartPosLogo.x + s_iOffsetX;
- _oLogo.y = _pStartPosLogo.y + s_iOffsetY;
- if (_oController !== null) {
- var oPosLeft = _oController.getStartPositionControlLeft();
- _oController.setPositionControlLeft(oPosLeft.x + s_iOffsetX, oPosLeft.y - s_iOffsetY);
- var oPosRight = _oController.getStartPositionControlRight();
- _oController.setPositionControlRight(oPosRight.x + s_iOffsetX, oPosRight.y - s_iOffsetY);
- var oPosUp = _oController.getStartPositionControlUp();
- _oController.setPositionControlUp(oPosUp.x - s_iOffsetX, oPosUp.y - s_iOffsetY);
- var oPosDown = _oController.getStartPositionControlDown();
- _oController.setPositionControlDown(oPosDown.x + s_iOffsetX, oPosDown.y - s_iOffsetY);
- }
- };
- this.finishGame = function (iScore) {
- var oSpriteBg = s_oSpriteLibrary.getSprite("msg_box")
- _oCongratPanel = new CCongratulations(oSpriteBg, iScore);
- };
- this._onButNextLevelRelease = function () {
- setVolume("soundtrack",SOUNDTRACK_VOLUME_IN_GAME);
- _oWinPanel = null;
- s_oGame.nextLevel();
- };
- this._onButSpaceBarRelease = function () {
- if (_oWinPanel) {
- _oWinPanel._onContinue();
- }
- };
- this._onButMenuRelease = function () {
- if (_oCongratPanel) {
- _oCongratPanel.unload();
- _oCongratPanel = null;
- }
- s_oGame.onExit();
- };
- this.refreshScore = function (iScore) {
- _oScoreBoard.refreshScore(iScore);
- };
- this.refreshLevel = function (iLevel) {
- _oInfoBoard.refreshLevel(iLevel);
- };
- this.refreshLines = function (iLines) {
- _oInfoBoard.refreshLines(iLines);
- };
- this.unloadPause = function () {
- _oPausePanel.unload();
- _oPausePanel = null;
- };
- this.onButPauseRelease = function () {
- _oPausePanel = new CPause();
- };
- this.onContinuePauseRelease = function () {
- if (_oPausePanel)
- _oPausePanel._onLeavePause();
- };
- this.showHelpPanel = function () {
- var oSpriteBg = s_oSpriteLibrary.getSprite("msg_box");
- _oHelpPanel = new CHelpPanel(0, 0, oSpriteBg);
- };
- this.gameOver = function (iScore, iLevel, iLines) {
- var oSpriteBg = s_oSpriteLibrary.getSprite("msg_box");
- _oGameOverPanel = new CGameOver(oSpriteBg, iScore, iLevel, iLines);
- };
- this.unloadHelp = function () {
- _oHelpPanel.unload();
- _oHelpPanel = null;
- };
- this._onButRestartLevelRelease = function () {
- _oGameOverPanel = null;
- s_oGame.restartLevelFromGameOver();
- _oButExit.block(false);
- };
- this.unload = function () {
- _oButExit.unload();
- _oButExit = null;
- _oButPause.unload();
- _oButPause = null;
- if (_oController !== null) {
- _oController.unload();
- _oController = null;
- }
- if (DISABLE_SOUND_MOBILE === false || s_bMobile === false) {
- _oAudioToggle.unload();
- _oAudioToggle = null;
- }
-
- if (_fRequestFullScreen && screenfull.isEnabled){
- _oButFullscreen.unload();
- }
-
- s_oInterface = null;
- };
- this.refreshNextBlock = function (iNextBlock) {
- _oNextBlockBoard.refreshBlock(iNextBlock);
- };
- this.refreshFPS = function () {
- var iFPS = Math.ceil(createjs.Ticker.getMeasuredFPS());
- _oFpsText.text = "FPS:" + iFPS;
- _oFpsTextStruct.text = "FPS:" + iFPS;
- };
- this._onExit = function () {
- var _oAreYouSure = new CAreYouSurePanel(s_oStage);
- _oAreYouSure.show();
- };
- this._onButRestartLevelRelease = function () {
- s_oGame.restartGame();
- };
- this._onAudioToggle = function () {
- Howler.mute(s_bAudioActive);
- s_bAudioActive = !s_bAudioActive;
- };
-
- 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();
- };
-
- s_oInterface = this;
- this._init(iNextBlock);
- return this;
- }
- var s_oInterface = null;
|