MainmenuState.js 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. FZ.Game.MainmenuState = new (FZ
  2. .newClass(
  3. {
  4. StateName : FZ.StateDefs.GAME_STATE_MAINMEN,
  5. CUR_UI_DEFS : [ "majong_BG", "MAIN_MENU_BG"],
  6. BTN_PLAY_INDEX : 0,
  7. CUR_BTN_ANDROID_DEFS : [ ["BTN_START", "BTN_START_TOUCH"]],
  8. CUR_BTN_DEFS : [ [ "BTN_START", "BTN_START_TOUCH" ]/*,[ "BTN_MENU_SOUND", "BTN_MENU_SOUND_TOUCH" ] */],
  9. /*SOUND_SWITCH_DEFS : [ "BTN_MENU_SOUND_OFF",
  10. "BTN_MENU_SOUND_OFF_TOUCH" ],*/
  11. BTN_NEW_GAME_INDEX : 0,
  12. //BTN_SOUND_INDEX : 1,
  13. m_load_ui : false,
  14. m_next_state: "",
  15. COLOR_YELLOW:"#F0D751",
  16. COLOR_BROWN:"#B97F00",
  17. COLOR_ORANGE:"#FFC72A",
  18. LABEL_TEXT_SIZE_SMALL:12,
  19. LABEL_TEXT_SIZE_MIDDLE:18,
  20. LABEL_TEXT_SIZE_LARGE:24,
  21. createBtnTextSprite: function(divSprite, text, color){
  22. var spr = divSprite;
  23. var h = spr.m_h;
  24. spr.m_div.style.textAlign="center";
  25. spr.m_div.style.lineHeight= spr.m_div.style.height;
  26. spr.m_div.style.fontFamily="Arial";
  27. spr.m_div.style.fontWeight="bold";
  28. spr.m_div.style.fontSize=Math.round(h/4)+"px";
  29. //add shadow from up down left and right
  30. spr.m_div.style.textShadow="-2px -2px 2px #7D2D1B, 2px 2px 2px #7D2D1B, 2px -2px 2px #7D2D1B, -2px 2px 2px #7D2D1B ";
  31. spr.m_div.style.color=color;
  32. spr.m_div.innerHTML=text;
  33. return spr;
  34. },
  35. preProcess : function() {
  36. var index = 0;
  37. // var img = null;
  38. var btn = null;
  39. var info = null;
  40. var infoDown = null;
  41. var ctx = null;
  42. var mySelf = this;
  43. if (!this.m_load_ui) {
  44. this.createUIs(this.CUR_UI_DEFS);
  45. if (FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD) {
  46. this.createBtns(this.CUR_BTN_DEFS, true);
  47. } else {
  48. this.createBtns(this.CUR_BTN_ANDROID_DEFS,
  49. true);
  50. }/*
  51. if (FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD) {
  52. info = FZ.getImgInfo(this.SOUND_SWITCH_DEFS[0]);
  53. cloneInfo = FZ
  54. .getImgInfo(this.SOUND_SWITCH_DEFS[1]);
  55. this.m_btn_list[this.BTN_SOUND_INDEX]
  56. .setSwitchButton(info.fileURL,
  57. cloneInfo.fileURL);
  58. }*/
  59. FZ.DivManager.addChild(this.m_main_div);
  60. if (FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD) {
  61. this.m_sound = FZ.GameBase.SaveObject.m_sound;
  62. //FZ.Music.setMute(!this.m_sound);
  63. }
  64. this.m_load_ui = true;
  65. }/*
  66. if (FZ.TargetMobile !== FZ.TARGET_DEF.ANDRIOD) {
  67. this.m_sound = FZ.GameBase.SaveObject.m_sound;
  68. // FZ.Music.setMute(!this.m_sound);
  69. var btn = this.m_btn_list[this.BTN_SOUND_INDEX];
  70. if (this.m_sound === true) {
  71. btn.setSwitchState(btn.SWITCH_ON);
  72. // FZ.Music.play(FZ.ResourceManager.ResourceLib.BGMusic.Resource,
  73. // true);
  74. } else {
  75. btn.setSwitchState(btn.SWITCH_OFF);
  76. }
  77. }*/
  78. if (FZ.GameBase.SaveObject.m_cur_level === 0) {
  79. this.m_btn_list[this.BTN_PLAY_INDEX].setEnable(true);
  80. this.m_btn_list[this.BTN_PLAY_INDEX].m_div.style.display = "inline";
  81. this.createBtnTextSprite(this.m_btn_list[this.BTN_PLAY_INDEX], FZ.GameText.TEXT_START_GAME, this.COLOR_ORANGE);
  82. }else if (FZ.GameBase.SaveObject.pass) {
  83. this.m_btn_list[this.BTN_PLAY_INDEX].setEnable(true);
  84. this.m_btn_list[this.BTN_PLAY_INDEX].m_div.style.display = "inline";
  85. this.createBtnTextSprite(this.m_btn_list[this.BTN_PLAY_INDEX], FZ.GameText.TEXT_START_GAME, this.COLOR_ORANGE);
  86. FZ.GameBase.SaveObject.m_cur_level = 0;
  87. FZ.GameBase.SaveObject.pass = false;
  88. FZ.GameBase.SaveObject.score = 0;
  89. FZ.GameBase.SaveObject.m_hint = FZ.GameDefs.LEVEL_HINT_NUMBER[1];
  90. FZ.GameBase.SaveObject.m_totalUsedHint = 0;
  91. FZ.GameBase.SaveObject.m_gamein = false;
  92. FZ.GameBase.saveGame();
  93. }else{
  94. this.m_btn_list[this.BTN_PLAY_INDEX].setEnable(true);
  95. this.m_btn_list[this.BTN_PLAY_INDEX].m_div.style.display = "inline";
  96. this.createBtnTextSprite(this.m_btn_list[this.BTN_PLAY_INDEX], FZ.GameText.TEXT_START_GAME, this.COLOR_ORANGE);
  97. }
  98. this.m_main_div.style.display = "inline";
  99. this.resetTranslate(0.5);
  100. setTimeout(function() {
  101. mySelf.fade_in.call(mySelf, 2000, 1);
  102. }, 10);
  103. },
  104. postProcess : function() {
  105. // this.m_main_div.style.display = "none";
  106. if (this.m_next_state !== FZ.StateDefs.GAME_STATE_GAME_CLEAR){
  107. this.fade_out(2000, 0, 0);
  108. }
  109. },
  110. pause: function(){
  111. clearTimeout(this.m_timer);
  112. },
  113. resume: function(){
  114. if (arguments.length > 0) {
  115. statename = arguments[0];
  116. }
  117. if (arguments.length > 1) {
  118. if (arguments[1] === "yes") {
  119. // setTimeout(function(){
  120. // FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_MAINMEN);
  121. // }, 100);
  122. FZ.GameBase.SaveObject.m_cur_level = 0;
  123. FZ.GameBase.SaveObject.pass = false;
  124. FZ.GameBase.SaveObject.score = 0;
  125. FZ.GameBase.SaveObject.m_hint = FZ.GameDefs.LEVEL_HINT_NUMBER[1];
  126. FZ.GameBase.SaveObject.m_totalUsedHint = 0;
  127. FZ.GameBase.SaveObject.m_gamein = false;
  128. FZ.GameBase.saveGame();
  129. FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_GAME_IN);
  130. return;
  131. }
  132. else {
  133. this.m_next_state = FZ.StateDefs.GAME_STATE_MAINMEN;
  134. }
  135. }
  136. },
  137. buttonClick : function(btn) {
  138. if (this.m_btn_list[this.BTN_PLAY_INDEX] === btn) {
  139. FZ.GameBase.switchToState(FZ.StateDefs.GAME_STATE_GAME_IN);
  140. }
  141. /*else if(this.m_btn_list[this.BTN_SOUND_INDEX] === btn) {
  142. this.m_sound = !this.m_sound;
  143. FZ.Music.setMute(!this.m_sound);
  144. if (this.m_sound) {
  145. btn.setSwitchState(btn.SWITCH_ON);
  146. // FZ.Music.play(FZ.ResourceManager.ResourceLib.BGMusic.Resource,
  147. // true);
  148. } else {
  149. btn.setSwitchState(btn.SWITCH_OFF);
  150. // FZ.Music.stop();
  151. }
  152. FZ.GameBase.SaveObject.m_sound = this.m_sound;
  153. FZ.GameBase.saveGame();
  154. }*/
  155. }
  156. }, FZ.BaseState))();