Files
fc/dev/project/library/imports/f4/f4da4813-b8c0-48a0-8c01-e3143ee5acc3.js
T
2026-05-24 10:21:26 +08:00

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();