"use strict"; cc._RF.push(module, '58981wAlfVE7pEJSk2VkNel', 'cmp.pvp.arena.loopc.wnd'); // Scripts/mod/pvp/arena/cmp/cmp.pvp.arena.loopc.wnd.js "use strict"; var BridgeWindow = require("bridge.window"); var TipsController = require("tips_controller"); var ArenaEvent = require("arena_event"); var RoleController = require("role_controller"); var BattleEvent = require("battle_event"); var MallConst = require("mall_const"); var BattleController = require("battle_controller"); var ArenaController = require("arena_controller"); var PartnerConst = require("partner_const"); var HeroController = require("hero_controller"); var HeroConst = require("hero_const"); cc.Class({ "extends": BridgeWindow, properties: { nodTop: { "default": null, type: cc.Node }, nodLst: { "default": null, type: cc.Node }, nodRank: { "default": null, type: cc.Node }, nodRewards: { "default": null, type: cc.Node }, nodFreeTimes: { "default": null, type: cc.Node }, nodDesc: { "default": null, type: cc.Node }, nodIcon: { "default": null, type: cc.Node }, nodCloseIco: { "default": null, type: cc.Node }, nodPower: { "default": null, type: cc.Node }, nodSkip: { "default": null, type: cc.Node } }, onLoad: function onLoad() { nx.gui.setActive(this, "plotWeakest", false); var cmp = nx.gui.getComponent(this.nodSkip, "", cc.Toggle); if (cmp) { cmp.isChecked = false; } // this.onDeal(); this.bindGEvent(ArenaEvent.UpdateLoopChallengeList, this.freshChallengeList.bind(this)); this.bindGEvent(ArenaEvent.UpdateLoopChallengeTimesList, this.freshSelf.bind(this)); this.bindGEvent(ArenaEvent.UpdateMyLoopData, this.freshChallengeOp.bind(this)); this.bindGEvent(BattleEvent.DISPENSE_TYPE_RESLUT, this.showResult.bind(this)); // this.bindGEvent( ArenaEvent.UpdateArena_Number, this.updateRankListInfo.bind(this)); this.first = 0; }, onOpenConfigs: function onOpenConfigs(_params) { this.freshSelf(); var AC = ArenaController.getInstance(); this.scheduleOnce(function () { AC.sender20201(); }, 0.1); }, onEnable: function onEnable() { this.onDeal(); if (nx.storage.get("battleArena")) { if (!nx.bridge.getBridgeWindow("WndArenaLoopCResult")) { nx.bridge.createPanel("WndArenaLoopCResult"); } } }, onDeal: function onDeal() { this.freshSelf(); var BC = BattleController.getInstance(); BC.send20060(2); }, // 重载:关闭前 onPreClosed: function onPreClosed() { // this.nodLst.rebuild( [] ); }, freshChallengeList: function freshChallengeList() { var model = ArenaController.getInstance().getModel(); var challenge_list = model.getLoopChallengeList(); // this.nodLst.rebuild( challenge_list ); nx.gui.gocChildren(this.nodLst, "", challenge_list.length); var chd = this.nodLst.children; for (var i = 0; i < chd.length; i++) { var item = chd[i]; var data = {}; data = nx.dt.objClone(challenge_list[i]); var cmp = item.getComponent("cmp.arena.loopc.item"); if (cmp) { cmp.setData(data); } } // 引导辅助 if (nx.bridge.plot && nx.bridge.plot.isDoing()) { this.positionWeakest(); } }, freshSelf: function freshSelf() { var model = ArenaController.getInstance().getModel(); var role = RoleController.getInstance().getRoleVo(); // 个人领取 奖励信息以及相关的挑战信息 bottom数据相关 var award = model.getChallengeTimesAwards(); // 已挑战次数 var ctimes = model.getHadCombatNum(); nx.gui.setString(this.nodDesc, "ctime/txt", ctimes); var cond = game.configs.arena_data.data_const.arena_skip_count.val; var cmp = nx.gui.getComponent(this.nodSkip, "", cc.Toggle); if (cmp) { if (ctimes >= cond) { if (this.first == 0) { var skip = nx.storage.get("skip_battle" + role.rid); if (skip) { cmp.isChecked = skip > 0 && ctimes >= cond; // nx.storage.set( "skip_battle" + role.rid, cmp.isChecked ? 1 : 0 ); model.setSkip(cmp.isChecked ? 1 : 0); } else { this.onTouchSkip(); } this.first++; } else { var _skip = nx.storage.get("skip_battle" + role.rid); cmp.isChecked = _skip > 0 && ctimes >= cond; model.setSkip(cmp.isChecked ? 1 : 0); } } } this.setRewardsInfo(award); // 设置当前的挑战进度相关 var prog = nx.gui.getComponent(this.nodDesc.parent, "awards/prog", cc.ProgressBar); var all = game.configs.arena_data.data_season_num_reward; var max = game.configs.arena_data.data_season_num_reward[all.length - 1].num; if (prog) { prog.progress = ctimes / max; } this.freshChallengeOp(); // nx.gui.setString( this.nodDesc, "end/txt", ); // {"rank":0,"score":1000,"can_combat_num":3,"buy_combat_num":0,"ref_time":1686809172,"start_time":1686758400,"end_time":1687363199,"cont_win":0} }, freshChallengeOp: function freshChallengeOp() { // 刷新操作显示 var model = ArenaController.getInstance().getModel(); var self_data = model.getMyLoopData(); // 免费挑战次数显示 nx.gui.setString(this.nodFreeTimes, "", self_data.can_combat_num); nx.gui.setString(this.nodRank, "txt", self_data.rank == 0 ? nx.text.getKey("Rank0") : self_data.rank); nx.gui.setCdTxt(this.nodDesc, "end/txt", self_data.end_time - Math.floor(cc.sys.now() / 1000), function () {}); var role = RoleController.getInstance().getRoleVo(); nx.gui.setString(this.nodTop, "point/txt", self_data.score); if (role) { nx.gui.setString(this.nodPower, "txt", nx.text.getKey("TotalPower") + ":" + role.power); } // this.nodLst.rebuild( challenge_list ); var chd = this.nodLst.children; for (var i = 0; i < chd.length; i++) { var item = chd[i]; var cmp = item.getComponent("cmp.arena.loopc.item"); if (cmp) { cmp.freshOp(); } } }, closeAllItemDesc: function closeAllItemDesc() { for (var i = 0; i < this.nodRewards.children.length; i++) { var n = this.nodRewards.children[i]; nx.gui.setActive(n, "show", false); } nx.gui.setActive(this.nodCloseIco, "", false); }, setRewardsInfo: function setRewardsInfo(_award) { var cfg = game.configs.arena_data.data_season_num_reward; var chd = this.nodRewards.children; for (var i = 0; i < cfg.length; i++) { var award = cfg[i]; var nod = chd[i]; var cmp = nod.getComponent("cmp.arena.loopc.reward.item"); if (cmp) { cmp.setData(award, i, { got: _award }); } } }, updateTimesAwards: function updateTimesAwards() {}, onTouchRank: function onTouchRank() { nx.bridge.createPanel("WndArenaLoopCRankAward", { ops: ["RankNow", "DailyAwards", "SeasonAwards"], cb: function cb() { ArenaController.getInstance().sender20221(); }, dfg: game.configs.arena_data.data_activity, sfg: game.configs.arena_data.data_awards, show: "RankNow" }); }, onTouchReward: function onTouchReward() { nx.bridge.createPanel("WndArenaLoopCRankAward", { ops: ["RankNow", "DailyAwards", "SeasonAwards"], cb: function cb() { ArenaController.getInstance().sender20221(); }, dfg: game.configs.arena_data.data_activity, sfg: game.configs.arena_data.data_awards, show: "DailyAwards" }); }, onTouchFresh: function onTouchFresh() { var AC = ArenaController.getInstance(); AC.sender20206(); }, // 跳转竞技场积分商城 onTouchShop: function onTouchShop() { nx.bridge.jumper.jump2Window(2, [MallConst.MallType.ScoreShop, MallConst.MallType.ArenaShop]); }, openWarLog: function openWarLog() { nx.bridge.createPanel("WndArenaLoopCWarLog"); }, closeSelf: function closeSelf() { var _this = this; nx.bridge.createPanel("WndArenaLoopCWorShip"); this.scheduleOnce(function () { _this.close(); }, 0.3); }, // 规则说明 onTouchTip: function onTouchTip() { var desc = game.configs.arena_data.data_explain[1]; var TC = TipsController.getInstance(); if (TC) { TC.showTextPanel(desc.title, desc.desc); } }, showResult: function showResult() { nx.bridge.createPanel("WndArenaLoopCResult"); }, onTouchBuy: function onTouchBuy() { var cfg = game.configs.arena_data.data_const; var item_bid = cfg.arena_ticket.val; var EC = TipsController.getInstance(); var item = { item_bid: item_bid, price: cfg.ticket_price.val[0][1], pay_type: cfg.ticket_price.val[0][0] }; var AC = ArenaController.getInstance(); EC.openBuyPanel(true, item, 5, function (_data) { AC.sender20207(_data.num); EC.openBuyPanel(false); }); }, // 點擊編隊 onTouchForm: function onTouchForm() { var heros = HeroController.getInstance().getModel().getAllHeroArray(); HeroController.getInstance().openFormGoFightPanel(true, PartnerConst.Fun_Form.ArenaDefend, { need_hide_top: true }, HeroConst.FormShowType.eFormSave); // let LC = LadderController.getInstance(); // LC.openLadderTopThreeWindow( true ); }, onTouchSkip: function onTouchSkip() { var model = ArenaController.getInstance().getModel(); var role = RoleController.getInstance().getRoleVo(); // 當前挑戰次數---- var ctimes = model.getHadCombatNum(); // let skip = nx.storage.get( "skip_battle" ); var cmp = nx.gui.getComponent(this.nodSkip, "", cc.Toggle); var cond = game.configs.arena_data.data_const.arena_skip_count.val; if (cmp) { var active = cmp.isChecked; if (ctimes < cond) { this.first == 0 ? nx.tbox("") : nx.tbox(nx.text.format("msg_battle_form_fight_num", cond)); cmp.isChecked = false; nx.storage.set("skip_battle" + role.rid, 0); model.setSkip(0); return; } else { cmp.isChecked = true; model.setSkip(cmp.isChecked ? 1 : 0); nx.storage.set("skip_battle" + role.rid, cmp.isChecked ? 1 : 0); } } // let canskip = }, onTouchSkipTog: function onTouchSkipTog() { var model = ArenaController.getInstance().getModel(); // 當前挑戰次數---- var role = RoleController.getInstance().getRoleVo(); var ctimes = model.getHadCombatNum(); // let skip = nx.storage.get( "skip_battle" ); var cmp = nx.gui.getComponent(this.nodSkip, "", cc.Toggle); var cond = game.configs.arena_data.data_const.arena_skip_count.val; if (cmp) { if (ctimes < cond) { this.first == 0 ? nx.tbox("") : nx.tbox(nx.text.format("msg_battle_form_fight_num", cond)); cmp.isChecked = false; model.setSkip(0); nx.storage.set("skip_battle" + role.rid, 0); return; } else { model.setSkip(cmp.isChecked ? 1 : 0); nx.storage.set("skip_battle" + role.rid, cmp.isChecked ? 1 : 0); } } }, // ============================================ // 引导辅助 // ============================================ // 定位最弱的一个 positionWeakest: function positionWeakest() { var node = null; var chd = nx.gui.find(this.nodLst, "").children; node = chd[0]; // let node = null; // let children = this.svcList.bindSCV.content.children; // for( let i = 0; i < children.length; ++i ) { // let temp = children[ i ]; // if( temp.svItem && temp.svItem.mdata && temp.svItem.mdata.bid == 20401 ) { // node = temp; // break; // } // } if (!node) { nx.error("$ParterPage:定位特定英雄失败!"); node = chd[0]; if (!node) { return; } } var cell = nx.gui.find(this, "plotWeakest"); var pos = node.convertToWorldSpaceAR(cc.Vec2.ZERO); cell.position = cell.parent.convertToNodeSpaceAR(pos); cell.width = node.width; cell.height = node.height; cell.mdata = node.getComponent("nx.fx.sv.expand.item").mdata; nx.gui.setActive(this, "plotWeakest", true); }, // 点击挑战最弱 onTouchWeakest: function onTouchWeakest() { var cell = nx.gui.find(this, "plotWeakest"); var AC = ArenaController.getInstance(); AC.sender20203(cell.mdata.rid, cell.mdata.srv_id); } }); cc._RF.pop();