Files
fc/dev/project/library/imports/05/056d476b-ca47-4778-93da-ad147902602d.js
2026-05-24 10:21:26 +08:00

258 lines
6.9 KiB
JavaScript

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