119 lines
3.6 KiB
JavaScript
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();
|