300 lines
9.7 KiB
JavaScript
300 lines
9.7 KiB
JavaScript
|
|
"use strict";
|
||
|
|
cc._RF.push(module, '37852SEv+lJSId/3wvVYWxc', 'cmp.endless.wnd');
|
||
|
|
// Scripts/mod/pve/endless_trail/cmp/cmp.endless.wnd.js
|
||
|
|
|
||
|
|
"use strict";
|
||
|
|
|
||
|
|
var BridgeWindow = require("bridge.window");
|
||
|
|
var PathTool = require("pathtool");
|
||
|
|
var EndlessController = require("endless_trail_controller");
|
||
|
|
var ItemLay = require("cmp.common.itemlayout");
|
||
|
|
var EndlessEvent = require("endless_trail_event");
|
||
|
|
var HeroController = require("hero_controller");
|
||
|
|
var PartnerConst = require("partner_const");
|
||
|
|
var HeroVo = require("hero_vo");
|
||
|
|
var TipsController = require("tips_controller");
|
||
|
|
var RankConstant = require("rank_constant");
|
||
|
|
var RKC = require("rank_controller");
|
||
|
|
cc.Class({
|
||
|
|
"extends": BridgeWindow,
|
||
|
|
properties: {
|
||
|
|
floor_round: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
acktip: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
fight_btn: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
can_reward: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
first_title: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.RichText
|
||
|
|
},
|
||
|
|
limit_txt: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.RichText
|
||
|
|
},
|
||
|
|
get_btn: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
fabItem: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Prefab
|
||
|
|
},
|
||
|
|
itemNd: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
rank_items: {
|
||
|
|
"default": null,
|
||
|
|
type: ItemLay
|
||
|
|
},
|
||
|
|
friendHelp: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
myHelp: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
fabHero: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Prefab
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// LIFE-CYCLE CALLBACKS:
|
||
|
|
onLoad: function onLoad() {
|
||
|
|
this.ctrl = EndlessController.getInstance();
|
||
|
|
this.model = this.ctrl.getModel();
|
||
|
|
// 今日已挑战或者今日没挑战的状态
|
||
|
|
this.ack_status = 0;
|
||
|
|
this.bindGEvent(EndlessEvent.UPDATA_BASE_DATA, this.updateBaseInfo.bind(this));
|
||
|
|
this.bindGEvent(EndlessEvent.UPDATA_FIRST_DATA, this.updateFirstItem.bind(this));
|
||
|
|
//支援红点
|
||
|
|
this.bindGEvent(EndlessEvent.UPDATA_REDPOINT_SENDPARTNER_DATA, this.updateFriendRed.bind(this));
|
||
|
|
//首次领取红点
|
||
|
|
this.bindGEvent(EndlessEvent.UPDATA_REDPOINT_FIRST_DATA, this.updateFirstRed.bind(this));
|
||
|
|
//奖励红点
|
||
|
|
this.bindGEvent(EndlessEvent.UPDATA_REDPOINT_REWARD_DATA, this.updateRewardRed.bind(this));
|
||
|
|
//更新我方助战
|
||
|
|
this.bindGEvent(EndlessEvent.UPDATE_SEND_MAIN_DATA, this.updateMySender.bind(this));
|
||
|
|
},
|
||
|
|
updateMySender: function updateMySender(data) {
|
||
|
|
//提供雇佣
|
||
|
|
var sender_data = data;
|
||
|
|
if (sender_data.list[0]) {
|
||
|
|
if (!this.helpMe) {
|
||
|
|
this.helpMe = cc.instantiate(this.fabHero);
|
||
|
|
this.helpMe.parent = this.myHelp;
|
||
|
|
this.helpMe.position = cc.v2(0, 10);
|
||
|
|
}
|
||
|
|
var vo = new HeroVo();
|
||
|
|
vo.bid = sender_data.list[0].bid;
|
||
|
|
vo.lev = sender_data.list[0].lev;
|
||
|
|
vo.power = sender_data.list[0].power;
|
||
|
|
vo.quality = sender_data.list[0].quality;
|
||
|
|
vo.star = sender_data.list[0].star;
|
||
|
|
vo.ext_data = sender_data.list[0].ext_data;
|
||
|
|
var pNd = nx.gui.find(this.myHelp, "lay");
|
||
|
|
nx.gui.setString(pNd, "power", sender_data.list[0].power);
|
||
|
|
var cmp = nx.gui.getComponent(this.helpMe, "", "cmp.partner.com");
|
||
|
|
cmp.setData(vo);
|
||
|
|
}
|
||
|
|
},
|
||
|
|
updateRewardRed: function updateRewardRed(status) {
|
||
|
|
//fight_btn
|
||
|
|
// nx.mTip.openTip
|
||
|
|
},
|
||
|
|
updateFirstRed: function updateFirstRed(status) {
|
||
|
|
//get_btn
|
||
|
|
// nx.mTip.openTip
|
||
|
|
},
|
||
|
|
updateFriendRed: function updateFriendRed(status) {
|
||
|
|
// nx.mTip.openTip
|
||
|
|
},
|
||
|
|
updateBaseInfo: function updateBaseInfo(data) {
|
||
|
|
if (nx.dt.objEmpty(data)) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
this.base_data = data;
|
||
|
|
this.floor_round.string = data.max_round;
|
||
|
|
var str1 = cc.js.formatStr(nx.text.getKey("lab_endless_trail_main_from_node_start"), data.current_round);
|
||
|
|
var str2 = cc.js.formatStr(nx.text.getKey("lab_endless_trail_main_pass_node_today"), data.day_pass_round);
|
||
|
|
this.acktip.string = cc.js.formatStr("%s(%s)", str1, str2);
|
||
|
|
if (data.day_pass_round == 0) {
|
||
|
|
nx.gui.setString(this.fight_btn, "txt", nx.text.getKey("endless_start_fight"));
|
||
|
|
} else {
|
||
|
|
nx.gui.setString(this.fight_btn, "txt", nx.text.getKey("lab_endless_trail_main_restart"));
|
||
|
|
}
|
||
|
|
if (data.day_pass_round != 0 && data.is_reward == 1) {
|
||
|
|
this.ack_status = 2;
|
||
|
|
} else {
|
||
|
|
this.ack_status = 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
//雇佣伙伴
|
||
|
|
if (data.is_employ && !nx.dt.arrEmpty(data.list)) {
|
||
|
|
if (data.list[0]) {
|
||
|
|
var partner_data = data.list[0];
|
||
|
|
var vo = new HeroVo();
|
||
|
|
vo.bid = partner_data.bid;
|
||
|
|
vo.lev = partner_data.lev;
|
||
|
|
vo.power = partner_data.power;
|
||
|
|
vo.quality = partner_data.quality;
|
||
|
|
vo.star = partner_data.star;
|
||
|
|
vo.ext_data = partner_data.ext_data;
|
||
|
|
if (!this.helpOther) {
|
||
|
|
this.helpOther = cc.instantiate(this.fabHero);
|
||
|
|
this.helpOther.parent = this.friendHelp;
|
||
|
|
this.helpOther.position = cc.v2(0, 10);
|
||
|
|
}
|
||
|
|
var powerNd = nx.gui.find(this.friendHelp, "lay");
|
||
|
|
nx.gui.setString(powerNd, "power", partner_data.power);
|
||
|
|
var cmp = nx.gui.getComponent(this.helpOther, "", "cmp.partner.com");
|
||
|
|
cmp.setData(vo);
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
if (this.helpOther) {
|
||
|
|
var _powerNd = nx.gui.find(this.friendHelp, "lay");
|
||
|
|
nx.gui.setString(_powerNd, "power", "");
|
||
|
|
var _cmp = nx.gui.getComponent(this.helpOther, "", "cmp.partner.com");
|
||
|
|
_cmp.setData(null);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// 达到上限
|
||
|
|
if (data.is_reward == 1) {
|
||
|
|
this.can_reward.active = true;
|
||
|
|
} else {
|
||
|
|
this.can_reward.active = false;
|
||
|
|
}
|
||
|
|
// 自己当前排名奖励
|
||
|
|
this.updateRankItem();
|
||
|
|
},
|
||
|
|
//排名奖励
|
||
|
|
updateRankItem: function updateRankItem() {
|
||
|
|
if (this.base_data.my_idx == null) return;
|
||
|
|
var config = null;
|
||
|
|
for (var i in game.configs.endless_data.data_rank_reward_data) {
|
||
|
|
var v = game.configs.endless_data.data_rank_reward_data[i];
|
||
|
|
if (this.base_data.my_idx >= v.min && this.base_data.my_idx <= v.max) {
|
||
|
|
config = v;
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (config == null) {
|
||
|
|
//未上榜
|
||
|
|
// this.rank_notice.node.active = true;
|
||
|
|
this.rank_items.rebuild([]);
|
||
|
|
// this.my_rank_value.string = nx.text.getKey("lab_endless_trail_main_no_rank");
|
||
|
|
} else {
|
||
|
|
// this.rank_notice.node.active = false;
|
||
|
|
// this.my_rank_value.string = this.base_data.my_idx;
|
||
|
|
var temp_list = [];
|
||
|
|
for (var j in config.items) {
|
||
|
|
temp_list.push({
|
||
|
|
bid: config.items[j][0],
|
||
|
|
num: config.items[j][1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
this.rank_items.rebuild(temp_list);
|
||
|
|
}
|
||
|
|
},
|
||
|
|
updateFirstItem: function updateFirstItem(data) {
|
||
|
|
if (nx.dt.objEmpty(data)) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
if (game.configs.endless_data.data_first_data && this.base_data) {
|
||
|
|
this.first_data = data;
|
||
|
|
var first_data = game.configs.endless_data.data_first_data[this.first_data.id];
|
||
|
|
if (this.first_data.id == 0) {
|
||
|
|
var str = nx.text.getKey("lab_endless_trail_main_have_taken_over");
|
||
|
|
this.limit_txt.string = str;
|
||
|
|
this.limit_txt.node.active = true;
|
||
|
|
this.first_title.node.active = false;
|
||
|
|
this.get_btn.active = false;
|
||
|
|
} else {
|
||
|
|
if (first_data) {
|
||
|
|
var str = cc.js.formatStr(nx.text.getKey("lab_endless_trail_main_first_pass_reward"), first_data.limit_id);
|
||
|
|
this.first_title.string = str;
|
||
|
|
if (this.first_data.status == 1) {
|
||
|
|
this.get_btn.active = true;
|
||
|
|
this.limit_txt.node.active = false;
|
||
|
|
} else {
|
||
|
|
str = cc.js.formatStr(nx.text.getKey("lab_endless_trail_main_after_node_reward"), first_data.limit_id - this.base_data.max_round);
|
||
|
|
this.limit_txt.string = str;
|
||
|
|
this.limit_txt.node.active = true;
|
||
|
|
this.get_btn.active = false;
|
||
|
|
}
|
||
|
|
this.first_item = cc.instantiate(this.fabItem);
|
||
|
|
this.first_item.parent = this.itemNd;
|
||
|
|
var cmp = nx.gui.getComponent(this.first_item, "", "cmp.item.base");
|
||
|
|
cmp.setData(first_data.items[0]);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
start: function start() {},
|
||
|
|
onOpenConfigs: function onOpenConfigs() {
|
||
|
|
this.ctrl.send23900();
|
||
|
|
this.ctrl.send23903();
|
||
|
|
this.ctrl.send23905(); //查询我方助战
|
||
|
|
},
|
||
|
|
onPreClosed: function onPreClosed() {},
|
||
|
|
onClickMyHelp: function onClickMyHelp() {
|
||
|
|
this.ctrl.openEndlessMyHelpView(true);
|
||
|
|
},
|
||
|
|
onClickFriendHelp: function onClickFriendHelp() {
|
||
|
|
this.ctrl.openEndlessFriendHelpView(true);
|
||
|
|
},
|
||
|
|
onClickReward: function onClickReward() {
|
||
|
|
this.ctrl.openEndlessRewardWindow(true);
|
||
|
|
},
|
||
|
|
onClickTips: function onClickTips() {
|
||
|
|
var TC = TipsController.getInstance();
|
||
|
|
if (TC) {
|
||
|
|
var txt = game.configs.endless_data.data_explain;
|
||
|
|
TC.showDetailPanel(txt);
|
||
|
|
}
|
||
|
|
},
|
||
|
|
onClickGet: function onClickGet() {
|
||
|
|
if (this.first_data) {
|
||
|
|
this.ctrl.send23904(this.first_data.id);
|
||
|
|
}
|
||
|
|
},
|
||
|
|
onCLickAct: function onCLickAct() {
|
||
|
|
var has_hire_list = this.model.getHasHirePartnerData() || {};
|
||
|
|
var list = has_hire_list.list || {};
|
||
|
|
if (this.ack_status == 2) {
|
||
|
|
HeroController.getInstance().openFormGoFightPanel(true, PartnerConst.Fun_Form.EndLess, {
|
||
|
|
has_hire_list: list
|
||
|
|
});
|
||
|
|
nx.mbox(nx.text.getKey("msg_endless_trail_main_cannot_get_reward"), ["cancel", "confirm"], function (_key, _box) {
|
||
|
|
_box.close();
|
||
|
|
if (_key == "confirm") {
|
||
|
|
HeroController.getInstance().openFormGoFightPanel(true, PartnerConst.Fun_Form.EndLess, {
|
||
|
|
has_hire_list: list
|
||
|
|
});
|
||
|
|
}
|
||
|
|
});
|
||
|
|
} else {
|
||
|
|
HeroController.getInstance().openFormGoFightPanel(true, PartnerConst.Fun_Form.EndLess, {
|
||
|
|
has_hire_list: list
|
||
|
|
});
|
||
|
|
}
|
||
|
|
},
|
||
|
|
onClickRank: function onClickRank() {
|
||
|
|
RKC.getInstance().openRankDetail(RankConstant.RankType.endless);
|
||
|
|
} // update (dt) {},
|
||
|
|
});
|
||
|
|
|
||
|
|
cc._RF.pop();
|