UI_Hall.ts 5.1 KB

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