"use strict"; cc._RF.push(module, '94ba9chjeJNGLzN8HD2NMWb', 'partner.clerk.mod'); // Scripts/mod/partner/partner.clerk.mod.js "use strict"; /******************************************************************************* * * 伙伴秘书组管理 * * * * 2023.04.10 ******************************************************************************/ var BridgeController = require("bridge.controller"); var RoleController = require("role_controller"); var PartnerClerkMod = cc.Class({ "extends": BridgeController, // 初始化配置数据 initConfig: function initConfig() { // 视图清理 this.reset(); // 全局支持 nx.bridge.clerks = this; }, // 注册监听事件 registerEvents: function registerEvents() {}, // 注册协议接受事件 registerProtocals: function registerProtocals() { // 获取秘书组信息 this.RegisterProtocal(10361, this.onFetchData.bind(this)); // 修改秘书组信息 this.RegisterProtocal(10362, this.onModifyData.bind(this)); // 修改当前展示的秘书 this.RegisterProtocal(10363, this.onShowChanged.bind(this)); }, // 从服务器初始化数据 reqBaseFromServer: function reqBaseFromServer(_cb) { var _this = this; // 配置加载 var cfgs = ["secretary_data" // 秘书组 ]; this.loadConfigs(cfgs, function (_ret, _data) { _this.reqFetch(_cb); }); }, // 重置 reset: function reset(_list, _cur) { nx.bridge.vset("clerkList", _list || []); nx.bridge.vset("clerkShowId", _cur || ""); }, // 获取秘书组信息 reqFetch: function reqFetch(_cb) { this.SendProtocal(10361, {}, _cb); }, // REC: 获取秘书组信息 onFetchData: function onFetchData(_data) { this.reset(_data.secretary_group, _data.current_resource_id); }, // 修改秘书组信息 reqModify: function reqModify(_data, _cb) { this.cbModify = _cb; this.SendProtocal(10362, { secretary_group: _data }); }, // REC: 修改秘书组信息 onModifyData: function onModifyData(_data) { console.log(_data); // 失败 if (_data.code != 1) { nx.tbox(_data.msg); return; } this.reset(_data.secretary_group, _data.current_resource_id); nx.dt.fnInvoke(this.cbModify, _data); this.cbModify = null; }, // 修改当前展示的秘书 reqActiveShow: function reqActiveShow(_cb) { // 判空 var lst = nx.bridge.vget("clerkList"); if (nx.dt.arrEmpty(lst)) { return; } // 唯一 var cur = nx.bridge.vget("clerkShowId"); if (lst.length == 1 && lst[0].resource_id == cur) { nx.tbox("NeedSet"); return; } // 下一个 var idx = 0; for (var i = 0; i < lst.length; ++i) { if (lst[i].resource_id == cur) { idx = i + 1; break; } } idx = (idx + lst.length) % lst.length; this.cbActive = _cb; this.SendProtocal(10363, { resource_id: lst[idx].resource_id }); }, // REC: 修改当前展示的秘书 onShowChanged: function onShowChanged(_data) { console.log(_data); // 失败 if (_data.code != 1) { nx.tbox(_data.msg); return; } nx.bridge.vset("clerkShowId", _data.current_resource_id); nx.dt.fnInvoke(this.cbActive, _data); this.cbActive = null; } }); module.exports = PartnerClerkMod; cc._RF.pop();