136 lines
3.8 KiB
JavaScript
136 lines
3.8 KiB
JavaScript
|
|
"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();
|