"use strict"; cc._RF.push(module, 'd49c3wclGdMX5ais78IdR8H', 'cmp.pvp.item'); // Scripts/mod/pvp/cmp/cmp.pvp.item.js "use strict"; /****************************************************************** * * PVP单项入口 * ******************************************************************/ var BridgeComponent = require("bridge.component"); var ItemLayout = require("cmp.item.layout"); var PVPMod = require("pvp.mod"); var BattleController = require("battle_controller"); var BattleConst = require("battle_const"); cc.Class({ "extends": BridgeComponent, properties: { tagId: { "default": 0 }, nodLock: { "default": null, type: cc.Node }, nodDesc: { "default": null, type: cc.Node }, nodBg: { "default": null, type: cc.Node }, nodTitle: { "default": null, type: cc.Node }, lstRewards: { "default": null, type: ItemLayout } }, // 展示 onEnable: function onEnable() { // 刷新 this.fresh(); }, setTagId: function setTagId(_id) { this.tagId = _id; }, // 刷新 fresh: function fresh() { // 配置无效 var cfgs = PVPMod.getInstance().queryCGData(this.tagId); var nodSp = nx.gui.getComponent(this.nodBg, "", cc.Sprite); var nodTp = nx.gui.getComponent(this.nodTitle, "", cc.Sprite); var material = cc.Material.getBuiltinMaterial('2d-gray-sprite'); var nmaterial = cc.Material.getBuiltinMaterial('2d-sprite'); var setGray = function setGray(_nod, _mat) { var nod = _nod; var sp = nx.gui.getComponent(nod, "qa", cc.Sprite); var isp = nx.gui.getComponent(nod, "icon", cc.Sprite); var ssp = nx.gui.getComponent(nod, "star", cc.Sprite); var rt = nx.gui.getComponent(nod, "rt/img", cc.Sprite); var material = _mat == 1 ? cc.Material.getBuiltinMaterial('2d-gray-sprite') : cc.Material.getBuiltinMaterial('2d-sprite'); sp.setMaterial(0, material); isp.setMaterial(0, material); ssp.setMaterial(0, material); rt.setMaterial(0, material); }; if (nx.dt.objEmpty(cfgs)) { this.lockInfo = { key: "unknown", desc: nx.text.getKey("Locked") }; this.nodDesc.active = false; nodSp.setMaterial(0, material); nodTp.setMaterial(0, material); for (var i = 0; i < this.lstRewards.node.children.length; i++) { var nod = this.lstRewards.node.children[i]; setGray(nod, 1); } // this.nodLock.active = true; // nx.gui.setString( this.nodLock, "limit", nx.text.getKey( "Locked" ) ); return; } var lev = cfgs.open_limit[1] ? cfgs.open_limit[1][1] : cfgs.open_limit[0][1]; var txt = cc.js.formatStr(nx.text.getKey("lab_stone_dungeon_open_level_haveval"), lev); var path = "prefab/pvp/ui/" + cfgs.res_id; nx.gui.setSpriteFrame(this.nodBg, "", path); // let title = "prefab/pvp/ui/" + cfgs.res_id; nx.gui.setSpriteFrame(this.nodBg, "", path); this.lstRewards.rebuild(cfgs.award); // 是否解锁 this.lockInfo = nx.bridge.checkConditions(cfgs.open_limit); if (nx.dt.objNEmpty(this.lockInfo)) { this.nodDesc.active = false; nodSp.setMaterial(0, material); nodTp.setMaterial(0, material); // nx.gui.setString( this, "locker/txt", txt ); for (var _i = 0; _i < this.lstRewards.node.children.length; _i++) { var _nod2 = this.lstRewards.node.children[_i]; setGray(_nod2, 1); } // this.nodLock.active = true; // nx.gui.setString( this.nodLock, "limit", this.lockInfo.desc ); return; } for (var _i2 = 0; _i2 < this.lstRewards.node.children.length; _i2++) { var _nod3 = this.lstRewards.node.children[_i2]; setGray(_nod3, 0); } nodSp.setMaterial(0, nmaterial); nodTp.setMaterial(0, nmaterial); // 正常状态 // this.nodLock.active = false; this.nodDesc.active = true; // 时间刷新 nx.gui.setString(this.nodDesc, "tnod/time", nx.text.getKey(cfgs.desc)); nx.gui.setActive(this.nodDesc, "tnod/doing", false); }, // 点击 onTouch: function onTouch() { // 未解锁 if (nx.dt.objNEmpty(this.lockInfo)) { if (nx.dt.strNEmpty(this.lockInfo.desc)) { nx.tbox(this.lockInfo.desc); } return; } switch (this.tagId) { case 1009: { BattleController.getInstance().requestOpenBattleRelevanceWindow(BattleConst.Fight_Type.Arena); } break; case 1004: { BattleController.getInstance().requestOpenBattleRelevanceWindow(BattleConst.Fight_Type.CrossChampion); } break; case 1001: { BattleController.getInstance().requestOpenBattleRelevanceWindow(BattleConst.Fight_Type.LadderWar); } break; case 1010: { BattleController.getInstance().requestOpenBattleRelevanceWindow(BattleConst.Fight_Type.newYearBoss); } break; case 1002: { BattleController.getInstance().requestOpenBattleRelevanceWindow(BattleConst.Fight_Type.EliteMatchWar); } break; default: { nx.tbox("NoImplementation"); } break; } } }); cc._RF.pop();