87 lines
2.0 KiB
JavaScript
87 lines
2.0 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, '74f0fTuBOFBvqAfI9K1kK2A', 'cmp.worldmap.level.item');
|
|
// Scripts/mod/pve/worldmap/cmp.worldmap.level.item.js
|
|
|
|
"use strict";
|
|
|
|
/******************************************************************
|
|
*
|
|
* 世界地图关卡单项
|
|
*
|
|
******************************************************************/
|
|
|
|
cc.Class({
|
|
"extends": cc.Component,
|
|
properties: {
|
|
labOrder: {
|
|
"default": null,
|
|
type: cc.Label
|
|
},
|
|
lstLevels: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
// 背景图纹理
|
|
spLocked: {
|
|
"default": null,
|
|
type: cc.SpriteFrame
|
|
},
|
|
spNormal: {
|
|
"default": null,
|
|
type: cc.SpriteFrame
|
|
},
|
|
spPassed: {
|
|
"default": null,
|
|
type: cc.SpriteFrame
|
|
},
|
|
spBoss: {
|
|
"default": null,
|
|
type: cc.SpriteFrame
|
|
}
|
|
},
|
|
// 设置
|
|
setData: function setData(_order, _data) {
|
|
this.order = _order;
|
|
this.data = _data;
|
|
if (nx.dt.objEmpty(_data)) {
|
|
return;
|
|
}
|
|
|
|
// 序列
|
|
nx.gui.setString(this, "order", this.order.toString().padStart(2, "0"));
|
|
|
|
// 小关卡设置
|
|
var self = this;
|
|
var subLv = function subLv(_node, _info) {
|
|
if (!_node || !_info) {
|
|
return;
|
|
}
|
|
nx.gui.setString(_node, "name", _info.name);
|
|
nx.gui.setActive(_node, "icon/done", !_info.cur && !_info.locked);
|
|
var sframe = self.spPassed;
|
|
if (_info.is_big > 0) {
|
|
sframe = self.spBoss;
|
|
} else {
|
|
if (_info.locked) {
|
|
sframe = self.spLocked;
|
|
} else {
|
|
sframe = _info.cur ? self.spNormal : self.spPassed;
|
|
}
|
|
}
|
|
nx.gui.setSpriteFrame(_node, "icon", sframe);
|
|
};
|
|
var root = nx.gui.find(this, "levels");
|
|
for (var i = 0; i < root.childrenCount; ++i) {
|
|
subLv(root.children[i], _data.subs[i]);
|
|
}
|
|
},
|
|
// 查看详情
|
|
onTouchDetail: function onTouchDetail() {
|
|
if (nx.dt.objEmpty(this.data)) {
|
|
return;
|
|
}
|
|
nx.bridge.createPanel("WndWorldMapReward", this.data);
|
|
}
|
|
});
|
|
|
|
cc._RF.pop(); |