"use strict";
|
cc._RF.push(module, '2840dPTRbpJMKc5P2sS6la1', 'charge_panel');
|
// Scripts/mod/vip/view/charge_panel.js
|
|
"use strict";
|
|
// --------------------------------------------------------------------
|
// @author: xxx@syg.com(必填, 创建模块的人员)
|
// @description:
|
// 这里是描述这个窗体的作用的
|
// <br/>Create: 2019-03-22 11:09:17
|
// --------------------------------------------------------------------
|
var PathTool = require("pathtool");
|
|
var ChargeItem = require("charge_item");
|
|
var VipEvent = require("vip_event");
|
|
var ChargePanel = cc.Class({
|
"extends": BasePanel,
|
ctor: function ctor() {
|
this.prefabPath = PathTool.getPrefabPath("vip", "charge_panel");
|
},
|
// 可以初始化声明一些变量的
|
initConfig: function initConfig() {
|
this.ctrl = require("vip_controller").getInstance();
|
this.role_vo = require("role_controller").getInstance().getRoleVo();
|
this.item_list = {};
|
},
|
// 初始化一些配置数据,可以用于声明一些变量之类的
|
initPanel: function initPanel() {
|
this.scroll_con = this.seekChild("scrollCon");
|
this.scroll_sv = this.seekChild("scrollCon", cc.ScrollView);
|
this.content_nd = this.seekChild(this.scroll_con, "con");
|
},
|
// 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
|
registerEvent: function registerEvent() {
|
this.addGlobalEvent(VipEvent.UPDATE_CHARGE_LIST, function (list) {
|
for (var k in list) {
|
var v = list[k];
|
|
if (Config.charge_data.data_charge_data[v.id]) {
|
v.sort = Config.charge_data.data_charge_data[v.id].sort;
|
}
|
}
|
|
list.sort(Utils.tableUpperSorter(["sort"]));
|
this.createItemList(list);
|
}, this);
|
},
|
// 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
|
onShow: function onShow() {
|
this.ctrl.sender16700();
|
this.ctrl.sender21005();
|
|
require("welfare_controller").getInstance().sender16705();
|
},
|
createItemList: function createItemList(list) {
|
var _this = this;
|
|
// return
|
if (list == null) return;
|
var height = Math.max(this.content_nd.getContentSize().height, Math.ceil(list.length / 3) * 235 + 20);
|
this.content_nd.setContentSize(660, height);
|
list.sort(Utils.tableLowerSorter(["get_gold"]));
|
this.scroll_sv.scrollToTop(0);
|
|
var _loop = function _loop(k) {
|
var v = list[k];
|
Utils.delayRun(_this.content_nd, 0.05 * (Number(k) + 1), function () {
|
if (this.item_list[k] == null) {
|
var item = new ChargeItem();
|
var index = Number(k);
|
item.setPosition(219 * (index % 3) - 325, height / 2 - Math.ceil((index + 1) / 3) * 235);
|
item.show();
|
item.addCallBack(function (item) {
|
if (this.select_item != null && this.select_item.getData().id != item.getData().id) {
|
this.select_item.setSelect(false);
|
}
|
|
this.select_item = item;
|
}.bind(this));
|
item.setParent(this.content_nd);
|
this.item_list[k] = item;
|
}
|
|
this.item_list[k].setData(v);
|
}.bind(_this));
|
};
|
|
for (var k in list) {
|
_loop(k);
|
}
|
},
|
setVisibleStatus: function setVisibleStatus(status) {
|
this.setVisible(status);
|
},
|
// 面板设置不可见的回调,这里做一些不可见的屏蔽处理
|
onHide: function onHide() {},
|
// 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
|
onDelete: function onDelete() {
|
if (this.item_list) {
|
for (var k in this.item_list) {
|
this.item_list[k].deleteMe();
|
this.item_list[k] = null;
|
}
|
|
this.item_list = null;
|
}
|
}
|
});
|
|
cc._RF.pop();
|