"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();