difenduandada
2024-12-31 34abe6963b344c882358274957f4b992456fee40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/rank/view/rank_reward_item.js';
                    var __require = nodeEnv ? function (request) {
                        return cc.require(request);
                    } : function (request) {
                        return __quick_compile_project__.require(request, __filename);
                    };
                    function __define (exports, require, module) {
                        if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
cc._RF.push(module, 'a3ac4hQ93hCHYbq2wrdSkpe', 'rank_reward_item');
// Scripts/mod/rank/view/rank_reward_item.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
//     这里是描述这个窗体的作用的
// <br/>Create: 2019-04-24 11:17:12
// --------------------------------------------------------------------
var PathTool = require("pathtool");
 
var Rank_reward_itemPanel = cc.Class({
  "extends": BasePanel,
  ctor: function ctor() {
    this.prefabPath = PathTool.getPrefabPath("rank", "rank_reward_item");
  },
  // 可以初始化声明一些变量的
  initConfig: function initConfig() {
    this.item_list = [];
  },
  // 初始化一些配置数据,可以用于声明一些变量之类的
  initPanel: function initPanel() {
    this.rank_img_sp = this.seekChild("rank_img", cc.Sprite);
    this.rank_label_lb = this.seekChild("rank_label", cc.Label);
    this.con_nd = this.seekChild("con");
  },
  // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
  registerEvent: function registerEvent() {},
  setData: function setData(data) {
    if (this.data && this.data.rank1 == data.rank1) return;
    this.data = data;
    if (this.root_wnd) this.onShow();
  },
  // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
  onShow: function onShow(params) {
    if (this.data == null) return;
    var data = this.data;
 
    if (data.rank1 <= 3) {
      this.rank_label_lb.string = "";
      this.rank_img_sp.node.active = true;
      var res_id = PathTool.getUIIconPath("common", "common_200" + data.rank1);
      this.loadRes(res_id, function (sp) {
        this.rank_img_sp.spriteFrame = sp;
      }.bind(this));
    } else {
      this.rank_img_sp.node.active = false;
      var str = null;
 
      if (data.rank1 && data.rank2) {
        if (data.rank2 == 9999) {
          str = cc.js.formatStr("%s+", data.rank1);
        } else {
          str = cc.js.formatStr("%s~%s", data.rank1, data.rank2);
        }
      } else {
        str = data.rank1;
      }
 
      this.rank_label_lb.string = str;
    }
 
    if (this.item_list) {
      for (var i in this.item_list) {
        var v = this.item_list[i];
 
        if (v) {
          v.setVisible(false);
        }
      }
    }
 
    var scale = 0.9;
    var offsetX = 14;
    var item_width = BackPackItem.Width * scale;
    var index = 0;
 
    for (var i in data.award) {
      var v = data.award[i];
 
      if (!this.item_list[i]) {
        var item = ItemsPool.getInstance().getItem("backpack_item");
        item.initConfig(false, scale, false, true);
        item.show();
        item.setParent(this.con_nd);
        this.item_list[i] = item;
        item.setData({
          bid: v.bid,
          num: v.num
        });
        item.setPosition(index * (item_width + offsetX) + 60, 0);
      } else {
        var _item = this.item_list[i];
 
        _item.setVisible(true);
 
        _item.setData({
          bid: v.bid,
          num: v.num
        });
 
        _item.setPosition(index * (item_width + offsetX) + 60, 0);
      }
 
      index = index + 1;
    }
  },
  // 面板设置不可见的回调,这里做一些不可见的屏蔽处理
  onHide: function onHide() {},
  // 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
  onDelete: function onDelete() {
    if (this.item_list) {
      for (var i in this.item_list) {
        var v = this.item_list[i];
 
        if (v) {
          v.deleteMe();
          v = null;
        }
      }
    }
  }
});
 
cc._RF.pop();
                    }
                    if (nodeEnv) {
                        __define(__module.exports, __require, __module);
                    }
                    else {
                        __quick_compile_project__.registerModuleFunc(__filename, function () {
                            __define(__module.exports, __require, __module);
                        });
                    }
                })();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxyYW5rXFx2aWV3XFxyYW5rX3Jld2FyZF9pdGVtLmpzIl0sIm5hbWVzIjpbIlBhdGhUb29sIiwicmVxdWlyZSIsIlJhbmtfcmV3YXJkX2l0ZW1QYW5lbCIsImNjIiwiQ2xhc3MiLCJCYXNlUGFuZWwiLCJjdG9yIiwicHJlZmFiUGF0aCIsImdldFByZWZhYlBhdGgiLCJpbml0Q29uZmlnIiwiaXRlbV9saXN0IiwiaW5pdFBhbmVsIiwicmFua19pbWdfc3AiLCJzZWVrQ2hpbGQiLCJTcHJpdGUiLCJyYW5rX2xhYmVsX2xiIiwiTGFiZWwiLCJjb25fbmQiLCJyZWdpc3RlckV2ZW50Iiwic2V0RGF0YSIsImRhdGEiLCJyYW5rMSIsInJvb3Rfd25kIiwib25TaG93IiwicGFyYW1zIiwic3RyaW5nIiwibm9kZSIsImFjdGl2ZSIsInJlc19pZCIsImdldFVJSWNvblBhdGgiLCJsb2FkUmVzIiwic3AiLCJzcHJpdGVGcmFtZSIsImJpbmQiLCJzdHIiLCJyYW5rMiIsImpzIiwiZm9ybWF0U3RyIiwiaSIsInYiLCJzZXRWaXNpYmxlIiwic2NhbGUiLCJvZmZzZXRYIiwiaXRlbV93aWR0aCIsIkJhY2tQYWNrSXRlbSIsIldpZHRoIiwiaW5kZXgiLCJhd2FyZCIsIml0ZW0iLCJJdGVtc1Bvb2wiLCJnZXRJbnN0YW5jZSIsImdldEl0ZW0iLCJzaG93Iiwic2V0UGFyZW50IiwiYmlkIiwibnVtIiwic2V0UG9zaXRpb24iLCJfaXRlbSIsIm9uSGlkZSIsIm9uRGVsZXRlIiwiZGVsZXRlTWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSUEsUUFBUSxHQUFHQyxPQUFPLENBQUMsVUFBRCxDQUF0Qjs7QUFFQSxJQUFJQyxxQkFBcUIsR0FBR0MsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDakMsYUFBU0MsU0FEd0I7QUFFakNDLEVBQUFBLElBQUksRUFBRSxnQkFB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Q0FtQixRQUFBQSxLQUFLLENBQUNqQixVQUFOLENBQWlCLElBQWpCOztBQUNBaUIsUUFBQUEsS0FBSyxDQUFDdEMsT0FBTixDQUFjO0FBQUVtQyxVQUFBQSxHQUFHLEVBQUVmLENBQUMsQ0FBQ2UsR0FBVDtBQUFjQyxVQUFBQSxHQUFHLEVBQUVoQixDQUFDLENBQUNnQjtBQUFyQixTQUFkOztBQUNBRSxRQUFBQSxLQUFLLENBQUNELFdBQU4sQ0FBa0JWLEtBQUssSUFBSUgsVUFBVSxHQUFHRCxPQUFqQixDQUFMLEdBQWlDLEVBQW5ELEVBQXVELENBQXZEO0FBQ0g7O0FBQ0RJLE1BQUFBLEtBQUssR0FBR0EsS0FBSyxHQUFHLENBQWhCO0FBQ0g7QUFDSixHQTFGZ0M7QUE0RmpDO0FBQ0FZLEVBQUFBLE1BQU0sRUFBRSxrQkFBWSxDQUVuQixDQS9GZ0M7QUFpR2pDO0FBQ0FDLEVBQUFBLFFBQVEsRUFBRSxvQkFBWTtBQUNsQixRQUFJLEtBQUtqRCxTQUFULEVBQW9CO0FBQ2hCLFdBQUssSUFBSTRCLENBQVQsSUFBYyxLQUFLNUIsU0FBbkIsRUFBOEI7QUFDMUIsWUFBSTZCLENBQUMsR0FBRyxLQUFLN0IsU0FBTCxDQUFlNEIsQ0FBZixDQUFSOztBQUNBLFlBQUlDLENBQUosRUFBTztBQUNIQSxVQUFBQSxDQUFDLENBQUNxQixRQUFGO0FBQ0FyQixVQUFBQSxDQUFDLEdBQUcsSUFBSjtBQUNIO0FBQ0o7QUFDSjtBQUNKO0FBNUdnQyxDQUFULENBQTVCIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGF1dGhvcjogeHh4QHN5Zy5jb20o5b+F5aGrLCDliJvlu7rmqKHlnZfnmoTkurrlkZgpXG4vLyBAZGVzY3JpcHRpb246XG4vLyAgICAg6L+Z6YeM5piv5o+P6L+w6L+Z5Liq56qX5L2T55qE5L2c55So55qEXG4vLyA8YnIvPkNyZWF0ZTogMjAxOS0wNC0yNCAxMToxNzoxMlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnZhciBQYXRoVG9vbCA9IHJlcXVpcmUoXCJwYXRodG9vbFwiKTtcblxudmFyIFJhbmtfcmV3YXJkX2l0ZW1QYW5lbCA9IGNjLkNsYXNzKHtcbiAgICBleHRlbmRzOiBCYXNlUGFuZWwsXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnByZWZhYlBhdGggPSBQYXRoVG9vbC5nZXRQcmVmYWJQYXRoKFwicmFua1wiLCBcInJhbmtfcmV3YXJkX2l0ZW1cIik7XG4gICAgfSxcblxuICAgIC8vIOWPr+S7peWIneWni+WMluWjsOaYjuS4gOS6m+WPmOmHj+eahFxuICAgIGluaXRDb25maWc6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5pdGVtX2xpc3QgPSBbXTtcblxuICAgIH0sXG5cbiAgICAvLyDliJ3lp4vljJbkuIDkupvphY3nva7mlbDmja4s5Y+v5Lul55So5LqO5aOw5piO5LiA5Lqb5Y+Y6YeP5LmL57G755qEXG4gICAgaW5pdFBhbmVsOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMucmFua19pbWdfc3AgPSB0aGlzLnNlZWtDaGlsZChcInJhbmtfaW1nXCIsIGNjLlNwcml0ZSk7XG4gICAgICAgIHRoaXMucmFua19sYWJlbF9sYiA9IHRoaXMuc2Vla0NoaWxkKFwicmFua19sYWJlbFwiLCBjYy5MYWJlbCk7XG4gICAgICAgIHRoaXMuY29uX25kID0gdGhpcy5zZWVrQ2hpbGQoXCJjb25cIik7XG4gICAgfSxcblxuICAgIC8vIOazqOWGjOS6i+S7tuebkeWQrOeahOaOpeWPoyzkuI3pnIDopoHmiYvliqjosIPnlKgs5aaC5p6c5piv5L2/55SoZ2NvcmUuR2xvYmFsRXZlbnTnm5HlkKws5Y+v5Lul55u05o6l6LCD55SoYWRkR2xvYmFsRXZlbnRcbiAgICByZWdpc3RlckV2ZW50OiBmdW5jdGlvbiAoKSB7XG5cbiAgICB9LFxuXG4gICAgc2V0RGF0YTogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEucmFuazEgPT0gZGF0YS5yYW5rMSkgcmV0dXJuXG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgICAgIGlmICh0aGlzLnJvb3Rfd25kKVxuICAgICAgICAgICAgdGhpcy5vblNob3coKTtcbiAgICB9LFxuXG4gICAgLy8g6aKE5Yi25L2T5Yqg6L295a6M5oiQ5LmL5ZCOLOa3u+WKoOWIsOWvueW6lOS4u+iKgueCueS5i+WQjueahOWbnuiwg+WPr+S7peiuvue9ruS4gOS6m+aVsOaNruS6hlxuICAgIG9uU2hvdzogZnVuY3Rpb24gKHBhcmFtcykge1xuICAgICAgICBpZiAodGhpcy5kYXRhID09IG51bGwpIHJldHVyblxuICAgICAgICB2YXIgZGF0YSA9IHRoaXMuZGF0YTtcblxuICAgICAgICBpZiAoZGF0YS5yYW5rMSA8PSAzKSB7XG4gICAgICAgICAgICB0aGlzLnJhbmtfbGFiZWxfbGIuc3RyaW5nID0gXCJcIjtcbiAgICAgICAgICAgIHRoaXMucmFua19pbWdfc3Aubm9kZS5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgdmFyIHJlc19pZCA9IFBhdGhUb29sLmdldFVJSWNvblBhdGgoXCJjb21tb25cIiwgXCJjb21tb25fMjAwXCIgKyBkYXRhLnJhbmsxKTtcbiAgICAgICAgICAgIHRoaXMubG9hZFJlcyhyZXNfaWQsIGZ1bmN0aW9uIChzcCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmFua19pbWdfc3Auc3ByaXRlRnJhbWUgPSBzcDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmFua19pbWdfc3Aubm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIHZhciBzdHIgPSBudWxsO1xuICAgICAgICAgICAgaWYgKGRhdGEucmFuazEgJiYgZGF0YS5yYW5rMikge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhLnJhbmsyID09IDk5OTkpIHtcbiAgICAgICAgICAgICAgICAgICAgc3RyID0gY2MuanMuZm9ybWF0U3RyKFwiJXMrXCIsIGRhdGEucmFuazEpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0ciA9IGNjLmpzLmZvcm1hdFN0cihcIiVzfiVzXCIsIGRhdGEucmFuazEsIGRhdGEucmFuazIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3RyID0gZGF0YS5yYW5rMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucmFua19sYWJlbF9sYi5zdHJpbmcgPSBzdHJcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLml0ZW1fbGlzdCkge1xuICAgICAgICAgICAgZm9yICh2YXIgaSBpbiB0aGlzLml0ZW1fbGlzdCkge1xuICAgICAgICAgICAgICAgIHZhciB2ID0gdGhpcy5pdGVtX2xpc3RbaV07XG4gICAgICAgICAgICAgICAgaWYgKHYpIHtcbiAgICAgICAgICAgICAgICAgICAgdi5zZXRWaXNpYmxlKGZhbHNlKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBzY2FsZSA9IDAuOTtcbiAgICAgICAgdmFyIG9mZnNldFggPSAxNDtcbiAgICAgICAgdmFyIGl0ZW1fd2lkdGggPSBCYWNrUGFja0l0ZW0uV2lkdGggKiBzY2FsZTtcbiAgICAgICAgdmFyIGluZGV4ID0gMDtcblxuICAgICAgICBmb3IgKHZhciBpIGluIGRhdGEuYXdhcmQpIHtcbiAgICAgICAgICAgIHZhciB2ID0gZGF0YS5hd2FyZFtpXTtcbiAgICAgICAgICAgIGlmICghdGhpcy5pdGVtX2xpc3RbaV0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gSXRlbXNQb29sLmdldEluc3RhbmNlKCkuZ2V0SXRlbShcImJhY2twYWNrX2l0ZW1cIik7XG4gICAgICAgICAgICAgICAgaXRlbS5pbml0Q29uZmlnKGZhbHNlLCBzY2FsZSwgZmFsc2UsIHRydWUpO1xuICAgICAgICAgICAgICAgIGl0ZW0uc2hvdygpO1xuICAgICAgICAgICAgICAgIGl0ZW0uc2V0UGFyZW50KHRoaXMuY29uX25kKTtcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1fbGlzdFtpXSA9IGl0ZW07XG4gICAgICAgICAgICAgICAgaXRlbS5zZXREYXRhKHsgYmlkOiB2LmJpZCwgbnVtOiB2Lm51bSB9KTtcbiAgICAgICAgICAgICAgICBpdGVtLnNldFBvc2l0aW9uKGluZGV4ICogKGl0ZW1fd2lkdGggKyBvZmZzZXRYKSArIDYwLCAwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIF9pdGVtID0gdGhpcy5pdGVtX2xpc3RbaV07XG4gICAgICAgICAgICAgICAgX2l0ZW0uc2V0VmlzaWJsZSh0cnVlKTtcbiAgICAgICAgICAgICAgICBfaXRlbS5zZXREYXRhKHsgYmlkOiB2LmJpZCwgbnVtOiB2Lm51bSB9KTtcbiAgICAgICAgICAgICAgICBfaXRlbS5zZXRQb3NpdGlvbihpbmRleCAqIChpdGVtX3dpZHRoICsgb2Zmc2V0WCkgKyA2MCwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbmRleCA9IGluZGV4ICsgMVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIC8vIOmdouadv+iuvue9ruS4jeWPr+ingeeahOWbnuiwgyzov5nph4zlgZrkuIDkupvkuI3lj6/op4HnmoTlsY/olL3lpITnkIZcbiAgICBvbkhpZGU6IGZ1bmN0aW9uICgpIHtcblxuICAgIH0sXG5cbiAgICAvLyDlvZPpnaLmnb/ku47kuLvoioLngrnph4rmlL7mjonnmoTosIPnlKjmjqXlj6Ms6ZyA6KaB5omL5Yqo6LCD55SoLOiAjOS4lOS5n+S4gOWumuimgeiwg+eUqFxuICAgIG9uRGVsZXRlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1fbGlzdCkge1xuICAgICAgICAgICAgZm9yICh2YXIgaSBpbiB0aGlzLml0ZW1fbGlzdCkge1xuICAgICAgICAgICAgICAgIHZhciB2ID0gdGhpcy5pdGVtX2xpc3RbaV07XG4gICAgICAgICAgICAgICAgaWYgKHYpIHtcbiAgICAgICAgICAgICAgICAgICAgdi5kZWxldGVNZSgpO1xuICAgICAgICAgICAgICAgICAgICB2ID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxufSkiXX0=