PlayGameItem.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import { _decorator, Component, Node, Event } from "cc";
  2. import BaseUI from "../../scripts/base/BaseUI";
  3. import { GameDetailLayer } from "../layer/GameDetailLayer";
  4. import { Tips } from "../../scripts/mgr/Tips";
  5. import { GameInfo } from "../../scripts/api/UserM";
  6. import Utils from "../../scripts/utils/Utils";
  7. import AB from "../../scripts/base/AB";
  8. import { Sprite } from "cc";
  9. import ConfigM, { ConfigGame } from "../../scripts/api/ConfigM";
  10. import { DebugM } from "../../scripts/mgr/DebugM";
  11. import { CritLayer } from "../layer/CritLayer";
  12. const { ccclass, property } = _decorator;
  13. @ccclass("PlayGameItem")
  14. export class PlayGameItem extends BaseUI {
  15. protected onLoad(): void {
  16. super.onLoad();
  17. }
  18. private data: GameInfo;
  19. init(item: GameInfo) {
  20. this.data = item;
  21. if (ConfigM.ins.isOpenPlay(item.gameId)) {
  22. this.FindNode("btn_play").active = true;
  23. } else {
  24. this.FindNode("btn_play").active = false;
  25. }
  26. let c = ConfigM.ins.getGame(item.gameId);
  27. this.setText("lbl_name", c.gameName);
  28. console.log("item.remainPog", item.remainPog);
  29. if (item.seasonPog > 0) {
  30. this.setText(
  31. "lbl_remain_info",
  32. Utils.formatNumber(item.remainPog, 2) +
  33. "/" +
  34. Utils.formatNumber(item.seasonPog, 0)
  35. );
  36. this.setText(
  37. "lbl_my_reward_pog",
  38. Utils.formatNumber(item.myRewardPog, 0)
  39. );
  40. } else {
  41. this.setText("lbl_remain_info", "Coming soon");
  42. this.setText(
  43. "lbl_my_reward_pog",
  44. Utils.formatNumber(item.myRewardPog, 0)
  45. );
  46. }
  47. this.setIcon(item.gameId);
  48. }
  49. async setIcon(gameId: number) {
  50. let path = "texture/play/icon_" + gameId;
  51. let spriteFrame = await AB.ins.loadSpriteFrame(path);
  52. this.FindAs("icon_game", Sprite).spriteFrame = spriteFrame;
  53. }
  54. protected simpleOnBtnClick(name: string): void {
  55. if (name === "btn_play") {
  56. // if (DebugM.ins.isDebugPeople()) {
  57. // CritLayer.show(this.data.gameId, "123", this.data.remainPog);
  58. // return;
  59. // }
  60. if (!ConfigM.ins.isOpenPlay(this.data.gameId)) {
  61. Tips.show("Coming soon");
  62. return;
  63. }
  64. GameDetailLayer.show(this.data.gameId);
  65. }
  66. }
  67. }