122 lines
4.0 KiB
JavaScript
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(); |