DiamondRechargeLayerItem.ts 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import { _decorator, Component, Node } from "cc";
  2. import BaseUI from "../../scripts/base/BaseUI";
  3. import { IPayListener, PayItems, PayType } from "../common/PayItems";
  4. import RechargeM, { RechargeDto } from "../../scripts/api/RechargeM";
  5. import ConfigM, { ConfigRecharge } from "../../scripts/api/ConfigM";
  6. import { Label } from "cc";
  7. const { ccclass, property } = _decorator;
  8. @ccclass("DiamondRechargeItem")
  9. export class DiamondRechargeItem extends BaseUI implements IPayListener {
  10. configRecharge: ConfigRecharge;
  11. async onPay(type: PayType, price: number) {
  12. switch (type) {
  13. case PayType.USDT:
  14. let url = await RechargeM.ins.createOrder("USD", this._data.id);
  15. // window.open(url, "_blank");
  16. break;
  17. }
  18. }
  19. payItems: PayItems;
  20. private _data: RechargeDto;
  21. init(dto: RechargeDto) {
  22. this.payItems = this.node.getComponentInChildren(PayItems);
  23. this.configRecharge = ConfigM.ins.getRechargeItem(dto.id);
  24. this._data = dto;
  25. this.payItems.init(
  26. [
  27. {
  28. type: PayType.USDT,
  29. price: this.configRecharge.usd,
  30. },
  31. ],
  32. this
  33. );
  34. let extra_value = 0;
  35. if (dto.firstRecharge > 0) {
  36. extra_value = this.configRecharge.firstRechargeList[0].count;
  37. } else {
  38. if (
  39. this.configRecharge.bonusList &&
  40. this.configRecharge.bonusList.length > 0
  41. ) {
  42. extra_value = this.configRecharge.bonusList[0].count;
  43. }
  44. }
  45. this.FindNode("bg_extra").active = extra_value > 0;
  46. if (extra_value) {
  47. this.setText("lbl_extra_value", "EXTRA x" + extra_value + "");
  48. }
  49. let gem = this.configRecharge.goodList[0].count;
  50. this.setText("lbl_item_title", "Diamond x" + gem);
  51. let game_pass_extra = 0;
  52. game_pass_extra = Math.floor(gem * 0.15);
  53. if (game_pass_extra > 1) {
  54. this.setText(
  55. "lbl_game_pass_extra_value",
  56. "Game Pass Extra +" + game_pass_extra + ""
  57. )
  58. } else {
  59. this.FindNode("lbl_game_pass_extra_value").active = false;
  60. }
  61. // let f = this.FindAs("lbl_first_recharge", Label);
  62. // f.string = "first recharge extra x" + this.configRecharge + "";
  63. // f.node.active = this._data.firstRecharge > 0;
  64. this.SetSprite(
  65. "icon_item_gem",
  66. "texture/recharge/gem" + this.configRecharge.id + ""
  67. );
  68. }
  69. start() {}
  70. update(deltaTime: number) {}
  71. }