172 lines
5.1 KiB
JavaScript
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(); |