173 lines
5.6 KiB
JavaScript
173 lines
5.6 KiB
JavaScript
|
|
"use strict";
|
||
|
|
cc._RF.push(module, 'f4da4gTuMBIoIwB4xQ+5azD', 'cmp.element.ectype');
|
||
|
|
// Scripts/mod/pve/element/cmp/cmp.element.ectype.js
|
||
|
|
|
||
|
|
"use strict";
|
||
|
|
|
||
|
|
var BridgeWindow = require("bridge.window");
|
||
|
|
var ElementController = require("element_controller");
|
||
|
|
var ElementEvent = require("element_event");
|
||
|
|
var NxExpand = require("nx.fx.sv.expand");
|
||
|
|
var NxSpine = require("nx.fx.spine");
|
||
|
|
var ItemLay = require("cmp.common.itemlayout");
|
||
|
|
var RoleController = require("role_controller");
|
||
|
|
var HeroController = require("hero_controller");
|
||
|
|
var PartnerConst = require("partner_const");
|
||
|
|
var HeroEvent = require("hero_event");
|
||
|
|
cc.Class({
|
||
|
|
"extends": BridgeWindow,
|
||
|
|
properties: {
|
||
|
|
list: {
|
||
|
|
"default": null,
|
||
|
|
type: NxExpand
|
||
|
|
},
|
||
|
|
backNd: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
//left
|
||
|
|
roleSp: {
|
||
|
|
"default": null,
|
||
|
|
type: NxSpine
|
||
|
|
},
|
||
|
|
bossCamp: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
bossName: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
bossDesc: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
skills: {
|
||
|
|
"default": null,
|
||
|
|
type: ItemLay
|
||
|
|
},
|
||
|
|
fabSkill: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Prefab
|
||
|
|
},
|
||
|
|
//right
|
||
|
|
count: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
buyCount: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
powerNum: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// LIFE-CYCLE CALLBACKS:
|
||
|
|
onLoad: function onLoad() {
|
||
|
|
this.ctrl = ElementController.getInstance();
|
||
|
|
this.model = this.ctrl.getModel();
|
||
|
|
this.bindGEvent(ElementEvent.Update_Element_Customs_Event, this.refreshList.bind(this));
|
||
|
|
this.bindGEvent(ElementEvent.Update_Element_Count_Event, this.checkBuyCount.bind(this));
|
||
|
|
//针对当前阵容更新战力
|
||
|
|
this.bindGEvent(HeroEvent.Update_Tag_Fun_Form, this.updateList.bind(this));
|
||
|
|
},
|
||
|
|
updateList: function updateList(power) {
|
||
|
|
this.model.setEleCurPower(power);
|
||
|
|
nx.gui.setString(this.powerNum, "", power || RoleController.getInstance().getRoleVo().power);
|
||
|
|
this.refreshList();
|
||
|
|
},
|
||
|
|
start: function start() {},
|
||
|
|
onOpenConfigs: function onOpenConfigs(params) {
|
||
|
|
if (nx.dt.objEmpty(params)) return;
|
||
|
|
this.group = params.group;
|
||
|
|
this.type = params.type;
|
||
|
|
var base_data = game.configs.element_temple_data.data_base[this.type];
|
||
|
|
nx.gui.setString(this.backNd, "", base_data.name);
|
||
|
|
this.group_data = game.configs.element_temple_data.data_customs[this.group];
|
||
|
|
// this.refreshList();
|
||
|
|
var power = RoleController.getInstance().getRoleVo().power;
|
||
|
|
this.checkBuyCount();
|
||
|
|
this.updateList(power);
|
||
|
|
},
|
||
|
|
onClickChallenge: function onClickChallenge() {
|
||
|
|
HeroController.getInstance().openFormGoFightPanel(true, PartnerConst.GetElemForm[this.type] || 13, null, 2);
|
||
|
|
},
|
||
|
|
refreshList: function refreshList() {
|
||
|
|
var data_list = [];
|
||
|
|
for (var i in this.group_data) {
|
||
|
|
data_list.push(this.group_data[i]);
|
||
|
|
}
|
||
|
|
this.list.rebuild(data_list);
|
||
|
|
this.setBaseInfo();
|
||
|
|
},
|
||
|
|
setBaseInfo: function setBaseInfo() {
|
||
|
|
var _this = this;
|
||
|
|
var monster_data = game.configs.element_temple_data.data_monster[this.group];
|
||
|
|
if (!monster_data) return;
|
||
|
|
nx.gui.setString(this.bossName, "", monster_data.name);
|
||
|
|
nx.gui.setString(this.bossDesc, "", monster_data.attr_desc);
|
||
|
|
var eff_path = PathTool.getSpinePath(monster_data.bust_id, "show", false);
|
||
|
|
this.roleSp.load(eff_path, function (e) {
|
||
|
|
if (!e) {
|
||
|
|
_this.roleSp.action("action1", true);
|
||
|
|
} else {
|
||
|
|
_this.roleSp.stop();
|
||
|
|
}
|
||
|
|
});
|
||
|
|
var skills = [];
|
||
|
|
if (monster_data.skill_list.length > 0) {
|
||
|
|
skills = monster_data.skill_list;
|
||
|
|
}
|
||
|
|
this.skills.rebuild(skills);
|
||
|
|
var pt_cfg = game.configs.partner_data.data_partner_base[monster_data.head_id];
|
||
|
|
if (pt_cfg.camp_type) {
|
||
|
|
var camp_res = cc.js.formatStr("coms/images/camps%s", pt_cfg.camp_type);
|
||
|
|
nx.gui.setSpriteFrame(this.bossCamp, "", camp_res);
|
||
|
|
}
|
||
|
|
},
|
||
|
|
checkBuyCount: function checkBuyCount() {
|
||
|
|
var last_count = this.model.getTodayLeftBuyCount();
|
||
|
|
nx.gui.setString(this.buyCount, "", last_count);
|
||
|
|
var challenge_count = this.model.getLeftChallengeCount();
|
||
|
|
var str = cc.js.formatStr("%s/%s", challenge_count, game.configs.element_temple_data.data_const.refresh_number.val);
|
||
|
|
nx.gui.setString(this.count, "", str);
|
||
|
|
},
|
||
|
|
onPreClosed: function onPreClosed() {
|
||
|
|
this.skills.rebuild([]);
|
||
|
|
this.list.rebuild([]);
|
||
|
|
},
|
||
|
|
onClickBuyCount: function onClickBuyCount() {
|
||
|
|
var _this2 = this;
|
||
|
|
var challenge_count = this.model.getLeftChallengeCount();
|
||
|
|
if (challenge_count >= game.configs.element_temple_data.data_const.refresh_number.val) {
|
||
|
|
return nx.tbox("tip_eleChangeNumEnough");
|
||
|
|
}
|
||
|
|
if (this.model.getTodayLeftBuyCount() > 0) {
|
||
|
|
var normal_buy_count = this.model.getNormalBuyCount();
|
||
|
|
var buy_cfg = game.configs.element_temple_data.data_buy_count[normal_buy_count + 1];
|
||
|
|
var privilege_status = RoleController.getInstance().getModel().checkPrivilegeStatus(4); // 特權激活狀態
|
||
|
|
var str = "";
|
||
|
|
if (buy_cfg) {
|
||
|
|
str = cc.js.formatStr(nx.text.getKey("lab_guildsecretarea_tips_34"), 3, buy_cfg.cost);
|
||
|
|
} else if (privilege_status) {
|
||
|
|
var buy_count = this.model.getPrivilegeBuyCount();
|
||
|
|
var pri_cost = game.configs.element_temple_data.data_privilege[buy_count + 1];
|
||
|
|
if (pri_cost) {
|
||
|
|
str = cc.js.formatStr(nx.text.getKey("lab_guildsecretarea_tips_34"), 3, pri_cost);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
nx.mbox(str, ["cancel", "confirm"], function (_key, _box) {
|
||
|
|
_box.close();
|
||
|
|
if (_key == "confirm") {
|
||
|
|
_this2.ctrl.sender25003();
|
||
|
|
}
|
||
|
|
});
|
||
|
|
} else {
|
||
|
|
nx.tbox("tip_eleBuyNumOver");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
cc._RF.pop();
|