Files
fc/dev/project/library/imports/fe/fef1d58b-5151-4db9-ba72-ea8951d3db3c.js
2026-05-24 10:21:26 +08:00

119 lines
3.6 KiB
JavaScript

"use strict";
cc._RF.push(module, 'fef1dWLUVFNubpy6olR09s8', 'cmp.guild.list.item');
// Scripts/mod/guild/base/cmps/cmp.guild.list.item.js
"use strict";
/******************************************************************
*
* 联盟列表项
*
******************************************************************/
var SVCItem = require("nx.fx.sv.expand.item");
var RoleController = require("role_controller");
var GDC = require("guild_controller");
var GuildConst = require("guild_const");
var COLOR0 = cc.color(39, 174, 16, 255);
var COLOR1 = cc.color(204, 23, 23, 255);
// 审核类型
var GCVT = GuildConst.ApplyJoinType;
cc.Class({
"extends": SVCItem,
properties: {
nodName: {
"default": null,
type: cc.Node
},
nodInfo: {
"default": null,
type: cc.Node
},
nodInfo2: {
"default": null,
type: cc.Node
},
nodOps: {
"default": null,
type: cc.Node
}
},
// 数据重置
rebind: function rebind(_idx, _data, _key) {
this._super(_idx, _data, _key);
if (nx.dt.objEmpty(_data)) {
return;
}
this.freshBase();
},
// 更新
freshBase: function freshBase() {
nx.gui.setString(this.nodName, "name", this.mdata.name);
nx.gui.setString(this.nodName, "lv", nx.text.format("GuildLevel", this.mdata.lev));
nx.gui.setString(this.nodInfo, "leader/name", this.mdata.leader_name);
nx.gui.setString(this.nodInfo, "member/cur", this.mdata.members_num);
nx.gui.setString(this.nodInfo, "member/max", this.mdata.members_max);
// 申请条件
var btnKey = "";
var role = RoleController.getInstance().getRoleVo();
if (this.mdata.apply_type == GCVT.Auto) {
nx.gui.setString(this.nodInfo2, "level/txt", nx.text.getKey("GuildNoLimit"));
nx.gui.setColor(this.nodInfo2, "level/txt", COLOR0);
nx.gui.setString(this.nodInfo2, "bp/txt", nx.text.getKey("GuildNoLimit"));
nx.gui.setColor(this.nodInfo2, "bp/txt", COLOR0);
btnKey = "join";
} else {
var goodLv = role.lev >= this.mdata.apply_lev;
var txtLv = this.mdata.apply_lev <= 1 ? "GuildNoLimit" : "" + this.mdata.apply_lev;
nx.gui.setString(this.nodInfo2, "level/txt", nx.text.getKey(txtLv));
nx.gui.setColor(this.nodInfo2, "level/txt", goodLv ? COLOR0 : COLOR1);
var goodBP = role.power >= this.mdata.apply_power;
var txtBP = this.mdata.apply_power <= 1 ? "GuildNoLimit" : "" + this.mdata.apply_power;
nx.gui.setString(this.nodInfo2, "bp/txt", nx.text.getKey(txtBP));
nx.gui.setColor(this.nodInfo2, "bp/txt", goodBP ? COLOR0 : COLOR1);
if (!goodLv || !goodBP) {
btnKey = "not";
} else if (!role.isHasGuild()) {
btnKey = this.mdata.is_apply == 0 ? "join" : "cancel";
}
}
// 满员
if (this.mdata.members_num >= this.mdata.members_max) {
btnKey = "full";
}
this.nodOps.children.forEach(function (btn) {
btn.active = btn.name == btnKey;
});
},
// 申请加入
onTouchJoin: function onTouchJoin() {
var _this = this;
var gid = this.mdata.gid;
var sid = this.mdata.gsrv_id;
GDC.getInstance().reqJoin(gid, sid, 1, function (_ret, _data) {
if (_ret) {
_this.nodOps.children.forEach(function (btn) {
btn.active = btn.name == "cancel";
});
}
});
},
// 取消申请
onTouchCancel: function onTouchCancel() {
var _this2 = this;
var gid = this.mdata.gid;
var sid = this.mdata.gsrv_id;
GDC.getInstance().reqJoin(gid, sid, 2, function (_ret, _data) {
if (_ret) {
_this2.nodOps.children.forEach(function (btn) {
btn.active = btn.name == "join";
});
}
});
}
});
cc._RF.pop();