NewRewardItem.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { _decorator, Component, Node, Label, ProgressBar, Sprite, Button } from 'cc';
  2. import InfiniteCell from '../../core/InfiniteList/InfiniteCell';
  3. import { Http } from '../../core/net/Http';
  4. import { g } from '../../Data/g';
  5. import { NewRewardWindow3 } from './NewRewardWindow_3';
  6. const { ccclass, property } = _decorator;
  7. @ccclass('NewRewardItem')
  8. export class NewRewardItem extends InfiniteCell {
  9. @property({ type: Label, tooltip: "任务描述" }) decLabel: Label;
  10. @property({ type: ProgressBar, tooltip: "任务进度" }) progress: ProgressBar;
  11. @property({ type: Node, tooltip: "领取奖励" }) getBtn: Node;
  12. @property({ type: Http, tooltip: "http组件" }) http: Http;
  13. private taskId = 0;
  14. async UpdateContent(itemData: any) {
  15. this.taskId = itemData.id;
  16. this.decLabel.string = itemData.name.split("/").join("");
  17. this.progress.progress = itemData.progress / itemData.num;
  18. if (itemData.state != 2) {
  19. this.getBtn.getComponent(Sprite).grayscale = true;
  20. this.getBtn.getComponent(Button).enabled = false;
  21. } else {
  22. this.getBtn.getComponent(Sprite).grayscale = false;
  23. this.getBtn.getComponent(Button).enabled = true;
  24. }
  25. }
  26. public async onBtn() {
  27. if (Date.now() < g.gameData.threedayTaskTime * 1000) {
  28. let result = await this.http.send("/api/threeDayTask/threeDayTaskReceive", { taskID: this.taskId });
  29. if (result.code == 0) {
  30. NewRewardWindow3.needReLoad = true;
  31. }
  32. }
  33. }
  34. }