Files
fc/dev/project/library/imports/bb/bb670355-cbe6-40bb-8a0f-5868bb3288c4.js
T

136 lines
3.8 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"use strict";
cc._RF.push(module, 'bb670NVy+ZAu4oPWGi7MojE', 'act.task.daily.mod');
// Scripts/mod/acts/taskDaily/act.task.daily.mod.js
"use strict";
/*******************************************************************************
*
* 活动: 日常任务模版
*
*
******************************************************************************/
var ActBase = require("act.base");
var ActModTaskDaily = cc.Class({
"extends": ActBase,
// 初始化配置数据
initConfig: function initConfig() {
// 视图附着
nx.plugin.add(this, ["view"]);
this.vattach("Acts");
},
// 注册协议接受事件
registerProtocals: function registerProtocals() {
this.RegisterProtocal(31160, this.handle31160.bind(this)); // 任务信息
this.RegisterProtocal(31161, this.handle31161.bind(this)); // 任务信息
this.RegisterProtocal(31162, this.handle31162.bind(this)); // 提交任务
},
// 从服务器初始化数据
reqBaseFromServer: function reqBaseFromServer(_cb) {
var _this = this;
var cfgs = ["happy_daytask_data"];
this.loadConfigs(cfgs, function (_ret, _data) {
nx.dt.fnInvoke(_cb, true);
_this.reqBaseData();
});
},
// ============================================================
// 操作
// ============================================================
// 任务信息
reqBaseData: function reqBaseData(_cb) {
this.SendProtocal(31160, {}, _cb);
},
// 任务信息
handle31160: function handle31160(_data) {
if (!this.isGoodData(_data)) {
return;
}
this.handle31161(_data);
},
// 任务更新
handle31161: function handle31161(_data) {
if (!this.isGoodData(_data) || nx.dt.arrEmpty(_data.list)) {
return;
}
var list = this.vget("dailyTasks", []);
if (nx.dt.arrEmpty(list)) {
this.vset("dailyTasks", _data.list || []);
} else {
for (var i = 0; i < _data.list.length; ++i) {
var old = false;
var info = _data.list[i];
for (var k = 0; k < list.length; ++k) {
var temp = list[k];
if (temp.id == info.id) {
list[k] = info;
old = true;
break;
}
}
if (!old) {
list.push(info);
}
}
this.vset("dailyTasks", list || []);
}
this.freshTips();
},
// 提交任务
reqFinish: function reqFinish(_tid, _cb) {
this.SendProtocal(31162, {
id: _tid
}, _cb);
},
// 提交任务
handle31162: function handle31162(_data) {
if (!this.isGoodData(_data)) {
return;
}
},
// 获取任务配置表
queryTaskCfgs: function queryTaskCfgs() {
var data = game.configs.happy_daytask_data.data_day_task_list;
var list = data ? data[this.data.camp_id] : null;
if (nx.dt.objEmpty(list)) {
nx.error("\u65E5\u5E38\u4EFB\u52A1\u914D\u7F6E\u7F3A\u5931!" + this.data.camp_id);
}
return list;
},
// 获取规则
queryRule: function queryRule() {
var data = game.configs.happy_daytask_data.data_const;
return data ? data.rules.desc : "";
},
// 获取道具信息
queryItemsConfig: function queryItemsConfig() {
var data = game.configs.happy_daytask_data.data_camp_item;
return data ? data[this.data.camp_id] : null;
},
// ============================================================
// 活动红点提示
// ============================================================
// 红点提示更新
freshTips: function freshTips() {
var can = false;
var list = this.vget("dailyTasks") || [];
for (var i = 0; i < list.length; ++i) {
// 0:未完成 1:已完成 2:已提交
var task = list[i];
if (task && task.status == 1) {
can = true;
break;
}
}
this.openTip("reward", can);
}
});
// 模块导出
module.exports = ActModTaskDaily;
cc._RF.pop();