Files
fc/dev/project/library/imports/f5/f5bd9a2e-e3de-4d11-8e3a-123e0dabd12e.js
T
2026-05-24 10:21:26 +08:00

160 lines
4.2 KiB
JavaScript

"use strict";
cc._RF.push(module, 'f5bd9ou495NEY46Ej4Nq9Eu', 'act.elite.mod');
// Scripts/mod/acts/elite/act.elite.mod.js
"use strict";
/******************************************************************
*
* 活动: 精英召唤
*
******************************************************************/
var ActBase = require("act.base");
var ActEliteSummon = cc.Class({
"extends": ActBase,
// 初始化配置数据
initConfig: function initConfig() {
// 视图附着
nx.plugin.add(this, ["view"]);
this.vattach("Acts");
},
// 注册协议接受事件
registerProtocals: function registerProtocals() {
this.RegisterProtocal(23230, this.handle23230.bind(this));
this.RegisterProtocal(23232, this.handle23232.bind(this));
this.RegisterProtocal(23231, this.handle23231.bind(this));
this.RegisterProtocal(23233, this.handle23233.bind(this));
this.RegisterProtocal(23244, this.handle23244.bind(this));
},
// 从服务器初始化数据
reqBaseFromServer: function reqBaseFromServer(_cb) {
var _this = this;
// 配置加载
var cfgs = ["recruit_holiday_lucky_data" // 5选一精英召唤
];
this.loadConfigs(cfgs, function (_ret, _data) {
_this.fetchData(_cb);
});
},
// ============================================================
// 基本信息
// ============================================================
// 信息请求
fetchData: function fetchData(_cb) {
this.SendProtocal(23230, {}, _cb);
},
// 数据整理
updateData: function updateData(_data, _reset) {
if (_reset === void 0) {
_reset = false;
}
if (nx.dt.objEmpty(_data)) {
return;
}
// 基础数据更新
var old = this.vget("eliteBase");
if (_reset || old.lucky_bid != _data.lucky_bid) {
this.vset("eliteBase", {
camp_id: _data.camp_id,
end_time: _data.end_time,
item_id: _data.item_id,
item_num: _data.item_num,
lucky_bid: _data.lucky_bid,
reward_list: _data.reward_list || [],
start_time: _data.start_time
});
}
// 次数数据更新
this.vset("eliteTimes", {
free_time: _data.free_time,
gold_time: _data.gold_time,
must_count: _data.must_count,
times: _data.times
});
this.freshTips();
},
// 信息请求返回
handle23230: function handle23230(_data) {
if (!this.isGoodData(_data)) {
return;
}
this.updateData(_data, true);
},
// 更新推送
handle23232: function handle23232(_data) {
this.updateData(_data, false);
},
// 请求更换许愿目标
reqTarget: function reqTarget(_bid, _cb) {
this.SendProtocal(23233, {
lucky_bid: _bid
}, _cb);
},
// 更换许愿目标回复
handle23233: function handle23233(_data) {
if (!this.isGoodData(_data)) {
return;
}
},
// ============================================================
// 召唤操作
// ============================================================
// 召唤请求
reqSummon: function reqSummon(_times, _type, _cb) {
this.SendProtocal(23231, {
times: _times,
recruit_type: _type
}, _cb);
},
// 精英召唤返回
handle23231: function handle23231(_data) {
if (!this.isGoodData(_data)) {
return;
}
},
// ============================================================
// 排行榜
// ============================================================
// 排行榜请求
reqRankList: function reqRankList(_today, _cb) {
this.SendProtocal(23244, {
type: _today ? 57 : 58
}, _cb);
},
// 排行榜
handle23244: function handle23244(_data) {
if (!this.isGoodData(_data)) {
return;
}
},
// ============================================================
// 活动红点提示
// ============================================================
// 活动用到的提示KEY
tipKeys: function tipKeys() {
return ["free"];
},
// 红点提示更新
freshTips: function freshTips() {
var base = this.vget("eliteBase");
var times = this.vget("eliteTimes");
// 奖励关闭
this.openTip("reward", false);
// 免费
var tip = base.camp_id != 0 && times.free_time == 0;
this.openTip("free", tip);
}
});
module.exports = ActEliteSummon;
cc._RF.pop();