"use strict"; cc._RF.push(module, '4ed04BQijlLZabeYNzOWJEK', 'action_limit_gift_main_panel'); // Scripts/mod/action/view/action_limit_gift_main_panel.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里是描述这个窗体的作用的 //
Create: 2019-04-25 17:10:55 // -------------------------------------------------------------------- var PathTool = require("pathtool"); var TimeTool = require("timetool"); var ActionLimitGiftMainPanel = cc.Class({ "extends": BasePanel, ctor: function ctor() { this.prefabPath = PathTool.getPrefabPath("action", "action_limit_gift_main_panel"); this.data = arguments[0]; }, // 可以初始化声明一些变量的 initConfig: function initConfig() {}, // 初始化一些配置数据,可以用于声明一些变量之类的 initPanel: function initPanel() { var self = this; self.main_container = self.root_wnd.getChildByName("main_container"); var x = this.getPositionX(); this.setPosition(x, -20); self.title_img = self.main_container.getChildByName("title_img"); self.is_level_gift = false; if (self.data && self.data.config) { var title = self.data.config.res_1 || "txt_cn_action_limit_gift_level"; var path = PathTool.getUIIconPath("bigbg/limit_gift", title); this.loadRes(path, function (res) { self.title_img.getComponent(cc.Sprite).spriteFrame = res; }.bind(this)); if (self.data.config.codition && self.data.config.codition[0] != null) { self.level_img = self.main_container.getChildByName("level_img"); if (self.data.config.codition[0] == "lev") { // --说明是等级礼包 self.is_level_gift = true; var level; if (self.data.config.res_2 == null || self.data.config.res_2 == "") { level = "action_limit_gift_level_18"; } else { level = self.data.config.res_2; } var path1 = PathTool.getUIIconPath("bigbg/limit_gift", level); this.loadRes(path1, function (res) { self.level_img.getComponent(cc.Sprite).spriteFrame = res; }.bind(this)); } } } self.item_scrollview = self.main_container.getChildByName("item_scrollview"); self.content = self.item_scrollview.getChildByName("content"); // self.item_scrollview:setScrollBarEnabled(false) // -- self.item_scrollview:setSwallowTouches(false) self.comfirm_btn = self.main_container.getChildByName("comfirm_btn"); self.comfirm_label = self.comfirm_btn.getChildByName("label"); self.time_val = self.main_container.getChildByName("time_val").getComponent(cc.Label); // --和后端协议好..活动结束后会有两天兑换时间..这里把时间减去了 var time = self.data.end_time; self.setLessTime(time); self.value = self.main_container.getChildByName("value"); if (self.is_level_gift) { self.time_val.node.y = -51; self.item_scrollview.width = 240; self.item_scrollview.y = -97; self.content.y = -self.item_scrollview.width / 2; // self.item_scrollview:setContentSize(cc.size(469,240)) } // self.item_scrollview_size = self.item_scrollview:getContentSize() self.setData(this.data); }, // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent registerEvent: function registerEvent() { this.comfirm_btn.on('click', function () { Utils.playButtonSound(1); this.onComfirmBtn(); }, this); }, onComfirmBtn: function onComfirmBtn() { var self = this; if (!self.data) return; if (!self.data.config) return; var charge_id = self.data.config.package_id || 0; var charge_config = Config.charge_data.data_charge_data[charge_id]; if (charge_config) { SDK.pay(charge_config.val, null, charge_config.id, charge_config.name, charge_config.name); } }, // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了 onShow: function onShow(params) {}, // 面板设置不可见的回调,这里做一些不可见的屏蔽处理 onHide: function onHide() {}, setData: function setData(data) { var _this = this; var self = this; if (!data) return; if (!data.config) return; this.data = data; var num = self.data.num || 0; self.value.getComponent(cc.Label).string = "剩余: " + num; if (self.item_list) return; var config = Config.charge_data.data_charge_data[self.data.config.package_id]; if (config) { var str = config.val + "元"; self.comfirm_label.getComponent(cc.Label).string = str; } // --物品id var reward = self.data.config.reward || []; var scale = 0.9; self.item_list = {}; var _loop = function _loop(i) { Utils.delayRun(self.content, i / 30, function () { var node = new cc.Node(); node.setContentSize(120 * scale, 120 * scale); self.content.addChild(node); if (!self.item_list[i]) { var bid = reward[i][0]; var _num = reward[i][1]; var item = ItemsPool.getInstance().getItem("backpack_item"); item.setDefaultTip(true, false); item.setParent(node); item.initConfig(false, scale, false, true); item.show(); self.item_list[i] = item; item.setData({ bid: bid, num: _num }); } }.bind(_this)); }; for (var i = 0; i < reward.length; ++i) { _loop(i); } }, setLessTime: function setLessTime(less_time) { var self = this; if (!self.time_val) { return; } less_time = less_time || 0; if (less_time > 0) { this.setTimeFormatString(less_time); if (this.time_tichet == null) { this.time_tichet = gcore.Timer.set(function () { less_time--; this.setTimeFormatString(less_time); if (less_time < 0) { gcore.Timer.del(this.time_tichet); this.time_tichet = null; this.setTimeFormatString(less_time); } }.bind(this), 1000, -1); } } else { this.setTimeFormatString(less_time); } }, setTimeFormatString: function setTimeFormatString(time) { if (time > 0) { var str = "剩余时间: " + TimeTool.getTimeFormatDayIIIIII(time); this.time_val.string = str; } else { this.time_val.string = ""; } }, // 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用 onDelete: function onDelete() { if (this.time_tichet) { gcore.Timer.del(this.time_tichet); this.time_tichet = null; } if (this.item_list) { for (var i in this.item_list) { this.item_list[i].deleteMe(); } } } }); cc._RF.pop();