Files
fc/dev/project/library/imports/d8/d809eabb-d027-4060-beb6-0aaa6119e8b6.js
2026-05-24 10:21:26 +08:00

127 lines
3.7 KiB
JavaScript

"use strict";
cc._RF.push(module, 'd809eq70CdAYL62CqphGei2', 'cmp.campfight.mons');
// Scripts/mod/pvp/campfight/cmp/cmp.campfight.mons.js
"use strict";
var CampfightConst = require("campfight.const");
var CampfightMod = require("campfight.mod");
var BridgeCmp = require("bridge.component");
var NxExpand = require("nx.fx.sv.expand");
var HeroController = require("hero_controller");
var HeroConst = require("hero_const");
var PartnerConst = require("partner_const");
var RCT = require("role_controller");
var TipsController = require("tips_controller");
cc.Class({
"extends": BridgeCmp,
properties: {
list: {
"default": null,
type: NxExpand
},
tipNd: {
"default": null,
type: cc.Node
},
selfItem: {
"default": null,
type: cc.Node
},
fabHead: {
"default": null,
type: cc.Prefab
}
},
// LIFE-CYCLE CALLBACKS:
onLoad: function onLoad() {
this._super();
this.mod = CampfightMod.getInstance();
this.bindGEvent(CampfightConst.EVT_CAMP_MONS_UI, this.freshList.bind(this));
},
freshList: function freshList(data) {
if (nx.dt.objEmpty(data)) {
return;
}
this.list.rebuild(data.rank_list);
var self_data = null;
var selfRole = RCT.getInstance().getRoleVo();
for (var i in data.rank_list) {
var rank = data.rank_list[i];
if (rank.rid == selfRole.rid && rank.srv_id == selfRole.srv_id) {
self_data = rank;
}
}
this.setSelfRank(self_data, selfRole, data.my_dps);
},
onEnable: function onEnable() {
this.mod.reqMonsDmgRank();
var period = this.mod.getCurPeriod();
var key = CampfightConst.NameToPVE[period];
nx.gui.setString(this.tipNd, "", nx.text.getKey(key));
},
onDisable: function onDisable() {
this.list.rebuild([]);
// 监听事件释放
this.unbindGEvents();
},
onDestroy: function onDestroy() {},
setSelfRank: function setSelfRank(data, role_vo, my_dps) {
nx.gui.setString(this.selfItem, "name", role_vo.name);
if (!this.myHead) {
this.myHead = cc.instantiate(this.fabHead);
var par = nx.gui.find(this.selfItem, "partner");
this.myHead.parent = par;
}
var cmp = nx.gui.getComponent(this.myHead, "", "cmp.common.header");
if (cmp) {
cmp.setData(role_vo);
}
if (data) {
if (data.rank <= 3) {
nx.gui.setActive(this.selfItem, String(data.rank), true);
} else {
nx.gui.setActive(this.selfItem, "rank", true);
nx.gui.setString(this.selfItem, "rank", data.rank);
}
nx.gui.setString(this.selfItem, "dmg/num", my_dps);
} else {
nx.gui.setActive(this.selfItem, "rank", true);
nx.gui.setString(this.selfItem, "rank", nx.text.getKey("Rank0"));
nx.gui.setString(this.selfItem, "dmg/num", "0");
}
},
//商店
onClickShop: function onClickShop() {},
onClickHelp: function onClickHelp() {
var TC = TipsController.getInstance();
if (TC) {
var config = game.configs.arena_camp_data.data_const.monster_desc;
TC.showTextPanel(null, config.desc);
}
},
onClickBat: function onClickBat() {
var sta = this.mod.getActStatus();
if (sta == 1) {
this.mod.reqBatBoss();
} else {
nx.tbox("CampFitOneEnd");
}
},
onClickForm: function onClickForm() {
var sta = this.mod.getActStatus();
if (sta == 1) {
HeroController.getInstance().openFormGoFightPanel(true, PartnerConst.Fun_Form.YearBoss, {
period: this.mod.getCurPeriod(),
need_hide_top: true
}, HeroConst.FormShowType.eFormSave);
} else {
nx.tbox("CampFitOneEnd");
}
},
onClickRank: function onClickRank() {
nx.bridge.createPanel("WndCampfightRank");
} // update (dt) {},
});
cc._RF.pop();