UI_Win.ts 2.7 KB

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