UI_Win.ts 2.4 KB

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