UI_Win.ts 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import { _decorator, find, Sprite } from "cc";
  2. import { GameUILayers, gui } from "../../../core/ui/ui";
  3. import ui_base from "../../../core/ui/ui_base";
  4. import { ResUtil } from "../../../core/util/ResUtil";
  5. import { ModuleDef } from "../../../Scripts/ModuleDef";
  6. import { SceneDef } from "../../../Scripts/SceneDef";
  7. import { UI_Hall } from "../UI_Hall/UI_Hall";
  8. import { ani_ui, UI_Main } from "../UI_Main/UI_Main";
  9. import { Layout_Win } from "./Layout_Win";
  10. import { Container_Manager } from "../../game/Container_Manager";
  11. import ch_audio from "../../../ch/audio/audio";
  12. import { GameState, Hall } from "../../hall/Hall";
  13. import { ch } from "../../../ch/ch";
  14. const { ccclass, property } = _decorator;
  15. @ccclass('UI_Win')
  16. export class UI_Win extends ui_base {
  17. constructor() {
  18. super(ModuleDef.GAME, 'ui/UI_Win/Win', GameUILayers.HUD, Layout_Win);
  19. }
  20. protected async onCreated() {
  21. Hall.getInstance().gameState = GameState.win;
  22. const layout = this.getLayout<Layout_Win>();
  23. ani_ui(layout.Three_Btn.node.parent.parent);
  24. layout.Container = find('Container').getComponent(Container_Manager);
  25. Hall.getInstance().player.set_coin(Hall.getInstance().player.get_coin() + 50);
  26. this.onButtonEvent(layout.Three_Btn, async (button: any) => {
  27. ch_audio.getInstance().playOneShot('sound/click_Btn');
  28. //三倍奖励 看广告
  29. const ret = await chsdk.playRewardAd('三倍获取铜币');
  30. if (ret) {
  31. Hall.getInstance().player.set_coin(Hall.getInstance().player.get_coin() + 150 - 50);
  32. //按钮置灰 点击无效
  33. layout.Three_Btn.interactable = false;
  34. layout.Three_Btn.node.getComponent(Sprite).grayscale = true;
  35. layout.Txt.string = '铜币+150';
  36. ch.audio.resume();
  37. }
  38. }, this);
  39. this.onButtonEvent(layout.Next_Btn, async (button: any) => {
  40. ch_audio.getInstance().playOneShot('sound/click_Btn');
  41. //下一关
  42. gui.get(UI_Main).evt.emit(gui.get(UI_Main).evt.key.next_level);
  43. gui.close(UI_Win);
  44. layout.Container.level_idioms();
  45. gui.get(UI_Main).evt.emit(gui.get(UI_Main).evt.key.update_ui_idioms);
  46. gui.get(UI_Main).evt.emit(gui.get(UI_Main).evt.key.update_remain);
  47. //关卡难度
  48. //重新选词
  49. //刷新UI_Idioms
  50. //计时刷新,剩余方块数量刷新
  51. }, this);
  52. this.onButtonEvent(layout.ReturnHall_Btn, async (button: any) => {
  53. ch_audio.getInstance().playOneShot('sound/click_Btn');
  54. //返回大厅
  55. await gui.closeAll();
  56. gui.show(UI_Hall);
  57. ResUtil.loadScene(SceneDef.Hall, ModuleDef.GAME, true);
  58. }, this);
  59. }
  60. }