"use strict"; cc._RF.push(module, '9667dtEtadAro1E6zRz2+9f', 'action_common_Item'); // Scripts/mod/action/view/action_common_Item.js "use strict"; var PathTool = require("pathtool"); var ActionController = require("action_controller"); var ActionConst = require("action_const"); var StrongerController = require("stronger_controller"); var CommonScrollView = require("common_scrollview"); var VipController = require("vip_controller"); var HeroController = require("hero_controller"); var HeroConst = require("hero_const"); var ActionCommonItem = cc.Class({ "extends": BasePanel, ctor: function ctor() { this.prefabPath = PathTool.getPrefabPath("welfare", "luxury_item"); this.ctrl = ActionController.getInstance(); }, // 可以初始化声明一些变量的 initConfig: function initConfig() {}, // 初始化一些配置数据,可以用于声明一些变量之类的 initPanel: function initPanel() { var self = this; var main_container = self.root_wnd.getChildByName("main_container"); self.btn_goto = main_container.getChildByName("btn_goto"); self.btn_goto_label = self.btn_goto.getChildByName("Text_7_0"); self.btn_goto_label.getComponent(cc.Label).string = Utils.TI18N("前往"); self.btn_goto.active = false; self.btn_get = main_container.getChildByName("btn_get"); self.btn_get_label = self.btn_get.getChildByName("Text_7"); self.btn_get_ui = main_container.getChildByName("btn_get").getComponent(cc.Button); self.btn_get.active = false; self.has_get = main_container.getChildByName("has_get"); self.has_get.active = false; self.text_tesk = main_container.getChildByName("text_tesk"); self.text_tesk.getComponent(cc.Label).string = ""; self.goods_con = main_container.getChildByName("good_cons"); var scroll_view_size = self.goods_con.getContentSize(); var setting = { item_class: "backpack_item", //-- 单元类 start_x: 3, //-- 第一个单元的X起点 space_x: 5, //-- x方向的间隔 start_y: 4, //-- 第一个单元的Y起点 space_y: 4, //-- y方向的间隔 item_width: 120 * 0.80, //-- 单元的尺寸width item_height: 120 * 0.80, //-- 单元的尺寸height row: 1, // -- 行数,作用于水平滚动类型 col: 0, //-- 列数,作用于垂直滚动类型 scale: 0.80 //-- 缩放 }; self.item_scrollview = new CommonScrollView(); self.item_scrollview.createScroll(self.goods_con, cc.v2(0, 0), ScrollViewDir.horizontal, ScrollViewStartPos.top, scroll_view_size, setting); // self.item_scrollview:setSwallowTouches(false) self.title_desc = main_container.getChildByName("title_desc"); if (this.data) { this.setData(this.data); } }, // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent registerEvent: function registerEvent() { var self = this; this.btn_goto.on('click', this.gotoSpecificView, this); this.btn_get.on('click', function () { Utils.playButtonSound(1); if (this.holiday_item_bid && this.data) { this.ctrl.cs16604(this.holiday_item_bid, this.data.aim); } }, this); }, gotoSpecificView: function gotoSpecificView() { Utils.playButtonSound(1); var self = this; // --直接跳转到充值界面的 if (self.holiday_item_bid && (self.holiday_item_bid == ActionConst.ActionRankCommonType.acc_luxury || self.holiday_item_bid == ActionConst.ActionRankCommonType.totle_charge || self.holiday_item_bid == ActionConst.ActionRankCommonType.limit_charge)) { VipController.getInstance().openVipMainWindow(true, VIPTABCONST.CHARGE); } else if (self.holiday_item_bid && self.holiday_item_bid == ActionConst.ActionRankCommonType.luckly_egg) { // --砸蛋的跳转是特殊的 var id = ActionRankCommonType.smashegg; var tab_vo = this.ctrl.getActionSubTabVo(id); if (tab_vo) { if (this.ctrl.action_operate) { this.ctrl.action_operate.handleSelectedTab(this.ctrl.action_operate.tab_list[id]); } } } else if (self.holiday_item_bid && self.holiday_item_bid == ActionConst.ActionRankCommonType.hero_awake) { // --觉醒豪礼特殊处理 var hero_vo = HeroController.getInstance().getModel().getTopLevHeroInfoByBid(self.cur_bid); var all_role_list = HeroController.getInstance().getModel().getAllHeroArray(); // --无指定英雄则前往限时召唤获取 if (!hero_vo || !all_role_list || all_role_list.size == 0) { StrongerController.getInstance().clickCallBack(411); } else { HeroController.getInstance().openHeroMainInfoWindow(true, hero_vo, all_role_list.items, { show_model_type: HeroConst.BagTab.eBagHero }); } } else { var num; if (self.holiday_item_bid == ActionConst.ActionRankCommonType.speed_fight || self.holiday_item_bid == ActionConst.ActionRankCommonType.speed_fight1) { num = 132; } else if (self.holiday_item_bid == ActionConst.ActionRankCommonType.voyage || self.holiday_item_bid == ActionConst.ActionRankCommonType.voyage1) { num = 126; } else if (self.holiday_item_bid == ActionConst.ActionRankCommonType.hero_expedit || self.holiday_item_bid == ActionConst.ActionRankCommonType.hero_expedit1) { num = 151; } else if (self.holiday_item_bid == ActionConst.ActionRankCommonType.epoint_gold || self.holiday_item_bid == ActionConst.ActionRankCommonType.epoint_gold1) { num = 123; } else if (self.holiday_item_bid == ActionConst.ActionRankCommonType.adventure) { num = 407; } else if (self.holiday_item_bid == ActionConst.ActionRankCommonType.updata_star) { num = 404; } if (num) { StrongerController.getInstance().clickCallBack(num); } } }, // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了 onShow: function onShow(params) {}, // 面板设置不可见的回调,这里做一些不可见的屏蔽处理 onHide: function onHide() {}, setExtendData: function setExtendData(tab) { this.holiday_item_bid = tab.bid; this.is_activity_end = tab.time_end; this.finish = tab.finish; }, setData: function setData(data) { if (!data) return; this.data = data; var self = this; if (this.root_wnd) { self.getButtonTeskProgress(data); self.title_desc.getComponent(cc.RichText).string = StringUtil.parse(data.aim_str); if (self.holiday_item_bid != ActionConst.ActionRankCommonType.longin_gift) { self.btn_goto.active = data.status == 0; } else { if (data.status == 0) { self.btn_get.active = true; self.btn_get_ui.interactable = false; self.btn_get_ui.enableAutoGrayEffect = true; self.btn_get_label.color = new cc.Color(255, 255, 255); } else { self.btn_get_ui.interactable = true; self.btn_get_ui.enableAutoGrayEffect = false; self.btn_get_label.color = new cc.Color(113, 40, 4); } } // self.btn_get.active = (data.status == 1) // self.btn_goto.active = (data.status == 0) // self.has_get.active = (data.status == 2) if (self.is_activity_end == true && data.status == 0) { self.btn_goto_label.getComponent(cc.Label).string = "已结束"; self.btn_goto_label.color = new cc.Color(255, 255, 255); Utils.setGreyButton(this.btn_goto.getComponent(cc.Button), true); } // -- 物品列表 var item_list = data.item_list; var list = []; for (var k = 0; k < item_list.length; ++k) { var v = item_list[k]; if (v && v.bid) { list.push(v); } } self.item_scrollview.setData(list); self.item_scrollview.addEndCallBack(function () { self.item_scrollview.scroll_view_compend.enabled = false; var itemList = self.item_scrollview.getItemList(); for (var _k = 0; _k < itemList.length; ++_k) { var _v = itemList[_k]; _v.setDefaultTip(true, false); } }.bind(this)); } }, getButtonTeskProgress: function getButtonTeskProgress(data) { var self = this; var str = ""; if (self.holiday_item_bid != ActionConst.ActionRankCommonType.longin_gift) { var totle_count, current_count; var totle_list = Utils.keyfind('aim_args_key', 4, data.aim_args) || null; if (totle_list) { totle_count = totle_list.aim_args_val || 0; } var current_list = Utils.keyfind('aim_args_key', 5, data.aim_args) || null; if (current_list) { current_count = current_list.aim_args_val || 0; } if (totle_count >= 0 && current_count >= 0) { str = "(" + current_count + "/" + totle_count + ")"; } // --升星有礼、融合祝福、觉醒豪礼 var count; var count_list = Utils.keyfind('aim_args_key', 6, data.aim_args) || null; if (count_list) { count = count_list.aim_args_val || 0; } if (count >= 0 && totle_count >= 0) { str = "(" + count + "/" + totle_count + ")"; if (count >= totle_count && data.status == 0) { data.status = 2; } } // --觉醒豪礼所用 var bid_list = Utils.keyfind('aim_args_key', 18, data.aim_args) || null; if (bid_list) { self.cur_bid = bid_list.aim_args_val || 0; } // --充值类型的 if (self.holiday_item_bid == ActionConst.ActionRankCommonType.acc_luxury) { if (data.status == 0) { str = "(0/1)"; } else { str = "(1/1)"; } } else if (self.holiday_item_bid == ActionConst.ActionRankCommonType.totle_charge || self.holiday_item_bid == ActionConst.ActionRankCommonType.totle_consume || self.holiday_item_bid == ActionConst.ActionRankCommonType.limit_charge) { // --累充和累消的 str = "(" + self.finish + "/" + data.aim + ")"; } } else { str = "(" + self.finish + "/" + data.aim + ")"; } self.text_tesk.getComponent(cc.Label).string = str; self.btn_get.active = data.status == 1; self.has_get.active = data.status == 2; }, // 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用 onDelete: function onDelete() { if (this.item_scrollview) { this.item_scrollview.deleteMe(); this.item_scrollview = null; } } }); cc._RF.pop();