"use strict"; cc._RF.push(module, '37852SEv+lJSId/3wvVYWxc', 'cmp.endless.wnd'); // Scripts/mod/pve/endless_trail/cmp/cmp.endless.wnd.js "use strict"; var BridgeWindow = require("bridge.window"); var PathTool = require("pathtool"); var EndlessController = require("endless_trail_controller"); var ItemLay = require("cmp.common.itemlayout"); var EndlessEvent = require("endless_trail_event"); var HeroController = require("hero_controller"); var PartnerConst = require("partner_const"); var HeroVo = require("hero_vo"); var TipsController = require("tips_controller"); var RankConstant = require("rank_constant"); var RKC = require("rank_controller"); cc.Class({ "extends": BridgeWindow, properties: { floor_round: { "default": null, type: cc.Label }, acktip: { "default": null, type: cc.Label }, fight_btn: { "default": null, type: cc.Node }, can_reward: { "default": null, type: cc.Node }, first_title: { "default": null, type: cc.RichText }, limit_txt: { "default": null, type: cc.RichText }, get_btn: { "default": null, type: cc.Node }, fabItem: { "default": null, type: cc.Prefab }, itemNd: { "default": null, type: cc.Node }, rank_items: { "default": null, type: ItemLay }, friendHelp: { "default": null, type: cc.Node }, myHelp: { "default": null, type: cc.Node }, fabHero: { "default": null, type: cc.Prefab } }, // LIFE-CYCLE CALLBACKS: onLoad: function onLoad() { this.ctrl = EndlessController.getInstance(); this.model = this.ctrl.getModel(); // 今日已挑战或者今日没挑战的状态 this.ack_status = 0; this.bindGEvent(EndlessEvent.UPDATA_BASE_DATA, this.updateBaseInfo.bind(this)); this.bindGEvent(EndlessEvent.UPDATA_FIRST_DATA, this.updateFirstItem.bind(this)); //支援红点 this.bindGEvent(EndlessEvent.UPDATA_REDPOINT_SENDPARTNER_DATA, this.updateFriendRed.bind(this)); //首次领取红点 this.bindGEvent(EndlessEvent.UPDATA_REDPOINT_FIRST_DATA, this.updateFirstRed.bind(this)); //奖励红点 this.bindGEvent(EndlessEvent.UPDATA_REDPOINT_REWARD_DATA, this.updateRewardRed.bind(this)); //更新我方助战 this.bindGEvent(EndlessEvent.UPDATE_SEND_MAIN_DATA, this.updateMySender.bind(this)); }, updateMySender: function updateMySender(data) { //提供雇佣 var sender_data = data; if (sender_data.list[0]) { if (!this.helpMe) { this.helpMe = cc.instantiate(this.fabHero); this.helpMe.parent = this.myHelp; this.helpMe.position = cc.v2(0, 10); } var vo = new HeroVo(); vo.bid = sender_data.list[0].bid; vo.lev = sender_data.list[0].lev; vo.power = sender_data.list[0].power; vo.quality = sender_data.list[0].quality; vo.star = sender_data.list[0].star; vo.ext_data = sender_data.list[0].ext_data; var pNd = nx.gui.find(this.myHelp, "lay"); nx.gui.setString(pNd, "power", sender_data.list[0].power); var cmp = nx.gui.getComponent(this.helpMe, "", "cmp.partner.com"); cmp.setData(vo); } }, updateRewardRed: function updateRewardRed(status) { //fight_btn // nx.mTip.openTip }, updateFirstRed: function updateFirstRed(status) { //get_btn // nx.mTip.openTip }, updateFriendRed: function updateFriendRed(status) { // nx.mTip.openTip }, updateBaseInfo: function updateBaseInfo(data) { if (nx.dt.objEmpty(data)) { return; } this.base_data = data; this.floor_round.string = data.max_round; var str1 = cc.js.formatStr(nx.text.getKey("lab_endless_trail_main_from_node_start"), data.current_round); var str2 = cc.js.formatStr(nx.text.getKey("lab_endless_trail_main_pass_node_today"), data.day_pass_round); this.acktip.string = cc.js.formatStr("%s(%s)", str1, str2); if (data.day_pass_round == 0) { nx.gui.setString(this.fight_btn, "txt", nx.text.getKey("endless_start_fight")); } else { nx.gui.setString(this.fight_btn, "txt", nx.text.getKey("lab_endless_trail_main_restart")); } if (data.day_pass_round != 0 && data.is_reward == 1) { this.ack_status = 2; } else { this.ack_status = 1; } //雇佣伙伴 if (data.is_employ && !nx.dt.arrEmpty(data.list)) { if (data.list[0]) { var partner_data = data.list[0]; var vo = new HeroVo(); vo.bid = partner_data.bid; vo.lev = partner_data.lev; vo.power = partner_data.power; vo.quality = partner_data.quality; vo.star = partner_data.star; vo.ext_data = partner_data.ext_data; if (!this.helpOther) { this.helpOther = cc.instantiate(this.fabHero); this.helpOther.parent = this.friendHelp; this.helpOther.position = cc.v2(0, 10); } var powerNd = nx.gui.find(this.friendHelp, "lay"); nx.gui.setString(powerNd, "power", partner_data.power); var cmp = nx.gui.getComponent(this.helpOther, "", "cmp.partner.com"); cmp.setData(vo); } } else { if (this.helpOther) { var _powerNd = nx.gui.find(this.friendHelp, "lay"); nx.gui.setString(_powerNd, "power", ""); var _cmp = nx.gui.getComponent(this.helpOther, "", "cmp.partner.com"); _cmp.setData(null); } } // 达到上限 if (data.is_reward == 1) { this.can_reward.active = true; } else { this.can_reward.active = false; } // 自己当前排名奖励 this.updateRankItem(); }, //排名奖励 updateRankItem: function updateRankItem() { if (this.base_data.my_idx == null) return; var config = null; for (var i in game.configs.endless_data.data_rank_reward_data) { var v = game.configs.endless_data.data_rank_reward_data[i]; if (this.base_data.my_idx >= v.min && this.base_data.my_idx <= v.max) { config = v; break; } } if (config == null) { //未上榜 // this.rank_notice.node.active = true; this.rank_items.rebuild([]); // this.my_rank_value.string = nx.text.getKey("lab_endless_trail_main_no_rank"); } else { // this.rank_notice.node.active = false; // this.my_rank_value.string = this.base_data.my_idx; var temp_list = []; for (var j in config.items) { temp_list.push({ bid: config.items[j][0], num: config.items[j][1] }); } this.rank_items.rebuild(temp_list); } }, updateFirstItem: function updateFirstItem(data) { if (nx.dt.objEmpty(data)) { return; } if (game.configs.endless_data.data_first_data && this.base_data) { this.first_data = data; var first_data = game.configs.endless_data.data_first_data[this.first_data.id]; if (this.first_data.id == 0) { var str = nx.text.getKey("lab_endless_trail_main_have_taken_over"); this.limit_txt.string = str; this.limit_txt.node.active = true; this.first_title.node.active = false; this.get_btn.active = false; } else { if (first_data) { var str = cc.js.formatStr(nx.text.getKey("lab_endless_trail_main_first_pass_reward"), first_data.limit_id); this.first_title.string = str; if (this.first_data.status == 1) { this.get_btn.active = true; this.limit_txt.node.active = false; } else { str = cc.js.formatStr(nx.text.getKey("lab_endless_trail_main_after_node_reward"), first_data.limit_id - this.base_data.max_round); this.limit_txt.string = str; this.limit_txt.node.active = true; this.get_btn.active = false; } this.first_item = cc.instantiate(this.fabItem); this.first_item.parent = this.itemNd; var cmp = nx.gui.getComponent(this.first_item, "", "cmp.item.base"); cmp.setData(first_data.items[0]); } } } }, start: function start() {}, onOpenConfigs: function onOpenConfigs() { this.ctrl.send23900(); this.ctrl.send23903(); this.ctrl.send23905(); //查询我方助战 }, onPreClosed: function onPreClosed() {}, onClickMyHelp: function onClickMyHelp() { this.ctrl.openEndlessMyHelpView(true); }, onClickFriendHelp: function onClickFriendHelp() { this.ctrl.openEndlessFriendHelpView(true); }, onClickReward: function onClickReward() { this.ctrl.openEndlessRewardWindow(true); }, onClickTips: function onClickTips() { var TC = TipsController.getInstance(); if (TC) { var txt = game.configs.endless_data.data_explain; TC.showDetailPanel(txt); } }, onClickGet: function onClickGet() { if (this.first_data) { this.ctrl.send23904(this.first_data.id); } }, onCLickAct: function onCLickAct() { var has_hire_list = this.model.getHasHirePartnerData() || {}; var list = has_hire_list.list || {}; if (this.ack_status == 2) { HeroController.getInstance().openFormGoFightPanel(true, PartnerConst.Fun_Form.EndLess, { has_hire_list: list }); nx.mbox(nx.text.getKey("msg_endless_trail_main_cannot_get_reward"), ["cancel", "confirm"], function (_key, _box) { _box.close(); if (_key == "confirm") { HeroController.getInstance().openFormGoFightPanel(true, PartnerConst.Fun_Form.EndLess, { has_hire_list: list }); } }); } else { HeroController.getInstance().openFormGoFightPanel(true, PartnerConst.Fun_Form.EndLess, { has_hire_list: list }); } }, onClickRank: function onClickRank() { RKC.getInstance().openRankDetail(RankConstant.RankType.endless); } // update (dt) {}, }); cc._RF.pop();