258 lines
6.9 KiB
JavaScript
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(); |