"use strict"; cc._RF.push(module, '33039X1X11J/ZivMoWPylF6', 'limitexercise_panel'); // Scripts/mod/limitexercise/view/limitexercise_panel.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里是描述这个窗体的作用的 //
Create: 2019-09-09 17:32:54 // -------------------------------------------------------------------- var PathTool = require("pathtool"); var LimitexerciseController = require("limitexercise_controller"); var LimitExerciseEvent = require("limitexercise_event"); var LimitExerciseConst = require("limitExercise_const"); var TimeTool = require("timetool"); var LimitexercisePanel = cc.Class({ "extends": BasePanel, ctor: function ctor() { this.prefabPath = PathTool.getPrefabPath("limitexercise", "limitexercise_panel"); this.holiday_bid = arguments[0]; this.ctrl = LimitexerciseController.getInstance(); }, // 可以初始化声明一些变量的 initConfig: function initConfig() {}, // 初始化一些配置数据,可以用于声明一些变量之类的 initPanel: function initPanel() { var x = this.getPositionX(); this.setPosition(x, -20); var main_container = this.root_wnd.getChildByName("main_container"); var load_bg = main_container.getChildByName("bg").getComponent(cc.Sprite); var bg_res = PathTool.getUIIconPath("bigbg/limitexercise", "txt_cn_limit_exercise"); this.loadRes(bg_res, function (res) { load_bg.spriteFrame = res; }.bind(this)); main_container.getChildByName("Text_1").getComponent(cc.Label).string = Utils.TI18N("活动时间:"); this.btn_change = main_container.getChildByName("btn_change"); this.btn_change.getChildByName("Text_4").getComponent(cc.Label).string = Utils.TI18N("前往挑战"); main_container.getChildByName("Text_1_0").getComponent(cc.Label).string = Utils.TI18N("剩余次数:"); main_container.getChildByName("Text_2").getComponent(cc.Label).string = Utils.TI18N("本轮剩余:"); this.round_time = main_container.getChildByName("round_time").getComponent(cc.Label); this.round_time.string = ""; main_container.getChildByName("Text_2_0").getComponent(cc.Label).string = Utils.TI18N("所在区域:"); main_container.getChildByName("Text_2_0_0").getComponent(cc.Label).string = Utils.TI18N("挑战次数:"); main_container.getChildByName("Text_2_0_1").getComponent(cc.Label).string = Utils.TI18N("击败怪物:"); this.aera_text = main_container.getChildByName("aera_text").getComponent(cc.Label); this.aera_text.string = ""; this.change_count = main_container.getChildByName("change_count").getComponent(cc.Label); this.change_count.string = ""; this.defaet_master = main_container.getChildByName("defaet_master").getComponent(cc.Label); this.defaet_master.string = ""; this.item_count = main_container.getChildByName("item_count").getComponent(cc.Label); this.item_count.string = ""; this.remain_time = main_container.getChildByName("remain_time").getComponent(cc.Label); this.remain_time.string = ""; this.goods_con = main_container.getChildByName("goods_con"); this.goods_con_content = this.goods_con.getChildByName("content"); this.setData(); this.ctrl.send25410(); }, // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent registerEvent: function registerEvent() { this.addGlobalEvent(LimitExerciseEvent.LimitExercise_Message_Event, function (data) { if (!data) return; this.actionHolidayData(data); }.bind(this)); this.addGlobalEvent(LimitExerciseEvent.LimitExercise_BuyCount_Event, function (data) { if (!data) return; if (this.item_count) { this.item_count.string = data.count || 0; } }.bind(this)); this.btn_change.on('click', function () { var MainuiController = require("mainui_controller"); var BattleConst = require("battle_const"); MainuiController.getInstance().requestOpenBattleRelevanceWindow(BattleConst.Fight_Type.LimitExercise); Utils.playButtonSound(1); }, this); }, // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了 onShow: function onShow(params) {}, // 面板设置不可见的回调,这里做一些不可见的屏蔽处理 onHide: function onHide() {}, setVisibleStatus: function setVisibleStatus(bool) { bool = bool || false; this.setVisible(bool); }, setData: function setData() { var const_data = Config.holiday_boss_new_data.data_const; if (const_data) { if (const_data.action_time) { var time_desc = const_data.action_time.desc || ""; this.remain_time.string = time_desc; } if (const_data.action_pre_reward) { var data_list = const_data.action_pre_reward.val || []; var setting = {}; setting.scale = 0.9; setting.max_count = 4; setting.is_center = true; setting.show_effect_id = 263; this.item_list = Utils.commonShowSingleRowItemList(this.goods_con, this.item_list, data_list, setting, this.goods_con_content); } } }, actionHolidayData: function actionHolidayData(data) { var time = data.endtime || 0; this.setCountDownTime(this.round_time, time - gcore.SmartSocket.getTime()); this.item_count.string = data.count || 0; this.aera_text.string = Utils.TI18N(LimitExerciseConst.type[data.order_type || 1]); this.change_count.string = data.round_combat || 0; this.defaet_master.string = data.round_boss || 0; }, setCountDownTime: function setCountDownTime(label, less_time) { if (!label) { return; } if (this.time_tichet) { gcore.Timer.del(this.time_tichet); this.time_tichet = null; } if (less_time > 0) { this.setTimeFormatString(label, less_time); this.time_tichet = gcore.Timer.set(function () { less_time--; if (less_time < 0) { gcore.Timer.del(this.time_tichet); this.time_tichet = null; label.string = "00:00:00"; } else { this.setTimeFormatString(label, less_time); } }.bind(this), 1000, -1); } else { this.setTimeFormatString(label, less_time); } }, setTimeFormatString: function setTimeFormatString(label, time) { if (time > 0) { label.string = TimeTool.getTimeFormatDay(time); } else { label.string = "00:00:00"; } }, // 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用 onDelete: function onDelete() { if (this.time_tichet) { gcore.Timer.del(this.time_tichet); this.time_tichet = null; } if (this.item_list) { for (var i = 0; i < this.item_list.length; ++i) { if (this.item_list[i]) { this.item_list[i].deleteMe(); this.item_list[i] = null; } } this.item_list = null; } } }); cc._RF.pop();