PlayGameItem.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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 from "../../scripts/api/ConfigM";
  10. import { DebugM } from "../../scripts/mgr/DebugM";
  11. const { ccclass, property } = _decorator;
  12. @ccclass("PlayGameItem")
  13. export class PlayGameItem extends BaseUI {
  14. protected onLoad(): void {
  15. super.onLoad();
  16. }
  17. private data: GameInfo;
  18. init(item: GameInfo) {
  19. this.data = item;
  20. let c = ConfigM.ins.getGame(item.gameId);
  21. this.setText("lbl_name", c.gameName);
  22. console.log("item.remainPog", item.remainPog);
  23. if (item.seasonPog > 0) {
  24. this.setText(
  25. "lbl_remain_info",
  26. Utils.formatNumber(item.remainPog, 2) +
  27. "/" +
  28. Utils.formatNumber(item.seasonPog, 0)
  29. );
  30. this.setText(
  31. "lbl_my_reward_pog",
  32. Utils.formatNumber(item.myRewardPog, 0)
  33. );
  34. } else {
  35. this.setText("lbl_remain_info", "Coming soon");
  36. this.setText(
  37. "lbl_my_reward_pog",
  38. Utils.formatNumber(item.myRewardPog, 0)
  39. );
  40. }
  41. this.setIcon(item.gameId);
  42. }
  43. async setIcon(gameId: number) {
  44. let path = "texture/play/icon_" + gameId;
  45. let spriteFrame = await AB.ins.loadSpriteFrame(path);
  46. this.FindAs("icon_game", Sprite).spriteFrame = spriteFrame;
  47. }
  48. protected simpleOnBtnClick(name: string): void {
  49. if (name === "btn_play") {
  50. if (!DebugM.ins.isOpenPlayGame()) {
  51. Tips.show("Coming soon");
  52. return;
  53. }
  54. GameDetailLayer.show(this.data.gameId, this.FindNode("icon_game"));
  55. }
  56. }
  57. }