65 lines
1.8 KiB
JavaScript
65 lines
1.8 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, 'a7083W4HsNO/4iS44Nf2aeH', 'cmp.worldmap.chapter.item');
|
|
// Scripts/mod/pve/worldmap/cmp.worldmap.chapter.item.js
|
|
|
|
"use strict";
|
|
|
|
/******************************************************************
|
|
*
|
|
* 世界地图章节单项
|
|
*
|
|
******************************************************************/
|
|
|
|
var SVCItem = require("nx.fx.sv.expand.item");
|
|
cc.Class({
|
|
"extends": SVCItem,
|
|
properties: {},
|
|
// 数据重置
|
|
rebind: function rebind(_idx, _data, _key) {
|
|
this._super(_idx, _data, _key);
|
|
|
|
// 刷新
|
|
this.freshData();
|
|
},
|
|
// 聚焦获得
|
|
onFocus: function onFocus() {
|
|
nx.gui.setActive(this, "normal/focus", true);
|
|
},
|
|
// 聚焦失去
|
|
outFocus: function outFocus() {
|
|
nx.gui.setActive(this, "normal/focus", false);
|
|
},
|
|
// 刷新
|
|
freshData: function freshData() {
|
|
this.outFocus();
|
|
if (nx.dt.objEmpty(this.mdata)) {
|
|
return;
|
|
}
|
|
|
|
// 锁定
|
|
var id = "" + this.mdata.chapter_id;
|
|
var bg = cc.path.join("prefab/pve/worldmap/ui", "chapter" + id);
|
|
if (this.mdata.locked) {
|
|
nx.gui.setActive(this, "normal", false);
|
|
nx.gui.setActive(this, "locked", true);
|
|
nx.gui.setSpriteFrame(this, "locked", bg);
|
|
return;
|
|
}
|
|
|
|
// 未锁定
|
|
nx.gui.setActive(this, "locked", false);
|
|
var node = nx.gui.setActive(this, "normal", true);
|
|
nx.gui.setSpriteFrame(node, "", bg);
|
|
nx.gui.setString(node, "progress/txt", this.mdata.cur + "/" + this.mdata.max);
|
|
var done = this.mdata.cur >= this.mdata.max;
|
|
nx.gui.setActive(node, "done", done);
|
|
var color = done ? "FC660B" : "3EFC0B";
|
|
nx.gui.setColor(node, "progress/txt", new cc.Color().fromHEX(color));
|
|
|
|
// 基本信息
|
|
nx.gui.setString(node, "info/order", id.padStart(2, "0"));
|
|
nx.gui.setString(node, "info/name", nx.text.getKey(this.mdata.name));
|
|
}
|
|
});
|
|
|
|
cc._RF.pop(); |