CInterface.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. function CInterface() {
  2. var _pStartPosAudio;
  3. var _pStartPosExit;
  4. var _pStartPosFullscreen;
  5. var _oButExit;
  6. var _oHelpPanel = null;
  7. var _oAudioToggle;
  8. var _oPause;
  9. var _oTurnsBoard;
  10. var _oTotalBoard;
  11. var _oContainerBoard;
  12. var _oEndPanel;
  13. var _oController = null;
  14. var _oButFullscreen;
  15. var _fRequestFullScreen = null;
  16. var _fCancelFullScreen = null;
  17. var _iYStartPos;
  18. this._init = function () {
  19. _oContainerBoard = new createjs.Container();
  20. _iYStartPos = _oContainerBoard.y = 161;
  21. _oContainerBoard.regY = (s_oSpriteLibrary.getSprite("monitor_strike_0").height + s_oSpriteLibrary.getSprite("turn_board").height);
  22. s_oStage.addChild(_oContainerBoard);
  23. _oTurnsBoard = new CTurnsBoard(TURNS_BOARD_POS.x, TURNS_BOARD_POS.y, _oContainerBoard);
  24. var oSpriteTotalBoard = s_oSpriteLibrary.getSprite("total_board");
  25. _oTotalBoard = new CTotalScoreBoard(_oTurnsBoard.getLastX(), TURNS_BOARD_POS.y, oSpriteTotalBoard, _oContainerBoard);
  26. _oController = new CController();
  27. var oSprite = s_oSpriteLibrary.getSprite('but_exit');
  28. _pStartPosExit = {x: CANVAS_WIDTH - (oSprite.height / 2) - 10, y: (oSprite.height / 2) + 10};
  29. _oButExit = new CGfxButton(_pStartPosExit.x, _pStartPosExit.y, oSprite);
  30. _oButExit.addEventListener(ON_MOUSE_UP, this._onExit, this);
  31. if (DISABLE_SOUND_MOBILE === false || s_bMobile === false) {
  32. var oSprite = s_oSpriteLibrary.getSprite('audio_icon');
  33. _pStartPosAudio = {x: _pStartPosExit.x - oSprite.height - 10, y: _pStartPosExit.y};
  34. _oAudioToggle = new CToggle(_pStartPosAudio.x, _pStartPosAudio.y, oSprite, s_bAudioActive);
  35. _oAudioToggle.addEventListener(ON_MOUSE_UP, this._onAudioToggle, this);
  36. }
  37. var doc = window.document;
  38. var docEl = doc.documentElement;
  39. _fRequestFullScreen = docEl.requestFullscreen || docEl.mozRequestFullScreen || docEl.webkitRequestFullScreen || docEl.msRequestFullscreen;
  40. _fCancelFullScreen = doc.exitFullscreen || doc.mozCancelFullScreen || doc.webkitExitFullscreen || doc.msExitFullscreen;
  41. if(ENABLE_FULLSCREEN === false){
  42. _fRequestFullScreen = false;
  43. }
  44. if (_fRequestFullScreen && screenfull.enabled){
  45. oSprite = s_oSpriteLibrary.getSprite('but_fullscreen');
  46. _pStartPosFullscreen = {x:oSprite.width/4 + 10,y:oSprite.height/2 + 10};
  47. _oButFullscreen = new CToggle(_pStartPosFullscreen.x,_pStartPosFullscreen.y,oSprite,s_bFullscreen,s_oStage);
  48. _oButFullscreen.addEventListener(ON_MOUSE_UP, this._onFullscreenRelease, this);
  49. }
  50. this.refreshButtonPos(s_iOffsetX, s_iOffsetY);
  51. };
  52. this.refreshButtonPos = function (iNewX, iNewY) {
  53. _oButExit.setPosition(_pStartPosExit.x - iNewX, iNewY + _pStartPosExit.y);
  54. if (DISABLE_SOUND_MOBILE === false || s_bMobile === false) {
  55. _oAudioToggle.setPosition(_pStartPosAudio.x - iNewX, iNewY + _pStartPosAudio.y);
  56. }
  57. if (_fRequestFullScreen && screenfull.enabled){
  58. _oButFullscreen.setPosition(_pStartPosFullscreen.x + iNewX,_pStartPosFullscreen.y + iNewY);
  59. }
  60. _oContainerBoard.x = iNewX;
  61. _oContainerBoard.y = _iYStartPos - (iNewX) * (0.5 - 1) + 1;
  62. _oContainerBoard.scaleX = _oContainerBoard.scaleY = ((iNewX * 0.5) / EDGEBOARD_X) * (BOARD_SCALE_F - 1) + 1;
  63. s_oGame.refreshPos(iNewX, iNewY);
  64. if (_oController !== null) {
  65. var oPosLeft = _oController.getStartPositionControlLeft();
  66. _oController.setPositionControlLeft(oPosLeft.x + iNewX, oPosLeft.y - iNewY);
  67. var oPosRight = _oController.getStartPositionControlRight();
  68. _oController.setPositionControlRight(oPosRight.x - iNewX, oPosRight.y - iNewY);
  69. }
  70. };
  71. this.unload = function () {
  72. _oButExit.unload();
  73. _oButExit = null;
  74. this.onExitFromHelp();
  75. if (DISABLE_SOUND_MOBILE === false || s_bMobile === false) {
  76. _oAudioToggle.unload();
  77. _oAudioToggle = null;
  78. }
  79. if (_fRequestFullScreen && screenfull.enabled){
  80. _oButFullscreen.unload();
  81. }
  82. s_oInterface = null;
  83. };
  84. this.getContainerBoard = function () {
  85. return _oContainerBoard;
  86. };
  87. this.onExitFromHelp = function () {
  88. if (_oHelpPanel !== null) {
  89. _oHelpPanel.unload();
  90. _oHelpPanel = null;
  91. }
  92. };
  93. this.createHelpPanel = function () {
  94. _oHelpPanel = new CHelpPanel(0, 0, s_oSpriteLibrary.getSprite("bg_help"));
  95. };
  96. this.createEndPanel = function (iScore) {
  97. _oEndPanel = new CEndPanel(s_oSpriteLibrary.getSprite("msg_box"));
  98. _oEndPanel.show(iScore);
  99. };
  100. this.resetTurnsBoard = function () {
  101. _oTurnsBoard.resetAllTurnBoard();
  102. };
  103. this.refreshTurnsBoard = function (iID, iTurn, iScore, iPinDown, bLastStage) {
  104. var oTurnBoard = _oTurnsBoard.getTurnBoard(iID);
  105. if (iTurn !== null) {
  106. oTurnBoard.refreshTextByID(iTurn - 1, iPinDown);
  107. }
  108. if (!bLastStage) {
  109. oTurnBoard.refreshTextByID(2, iScore);
  110. } else {
  111. oTurnBoard.refreshTextByID(3, iScore);
  112. }
  113. };
  114. this.refresTotalBoard = function (iScore) {
  115. _oTotalBoard.refreshText(iScore);
  116. //console.log(iScore);
  117. };
  118. this.setStateTurnBoard = function (iID, szState) {
  119. _oTurnsBoard.stateTurnBoard(iID, szState);
  120. };
  121. this._onAudioToggle = function () {
  122. Howler.mute(s_bAudioActive);
  123. s_bAudioActive = !s_bAudioActive;
  124. };
  125. this._onExit = function () {
  126. var _oAreYouSure = new CAreYouSurePanel(s_oStage);
  127. _oAreYouSure.show();
  128. };
  129. this.unloadPause = function () {
  130. _oPause.unload();
  131. _oPause = null;
  132. };
  133. this.dirArrowsVisibility = function (bVal) {
  134. if (_oController !== null) {
  135. _oController.arrowVisibility(bVal);
  136. }
  137. };
  138. this.onButPauseRelease = function () {
  139. playSound("click", 1, false);
  140. _oPause = new CPause();
  141. };
  142. this.resetFullscreenBut = function(){
  143. if (_fRequestFullScreen && screenfull.enabled){
  144. _oButFullscreen.setActive(s_bFullscreen);
  145. }
  146. };
  147. this._onFullscreenRelease = function(){
  148. if(s_bFullscreen) {
  149. _fCancelFullScreen.call(window.document);
  150. }else{
  151. _fRequestFullScreen.call(window.document.documentElement);
  152. }
  153. sizeHandler();
  154. };
  155. s_oInterface = this;
  156. this._init();
  157. return this;
  158. }
  159. var s_oInterface = null;