Files
fc/dev/project/library/imports/03/0304d345-f1d2-4a50-a795-f0a947b268c5.js
T
2026-05-24 10:21:26 +08:00

176 lines
4.8 KiB
JavaScript

"use strict";
cc._RF.push(module, '0304dNF8dJKUKeV8KlHsmjF', 'cmp.act.limitstar.wnd');
// Scripts/mod/acts/upstar/cmp/cmp.act.limitstar.wnd.js
"use strict";
/******************************************************************
*
* 限定招募五选一升星活动
*
******************************************************************/
var NxSpine = require("nx.fx.spine");
var NxExpand = require("nx.fx.sv.expand");
var PathTool = require("pathtool");
var HeroVo = require("hero_vo");
var TipsController = require("tips_controller");
var ActPage = require("act.page.base");
cc.Class({
"extends": ActPage,
properties: {
empNd: {
"default": null,
type: cc.Node
},
roleNd: {
"default": null,
type: cc.Node
},
role: {
"default": null,
type: NxSpine
},
roleTag: {
"default": null,
type: cc.Node
},
btnLock: {
"default": null,
type: cc.Node
},
list: {
"default": null,
type: NxExpand
},
fabHero: {
"default": null,
type: cc.Prefab
},
limitTime: {
"default": null,
type: cc.Node
}
},
// 初始化
build: function build(_data) {
this._super(_data);
this.upstar_data = game.configs.holiday_upstars_new_data;
// 活动监听
this.mod.vbind(this, [["limitUpstarAwards", this.freshList.bind(this)]]);
},
onEnable: function onEnable() {
this.list.svcKey = this.data.source;
this.mod.send29220();
this.mod.send29221();
},
onDisable: function onDisable() {
this.list.rebuild([]);
},
// 销毁
onDestroy: function onDestroy() {
// 活动监听解除
if (this.mod) {
this.mod.vunbind(this);
}
this._super();
},
freshList: function freshList(award_list) {
var _this = this;
if (!award_list || award_list.length == 0) return;
this.list.svcKey = this.data.source;
this.list.rebuild(award_list);
//先設置已經選擇的英雄
var partner_bid = this.mod.getChooseHero().bid;
var cfg = game.configs.partner_data.data_partner_base[partner_bid];
if (cfg) {
nx.gui.hideAllChildren(this, "left/tag");
this.empNd.active = false;
if (!this.select_hero) {
this.select_hero = cc.instantiate(this.fabHero);
this.select_hero.parent = this.roleTag;
}
var cmp = nx.gui.getComponent(this.select_hero, "", "cmp.item.base");
if (cmp) {
var hero = new HeroVo();
hero.bid = this.mod.getChooseHero().bid;
hero.star = this.mod.getChooseHero().star;
hero.camp_type = cfg.camp_type;
cmp.rebind(0, hero, "");
}
var res_path = PathTool.getSpinePath(cfg.bustid, "show", false);
this.role.load(res_path, function (_e) {
if (!_e) {
_this.role.action("action1", true);
} else {
_this.role.stop();
}
});
} else {
this.empNd.active = true;
nx.gui.setSpriteFrame(this.empNd, "", cc.path.join("resDB/empty", "half_show"));
if (!this.select_hero) {
this.select_hero = cc.instantiate(this.fabHero);
this.select_hero.parent = this.roleTag;
}
var _cmp = nx.gui.getComponent(this.select_hero, "", "cmp.item.base");
if (_cmp) {
_cmp.rebind(0, {}, "");
}
}
if (this.mod.getIsLock() == 1) {
this.btnLock.active = false;
}
nx.gui.setCdTxt(this.limitTime, "", this.mod.getLimitTime() - client.socket.getTime());
},
setLockHeroInfo: function setLockHeroInfo(data) {
if (nx.dt.objEmpty(data)) return;
if (this.mod.getIsLock() == 1) return; //已鎖定
//先設置已經選擇的英雄
//打開英雄選擇界面
nx.bridge.createPanel("WndActUpstarHero", {
plist: data.partner_list,
mod: this.mod,
acts_type: this.data.source
});
},
onClickSelectHero: function onClickSelectHero() {
if (this.mod.getIsLock() == 1) return; //已鎖定
var data = this.mod.vget("limitHeros");
if (nx.dt.objEmpty(data)) return;
if (data.partner_list == 0) {
return nx.tbox("NotAbortHero");
} else {
//打開英雄選擇界面
nx.bridge.createPanel("WndActUpstarHero", {
plist: data.partner_list,
mod: this.mod,
acts_type: this.data.source
});
}
},
onClickLock: function onClickLock() {
var _this2 = this;
var str = nx.text.getKey("ActUpstarLock_");
nx.mbox(str, ["cancel", "confirm"], function (_key, _box) {
_box.close();
if (_key == "confirm") {
_this2.mod.send29223(function (_data) {
if (!_data) return;
_this2.btnLock.active = false;
});
}
});
},
onClickRule: function onClickRule() {
var TC = TipsController.getInstance();
if (TC) {
var config = gdata("holiday_upstars_new_data", "data_const", "desc");
TC.showTextPanel(null, config.desc);
}
}
});
cc._RF.pop();