Files
fc/dev/project/library/imports/d4/d49c3c1c-9467-4c5f-96a2-b3bf08751f07.js
2026-05-24 10:21:26 +08:00

172 lines
5.1 KiB
JavaScript

"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();