Files
fc/dev/project/library/imports/a3/a3db11b6-6bf2-4973-bea1-3ba43026c22d.js
2026-05-24 10:21:26 +08:00

122 lines
4.0 KiB
JavaScript

"use strict";
cc._RF.push(module, 'a3db1G2a/JJc76hO6QwJsIt', 'cmp.element.main');
// Scripts/mod/pve/element/cmp/cmp.element.main.js
"use strict";
var BridgeWindow = require("bridge.window");
var RankConstant = require("rank_constant");
var TipsController = require("tips_controller");
var ElementController = require("element_controller");
var ElementEvent = require("element_event");
var ElementItem = require("cmp.element.item");
var RoleController = require("role_controller");
cc.Class({
"extends": BridgeWindow,
properties: {
item_list: {
"default": [],
type: [ElementItem]
},
count: {
"default": null,
type: cc.Node
},
buyCount: {
"default": null,
type: cc.Node
},
cdNd: {
"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_Data_Event, this.updateData.bind(this));
this.bindGEvent(ElementEvent.Update_Element_Count_Event, this.checkBuyCount.bind(this));
},
updateData: function updateData() {
if (!this.model.checkIsHaveElementData()) return;
var ele_data = this.model.getElementData();
//設置冷卻時間
for (var i in ele_data.list) {
var data = ele_data.list[i];
if (data.endtime > 0) {
nx.gui.setCdTxt(this.cdNd, "", data.endtime);
this.model.setRecordOpenType(data.type);
}
for (var j in this.item_list) {
if (this.item_list[j].type == data.type) {
this.item_list[j].setData(data);
break;
}
}
}
},
start: function start() {},
onOpenConfigs: function onOpenConfigs() {
//刷新當天基礎數據
this.ctrl.sender25000();
this.checkBuyCount();
},
onPreClosed: function onPreClosed() {},
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);
},
onClickBuyCount: function onClickBuyCount() {
var _this = 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");
}
var str = "";
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); // 特權激活狀態
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") {
_this.ctrl.sender25003();
}
});
} else {
nx.tbox("tip_eleBuyNumOver");
}
},
// 规则说明
onTouchTip: function onTouchTip() {
var TC = TipsController.getInstance();
if (TC) {
var txt = game.configs.element_temple_data.data_explain;
TC.showDetailPanel(txt);
}
},
onClickRank: function onClickRank() {
nx.bridge.createPanel("WndPVERankAward", {
type: RankConstant.RankType.element,
ops: ["RankNow", "rank_reward"],
dfg: game.configs.element_temple_data.data_award,
show: "RankNow"
});
}
});
cc._RF.pop();