"use strict"; cc._RF.push(module, '056d4drykdHeJParRR5AmAt', 'cmp.guild.wnd'); // Scripts/mod/guild/base/cmps/cmp.guild.wnd.js "use strict"; /****************************************************************** * * 联盟主窗体 * ******************************************************************/ var BridgeWindow = require("bridge.window"); var GuildConst = require("guild_const"); var GuildEvent = require("guild_event"); var GuildController = require("guild_controller"); var RoleController = require("role_controller"); var TipController = require("tips_controller"); // 工会职位 var GPT = GuildConst.PositionType; cc.Class({ "extends": BridgeWindow, properties: { nodBase: { "default": null, type: cc.Node }, nodSign: { "default": null, type: cc.Node }, nodOps: { "default": null, type: cc.Node }, nodBtns: { "default": null, type: cc.Node } }, // 显示 onEnable: function onEnable() { var _this = this; this.ctrl = GuildController.getInstance(); this.model = this.ctrl.getModel(); // 事件监听 this.bindGEvent(GuildEvent.UpdateMyInfoEvent, this.onUpdateInfo.bind(this)); this.ctrl.reqBase(function (_ret, _data) { if (!_ret) { nx.tbox(_data); _this.scheduleOnce(function () { _this.close(); }, 0.01); return; } _this.freshDetail(_data); _this.freshSign(_data); _this.freshOps(_data); }); }, // 关闭 onDisable: function onDisable() { this.unbindGEvents(); }, // 刷新成员人数 updateMember: function updateMember(_data) { var info = _data || this.model.getMyGuildInfo(); var txt = info ? info.members_num + "/" + info.members_max : "0/0"; nx.gui.setString(this.nodBase, "member/txt", txt); }, // 刷新联盟等级 updateLevel: function updateLevel(_data) { var info = _data || this.model.getMyGuildInfo(); var lev = info ? info.lev : 1; nx.gui.setString(this.nodBase, "level/txt", nx.text.format("LvNumber", lev)); }, // 刷新联盟经验 updateExp: function updateExp(_data) { var info = _data || this.model.getMyGuildInfo(); var DATA = game.configs.guild_data.data_guild_lev; var limit = DATA[info.lev].exp; nx.gui.setString(this.nodBase, "exp/txt", info.exp + "/" + limit); var prog = nx.gui.getComponent(this.nodBase, "prog", cc.ProgressBar); prog.progress = info.exp / limit; }, // 更新推送 onUpdateInfo: function onUpdateInfo(_key, _value) { // 成员人数 if (_key == "members_num") { this.updateMember(); return; } // 联盟等级 if (_key == "lev") { this.updateLevel(); return; } // 联盟经验 if (_key == "exp") { this.updateExp(); return; } }, // 刷新详情 freshDetail: function freshDetail(_data) { nx.gui.setString(this.nodBase, "name/txt", _data.name); nx.gui.setString(this.nodBase, "leader/txt", _data.leader_name); this.updateMember(_data); this.updateLevel(_data); this.updateExp(_data); }, // 刷新口号 freshSign: function freshSign(_data) { nx.gui.setString(this.nodSign, "txt", _data.sign || ""); }, // 刷新操作 freshOps: function freshOps(_data) { var role = RoleController.getInstance().getRoleVo(); if (!role || role.position == GPT.Member) { nx.gui.setActive(this.nodSign, "modify", false); nx.gui.setActive(this.nodBase, "rename", false); for (var i = 0; i < this.nodOps.children.length; i++) { var op = this.nodOps.children[i]; if (i == 1 || i == this.nodOps.children.length - 1) { nx.gui.setActive(op, "", true); continue; } nx.gui.setActive(op, "", false); } } else { nx.gui.setActive(this.nodSign, "modify", true); nx.gui.setActive(this.nodBase, "rename", true); this.nodOps.children.forEach(function (op) { nx.gui.setActive(op, "", true); }); } }, // 联盟改名 onTouchRename: function onTouchRename() { var self = this; var modify = function modify(_name) { self.ctrl.reqRename(_name, function (_ret, _data) { if (!_ret) { nx.tbox(_data); return; } nx.gui.setString(self.nodBase, "name/txt", _name); }); }; var TC = TipController.getInstance(); TC.showInputString({ txt: this.model.getMyGuildInfo().name, tip: "GuildInputNameEmpty", limit: [4, 12], cb: function cb(_box, _str) { _box.close(); modify(_str); } }); }, // 口号修改 onTouchModifySign: function onTouchModifySign() { var self = this; var modify = function modify(_sign) { self.ctrl.reqModifySign(_sign, function (_ret, _data) { if (!_ret) { nx.tbox(_data); return; } nx.gui.setString(self.nodSign, "txt", _sign); }); }; var TC = TipController.getInstance(); TC.showInputWords({ txt: this.model.getMyGuildInfo().sign, tip: "GuildInputSignEmpty", limit: [4, 100], cb: function cb(_box, _str) { _box.close(); modify(_str); } }); }, // 一键招募 onTouchRecruit: function onTouchRecruit() { var _this2 = this; // 判空 var info = this.model.getMyGuildInfo(); if (!info) { return; } // 免费 if (info.recruit_num < 1) { nx.mbox("GuildRecruitFree", ['cancel', 'confirm'], function (_key, _box) { _box.close(); if (_key == 'confirm') { _this2.ctrl.reqBroadcast(function (_ret, _data) { if (!_ret) { nx.tbox(_data); return; } }); } }); return; } // 付费 var cost = gdata("guild_data", "data_const", "recruit_cost"); var role = RoleController.getInstance().getRoleVo(); if (!cost || !role) { return; } var txt = nx.text.format("GuildRecruitPay", cost.val); nx.mbox(txt, ['cancel', 'confirm'], function (_key, _box) { _box.close(); if (_key == 'confirm') { _this2.ctrl.reqBroadcast(function (_ret, _data) { if (!_ret) { nx.tbox(_data); return; } }); } }); }, // 点击成员管理 onTouchMemebers: function onTouchMemebers() { // 普通成员浏览 var role = RoleController.getInstance().getRoleVo(); if (role.position == GPT.Member) { nx.bridge.createPanel("WndGuildMemberList"); return; } // 特殊的管理 nx.bridge.createPanel("WndGuildMemberManager"); }, // 点击每日獎勵 onTouchDailyReward: function onTouchDailyReward() { var _this3 = this; this.ctrl.reqGetDailyReward(function (_ret, _data) { if (!_ret) { nx.tbox(_data); return; } _data.mod = _this3.ctrl; nx.bridge.createPanel("WndGuildReward", _data); }); } }); cc._RF.pop();