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
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/hero/equip/equip_cloth_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, 'e7868ORLHxHcJBUuji6H9EI', 'equip_cloth_item');
// Scripts/mod/hero/equip/equip_cloth_item.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
//     这里是描述这个窗体的作用的
// <br/>Create: 2019-03-26 19:39:32
// --------------------------------------------------------------------
var PathTool = require("pathtool");
 
var EquipClothItem = cc.Class({
  "extends": BasePanel,
  ctor: function ctor() {
    this.prefabPath = PathTool.getPrefabPath("hero", "equip_cloth_item");
  },
  // 可以初始化声明一些变量的
  initConfig: function initConfig() {
    this.icon_list = {
      "atk": 21,
      "hp_max": 22,
      "def": 23,
      "speed": 37,
      "atk_per": 21
    };
    this.attr_data_key = Config.attr_data.data_id_to_key;
    this.attr_data_name = Config.attr_data.data_id_to_name;
  },
  // 初始化一些配置数据,可以用于声明一些变量之类的
  initPanel: function initPanel() {
    this.item_con_nd = this.seekChild("item_con");
    this.equip_btn_nd = this.seekChild("equip_btn");
    this.equip_name_lb = this.seekChild("equip_name", cc.Label);
    this.equip_lev_lb = this.seekChild("equip_lev", cc.Label);
    this.equip_score_lb = this.seekChild("equip_score", cc.Label);
    this.attr_icon_sp = this.seekChild("attr_icon", cc.Sprite);
    this.attr_name_lb = this.seekChild("attr_name", cc.Label);
    this.attr_val_lb = this.seekChild("attr_val", cc.Label);
    this.backpack_item = ItemsPool.getInstance().getItem("backpack_item");
    this.backpack_item.setParent(this.item_con_nd);
    this.backpack_item.setExtendData({
      effect: false,
      scale: 0.9
    });
    this.backpack_item.show();
    this.equip_btn_nd.on(cc.Node.EventType.TOUCH_END, this.onClickEquipBtn, this);
  },
  // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
  registerEvent: function registerEvent() {},
  // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
  onShow: function onShow(params) {
    this.updateWidgets();
  },
  // 面板设置不可见的回调,这里做一些不可见的屏蔽处理
  onHide: function onHide() {},
  // 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
  onDelete: function onDelete() {
    if (this.backpack_item) {
      this.backpack_item.deleteMe();
      this.backpack_item = null;
    }
  },
  setData: function setData(data) {
    this.equip_data = data;
    if (this.root_wnd) this.updateWidgets();
  },
  updateWidgets: function updateWidgets() {
    this.equip_name_lb.string = this.equip_data.config.name;
    this.equip_lev_lb.string = this.equip_data.lev;
    this.equip_score_lb.string = this.equip_data.score; // main_attr
 
    var main_attr = this.equip_data.main_attr[0];
 
    if (main_attr) {
      var attr_key = this.attr_data_key[main_attr.attr_id];
      var attr_res = this.icon_list[attr_key];
      var attr_icon_path = PathTool.getUIIconPath("common", "common_900" + attr_res);
      this.loadRes(attr_icon_path, function (attr_sf) {
        this.attr_icon_sp.spriteFrame = attr_sf;
      }.bind(this));
      var attr_name = this.attr_data_name[main_attr.attr_id];
      this.attr_name_lb.string = attr_name + ":";
      this.attr_val_lb.string = main_attr.attr_val;
    }
 
    this.backpack_item.setData(this.equip_data); // this.backpack_item.setItemNum();
  },
  addCallBack: function addCallBack(callback) {
    this.select_cb = callback;
  },
  onClickEquipBtn: function onClickEquipBtn() {
    if (this.select_cb) this.select_cb(this.equip_data);
  }
});
 
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxoZXJvXFxlcXVpcFxcZXF1aXBfY2xvdGhfaXRlbS5qcyJdLCJuYW1lcyI6WyJQYXRoVG9vbCIsInJlcXVpcmUiLCJFcXVpcENsb3RoSXRlbSIsImNjIiwiQ2xhc3MiLCJCYXNlUGFuZWwiLCJjdG9yIiwicHJlZmFiUGF0aCIsImdldFByZWZhYlBhdGgiLCJpbml0Q29uZmlnIiwiaWNvbl9saXN0IiwiYXR0cl9kYXRhX2tleSIsIkNvbmZpZyIsImF0dHJfZGF0YSIsImRhdGFfaWRfdG9fa2V5IiwiYXR0cl9kYXRhX25hbWUiLCJkYXRhX2lkX3RvX25hbWUiLCJpbml0UGFuZWwiLCJpdGVtX2Nvbl9uZCIsInNlZWtDaGlsZCIsImVxdWlwX2J0bl9uZCIsImVxdWlwX25hbWVfbGIiLCJMYWJlbCIsImVxdWlwX2xldl9sYiIsImVxdWlwX3Njb3JlX2xiIiwiYXR0cl9pY29uX3NwIiwiU3ByaXRlIiwiYXR0cl9uYW1lX2xiIiwiYXR0cl92YWxfbGIiLCJiYWNrcGFja19pdGVtIiwiSXRlbXNQb29sIiwiZ2V0SW5zdGFuY2UiLCJnZXRJdGVtIiwic2V0UGFyZW50Iiwic2V0RXh0ZW5kRGF0YSIsImVmZmVjdCIsInNjYWxlIiwic2hvdyIsIm9uIiwiTm9kZSIsIkV2ZW50VHlwZSIsIlRPVUNIX0VORCIsIm9uQ2xpY2tFcXVpcEJ0biIsInJlZ2lzdGVyRXZlbnQiLCJvblNob3ciLCJwYXJhbXMiLCJ1cGRhdGVXaWRnZXRzIiwib25IaWRlIiwib25EZWxldGUiLCJkZWxldGVNZSIsInNldERhdGEiLCJkYXRhIiwiZXF1aXBfZGF0YSIsInJvb3Rfd25kIiwic3RyaW5nIiwiY29uZmlnIiwibmFtZSIsImxldiIsInNjb3JlIiwibWFpbl9hdHRyIiwiYXR0cl9rZXkiLCJhdHRyX2lkIiwiYXR0cl9yZXMiLCJhdHRyX2ljb25fcGF0aCIsImdldFVJSWNvblBhdGgiLCJsb2FkUmVzIiwiYXR0cl9zZiIsInNwcml0ZUZyYW1lIiwiYmlu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LFdBQUtsQyxZQUFMLENBQWtCMkIsTUFBbEIsR0FBMkJlLFNBQVMsR0FBRyxHQUF2QztBQUNBLFdBQUt6QyxXQUFMLENBQWlCMEIsTUFBakIsR0FBMEJLLFNBQVMsQ0FBQ1csUUFBcEM7QUFDSDs7QUFFRCxTQUFLekMsYUFBTCxDQUFtQnFCLE9BQW5CLENBQTJCLEtBQUtFLFVBQWhDLEVBcEJzQixDQXFCdEI7QUFFSCxHQXZGeUI7QUF5RjFCbUIsRUFBQUEsV0FBVyxFQUFFLHFCQUFTQyxRQUFULEVBQW1CO0FBQzVCLFNBQUtDLFNBQUwsR0FBaUJELFFBQWpCO0FBQ0gsR0EzRnlCO0FBNkYxQjlCLEVBQUFBLGVBQWUsRUFBRSwyQkFBVztBQUN4QixRQUFJLEtBQUsrQixTQUFULEVBQ0ksS0FBS0EsU0FBTCxDQUFlLEtBQUtyQixVQUFwQjtBQUNQO0FBaEd5QixDQUFULENBQXJCIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGF1dGhvcjogeHh4QHN5Zy5jb20o5b+F5aGrLCDliJvlu7rmqKHlnZfnmoTkurrlkZgpXG4vLyBAZGVzY3JpcHRpb246XG4vLyAgICAg6L+Z6YeM5piv5o+P6L+w6L+Z5Liq56qX5L2T55qE5L2c55So55qEXG4vLyA8YnIvPkNyZWF0ZTogMjAxOS0wMy0yNiAxOTozOTozMlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnZhciBQYXRoVG9vbCA9IHJlcXVpcmUoXCJwYXRodG9vbFwiKTtcbnZhciBFcXVpcENsb3RoSXRlbSA9IGNjLkNsYXNzKHtcbiAgICBleHRlbmRzOiBCYXNlUGFuZWwsXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnByZWZhYlBhdGggPSBQYXRoVG9vbC5nZXRQcmVmYWJQYXRoKFwiaGVyb1wiLCBcImVxdWlwX2Nsb3RoX2l0ZW1cIik7XG4gICAgfSxcblxuICAgIC8vIOWPr+S7peWIneWni+WMluWjsOaYjuS4gOS6m+WPmOmHj+eahFxuICAgIGluaXRDb25maWc6ZnVuY3Rpb24oKXtcbiAgICAgICAgdGhpcy5pY29uX2xpc3QgPSB7XCJhdGtcIjoyMSwgXCJocF9tYXhcIjoyMiwgXCJkZWZcIjoyMywgXCJzcGVlZFwiOjM3LCBcImF0a19wZXJcIjoyMX07XG4gICAgICAgIHRoaXMuYXR0cl9kYXRhX2tleSA9IENvbmZpZy5hdHRyX2RhdGEuZGF0YV9pZF90b19rZXk7XG4gICAgICAgIHRoaXMuYXR0cl9kYXRhX25hbWUgPSBDb25maWcuYXR0cl9kYXRhLmRhdGFfaWRfdG9fbmFtZTtcbiAgICB9LFxuXG4gICAgLy8g5Yid5aeL5YyW5LiA5Lqb6YWN572u5pWw5o2uLOWPr+S7peeUqOS6juWjsOaYjuS4gOS6m+WPmOmHj+S5i+exu+eahFxuICAgIGluaXRQYW5lbDpmdW5jdGlvbigpe1xuICAgICAgICB0aGlzLml0ZW1fY29uX25kICAgID0gdGhpcy5zZWVrQ2hpbGQoXCJpdGVtX2NvblwiKTtcbiAgICAgICAgdGhpcy5lcXVpcF9idG5fbmQgICA9IHRoaXMuc2Vla0NoaWxkKFwiZXF1aXBfYnRuXCIpO1xuICAgICAgICBcbiAgICAgICAgdGhpcy5lcXVpcF9uYW1lX2xiICA9IHRoaXMuc2Vla0NoaWxkKFwiZXF1aXBfbmFtZVwiLCBjYy5MYWJlbCk7XG4gICAgICAgIHRoaXMuZXF1aXBfbGV2X2xiICAgPSB0aGlzLnNlZWtDaGlsZChcImVxdWlwX2xldlwiLCBjYy5MYWJlbCk7XG4gICAgICAgIHRoaXMuZXF1aXBfc2NvcmVfbGIgPSB0aGlzLnNlZWtDaGlsZChcImVxdWlwX3Njb3JlXCIsIGNjLkxhYmVsKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuYXR0cl9pY29uX3NwICAgPSB0aGlzLnNlZWtDaGlsZChcImF0dHJfaWNvblwiLCBjYy5TcHJpdGUpO1xuICAgICAgICB0aGlzLmF0dHJfbmFtZV9sYiAgID0gdGhpcy5zZWVrQ2hpbGQoXCJhdHRyX25hbWVcIiwgY2MuTGFiZWwpO1xuICAgICAgICB0aGlzLmF0dHJfdmFsX2xiICAgID0gdGhpcy5zZWVrQ2hpbGQoXCJhdHRyX3ZhbFwiLCBjYy5MYWJlbCk7XG5cblxuICAgICAgICB0aGlzLmJhY2twYWNrX2l0ZW0gPSBJdGVtc1Bvb2wuZ2V0SW5zdGFuY2UoKS5nZXRJdGVtKFwiYmFja3BhY2tfaXRlbVwiKTtcbiAgICAgICAgdGhpcy5iYWNrcGFja19pdGVtLnNldFBhcmVudCh0aGlzLml0ZW1fY29uX25kKTtcbiAgICAgICAgdGhpcy5iYWNrcGFja19pdGVtLnNldEV4dGVuZERhdGEoe2VmZmVjdDogZmFsc2UsIHNjYWxlOiAwLjl9KTtcbiAgICAgICAgdGhpcy5iYWNrcGFja19pdGVtLnNob3coKTtcblxuICAgICAgICB0aGlzLmVxdWlwX2J0bl9uZC5vbihjYy5Ob2RlLkV2ZW50VHlwZS5UT1VDSF9FTkQsIHRoaXMub25DbGlja0VxdWlwQnRuLCB0aGlzKTtcbiAgICB9LFxuXG4gICAgLy8g5rOo5YaM5LqL5Lu255uR5ZCs55qE5o6l5Y+jLOS4jemcgOimgeaJi+WKqOiwg+eUqCzlpoLmnpzmmK/kvb/nlKhnY29yZS5HbG9iYWxFdmVudOebkeWQrCzlj6/ku6Xnm7TmjqXosIPnlKhhZGRHbG9iYWxFdmVudFxuICAgIHJlZ2lzdGVyRXZlbnQ6ZnVuY3Rpb24oKXtcblxuICAgIH0sXG5cbiAgICAvLyDpooTliLbkvZPliqDovb3lrozmiJDkuYvlkI4s5re75Yqg5Yiw5a+55bqU5Li76IqC54K55LmL5ZCO55qE5Zue6LCD5Y+v5Lul6K6+572u5LiA5Lqb5pWw5o2u5LqGXG4gICAgb25TaG93OmZ1bmN0aW9uKHBhcmFtcyl7XG4gICAgICAgIHRoaXMudXBkYXRlV2lkZ2V0cygpO1xuICAgIH0sXG5cbiAgICAvLyDpnaLmnb/orr7nva7kuI3lj6/op4HnmoTlm57osIMs6L+Z6YeM5YGa5LiA5Lqb5LiN5Y+v6KeB55qE5bGP6JS95aSE55CGXG4gICAgb25IaWRlOmZ1bmN0aW9uKCl7XG5cbiAgICB9LFxuXG4gICAgLy8g5b2T6Z2i5p2/5LuO5Li76IqC54K56YeK5pS+5o6J55qE6LCD55So5o6l5Y+jLOmcgOimgeaJi+WKqOiwg+eUqCzogIzkuJTkuZ/kuIDlrpropoHosIPnlKhcbiAgICBvbkRlbGV0ZTpmdW5jdGlvbigpe1xuICAgICAgICBpZih0aGlzLmJhY2twYWNrX2l0ZW0pe1xuICAgICAgICAgICAgdGhpcy5iYWNrcGFja19pdGVtLmRlbGV0ZU1lKClcbiAgICAgICAgICAgIHRoaXMuYmFja3BhY2tfaXRlbSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgc2V0RGF0YTogZnVuY3Rpb24oZGF0YSkge1xuICAgICAgICB0aGlzLmVxdWlwX2RhdGEgPSBkYXRhO1xuICAgICAgICBpZiAodGhpcy5yb290X3duZClcbiAgICAgICAgICAgIHRoaXMudXBkYXRlV2lkZ2V0cygpO1xuICAgIH0sXG5cbiAgICB1cGRhdGVXaWRnZXRzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdGhpcy5lcXVpcF9uYW1lX2xiLnN0cmluZyA9IHRoaXMuZXF1aXBfZGF0YS5jb25maWcubmFtZTtcbiAgICAgICAgdGhpcy5lcXVpcF9sZXZfbGIuc3RyaW5nID0gdGhpcy5lcXVpcF9kYXRhLmxldjtcbiAgICAgICAgdGhpcy5lcXVpcF9zY29yZV9sYi5zdHJpbmcgPSB0aGlzLmVxdWlwX2RhdGEuc2NvcmU7ICBcblxuICAgICAgICAvLyBtYWluX2F0dHJcbiAgICAgICAgdmFyIG1haW5fYXR0ciA9IHRoaXMuZXF1aXBfZGF0YS5tYWluX2F0dHJbMF07XG4gICAgICAgIGlmIChtYWluX2F0dHIpIHtcbiAgICAgICAgICAgIHZhciBhdHRyX2tleSA9IHRoaXMuYXR0cl9kYXRhX2tleVttYWluX2F0dHIuYXR0cl9pZF07XG4gICAgICAgICAgICB2YXIgYXR0cl9yZXMgPSB0aGlzLmljb25fbGlzdFthdHRyX2tleV07XG4gICAgICAgICAgICB2YXIgYXR0cl9pY29uX3BhdGggPSBQYXRoVG9vbC5nZXRVSUljb25QYXRoKFwiY29tbW9uXCIsIFwiY29tbW9uXzkwMFwiICsgYXR0cl9yZXMpO1xuICAgICAgICAgICAgdGhpcy5sb2FkUmVzKGF0dHJfaWNvbl9wYXRoLCBmdW5jdGlvbihhdHRyX3NmKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hdHRyX2ljb25fc3Auc3ByaXRlRnJhbWUgPSBhdHRyX3NmO1xuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcblxuICAgICAgICAgICAgdmFyIGF0dHJfbmFtZSA9IHRoaXMuYXR0cl9kYXRhX25hbWVbbWFpbl9hdHRyLmF0dHJfaWRdO1xuICAgICAgICAgICAgdGhpcy5hdHRyX25hbWVfbGIuc3RyaW5nID0gYXR0cl9uYW1lICsgXCLvvJpcIjtcbiAgICAgICAgICAgIHRoaXMuYXR0cl92YWxfbGIuc3RyaW5nID0gbWFpbl9hdHRyLmF0dHJfdmFsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5iYWNrcGFja19pdGVtLnNldERhdGEodGhpcy5lcXVpcF9kYXRhKTtcbiAgICAgICAgLy8gdGhpcy5iYWNrcGFja19pdGVtLnNldEl0ZW1OdW0oKTtcblxuICAgIH0sXG5cbiAgICBhZGRDYWxsQmFjazogZnVuY3Rpb24oY2FsbGJhY2spIHtcbiAgICAgICAgdGhpcy5zZWxlY3RfY2IgPSBjYWxsYmFjaztcbiAgICB9LFxuXG4gICAgb25DbGlja0VxdWlwQnRuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0X2NiKVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RfY2IodGhpcy5lcXVpcF9kYXRhKTtcbiAgICB9LFxufSkiXX0=