222 lines
6.9 KiB
JavaScript
222 lines
6.9 KiB
JavaScript
|
|
"use strict";
|
||
|
|
cc._RF.push(module, '8506cZDYMhH2LLsMpa7RQUU', 'cmp.dungeon.item.main');
|
||
|
|
// Scripts/mod/pve/dungeon/cmp/cmp.dungeon.item.main.js
|
||
|
|
|
||
|
|
"use strict";
|
||
|
|
|
||
|
|
var ItemBase = require("nx.fx.sv.expand.item");
|
||
|
|
var StoneDungeonController = require("stone_dungeon_controller");
|
||
|
|
var RoleController = require("role_controller");
|
||
|
|
var ItemLay = require("cmp.common.itemlayout");
|
||
|
|
cc.Class({
|
||
|
|
"extends": ItemBase,
|
||
|
|
properties: {
|
||
|
|
item_list: {
|
||
|
|
"default": null,
|
||
|
|
type: ItemLay
|
||
|
|
},
|
||
|
|
diff_bg: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Sprite
|
||
|
|
},
|
||
|
|
diff_text: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
textClear: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.RichText
|
||
|
|
},
|
||
|
|
textNumber: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
btnClear: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
cost_node: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
cost_num: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
btnChange: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
textChange: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
recommend: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// LIFE-CYCLE CALLBACKS:
|
||
|
|
onLoad: function onLoad() {
|
||
|
|
this.role_vo = RoleController.getInstance().getRoleVo();
|
||
|
|
this.ctrl = StoneDungeonController.getInstance();
|
||
|
|
this.model = this.ctrl.getModel();
|
||
|
|
},
|
||
|
|
// 数据重置
|
||
|
|
rebind: function rebind(_idx, _data, _key) {
|
||
|
|
this._super(_idx, _data, _key);
|
||
|
|
|
||
|
|
// 刷新
|
||
|
|
this.setData(_data);
|
||
|
|
},
|
||
|
|
setData: function setData(data) {
|
||
|
|
if (nx.dt.objEmpty(data)) {
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
this.dungeonData = data.info;
|
||
|
|
this.expend = data.tab.expend;
|
||
|
|
this.free_count = data.tab.count;
|
||
|
|
this.title_pos = data.tab.title_pos;
|
||
|
|
this.setChangeData(data.info);
|
||
|
|
},
|
||
|
|
setChangeData: function setChangeData() {
|
||
|
|
var _this = this;
|
||
|
|
if (this.dungeonData.title_name != "") {
|
||
|
|
this.diff_text.string = this.dungeonData.title_name;
|
||
|
|
} else {
|
||
|
|
this.diff_text.string = "";
|
||
|
|
}
|
||
|
|
if (this.title_pos == this.dungeonData.difficulty) {
|
||
|
|
this.recommend.active = true;
|
||
|
|
} else {
|
||
|
|
this.recommend.active = false;
|
||
|
|
}
|
||
|
|
var nod = nx.gui.find(this, "bottom/plot");
|
||
|
|
if (nx.bridge.plot && nx.bridge.plot.isDoing()) {
|
||
|
|
if (this.dungeonData.difficulty == 1 && this.dungeonData.class_type == 1) {
|
||
|
|
nod.getComponent("cmp.plot.trigger").pID = "challenge";
|
||
|
|
nod.getComponent("cmp.plot.trigger").regist();
|
||
|
|
nx.gui.setActive(nod, "", true);
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
nx.gui.setActive(nod, "", false);
|
||
|
|
}
|
||
|
|
this.cost_node.active = false;
|
||
|
|
this.btnChange.active = false;
|
||
|
|
this.btnClear.active = false;
|
||
|
|
this.textNumber.string = cc.js.formatStr(nx.text.getKey("lab_stone_dungeon_open_fighr_level"), this.dungeonData.power || 0);
|
||
|
|
this.textNumber.node.active = true;
|
||
|
|
var is_first = 1;
|
||
|
|
var clearance = this.model.getPassClearanceID(this.dungeonData.id);
|
||
|
|
nx.gui.setLocked(this.btnChange, "", false);
|
||
|
|
// this.btnChange.y = -35;
|
||
|
|
nx.bridge.setIconS(this.cost_node, "ico", 3);
|
||
|
|
if (clearance && clearance.status == 1) {
|
||
|
|
//已经通关的
|
||
|
|
if (this.role_vo.max_power >= this.dungeonData.power) {
|
||
|
|
this.textNumber.node.active = false;
|
||
|
|
this.btnClear.active = true;
|
||
|
|
if (this.free_count == 0) {
|
||
|
|
this.textClear.string = nx.text.getKey("btn_stone_dungeon_quickfight");
|
||
|
|
this.cost_node.active = true;
|
||
|
|
this.cost_num.string = this.expend;
|
||
|
|
} else {
|
||
|
|
this.cost_node.active = false;
|
||
|
|
this.textClear.string = nx.text.getKey("btn_stone_dungeon_quickfight");
|
||
|
|
}
|
||
|
|
this.model.setCurChangeSweep(this.dungeonData.id);
|
||
|
|
} else {
|
||
|
|
this.btnClear.active = false;
|
||
|
|
this.btnChange.active = true;
|
||
|
|
// this.btnChange.y = -15;
|
||
|
|
this.textChange.string = nx.text.getKey("lab_stone_dungeon_no_open");
|
||
|
|
nx.gui.setLocked(this.btnChange, "", true);
|
||
|
|
}
|
||
|
|
is_first = null;
|
||
|
|
} else {
|
||
|
|
this.btnClear.active = false;
|
||
|
|
if (this.role_vo.max_power >= this.dungeonData.power) {
|
||
|
|
this.textNumber.node.active = false;
|
||
|
|
this.btnChange.active = true;
|
||
|
|
var status = false;
|
||
|
|
if (this.role_vo.lev < this.dungeonData.lev_limit) {
|
||
|
|
var str = cc.js.formatStr(nx.text.getKey("lab_stone_dungeon_open_level_haveval"), this.dungeonData.lev_limit);
|
||
|
|
this.textChange.string = str;
|
||
|
|
status = true;
|
||
|
|
} else {
|
||
|
|
if (this.free_count == 0) {
|
||
|
|
//scale=0.25
|
||
|
|
this.textChange.string = nx.text.getKey("btn_stone_dungeon_fight");
|
||
|
|
this.cost_node.active = true;
|
||
|
|
this.cost_num.string = this.expend;
|
||
|
|
// let item_res = PathTool.queryIconPath(3);
|
||
|
|
// cc.loader.loadRes(item_res,cc.SpriteFrame,(err,obj)=>{
|
||
|
|
// if(!err){
|
||
|
|
// this.textChange.addSpriteFrame = obj;
|
||
|
|
// }
|
||
|
|
// });
|
||
|
|
} else {
|
||
|
|
this.cost_node.active = false;
|
||
|
|
this.textChange.string = nx.text.getKey("btn_stone_dungeon_fight");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
nx.gui.setLocked(this.btnChange, "", !!status);
|
||
|
|
} else {
|
||
|
|
this.btnChange.active = true;
|
||
|
|
// this.btnChange.y = -15;
|
||
|
|
var str = nx.text.getKey("lab_stone_dungeon_no_open_have_color");
|
||
|
|
if (this.role_vo.lev < this.dungeonData.lev_limit) {
|
||
|
|
str = cc.js.formatStr(nx.text.getKey("lab_stone_dungeon_open_level_haveval"), this.dungeonData.lev_limit);
|
||
|
|
}
|
||
|
|
this.textChange.string = str;
|
||
|
|
nx.gui.setLocked(this.btnChange, "", true);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
cc.loader.loadRes(PathTool.getIconPath("dungeon", this.dungeonData.pis_str), cc.SpriteFrame, function (err, resObject) {
|
||
|
|
_this.diff_bg.spriteFrame = resObject;
|
||
|
|
});
|
||
|
|
this.data_list = [];
|
||
|
|
// 首通奖励
|
||
|
|
this.firstAward(is_first);
|
||
|
|
// 展示奖励
|
||
|
|
this.showAward(is_first);
|
||
|
|
},
|
||
|
|
firstAward: function firstAward(is_first) {
|
||
|
|
if (!is_first) return;
|
||
|
|
if (this.dungeonData.first_items[0]) {
|
||
|
|
this.data_list.push({
|
||
|
|
bid: this.dungeonData.first_items[0][0],
|
||
|
|
num: this.dungeonData.first_items[0][1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
},
|
||
|
|
showAward: function showAward(is_first) {
|
||
|
|
var _flag = is_first && 1 || 0;
|
||
|
|
if (!this.dungeonData.first_items[0]) {
|
||
|
|
_flag = 0;
|
||
|
|
is_first = null;
|
||
|
|
}
|
||
|
|
for (var i in this.dungeonData.show_items) {
|
||
|
|
this.data_list.push({
|
||
|
|
bid: this.dungeonData.show_items[i][0],
|
||
|
|
num: this.dungeonData.show_items[i][1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
this.item_list.rebuild(this.data_list);
|
||
|
|
},
|
||
|
|
onDisable: function onDisable() {
|
||
|
|
this.item_list.rebuild([]);
|
||
|
|
},
|
||
|
|
onClickClear: function onClickClear() {
|
||
|
|
this.ctrl.send13032(this.dungeonData.id);
|
||
|
|
},
|
||
|
|
onClickChange: function onClickChange() {
|
||
|
|
if (this.role_vo.lev < this.dungeonData.lev_limit) {
|
||
|
|
nx.tbox(nx.text.getKey("lab_stone_dungeon_open_level") + this.dungeonData.lev_limit);
|
||
|
|
} else {
|
||
|
|
this.ctrl.send13031(this.dungeonData.id);
|
||
|
|
}
|
||
|
|
} // update (dt) {},
|
||
|
|
});
|
||
|
|
|
||
|
|
cc._RF.pop();
|