MessageItem.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. const DWTool = require("../utils/DWTool");
  2. cc.Class({
  3. extends: cc.Component,
  4. properties: {
  5. titleLabel: cc.Label,
  6. iconSprite: cc.Sprite,
  7. },
  8. // cdTime 剩余时间 是 [long] 查看
  9. // 5 desc 描述 是 [string] 查看
  10. // 6 name 名称 是 [string] 查看
  11. // 7 sId 业务ID 如果是商品就是商品ID 如果是技能就是技能id 是 [string] 查看
  12. // 8 type 类别 1商品 2技能
  13. init(messageData) {
  14. let iconPath = './textures/messageList/' + messageData.icon;
  15. this._messageData = messageData;
  16. DWTool.loadResSpriteFrame(iconPath)
  17. .then((spriteFrame) => {
  18. this.iconSprite.spriteFrame = spriteFrame;
  19. }).catch((err) => {
  20. console.log(err);
  21. });
  22. /// 如果cdTime为0那么就是一直存在的 并且是技能的话
  23. // this._isFix = 0;
  24. // if (messageData.type === 2) {
  25. // this._isFix = messageData.skillStatus === 0;
  26. // }
  27. if (this._messageData.type === 2 && this._messageData.skillStatus === 0) {
  28. this._messageData.desc = `${this._messageData.name}可使用`;
  29. this.titleLabel.string = this._messageData.desc;
  30. } else {
  31. let timeStr = '';
  32. if (messageData.cdTime > 0) {
  33. timeStr = ' -- ' + DWTool.calculateTime(messageData.cdTime / 1000);
  34. }
  35. this.titleLabel.string = messageData.desc + timeStr;
  36. }
  37. },
  38. updateTime() {
  39. /// 如果是技能 并且可以用的话 那么直接就不更新了
  40. if (this._messageData.type === 2 && this._messageData.skillStatus === 0) {
  41. this.titleLabel.string = this._messageData.desc;
  42. } else {
  43. if (this._messageData.cdTime > 0) {
  44. this._messageData.cdTime -= 1000;
  45. if (this._messageData.cdTime < 0) {
  46. this._messageData.cdTime = 0;
  47. }
  48. let timeStr = '';
  49. if (this._messageData.cdTime > 0) {
  50. timeStr = ' -- ' + DWTool.calculateTime(this._messageData.cdTime / 1000);
  51. }
  52. this.titleLabel.string = this._messageData.desc + timeStr;
  53. } else if (this._messageData.cdTime < 0) {
  54. this._messageData.cdTime += 1000;
  55. if (this._messageData.cdTime > 0) {
  56. this._messageData.cdTime = 0;
  57. }
  58. this.titleLabel.string = this._messageData.desc;
  59. }
  60. }
  61. },
  62. onDestroy() {
  63. console.log("释放一个信息流item");
  64. },
  65. // LIFE-CYCLE CALLBACKS:
  66. // onLoad () {},
  67. start () {
  68. },
  69. // update (dt) {},
  70. });