568 lines
22 KiB
JavaScript
568 lines
22 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, '285359I2MBLZYw4NT4OE8TY', 'cmp.guild.talent.wnd');
|
|
// Scripts/mod/guild/base/cmps/cmp.guild.talent.wnd.js
|
|
|
|
"use strict";
|
|
|
|
/******************************************************************
|
|
*
|
|
* 联盟天赋
|
|
*
|
|
******************************************************************/
|
|
var Toggle = require("nx.fx.togs");
|
|
var BridgeWindow = require("bridge.window");
|
|
var GuildskillController = require("guildskill_controller");
|
|
var GuildskillEvent = require("guildskill_event");
|
|
var GuildConst = require("guild_const");
|
|
var BackpackController = require("backpack_controller");
|
|
var SkillBase = require("cmp.skill.base");
|
|
var paths = {
|
|
40002: "res_p2",
|
|
40001: "res_p1",
|
|
30002: "res_p2",
|
|
30001: "res_p1",
|
|
20002: "dam2",
|
|
20001: "dam1",
|
|
10002: "dam2",
|
|
10001: "dam1"
|
|
};
|
|
cc.Class({
|
|
"extends": BridgeWindow,
|
|
properties: {
|
|
nodMenu: {
|
|
"default": null,
|
|
type: Toggle
|
|
},
|
|
nodModel: {
|
|
"default": null,
|
|
type: Toggle
|
|
},
|
|
nodInfo: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
nodShow: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
nodLock: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
nodPvpAttr: {
|
|
"default": [],
|
|
type: cc.Node
|
|
}
|
|
},
|
|
onLoad: function onLoad() {
|
|
this.bindGEvent(GuildskillEvent.UpdateSkilUpgradeEvent, this.freshSkill.bind(this));
|
|
this.bindGEvent(GuildskillEvent.UpdateGuildSkillEvent, this.freshSkill.bind(this));
|
|
this.bindGEvent(GuildskillEvent.UpdateSkillStatusEvent, this.freshSkill.bind(this));
|
|
this.bindGEvent(GuildskillEvent.Guild_Pvp_Career_Info_Event, this.freshUpGrade.bind(this));
|
|
// this.bindGEvent( GuildskillEvent.Guild_Pvp_Career_Info_Event, this.freshSkill.bind( this ) );
|
|
this.nodMenu.posTog = this.onTogMenu.bind(this);
|
|
this.nodModel.posTog = this.onTogModel.bind(this);
|
|
},
|
|
// 重载:参数打开
|
|
onOpenConfigs: function onOpenConfigs(_params) {
|
|
this.nodMenu.togTo(0);
|
|
// this.nodModel.togTo( 1 );
|
|
this.activeMenu(2);
|
|
// this.activeModel( GuildConst.guildAttrType.PVE );
|
|
},
|
|
|
|
// 商城切换
|
|
onTogMenu: function onTogMenu(_index) {
|
|
this.activeMenu(parseInt(_index) + 2);
|
|
},
|
|
// 模式切换
|
|
onTogModel: function onTogModel(_index) {
|
|
this.activeModel(parseInt(_index) + 1);
|
|
},
|
|
// 模式切換 pve pvp 需要刷新數據
|
|
activeModel: function activeModel(_index) {
|
|
var model = _index;
|
|
nx.gui.setActive(this.nodLock, "", nx.dt.arrEmpty(this.PVPSkills.attr_formation));
|
|
nx.gui.setActive(this.nodShow, "pvp", model == GuildConst.guildAttrType.PVP);
|
|
nx.gui.setActive(this.nodShow, "pve", model == GuildConst.guildAttrType.PVE);
|
|
model == GuildConst.guildAttrType.PVP ? this.freshPvpAttr() : this.freshProps();
|
|
},
|
|
// 激活菜单 职业选择 切換職業 刷數據
|
|
activeMenu: function activeMenu(_index) {
|
|
this.career = _index;
|
|
var GS = GuildskillController.getInstance();
|
|
var model = GS.getModel();
|
|
this.select = 0;
|
|
this.PVPSkills = model.getPvpskillInfoByCareer(this.career);
|
|
|
|
// 默認顯示控制 pve ? pvp
|
|
if (nx.dt.arrEmpty(this.PVPSkills.attr_formation)) {
|
|
this.nodModel.togTo(1);
|
|
this.activeModel(GuildConst.guildAttrType.PVE);
|
|
} else {
|
|
this.nodModel.togTo(0);
|
|
this.activeModel(GuildConst.guildAttrType.PVP);
|
|
}
|
|
var skills = model.getCareerSkillInfo(this.career);
|
|
if (nx.dt.objEmpty(skills)) {
|
|
GS.requestCareerSkillInfo(this.career);
|
|
return;
|
|
}
|
|
|
|
// this.skills = skills;
|
|
this.freshSkill();
|
|
},
|
|
// 刷新属性相关 pve相關
|
|
freshProps: function freshProps() {
|
|
if (!this.skills) {
|
|
return;
|
|
}
|
|
nx.gui.setActive(this.nodInfo, "cnt/pvp_tip", false);
|
|
nx.gui.setActive(this.nodInfo, "cnt/ops/reset", false);
|
|
var results = [];
|
|
var val = this.skills.group_ids;
|
|
var cfgs = game.configs.guild_skill_data;
|
|
if (nx.dt.arrEmpty(val)) {
|
|
val = [0, 0, 0, 0, 0, 0];
|
|
this.base = cfgs.data_info_group[this.skills.group_id];
|
|
} else {
|
|
// 處理需要叠加計算的數據相關
|
|
var lst = [];
|
|
var _attrs = [];
|
|
results = [];
|
|
var seq = [0, 0, 0, 0, 0, 0];
|
|
// 获取所有的 需要处理的属性总
|
|
var dealVal = function dealVal(_data) {
|
|
var attr_list = "";
|
|
var dealResult = function dealResult(_itemd) {
|
|
attr_list = cfgs.data_info[_itemd.id].attr_list[0][0];
|
|
seq[_itemd.seq - 1] += cfgs.data_info[_itemd.id].attr_list[0][1];
|
|
results[_itemd.seq - 1] = [attr_list, seq[_itemd.seq - 1], _itemd.id];
|
|
};
|
|
lst.forEach(function (_item) {
|
|
if (_item.seq == 1) {
|
|
dealResult(_item);
|
|
}
|
|
if (_item.seq == 2) {
|
|
dealResult(_item);
|
|
}
|
|
if (_item.seq == 3) {
|
|
dealResult(_item);
|
|
}
|
|
if (_item.seq == 4) {
|
|
dealResult(_item);
|
|
}
|
|
if (_item.seq == 5) {
|
|
dealResult(_item);
|
|
}
|
|
if (_item.seq == 6) {
|
|
dealResult(_item);
|
|
}
|
|
});
|
|
};
|
|
|
|
// 获取所有的 需要处理的属性总
|
|
var deal = function deal(_data) {
|
|
var gs = cfgs.data_info_group[_data];
|
|
_attrs = nx.dt.objClone(gs[0]);
|
|
for (var j = 0; j < gs.length; j++) {
|
|
var g = gs[j];
|
|
lst.push(g);
|
|
}
|
|
};
|
|
for (var i = 0; i < this.skills.group_ids.length; i++) {
|
|
var d = this.skills.group_ids[i].group_id;
|
|
deal(d);
|
|
}
|
|
dealVal(lst);
|
|
}
|
|
var group_id = this.skills.group_id;
|
|
/**
|
|
* [23700]:{"career":2,"group_id":2001,"skill_ids":[{"skill_id":20011}],"group_ids":[]}
|
|
*/
|
|
var afg = game.configs.guild_skill_data.data_const;
|
|
var sfg = game.configs.guild_skill_data.data_group;
|
|
var dfg = game.configs.guild_skill_data.data_info;
|
|
var key = this.career + "_" + group_id;
|
|
|
|
// 显示的属性 读取相关配置信息
|
|
var attrs = afg["attr_show_" + (this.career - 1)].val;
|
|
|
|
// 非手动聚焦显示下一个要升级的技能
|
|
var next = 0;
|
|
this.skills.skill_ids.forEach(function (skill) {
|
|
if (skill.status > 0) {
|
|
next++;
|
|
}
|
|
});
|
|
|
|
// 右上 显示相关的技能信息
|
|
var max = afg.max_lv;
|
|
|
|
// 操作及雜項顯示
|
|
this.freshOp(sfg, max, key, next);
|
|
if (next == this.skills.skill_ids.length) {
|
|
next = 0;
|
|
}
|
|
|
|
// 屬性相關
|
|
var cnode = nx.gui.find(this.nodShow, "pve/nod").children;
|
|
var chd = nx.gui.find(this.nodInfo, "cnt/props").children;
|
|
var nod_s = nx.gui.find(this.nodInfo, "top");
|
|
// let cfg = game.configs.attr_data;
|
|
for (var _i = 0; _i < chd.length; _i++) {
|
|
var clr = "";
|
|
// 右边属性 相关
|
|
var item = chd[_i];
|
|
var nod = cnode[_i];
|
|
if (nx.dt.arrEmpty(this.skills.group_ids)) {
|
|
nx.bridge.attrs.setAttribute(item, [attrs[_i], val[_i]]);
|
|
nx.gui.setSpriteFrame(item, "iconsp", cc.path.join("prefab/guild/icon/" + attrs[_i]));
|
|
} else {
|
|
// 当升级了 天赋后显示
|
|
nx.bridge.attrs.setAttribute(item, [results[_i][0], results[_i][1]]);
|
|
nx.gui.setSpriteFrame(item, "iconsp", cc.path.join("prefab/guild/icon/" + results[_i][0]));
|
|
}
|
|
nx.gui.setString(nod, "level", dfg[this.skills.skill_ids[_i].id].lev + "/" + afg.max_lv.val);
|
|
nx.gui.setActive(nod, "abg", next > _i);
|
|
nx.gui.setActive(nod, "focus", next == _i);
|
|
if (next == _i) {
|
|
clr = new cc.Color().fromHEX("#EAEDF2");
|
|
if (nx.dt.arrEmpty(this.skills.group_ids)) {
|
|
if (nx.dt.arrEmpty(this.PVPSkills.attr_formation)) {
|
|
this.freshMat(nx.gui.find(this.nodInfo, "cnt/mat"), dfg[this.base[_i].id].loss);
|
|
}
|
|
nx.bridge.attrs.setAttribute(nod, [attrs[_i], val[_i]]);
|
|
nx.gui.setSpriteFrame(nod, "iconsp", "prefab/guild/icon/w" + attrs[_i]);
|
|
nx.bridge.attrs.setAttribute(nod_s, [attrs[_i], val[_i]]);
|
|
nx.gui.setSpriteFrame(nod_s, "iconsp", "prefab/guild/icon/" + attrs[_i]);
|
|
} else {
|
|
if (nx.dt.arrEmpty(this.PVPSkills.attr_formation)) {
|
|
this.freshMat(nx.gui.find(this.nodInfo, "cnt/mat"), dfg[this.skills.skill_ids[_i].id].loss);
|
|
}
|
|
nx.bridge.attrs.setAttribute(nod, [results[_i][0], results[_i][1]]);
|
|
nx.gui.setSpriteFrame(nod, "iconsp", "prefab/guild/icon/w" + results[_i][0]);
|
|
nx.bridge.attrs.setAttribute(nod_s, [attrs[_i], cfgs.data_info[results[_i][2]].attr_list[0][1]]);
|
|
nx.gui.setSpriteFrame(nod_s, "iconsp", "prefab/guild/icon/" + attrs[_i]);
|
|
}
|
|
nx.gui.setString(nod_s, "add/lev", nx.text.format("LvNumber", dfg[this.skills.skill_ids[_i].id].lev));
|
|
nx.gui.setString(nod_s, "add/txt", dfg[this.skills.skill_ids[_i].id].lev + 1);
|
|
} else {
|
|
if (_i < next) {
|
|
clr = new cc.Color().fromHEX("#030303");
|
|
nx.bridge.attrs.setAttribute(nod, [attrs[_i], val[_i], _i + 1]);
|
|
nx.gui.setSpriteFrame(nod, "iconsp", "prefab/guild/icon/" + attrs[_i]);
|
|
} else {
|
|
clr = new cc.Color().fromHEX("#EAEDF2");
|
|
nx.bridge.attrs.setAttribute(nod, [attrs[_i], val[_i], _i + 1]);
|
|
nx.gui.setSpriteFrame(nod, "iconsp", "prefab/guild/icon/w" + attrs[_i]);
|
|
}
|
|
}
|
|
nx.gui.setColor(nod, "level", clr);
|
|
nx.gui.setActive(item, "", true);
|
|
}
|
|
nx.gui.setActive(this.nodInfo, "cnt/mat", nx.dt.arrEmpty(this.PVPSkills.attr_formation));
|
|
nx.gui.setActive(this.nodInfo, "cnt/pve_tip", !nx.dt.arrEmpty(this.PVPSkills.attr_formation));
|
|
},
|
|
freshOp: function freshOp(_sfg, _max, _key, _next) {
|
|
var _this = this;
|
|
var next = _next;
|
|
var key = _key;
|
|
var sfg = _sfg;
|
|
var max = _max;
|
|
var show_name = "";
|
|
if (sfg[key]) {
|
|
show_name = sfg[key].group_name;
|
|
// 操作刷新----
|
|
|
|
this.cb = function () {
|
|
var GS = GuildskillController.getInstance();
|
|
var sfg = game.configs.guild_skill_data.data_info_group;
|
|
|
|
// 取相应职业的属性升级序列
|
|
var skills = sfg[_this.skills.group_id];
|
|
var count = 0;
|
|
_this.skills.skill_ids.forEach(function (skill) {
|
|
if (skill.status > 0) {
|
|
count++;
|
|
}
|
|
});
|
|
GS.requestActivitySkill(skills[count].id);
|
|
};
|
|
nx.gui.setActive(this.nodInfo, "cnt/ops/other/uplevel", sfg[key].group_seq < max.val || sfg[key].group_seq == max.val && next < this.skills.skill_ids.length);
|
|
nx.gui.setActive(this.nodInfo, "cnt/ops/other/upgrade", next == this.skills.skill_ids.length && sfg[key].group_seq == max.val && nx.dt.arrEmpty(this.PVPSkills.attr_formation));
|
|
}
|
|
// nx.gui.setActive( this.nodInfo, "cnt/ops", true );
|
|
nx.gui.setString(this.nodInfo, "top/name", show_name);
|
|
},
|
|
freshPvpAttr: function freshPvpAttr() {
|
|
var _this2 = this;
|
|
//
|
|
/******
|
|
* {"career":4,"attr_formation":[
|
|
* {"id":30001,"lev":0},
|
|
* {"id":30002,"lev":0},
|
|
* {"id":30003,"lev":0},
|
|
* {"id":30004,"lev":0}
|
|
* ],"skill_id":0,"skill_lev":0}
|
|
*/
|
|
|
|
nx.gui.setActive(this.nodInfo, "cnt/pve_tip", false);
|
|
nx.gui.setActive(this.nodInfo, "cnt/pvp_tip", true);
|
|
this.unscheduleAllCallbacks();
|
|
var attr_form = this.PVPSkills.attr_formation;
|
|
var afg = game.configs.guild_skill_data.data_const;
|
|
var skills = [];
|
|
var chd = nx.gui.find(this.nodInfo, "cnt/props").children;
|
|
for (var i = 0; i < chd.length; i++) {
|
|
var dat = attr_form[i];
|
|
var item = chd[i];
|
|
if (!dat) {
|
|
nx.gui.setActive(item, "", false);
|
|
continue;
|
|
}
|
|
if (dat.lev > 0) {
|
|
skills.push(dat);
|
|
}
|
|
var key = dat.id + "_" + dat.lev;
|
|
var cfg = gdata("guild_skill_data", "data_pvp_attr_info", key);
|
|
var resspn = "";
|
|
if (dat.lev > 0) {
|
|
resspn = paths[dat.id] ? cc.path.join("prefab/guild/icon/" + paths[dat.id]) : cc.path.join("prefab/guild/icon/" + cfg.client_attr[0][0]);
|
|
} else {
|
|
resspn = paths[dat.id] ? cc.path.join("prefab/guild/icon/w" + paths[dat.id]) : cc.path.join("prefab/guild/icon/w" + cfg.client_attr[0][0]);
|
|
}
|
|
var ressp = paths[dat.id] ? cc.path.join("prefab/guild/icon/" + paths[dat.id]) : cc.path.join("prefab/guild/icon/" + cfg.client_attr[0][0]);
|
|
if (cfg) {
|
|
nx.bridge.attrs.setAttribute(this.nodPvpAttr[i], [cfg.client_attr[0][0], cfg.client_attr[0][1], i + 1]);
|
|
nx.gui.setSpriteFrame(this.nodPvpAttr[i], "iconsp", resspn);
|
|
nx.bridge.attrs.setAttribute(item, cfg.client_attr[0]);
|
|
nx.gui.setSpriteFrame(item, "iconsp", ressp);
|
|
}
|
|
nx.gui.setActive(item, "", true);
|
|
nx.gui.setActive(this.nodPvpAttr[i], "abg", dat.lev > 0);
|
|
nx.gui.setString(this.nodPvpAttr[i], "level", dat.lev + "/" + afg.max_lv.val);
|
|
}
|
|
nx.gui.setActive(this.nodInfo, "cnt/ops/reset", !nx.dt.arrEmpty(skills));
|
|
nx.gui.setActive(this.nodInfo, "cnt/ops/other/uplevel", true);
|
|
nx.gui.setActive(this.nodInfo, "cnt/ops/other/upgrade", false);
|
|
var skill_nod = nx.gui.find(this.nodShow, "pvp/skill");
|
|
var cmp = skill_nod.getComponent(SkillBase);
|
|
if (cmp) {
|
|
cmp.setData(this.PVPSkills.skill_id);
|
|
nx.gui.setActive(skill_nod, "lock", this.PVPSkills.skill_id == 0);
|
|
nx.gui.setString(skill_nod, "lev/lev", nx.text.format("LvNumber", this.PVPSkills.skill_lev));
|
|
nx.gui.setActive(skill_nod, "lev", this.PVPSkills.skill_id != 0);
|
|
}
|
|
this.scheduleOnce(function () {
|
|
_this2.onTouchPVPAttr(_this2.select);
|
|
}, 0.01);
|
|
},
|
|
freshMat: function freshMat(_nod, _mat) {
|
|
nx.gui.setActive(this.nodInfo, "cnt/mat", true);
|
|
// 刷新材料显示
|
|
var nod = _nod;
|
|
var mats = _mat;
|
|
if (mats) {
|
|
var chd = nod.children;
|
|
var model = BackpackController.getInstance().getModel();
|
|
for (var i = 0; i < chd.length; i++) {
|
|
var item = chd[i];
|
|
var mat = mats[i];
|
|
if (!mat || nx.dt.arrEmpty(mat)) {
|
|
nx.gui.setActive(item, "", false);
|
|
continue;
|
|
}
|
|
nx.gui.setActive(item, "", true);
|
|
nx.bridge.setIconS(item, "icon", mat[0]);
|
|
var have = model.getItemNumByBid(mat[0]);
|
|
var str = mat[1];
|
|
var clr = have >= mat[1] ? cc.Color.WHITE : cc.Color.WHITE;
|
|
nx.gui.setString(item, "txt", str);
|
|
nx.gui.setColor(item, "txt", clr);
|
|
}
|
|
}
|
|
},
|
|
freshSkill: function freshSkill() {
|
|
var GS = GuildskillController.getInstance();
|
|
var model = GS.getModel();
|
|
this.skills = model.getCareerSkillInfo(this.career);
|
|
this.PVPSkills = model.getPvpskillInfoByCareer(this.career);
|
|
nx.dt.arrEmpty(this.PVPSkills.attr_formation) ? this.freshProps() : this.freshPvpAttr();
|
|
},
|
|
// 突破后顯示變化 取消pvp的鎖定狀態
|
|
freshUpGrade: function freshUpGrade() {
|
|
var GS = GuildskillController.getInstance();
|
|
var model = GS.getModel();
|
|
this.PVPSkills = model.getPvpskillInfoByCareer(this.career);
|
|
nx.gui.setActive(this.nodInfo, "cnt/mat", false);
|
|
nx.gui.setActive(this.nodLock, "", false);
|
|
nx.gui.setActive(this.nodInfo, "cnt/ops/other/upgrade", false);
|
|
this.nodModel.togTo(0);
|
|
this.activeModel(GuildConst.guildAttrType.PVP);
|
|
},
|
|
onTouchLock: function onTouchLock() {
|
|
var afg = game.configs.guild_skill_data.data_const;
|
|
var max = afg.max_lv.val;
|
|
nx.tbox(nx.text.format("GuildSkillPvpTip", max));
|
|
return;
|
|
},
|
|
// 点击升级
|
|
onTouchUpLev: function onTouchUpLev() {
|
|
nx.dt.fnInvoke(this.cb);
|
|
},
|
|
// 突破
|
|
onTouchBreak: function onTouchBreak() {
|
|
var GS = GuildskillController.getInstance();
|
|
if (GS) {
|
|
GS.send23706(this.career);
|
|
}
|
|
},
|
|
// 重置 天赋属性
|
|
onTouchReset: function onTouchReset() {
|
|
var _this3 = this;
|
|
var total_lev = 0;
|
|
var GS = GuildskillController.getInstance();
|
|
var model = GS.getModel();
|
|
var is_first = model.isPvpFisrtReset();
|
|
var ress = [];
|
|
var attr = this.PVPSkills.attr_formation[0];
|
|
var ak = attr.id + "_" + attr.lev;
|
|
var sg = gdata("guild_skill_data", "data_pvp_attr_info", ak);
|
|
for (var i = 0; i < sg.return_res.length; i++) {
|
|
var it = nx.dt.objClone(sg.return_res[i]);
|
|
it[1] = 0;
|
|
ress.push(it);
|
|
}
|
|
this.PVPSkills.attr_formation.forEach(function (item) {
|
|
if (item.lev > 0) {
|
|
total_lev += item.lev;
|
|
var _key2 = item.id + "_" + item.lev;
|
|
var _sfg2 = gdata("guild_skill_data", "data_pvp_attr_info", _key2);
|
|
var res = _sfg2.return_res;
|
|
// console.log( item.id + "处理的属性数据" + JSON.stringify( sfg.return_res ) );
|
|
for (var _i2 = 0; _i2 < res.length; _i2++) {
|
|
var _item2 = res[_i2];
|
|
var ritem = ress[_i2];
|
|
if (_item2[0] == ritem[0]) {
|
|
ritem[1] += _item2[1];
|
|
// console.log(item[1] + "当前所有的属性数值相关累加sssss" + JSON.stringify( item[0] ) + "SSS" + ritem[1] );
|
|
}
|
|
}
|
|
}
|
|
});
|
|
// console.log( "当前所有的属性数值相关---->>>>" + JSON.stringify( ress ) );
|
|
|
|
var count = 0;
|
|
if (is_first) {
|
|
count = 300;
|
|
var config = game.configs.guild_skill_data.data_const.pvp_first_reset_consume;
|
|
if (config) {
|
|
count = config.val;
|
|
}
|
|
} else {
|
|
var reset_consume_var1 = 500;
|
|
var _config = game.configs.guild_skill_data.data_const.reset_consume_var1;
|
|
if (_config) {
|
|
reset_consume_var1 = _config.val;
|
|
}
|
|
var reset_consume_var2 = 15;
|
|
var config2 = game.configs.guild_skill_data.data_const.reset_consume_var2;
|
|
if (config2) {
|
|
reset_consume_var2 = _config.val;
|
|
}
|
|
// --本系技能總等級 * 係數2
|
|
var cost_count = total_lev * reset_consume_var2;
|
|
count = Math.max(reset_consume_var1, cost_count);
|
|
}
|
|
var key = this.career + "_" + this.PVPSkills.skill_lev;
|
|
var sfg = gdata("guild_skill_data", "data_pvp_skill_info", key);
|
|
var mfg = game.configs.guild_skill_data.data_const.first_reset_consume;
|
|
for (var j = 0; j < sfg.return_res.length; j++) {
|
|
var ss = sfg.return_res[j];
|
|
var ritem = ress[j];
|
|
if (ss[0] == ritem[0]) {
|
|
ritem[1] += ss[1];
|
|
}
|
|
}
|
|
var info = {
|
|
first: is_first,
|
|
tip: is_first ? nx.text.format("tip_guildTalent_reset", mfg.val) : nx.text.format("tip_guildTalent_resetn", count),
|
|
res: ress,
|
|
career: this.career,
|
|
cb: function cb() {
|
|
var GS = GuildskillController.getInstance();
|
|
if (GS) {
|
|
GS.send23709(_this3.career);
|
|
}
|
|
}
|
|
};
|
|
nx.bridge.createPanel("WndGuildTalentReset", info);
|
|
},
|
|
// 點擊 pvp技能 彈出彈窗
|
|
onTouchSkillIcon: function onTouchSkillIcon() {
|
|
var info = {
|
|
career: this.career,
|
|
lev: this.PVPSkills
|
|
};
|
|
nx.bridge.createPanel("WndGuildTalentSkillUplev", info);
|
|
},
|
|
// 點擊 pvp天賦
|
|
onTouchPVPAttr: function onTouchPVPAttr(_index) {
|
|
var _this4 = this;
|
|
var gsd = game.configs.guild_skill_data.data_const.pvp_max_lv;
|
|
var max = gsd.val / 4;
|
|
var attr_form = this.PVPSkills.attr_formation;
|
|
var nod_s = nx.gui.find(this.nodInfo, "top");
|
|
for (var i = 0; i < this.nodPvpAttr.length; i++) {
|
|
nx.gui.setActive(this.nodPvpAttr[i], "focus", i == _index);
|
|
var dat = attr_form[i];
|
|
var key = dat.id + "_" + dat.lev;
|
|
var cfg = gdata("guild_skill_data", "data_pvp_attr_info", key);
|
|
var ressp = "";
|
|
var clr = "";
|
|
if (cfg) {
|
|
if (i == _index) {
|
|
this.select = _index;
|
|
// clr = new cc.Color().fromHEX( "#030303" );
|
|
nx.bridge.attrs.setAttribute(this.nodPvpAttr[i], cfg.client_attr[0]);
|
|
if (dat.lev > 0) {
|
|
clr = new cc.Color().fromHEX("#030303");
|
|
ressp = paths[dat.id] ? cc.path.join("prefab/guild/icon/" + paths[dat.id]) : cc.path.join("prefab/guild/icon/" + cfg.client_attr[0][0]);
|
|
} else {
|
|
clr = new cc.Color().fromHEX("EAEDF2");
|
|
ressp = paths[dat.id] ? cc.path.join("prefab/guild/icon/w" + paths[dat.id]) : cc.path.join("prefab/guild/icon/w" + cfg.client_attr[0][0]);
|
|
}
|
|
var ressps = paths[dat.id] ? cc.path.join("prefab/guild/icon/" + paths[dat.id]) : cc.path.join("prefab/guild/icon/" + cfg.client_attr[0][0]);
|
|
nx.bridge.attrs.setAttribute(nod_s, cfg.client_attr[0]);
|
|
nx.gui.setSpriteFrame(this.nodPvpAttr[i], "iconsp", ressp);
|
|
nx.gui.setSpriteFrame(nod_s, "iconsp", ressps);
|
|
nx.gui.setString(this.nodInfo, "top/name", cfg.desc + nx.text.format("SLevel", cfg.lev));
|
|
nx.gui.setString(nod_s, "add/lev", nx.text.format("LvNumber", cfg.lev));
|
|
nx.gui.setString(nod_s, "add/txt", cfg.lev + 1);
|
|
nx.gui.setActive(this.nodInfo, "cnt/ops/other/uplevel", dat.lev != max);
|
|
this.freshMat(nx.gui.find(this.nodInfo, "cnt/mat"), cfg.loss);
|
|
} else {
|
|
// clr = new cc.Color().fromHEX( "#EAEDF2" );
|
|
// let ressp = ( paths[dat.id] ) ? cc.path.join( "prefab/guild/icon/w" + paths[dat.id] ) : cc.path.join( "prefab/guild/icon/w" + cfg.client_attr[0][0] );
|
|
if (dat.lev > 0) {
|
|
clr = new cc.Color().fromHEX("#030303");
|
|
ressp = paths[dat.id] ? cc.path.join("prefab/guild/icon/" + paths[dat.id]) : cc.path.join("prefab/guild/icon/" + cfg.client_attr[0][0]);
|
|
} else {
|
|
clr = new cc.Color().fromHEX("EAEDF2");
|
|
ressp = paths[dat.id] ? cc.path.join("prefab/guild/icon/w" + paths[dat.id]) : cc.path.join("prefab/guild/icon/w" + cfg.client_attr[0][0]);
|
|
}
|
|
nx.bridge.attrs.setAttribute(this.nodPvpAttr[i], [cfg.client_attr[0][0], cfg.client_attr[0][1], i + 1]);
|
|
nx.gui.setSpriteFrame(this.nodPvpAttr[i], "iconsp", ressp);
|
|
}
|
|
nx.gui.setColor(this.nodPvpAttr[i], "level", clr);
|
|
}
|
|
}
|
|
this.cb = function () {
|
|
var GS = GuildskillController.getInstance();
|
|
GS.send23707(_this4.career, attr_form[_index].id);
|
|
};
|
|
}
|
|
});
|
|
|
|
cc._RF.pop(); |