"use strict"; cc._RF.push(module, '95b80lzwhNPGYD+UWypa9nH', 'cmp.pvprank.match'); // Scripts/mod/pvp/rank/cmp/cmp.pvprank.match.js "use strict"; var BridgeWindow = require("bridge.window"); var data2Icon = require("bridge.utils.item"); var HeroController = require("hero_controller"); var PartnerConst = require("partner_const"); var HeroConst = require("hero_const"); var ElitematchEvent = require("elitematch_event"); var RoleController = require("role_controller"); var BattleConst = require("battle_const"); cc.Class({ "extends": BridgeWindow, properties: { nodStatus: { "default": null, type: cc.Node, displayName: "匹配狀態顯示" }, nodOther: { "default": null, type: cc.Node, displayName: "敵方節點" }, nodMine: { "default": null, type: cc.Node, displayName: "我方節點" }, nodMyInfo: { "default": null, type: cc.Node, displayName: "我方信息" }, nodGoto: { "default": null, type: cc.Node, displayName: "出击状态" } }, // 重载:参数打开 onOpenConfigs: function onOpenConfigs(_params) { this.type = _params.type; this.mod = _params.mod; this.mod.sender24920(this.type); this.state = _params.state; if (!this.mod) { this.delayClose(); return; } nx.gui.hideAllChildren(this.nodMine); nx.gui.hideAllChildren(this.nodOther, "matched/teams"); nx.gui.setActive(this, "panel/close", true); this.cfg = this.mod.getCfg(); this.ranklist = []; // 视图监听 this.vbind([["rankMatching", this.freshInfo.bind(this)]]); }, onLoad: function onLoad() { this.bindGEvent(ElitematchEvent.Update_Elite_Fun_Form2, this.freshMatchForm.bind(this)); }, // 重载:关闭前 onPreClosed: function onPreClosed() {}, freshInfo: function freshInfo(_data) { // console.log( "顯示當前的匹配狀態" + JSON.stringify( _data ) ); var self = this; var cmp = nx.gui.getComponent(this.nodOther, "", cc.Animation); this.ranklist = _data.rand_list; if (this.tweenAct) { this.tweenAct.stop(); } if (this.tweenActTime) { this.tweenActTime.stop(); } nx.gui.setString(this.nodGoto, "txt", nx.dt.arrNEmpty(_data.rand_list) ? nx.text.getKey("FigureConfirm") : nx.text.getKey("RankMatchingBtn")); var role = RoleController.getInstance().getRoleVo(); var myelitelev = gdata(this.cfg[0], "data_elite_level")[role.arena_elite_lev]; var myname = role.name; var sid = role.srv_id; var ssid = sid.split("_"); var show = "[" + nx.text.format("Srever", ssid[1]) + "]" + myelitelev.name; nx.gui.setString(this.nodMyInfo, "name", myname); nx.gui.setString(this.nodMyInfo, "info", show); var path = this.mod.dealUI(role.arena_elite_lev); nx.gui.setSpriteFrame(this.nodMyInfo, "levico", path); nx.gui.setActive(this.nodOther, "matched", nx.dt.arrNEmpty(this.ranklist)); nx.gui.setActive(this.nodOther, "matching", nx.dt.arrEmpty(this.ranklist)); nx.gui.setActive(this.nodStatus, "matching", _data.is_match == 1); nx.gui.setActive(this.nodStatus, "matched", nx.dt.arrNEmpty(this.ranklist)); var nod = nx.gui.find(this.nodStatus, "matching"); if (_data.is_match == 1) { nx.gui.hideAllChildren(nod, "dot"); var chd = nx.gui.find(nod, "dot").children; this.tweenAct = cc.tween(nod).delay(0.5).call(function () { nx.tween.fadeIn(chd[0], 0.01); }).delay(0.5).call(function () { nx.tween.fadeIn(chd[1], 0.01); }).delay(0.5).call(function () { nx.tween.fadeIn(chd[2], 0.01); }).delay(1).call(function () { nx.tween.fadeOut(chd[0], 0.01); nx.tween.fadeOut(chd[1], 0.01); nx.tween.fadeOut(chd[2], 0.01); }).union().repeatForever().start(); if (cmp) { cmp.play('def'); } nx.gui.setActive(this, "panel/ops/fight/cannot", true); } else { var _nod = nx.gui.find(this.nodStatus, "matched"); var time = _data.to_combat_time - _data.match_cd_time; nx.gui.setString(_nod, "time", time); this.tweenActTime = cc.tween(_nod).delay(1).call(function () { time--; if (time <= 0) { self.tweenActTime.stop(); nx.gui.setString(_nod, "time", 0); } nx.gui.setString(_nod, "time", time); }).union().repeatForever().start(); nx.gui.setActive(this, "panel/ops/fight/cannot", false); // nx.gui.setCdTxt( this.nodStatus, "matched/time", _data.to_combat_time - _data.match_cd_time ); } nx.gui.setActive(this, "panel/ops/form/tip", nx.dt.arrNEmpty(this.ranklist)); nx.gui.setActive(this, "panel/ops/fight/tip", nx.dt.arrNEmpty(this.ranklist)); if (nx.dt.arrNEmpty(this.ranklist)) { this.freshOther(_data); nx.gui.setActive(this, "panel/close", false); if (cmp) { cmp.play('goin'); nx.audio.playSFX("audios/effects/del1"); } } }, onTouchMatch: function onTouchMatch() { nx.dt.arrEmpty(this.ranklist) ? this.mod.sender24902() : this.mod.sender24903(); nx.dt.arrEmpty(this.ranklist) ? "" : this.close(); }, freshOther: function freshOther(_data) { if (!_data) { return; } /*** * [24901]:{"day_combat_count":0,"match_cd_time":1709543023, * "to_combat_time":1709543083,"is_match":0, * "rand_list":[ * {"end_time":1709629423,"rid":1024,"srv_id":"fx_1","name":"安翔的小号1", * "gname":"321","power":1585481,"lev":90,"sex":0,"face":26303, * "look_id":110405,"score":1000,"elite_lev":1, * "defense":[ * {"type":1, * "defense_info":[ * {"order":1,"formation_type":1, * "partner_infos":[ * {"pos":5,"bid":30404,"lev":100,"star":5,"power":12577,"extra":[{"key":5,"val":0}]}, * {"pos":4,"bid":20502,"lev":340,"star":13,"power":515477,"extra":[{"key":5,"val":0}]}, * {"pos":3,"bid":20509,"lev":340,"star":13,"power":497160,"extra":[{"key":5,"val":0}]}, * {"pos":2,"bid":10401,"lev":100,"star":5,"power":12278,"extra":[{"key":5,"val":0}]}, * {"pos":1,"bid":10505,"lev":340,"star":13,"power":547989,"extra":[{"key":5,"val":0}]} * ] * } * ]}, * {"type":2, * "defense_info":[{"order":1,"formation_type":1, * "partner_infos":[ * {"pos":5,"bid":30404,"lev":100,"star":5,"power":12577,"extra":[{"key":5,"val":0}]}, * {"pos":4,"bid":20502,"lev":340,"star":13,"power":515477,"extra":[{"key":5,"val":0}]}, * {"pos":3,"bid":20509,"lev":340,"star":13,"power":497160,"extra":[{"key":5,"val":0}]}, * {"pos":2,"bid":10401,"lev":100,"star":5,"power":12278,"extra":[{"key":5,"val":0}]}, * {"pos":1,"bid":10505,"lev":340,"star":13,"power":547989,"extra":[{"key":5,"val":0} * ]}]}]}],"face_update_time":0,"face_file":""}]} */ // let type = this.type == BattleConst.Fight_Type.EliteMatchWar ? 1 : 2; var nod = nx.gui.find(this.nodOther, "matched"); var info = _data.rand_list[0]; var sid = info.srv_id.split("_"); var cfg = gdata(this.cfg[0], "data_elite_level")[info.elite_lev]; nx.gui.setString(nod, "name", info.name); nx.gui.setString(nod, "info", "[" + nx.text.format("Srever", sid[1]) + "]" + cfg.name); var path = this.mod.dealUI(info.elite_lev); nx.gui.setSpriteFrame(nod, "levico", path); var match_cd_time = _data.match_cd_time; var dteam = nx.gui.find(nod, "teams").children; // let cd = match_cd_time - if (nx.dt.arrNEmpty(info.defense)) { for (var d = 0; d < info.defense.length; d++) { var dnod = dteam[d]; if (info.defense[d].type <= this.type) { nx.gui.setActive(dnod, "", info.defense[d].type == this.type); var defence = info.defense[d].defense_info[0] ? info.defense[d].defense_info[0].partner_infos : []; // for (let i in info.defense ) { // let inffoo = info.defense[i]; nx.gui.hideAllChildren(dnod, "plist"); nx.gui.setString(dnod, "power/txt", info.power); // } if (nx.dt.arrNEmpty(defence)) { nx.gui.gocChildren(dnod, "plist", defence.length); var chd = nx.gui.find(dnod, "plist").children; for (var i = 0; i < chd.length; i++) { var _nod2 = chd[i]; var _info = defence[i]; var partner = data2Icon.data2Icon(_info.bid); partner.level = _info.lev; partner.stars = _info.star; // info.item_id = cfgs[info.bid].item_id; // info.level = info.lev; // info.stars = info.star; var cmp = nx.gui.getComponent(_nod2, "", "cmp.partner.com"); if (cmp) { cmp.setData(partner); } } } } } } }, freshMatchForm: function freshMatchForm(_data) { // console.log( "夥伴信息顯示" + JSON.stringify( _data ) ); /*** * {"type":0,"formations": * [{"order":1,"formation_type":1, * "pos_info":[{"pos":5,"id":1109}, * {"pos":4,"id":1092}, * {"pos":3,"id":1099}, * {"pos":2,"id":1087}, * {"pos":1,"id":1108}],"hallows_id":0}]} */ if (!_data) { return; } if (this.type == _data.type) { var formation = _data.formations; var chd = this.nodMine.children; // nx.gui.setActive( chd[this.type-1], "", true ); for (var i = 0; i < formation.length; i++) { var form = formation[i]; var tnod = chd[i]; var nod = nx.gui.find(tnod, "plist"); var power = 0; nx.gui.gocChildren(nod, "", form.pos_info.length); nx.gui.setActive(tnod, "", true); for (var c = 0; c < nod.children.length; c++) { var ttnod = nod.children[c]; if (form.pos_info[c]) { var inffo = HeroController.getInstance().getModel().getHeroById(form.pos_info[c].id); power += inffo.power; var cmp = nx.gui.getComponent(ttnod, "", "cmp.partner.com"); if (cmp) { cmp.setData(inffo); } nx.gui.setString(tnod, "power/txt", power); } } } } }, onTouchClose: function onTouchClose() { this.mod.sender24900(); this.close(); }, onTouchForm: function onTouchForm() { var type = this.state.is_king != 0 && this.state.state == 3 ? 2 : 1; HeroController.getInstance().openFormGoFightPanel(true, PartnerConst.Fun_Form.EliteMatch, { need_hide_top: true, state: type }, HeroConst.FormShowType.eFormSave); } }); cc._RF.pop();