UI_Hall.ts 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. import { _decorator, Button, Component, Node } from 'cc';
  2. import { Layout_Hall } from './Layout_Hall';
  3. import { UI_Rank } from '../UI_Rank/UI_Rank';
  4. import { UI_Settings } from '../UI_Settings/UI_Settings';
  5. import { UI_Sign } from '../UI_Sign/UI_Sign';
  6. import { UI_Invite } from '../UI_Invite/UI_Invite';
  7. import { GameUILayers, gui } from '../../../core/ui/ui';
  8. import ui_base from '../../../core/ui/ui_base';
  9. import { ResUtil } from '../../../core/util/ResUtil';
  10. import { ModuleDef } from '../../../Scripts/ModuleDef';
  11. import { SceneDef } from '../../../Scripts/SceneDef';
  12. import { UI_Store } from '../UI_Store/UI_Store';
  13. import { UI_SideBar } from '../UI_SideBar/UI_SideBar';
  14. import { UI_Task } from '../UI_Task/UI_Task';
  15. import ch_audio from '../../../ch/audio/audio';
  16. import { GameState, Hall, life_countdown_Max } from '../../hall/Hall';
  17. import { UI_Life } from '../UI_Life/UI_Life';
  18. import { Toast } from '../../../core/util_class/Toast';
  19. const { ccclass, property } = _decorator;
  20. @ccclass('UI_Hall')
  21. export class UI_Hall extends ui_base {
  22. constructor() {
  23. super(ModuleDef.GAME, 'ui/UI_Hall/Hall', GameUILayers.GAME, Layout_Hall);
  24. }
  25. protected onCreated() {
  26. if (Hall.getInstance().gameState == GameState.fail) {
  27. if (Hall.getInstance().player.get_life() == 5) {
  28. Hall.getInstance().player.set_life_countdown(life_countdown_Max);
  29. }
  30. Hall.getInstance().player.set_life(Hall.getInstance().player.get_life() - 1);
  31. }
  32. Hall.getInstance().gameState = GameState.win;
  33. ch_audio.getInstance().play('sound/bgm');
  34. const layout = this.getLayout<Layout_Hall>();
  35. this.onButtonEvent(layout.Start_Btn, () => {
  36. ch_audio.getInstance().playOneShot('sound/click_Btn');
  37. if (Hall.getInstance().player.get_life() > 0) {
  38. Hall.getInstance().sceneChanging=false;
  39. gui.close(UI_Hall);
  40. ResUtil.loadScene(SceneDef.GAME, ModuleDef.GAME, true);
  41. }else{
  42. gui.show(UI_Life);
  43. }
  44. });
  45. this.onButtonEvent(layout.Settings_Btn, () => {
  46. ch_audio.getInstance().playOneShot('sound/click_Btn');
  47. gui.show(UI_Settings);
  48. });
  49. this.onButtonEvent(layout.Rank_Btn, async() => {
  50. ch_audio.getInstance().playOneShot('sound/click_Btn');
  51. await Hall.getInstance().player.loadPfInfo();
  52. gui.show(UI_Rank);
  53. });
  54. this.onButtonEvent(layout.Sign_Btn, () => {
  55. ch_audio.getInstance().playOneShot('sound/click_Btn');
  56. gui.show(UI_Sign);
  57. });
  58. this.onButtonEvent(layout.Invite_Btn, () => {
  59. ch_audio.getInstance().playOneShot('sound/click_Btn');
  60. gui.show(UI_Invite);
  61. });
  62. this.onButtonEvent(layout.Store_Btn, () => {
  63. ch_audio.getInstance().playOneShot('sound/click_Btn');
  64. gui.show(UI_Store);
  65. });
  66. this.onButtonEvent(layout.Task_Btn, () => {
  67. ch_audio.getInstance().playOneShot('sound/click_Btn');
  68. gui.show(UI_Task);
  69. })
  70. this.onButtonEvent(layout.Search_Btn, () => {
  71. Hall.getInstance().player.set_max_floor(parseInt(layout.Search_EditBox.string)-1);
  72. gui.close(UI_Hall);
  73. ResUtil.loadScene(SceneDef.GAME, ModuleDef.GAME, true);
  74. });
  75. if (chsdk.checkHasSidebar()) {
  76. layout.SideBar_Btn.node.active = true;
  77. this.onButtonEvent(layout.SideBar_Btn, () => {
  78. ch_audio.getInstance().playOneShot('sound/click_Btn');
  79. gui.show(UI_SideBar);
  80. });
  81. } else {
  82. layout.SideBar_Btn.node.active = false;
  83. }
  84. this.onButtonEvent(layout.Life_Btn, () => {
  85. ch_audio.getInstance().playOneShot('sound/click_Btn');
  86. gui.show(UI_Life);
  87. });
  88. layout.Life_Num.string = Hall.getInstance().player.get_life().toString();
  89. if (Hall.getInstance().player.get_life_countdown() > 0) {
  90. layout.Life_CountDown.node.active = true;
  91. layout.Life_CountDown.node.parent.active = true;
  92. let minute = Math.floor(Hall.getInstance().player.get_life_countdown() / 60);
  93. let second = Hall.getInstance().player.get_life_countdown() % 60;
  94. layout.Life_CountDown.string = (minute >= 10 ? minute : '0' + minute) + ':' + (second >= 10 ? second : '0' + second) + "后+1";
  95. } else {
  96. layout.Life_CountDown.node.active = false;
  97. layout.Life_CountDown.node.parent.active = false;
  98. }
  99. }
  100. update(deltaTime: number) {
  101. }
  102. set_Life(value: number) {
  103. const layout = this.getLayout<Layout_Hall>();
  104. layout.Life_Num.string = value.toString();
  105. }
  106. set_Life_CountDown(value: number, flag: boolean) {
  107. const layout = this.getLayout<Layout_Hall>();
  108. if (flag) {
  109. layout.Life_CountDown.node.active = true;
  110. layout.Life_CountDown.node.parent.active = true;
  111. let minute = Math.floor(value / 60);
  112. let second = value % 60;
  113. layout.Life_CountDown.string = (minute >= 10 ? minute : '0' + minute) + ':' + (second >= 10 ? second : '0' + second) + "后+1";
  114. } else {
  115. layout.Life_CountDown.node.active = false;
  116. layout.Life_CountDown.node.parent.active = false;
  117. }
  118. }
  119. }