"use strict"; cc._RF.push(module, '326b2b8smtLAZhRjHcvfMC4', 'cmp.openserver.wnd'); // Scripts/mod/open_server/cmp.openserver.wnd.js "use strict"; var BridgeWindow = require("bridge.window"); var FxTogs = require("nx.fx.togs"); var SvcList = require("nx.fx.sv.expand"); var mod = require("mail.mod"); var BattleDramaController = require("battle_drama_controller"); var PathTool = require("pathtool"); var NxSpine = require("nx.fx.spine"); var ModP8 = require("act.appoint8.mod"); var themeMod = require("acts.mod"); var RoleController = require("role_controller"); var BattleController = require("battle_controller"); var BattleConst = require("battle_const"); cc.Class({ "extends": BridgeWindow, properties: { nodTog: { "default": null, type: FxTogs }, // nodCnt : { default : null, type: SvcList }, nodInfos: { "default": [], type: [cc.Node] }, listPage1: { "default": null, type: SvcList }, listPage2: { "default": null, type: SvcList }, listPage3: { "default": null, type: SvcList }, Info1Role: { "default": null, type: NxSpine }, //node2 textAct1Level: { "default": null, type: cc.Label }, textDays: { "default": [], type: [cc.Label] }, textDayLines: { "default": [], type: [cc.Node] }, btnAct1Goto: { "default": null, type: cc.Node }, labAct1NotOpen: { "default": null, type: cc.Node }, labAct1NotOpen2: { "default": null, type: cc.Node }, nodAct0Tip: { "default": null, type: cc.Node } //node3 }, onLoad: function onLoad() { this.mod = mod.getInstance(); if (!this.mod) { this.delayClose(); } var cur_ui_fight_type = BattleController.getInstance().getUIFightType(); if (cur_ui_fight_type == BattleConst.Fight_Type.Darma) { //TODO: } this.controller = BattleDramaController.getInstance(); this.model = this.controller.getModel(); this.select_index = 0; }, onOpenConfigs: function onOpenConfigs(_param) { this.openServer = RoleController.getInstance().openServer; this.nodTog.posTog = this.onTogMenu.bind(this); this.nodTog.togTo(0); this.onTogMenu(0); var cfg = game.configs.activity_advertisement_data.data_const; var reg_time = this.openServer.reg_time + cfg.partner_time.val; this.left = reg_time - Math.floor(cc.sys.now() / 1000) > 0; this.nodTog.node.children[2].active = reg_time - Math.floor(cc.sys.now() / 1000) > 0; //是不是跳转回来显示活动页签 var needShowAct = cc.sys.localStorage.getItem("needBackOpenServerAct"); if (needShowAct == 1) cc.sys.localStorage.removeItem("needBackOpenServerAct"); //如果副本活动都领完了,那就不显示了 if (this.closeBtn1) { nx.gui.setActive(this.nodTog, "tog1", false); this.nodTog.togTo(1); this.onTogMenu(1); if (this.closeBtn2) { nx.gui.setActive(this.nodTog, "tog2", false); this.nodTog.togTo(2); this.onTogMenu(2); } } else { var _cfg = game.configs.activity_advertisement_data.data_info; var acts = nx.bridge.acts.acts; var showcamp = null; if (acts) { for (var a in acts) { var act = acts[a]; for (var i in _cfg) { var info = _cfg[i]; if (act.data.source == info.source_id) { showcamp = act.data; break; } } } } if (showcamp) { this.onReflashActs(); } else { this.closeBtn2 = true; } if (this.closeBtn2) { nx.gui.setActive(this.nodTog, "tog2", false); } } if (this.closeBtn2 == false && needShowAct == 1) { this.nodTog.togTo(1); this.onTogMenu(1); } }, onPreClosed: function onPreClosed() { this.listPage1.rebuild([]); this.listPage2.rebuild([]); this.listPage3.rebuild([]); }, onTogMenu: function onTogMenu(_idx) { for (var i = 0; i < this.nodInfos.length; i++) { nx.gui.setActive(this.nodInfos[i], "", i == _idx); } // nx.debug( "$UI:onTogMenu:", _idx ); switch (_idx) { case 0: { this.onReflashDrama(); } break; case 1: { this.onReflashActs(); } break; case 2: { this.onReflashHero(); } break; } }, onReflashDrama: function onReflashDrama() { var pass_list = this.model.getDramaRewardPassList(); // 已通关列表 var drama_data = this.model.getDramaData(); // 当前剧情副本数据 this.rewards_list = []; var floor = 0; var max_dun_id = drama_data.max_dun_id; var cur_drama_dungeon_info = game.configs.dungeon_data.data_drama_dungeon_info[max_dun_id]; if (cur_drama_dungeon_info) { floor = cur_drama_dungeon_info.floor || 0; // 当前层,用于比较的 } this.closeBtn1 = true; // 遍历出整个列表 for (var key in game.configs.dungeon_data.data_drama_reward) { var config = game.configs.dungeon_data.data_drama_reward[key]; if (config) { var target_config = game.configs.dungeon_data.data_drama_dungeon_info[config.limit_id]; if (target_config && config.is_prediction == "1") { var object = { config_data: config, id: config.id, is_received: pass_list[config.id] || false, cur_dunname: target_config.name, cur_dun: floor, sort_index: 0, sort: config.sort, target_dun: target_config.floor, prediction_desc: config.prediction_desc }; this.rewards_list.push(object); if (max_dun_id >= config.limit_id) { if (object.is_received) { object.sort_index = 3; // 已领取 // if(object.id == 8) // { // bShowSepGet = true; // } } else { object.sort_index = 1; // 可领取 this.closeBtn1 = false; } } else { object.sort_index = 2; // 条件不满足 this.closeBtn1 = false; } } } } if (this.closeBtn1) return; //排序 this.rewards_list.sort(Utils.tableLowerSorter(["sort_index", "sort"])); this.listPage1.rebuild(this.rewards_list); }, onReflashActs: function onReflashActs() { this.closeBtn2 = true; //刷新主展示活动0-->八日约定 var a1 = ModP8.getInstance(); a1.loadConfigs("login_days_new_data"); var drama_data = this.model.getDramaData(); var cfgs = game.configs.login_days_new_data.data_day; if (cfgs) { //先把奖励设置上去 for (var i in cfgs) { var cfg = cfgs[i]; var str = cc.js.formatStr(nx.text.getKey("action_str35"), cfg.day, cfg.desc); this.textDays[i - 1].string = str; } } //开放等级 var open_config = game.configs.source_data.data_source_data[333]; if (open_config) { var str = cc.js.formatStr(nx.text.getKey("action_str36"), open_config.lev_limit[1]); this.textAct1Level.string = open_config.desc1; this.act1_data = drama_data.max_dun_id >= open_config.lev_limit[1]; } // for (var _i = 0; _i < this.textDayLines.length; _i++) { // nx.gui.setActive( this.textDayLines[i], "", false ); this.textDayLines[_i].active = false; this.textDays[_i].node.color = new cc.Color(1, 1, 1); } var time = 0; if (a1) { if (a1.data) { time = a1.data.end_time; } } this.labAct1NotOpen.active = false; this.labAct1NotOpen2.active = false; if (this.act1_data) { this.closeBtn2 = false; var bShowTip = false; //活动开启的 for (var _i2 = 0; _i2 < this.act1_data.length; _i2++) { var data = this.act1_data[_i2]; var day = data.day - 1; switch (data.status) { case 2: { //可领取 this.textDays[day].node.color = new cc.Color(150, 91, 8); bShowTip = true; } break; case 3: { //已领取 // nx.gui.setActive( this.textDayLines[day], "", true ); this.textDayLines[day].active = true; this.textDays[day].node.color = new cc.Color(143, 141, 141); } break; } } this.nodAct0Tip.active = bShowTip; this.btnAct1Goto.active = true; } else { //活动未开启 this.nodAct0Tip.active = false; this.btnAct1Goto.active = false; if (open_config) { var binder = RoleController.getInstance().getRoleVo(); if (binder.lev < open_config.lev_limit[1]) this.labAct1NotOpen2.active = true;else this.labAct1NotOpen.active = true; } else this.labAct1NotOpen.active = true; } var acts = nx.bridge.acts.acts; var showcamp = null; if (acts) { for (var a in acts) { var act = acts[a]; if (act.data.source == 333) { showcamp = act.data; break; } } } if (showcamp) { this.labAct1NotOpen.active = false; } else { this.labAct1NotOpen.active = true; this.btnAct1Goto.active = false; } if (time > 0) { nx.gui.setCdTxt(this.btnAct1Goto.parent, "time/time", time - Math.floor(cc.sys.now() / 1000)); } else { nx.gui.setString(this.btnAct1Goto.parent, "time/time", ""); } nx.gui.setActive(this.btnAct1Goto.parent, "time", time > 0); //第二个颜色不变 this.textDays[1].node.color = new cc.Color(235, 0, 0); //下面是4个小框活动 this.act_list = []; for (var key in game.configs.activity_advertisement_data.data_info) { var cf = game.configs.activity_advertisement_data.data_info[key]; if (cf.source_id != 333) { var open_config = game.configs.source_data.data_source_data[cf.source_id]; var object = { name: cf.name, desc: cf.desc, items: cf.items, source_id: cf.source_id, lv: open_config.lev_limit[1], tip: false }; //判断下活动有没有开启 if (cf.source_id == 334) { var theme = themeMod.getInstance().queryThemeBySource(cf.source_id); if (theme) { this.closeBtn2 = false; var akey = "acts." + theme.theme_id + ".1.1002"; object.tip = nx.mTip.vget(akey); } } else { var theme = themeMod.getInstance().queryTheme(101); if (theme) { for (var k in theme.theme_holiday_list) { var _act = theme.theme_holiday_list[k]; if (_act && _act.source == cf.source_id) { this.closeBtn2 = false; var _akey = "acts." + theme.theme_id + "." + _act.cate + "." + _act.camp_id + ".reward"; object.tip = nx.mTip.vget(_akey); break; } } } } this.act_list.push(object); } } if (this.closeBtn2) { //要叠加上开服天数,15天之内也要显示 var role = RoleController.getInstance().getRoleVo(); if (role && role.open_day > 15) return;else this.closeBtn2 = false; } this.act_list.sort(Utils.tableLowerSorter(["source_id"])); this.listPage2.rebuild(this.act_list); }, touchAct0Goto: function touchAct0Goto() { nx.bridge.closePanel("WndOpenServer"); cc.sys.localStorage.setItem("needBackOpenServerAct", 1); nx.bridge.createPanel("WndAppoint8"); }, onReflashHero: function onReflashHero() { this.hero_list = []; this.hero_list.push(1); this.listPage3.rebuild(this.hero_list); var cfg = game.configs.activity_advertisement_data.data_const; var nod = this.nodInfos[2]; var timenod = nx.gui.find(nod, "time"); var reg_time = this.openServer.reg_time + cfg.partner_time.val; nx.gui.setCdTxt(timenod, "time", reg_time - Math.floor(cc.sys.now() / 1000)); }, close: function close() { var role = RoleController.getInstance().getRoleVo(); role.openserverstatus = !this.closeBtn1 && !this.closeBtn2 && this.left; this._super(); } }); cc._RF.pop();