"use strict"; cc._RF.push(module, '0f5dfetmPZI+oE1UBgFLTXJ', 'guildskill_main_window'); // Scripts/mod/guildskill/view/guildskill_main_window.js "use strict"; // -------------------------------------------------------------------- // @author: shiraho@syg.com(必填, 创建模块的人员) // @description: // 公会技能的主界面 //
Create: new Date().toISOString() // -------------------------------------------------------------------- var PathTool = require("pathtool"); var GuildskillController = require("guildskill_controller"); var GuildskillEvent = require("guildskill_event"); var GuildskillConst = require("guildskill_const"); var BackpackConst = require("backpack_const"); var BackpackController = require("backpack_controller"); var GuildConst = require("guild_const"); var RoleController = require("role_controller"); var GuildSkillAttrItem = require("guildskill_item"); var GuildEvent = require("guild_event"); var PartnerCalculate = require("partner_calculate"); var GuildskillMainWindow = cc.Class({ "extends": BaseView, ctor: function ctor() { this.prefabPath = PathTool.getPrefabPath("guildskill", "guildskill_main_window"); this.win_type = WinType.Big; this.viewTag = SCENE_TAG.dialogue; this.ctrl = GuildskillController.getInstance(); this.model = this.ctrl.getModel(); this.tab_list = {}; // 标签页 this.attr_list = {}; // 综述性加成 this.item_list = {}; // 6个单元集合 this.singe_att_list = {}; // 单个的属性加成 this.attr_value_list = {}; // 当前所累积属性的列表 this.cur_info_group_id = 0; // 更新判断依据 this.backpack_item_list = {}; // 物品图标实例 this.upgrade_cost_list = {}; // 点亮需要消耗的物品和资产 this.cur_index = 1; this.role_vo = RoleController.getInstance().getRoleVo(); }, openCallBack: function openCallBack() { this.background = this.seekChild("background"); var main_panel = this.seekChild("main_panel"); this.background.scale = FIT_SCALE; this.career_desc = this.seekChild(main_panel, "career_desc", cc.RichText); this.close_btn = this.seekChild(main_panel, "close_btn"); this.explain_btn = this.seekChild(main_panel, "explain_btn"); // this.total_power_value = this.seekChild(main_panel, "total_power_value"); this.cost_container = this.seekChild(main_panel, "cost_container"); this.handle_btn = this.seekChild(main_panel, "handle_btn"); this.handle_btn_label = this.seekChild(this.handle_btn, "label", cc.Label); this.handle_btn_label_outline = this.seekChild(this.handle_btn, "label", cc.LabelOutline); this.handle_btn_label.string = Utils.TI18N("点亮"); this.condition_value = this.seekChild(this.cost_container, "condition_value", cc.Label); var cost_node = this.seekChild(this.cost_container, "cost_node"); cost_node.active = false; this.cost_item_icon = this.seekChild(cost_node, "item_img"); this.cost_item_value = this.seekChild(cost_node, "cost_value"); this.auto_buy_label = this.seekChild(main_panel, "auto_buy_label", cc.RichText); this.auto_buy_label.node.active = false; var tab_container = this.seekChild(main_panel, "tab_container"); for (var i = 1; i < 5; i++) { var tab_btn = tab_container.getChildByName("tab_btn_" + i); if (tab_btn) { var title = tab_btn.getChildByName("title").getComponent(cc.Label); var tips = tab_btn.getChildByName("tips"); if (i == 1) { title.string = Utils.TI18N("战士职业"); } else if (i == 2) { title.string = Utils.TI18N("法师职业"); } else if (i == 3) { title.string = Utils.TI18N("坦克职业"); } else if (i == 4) { title.string = Utils.TI18N("辅助职业"); } var career = this.getType(i); tab_btn.career = career; tab_btn.label = title; tab_btn.label.node.color = new cc.Color(0xcf, 0xb5, 0x93, 0xff); tab_btn.tips = tips; tab_btn.index = i; tab_btn.btn = tab_btn.getComponent(cc.Button); tab_btn.btn.interactable = false; this.tab_list[career] = tab_btn; } } this.scroll_view = this.seekChild(main_panel, "scroll_view"); this.scroll_view_con = this.seekChild(this.scroll_view, "content"); var size = this.scroll_view.getContentSize(); var attr_container = this.seekChild(main_panel, "attr_container"); attr_container.active = false; //配置显示综述性条目 var config = gdata("guild_skill_data", "data_const", ["attr_show_" + this.cur_index]); var _x, _y; if (config && config.val) { var list_size = Math.ceil(config.val.length / 3); var width = 180; var height = 24; var space_x = 10; var space_y = 13; var max_height = list_size * height + (list_size + 1) * space_y; max_height = Math.max(max_height, size.height); for (var i in config.val) { var v = config.val[i]; var node = cc.instantiate(attr_container); node.active = true; var attr_item = new GuildSkillAttrItem(node, v); node.setParent(this.scroll_view_con); _x = -size.width / 2 + i % 3 * (width + space_x); _y = -(7 + height * 0.5 + Math.floor(i / 3) * (height + space_y)); node.setPosition(_x, _y); this.attr_list[i] = attr_item; } } this.selected = this.seekChild(main_panel, "selected"); CommonAction.breatheShineAction3(this.selected); for (var i = 1; i < 7; i++) { var object = {}; var item = main_panel.getChildByName("item_" + i).getComponent(cc.Sprite); var item_lev = main_panel.getChildByName("item_lev_" + i).getComponent(cc.Label); if (item) { object.node = item; object.lev = item_lev; object.index = i; object.x = item.node.x; object.y = item.node.y; object.status = null; object.data = null; object.config = null; this.item_list[i] = object; } } //单个单元的属性加成展示 this.single_item_attr_container = this.seekChild(main_panel, "single_item_attr_container"); for (var i = 1; i < 3; i++) { var object = {}; object.attr_title = this.single_item_attr_container.getChildByName("attr_title_" + i).getComponent(cc.Label); object.attr_value = this.single_item_attr_container.getChildByName("attr_value_" + i).getComponent(cc.Label); object.attr_title.node.active = false; object.attr_value.node.active = false; this.singe_att_list[i] = object; } this.lev_upgrade_model = this.seekChild(main_panel, "lev_upgrade_model"); this.main_panel = main_panel; }, registerEvent: function registerEvent() { if (this.background) { this.background.on(cc.Node.EventType.TOUCH_END, function () { this.ctrl.openGuildSkillMainWindow(false); }, this); } if (this.close_btn) { this.close_btn.on(cc.Node.EventType.TOUCH_END, function () { this.ctrl.openGuildSkillMainWindow(false); Utils.playButtonSound(2); }, this); } this.explain_btn.on(cc.Node.EventType.TOUCH_END, function (event) { var config = Config.guild_skill_data.data_const.game_rule; Utils.playButtonSound(1); var pos = event.touch.getLocation(); require("tips_controller").getInstance().showCommonTips(config.desc, pos, null, null, 500); }, this); for (var k in this.tab_list) { var tab_btn = this.tab_list[k]; tab_btn.on(cc.Node.EventType.TOUCH_END, function (event) { var sender = event.currentTarget; this.changeSelectedTab(sender.career, sender.index); }, this); } this.handle_btn.on(cc.Node.EventType.TOUCH_END, function () { if (this.selected_item && this.selected_item.data) { if (this.auto_buy_item_bid && this.auto_buy_item_price && this.auto_buy_item_price > 0 && !this.auto_buy_label.active) { var item_config = Utils.getItemConfig(this.auto_buy_item_bid); BackpackController.getInstance().openTipsSource(true, item_config); message(Utils.TI18N("道具不足,无法点亮")); return; } this.ctrl.requestActivitySkill(this.selected_item.data.id); } }, this); //初始化的时候做的,可能切换标签,或者第一次打开 this.addGlobalEvent(GuildskillEvent.UpdateGuildSkillEvent, function (career) { if (this.selected_tab && this.selected_tab.career == career) this.updateSkillList(career); }, this); this.addGlobalEvent(GuildskillEvent.UpdateSkillStatusEvent, function (career, skill_id) { if (this.selected_tab && this.selected_tab.career == career) this.updateSkillItemById(skill_id); }, this); this.addGlobalEvent(GuildskillEvent.UpdateSkilUpgradeEvent, function (career, group_id) { if (this.selected_tab && this.selected_tab.career == career) this.updateSkillList(career, true); }, this); this.addGlobalEvent(GuildEvent.UpdateGuildRedStatus, function (bid, status) { this.updateGuildSkillRed(bid, status); }, this); this.addGlobalEvent(EventId.ADD_GOODS, function (bag_code, del_list) { if (bag_code != BackpackConst.Bag_Code.BACKPACK) return; this.changeNeedItemInfo(del_list); }, this); this.addGlobalEvent(EventId.MODIFY_GOODS_NUM, function (bag_code, change_list) { if (bag_code != BackpackConst.Bag_Code.BACKPACK) return; this.changeNeedItemInfo(change_list); }, this); if (this.role_vo) { if (this.update_role_assets_event == null) { this.update_role_assets_event = this.role_vo.bind(EventId.UPDATE_ROLE_ATTRIBUTE, function (key, value) { if (this.selected_item && this.upgrade_cost_list) { if (this.upgrade_cost_list.base_list && this.upgrade_cost_list.base_list[key]) { this.setUpgradeCostStatus(0); } else if (this.upgrade_cost_list.asset_list && this.upgrade_cost_list.asset_list[key]) { this.setUpgradeCostStatus(1); } } }, this); } } }, openRootWnd: function openRootWnd(career) { career = career || GuildskillConst.index.physics; this.changeSelectedTab(career, this.cur_index); this.updateGuildSkillRed(); }, //更新红点 updateGuildSkillRed: function updateGuildSkillRed(bid, status) { if (bid == null) { for (var k in this.tab_list) { var tab_btn = this.tab_list[k]; var status = this.model.getRedStatus(tab_btn.career); if (tab_btn.tips) tab_btn.tips.active = status; } } else if (bid == GuildConst.red_index.skill_2) { var tab_btn = this.tab_list[GuildskillConst.index.magic]; if (tab_btn && tab_btn.tips) tab_btn.tips.active = status; } else if (bid == GuildConst.red_index.skill_3) { var tab_btn = this.tab_list[GuildskillConst.index.physics]; if (tab_btn && tab_btn.tips) tab_btn.tips.active = status; } else if (bid == GuildConst.red_index.skill_4) { var tab_btn = this.tab_list[GuildskillConst.index.defence]; if (tab_btn && tab_btn.tips) tab_btn.tips.active = status; } else if (bid == GuildConst.red_index.skill_5) { var tab_btn = this.tab_list[GuildskillConst.index.assist]; if (tab_btn && tab_btn.tips) tab_btn.tips.active = status; } }, //标签页选中 changeSelectedTab: function changeSelectedTab(career, index) { if (this.selected_tab != null) { if (this.selected_tab.career == career) return; } this.cur_index = index; if (this.selected_tab) { this.selected_tab.label.node.color = new cc.Color(0xcf, 0xb5, 0x93, 0xff); this.selected_tab.btn.interactable = false; this.selected_tab = null; } this.selected_tab = this.tab_list[career]; if (this.selected_tab) { this.selected_tab.label.node.color = new cc.Color(0xff, 0xed, 0xd6, 0xff); ; this.selected_tab.btn.interactable = true; } //做全部属性显示切换 var object = this.model.getCareerSkillInfo(career); if (object == null) this.ctrl.requestCareerSkillInfo(career);else this.updateSkillList(career); //关闭红点 var bid = this.model.getCareerKey(career); this.model.updateGuildRedStatus(bid, false); //设置显示 var item_res_id = ""; for (var i in this.item_list) { var v = this.item_list[i]; item_res_id = cc.js.formatStr("guildskill_%s_%s", career, v.index); if (v.node) { this.loadRes(PathTool.getUIIconPath("guildskill", item_res_id), function (sf_obj) { v.node.spriteFrame = sf_obj; }.bind(this)); } } }, //刷新属性名称显示 updateSkillAttrNameAndVal: function updateSkillAttrNameAndVal() { var config_str = "attr_show_" + this.cur_index; var config = gdata("guild_skill_data", "data_const", [config_str]); if (config && config.val) { for (var i in config.val) { var v = config.val[i]; var attr_item = this.attr_list[i]; if (attr_item) { var attr_key = v; var attr_value = this.attr_value_list[attr_key]; attr_item.setData(attr_value, attr_key); } } } }, //设置指定技能id的状态 updateSkillItemById: function updateSkillItemById(skill_id) { if (skill_id == null) return; var update_list = []; for (var i in this.item_list) { var item = this.item_list[i]; if (item.data && item.data.id == skill_id && item.node) { if (item.status != item.data.status) { item.status = item.data.status; var bool = item.status == GuildskillConst.status.activity; item.node.setState(bool ? cc.Sprite.State.NORMAL : cc.Sprite.State.GRAY); } //这里在吧这个技能的属性累加到当前总记录的里面去,并且更新制动的汇总技能 if (item.config) { for (var i in item.config.attr_list) { var v = item.config.attr_list[i]; if (v instanceof Array && v.length >= 2) { if (this.attr_value_list[v[0]] == null) this.attr_value_list[v[0]] = 0; this.attr_value_list[v[0]] = this.attr_value_list[v[0]] + v[1]; //存储需要更新的属性key update_list.push(v[0]); } } } break; } } //做属性的更新 this.updateSkillAttrNameAndVal(); //升级特效 if (this.selected_item && this.selected_item.node) { var _x = this.selected_item.node.x; var _y = this.selected_item.node.y; this.handleUpgradeEffect(true, cc.v2(_x, _y)); } //重新选择一下下一个待点亮的 var index = 0; if (this.cur_skill_info && this.cur_skill_info.skill_ids) { for (var i in this.cur_skill_info.skill_ids) { var item = this.cur_skill_info.skill_ids[i]; if (item.status == GuildskillConst.status.un_activity) { if (index == 0 || index > item.index) { index = item.index; } } } this.changeSelectedItem(index, true); } //这里计算一下总战力 // var total_power = PartnerCalculate.calculatePower(self.attr_value_list) // this.total_power_value.string = Math.floor(total_power); }, //播放特效 handleUpgradeEffect: function handleUpgradeEffect(status, pos) { if (status == false) { if (this.upgrade_effect != null) { this.upgrade_effect.removeFromParent(); this.upgrade_effect = null; } } else { var finish_func = function finish_func() { if (this.upgrade_effect) { this.upgrade_effect.active = false; } }; if (this.upgrade_effect == null) { if (this.main_panel) {} } } }, //技能组升级的特效 handleLevUpgradeEffect: function handleLevUpgradeEffect(status) { if (status == false) {} }, //初始化技能列表 updateSkillList: function updateSkillList(career, is_upgrade) { if (career == null) return; var object = this.model.getCareerSkillInfo(career); if (object) { if (this.cur_info_group_id == object.group_id) return; this.cur_info_group_id = object.group_id; this.cur_skill_info = object; //下一块开启的描述显示 var group_config = gdata("guild_skill_data", "data_group", [Utils.getNorKey(career, object.group_id)]); if (group_config != null) { var max_group = this.model.getCareerGroupMax(career); this.career_desc.string = cc.js.formatStr("%s(%s/%s)", group_config.group_name, group_config.group_seq, max_group); } //给显示单位储存数据结构 if (object.skill_ids) { var index = 0; var skill_item = null; var config = null; for (var i in object.skill_ids) { //存储对应技能单位属性 var item = object.skill_ids[i]; skill_item = this.item_list[item.index]; config = gdata("guild_skill_data", "data_info", [item.id]); if (skill_item && config) { skill_item.data = item; skill_item.config = config; //设置显示状态 if (skill_item.node) { if (skill_item.status != item.status) { skill_item.status = item.status; var bool = item.status == GuildskillConst.status.activity; skill_item.node.setState(bool ? cc.Sprite.State.NORMAL : cc.Sprite.State.GRAY); } } //设置技能等级 if (skill_item.lev) { skill_item.lev.string = config.lev; } } //选中当前待升级的那个 if (item.status == GuildskillConst.status.un_activity) { if (index == 0 || index > item.index) { index = item.index; } } } //如果遍历完了还是0,其实这个时候已经是最高等级了,那就随便选中一个 if (Number(index) == 0) { index = 1; } this.changeSelectedItem(index, true); } this.calculateTotalAttr(); } //如果是升级,播放升级特效 if (is_upgrade == true) this.handleLevUpgradeEffect(true); }, //计算当前总属性,这边会缓存属性,下一次点亮之后只需要累加处理 calculateTotalAttr: function calculateTotalAttr() { if (this.cur_skill_info == null) return; var activity_skill_list = []; //已经激活的技能 if (this.cur_skill_info.group_ids && Utils.next(this.cur_skill_info.group_ids)) { //首先把已经激活的技能组里面包含的所有技能储存起来 for (var i in this.cur_skill_info.group_ids) { var v = this.cur_skill_info.group_ids[i]; var group_config = gdata("guild_skill_data", "data_info_group", [v.group_id]); if (group_config == null) return; for (var n in group_config) { activity_skill_list.push(group_config[n].id); } } } //储存当前的技能组已经激活的技能 if (this.cur_skill_info.skill_ids && Utils.next(this.cur_skill_info.skill_ids)) { for (var i in this.cur_skill_info.skill_ids) { var v = this.cur_skill_info.skill_ids[i]; if (v.status == GuildskillConst.status.activity) { activity_skill_list.push(v.id); } } } var activity_attr_dic = []; for (var i in activity_skill_list) { var v = activity_skill_list[i]; var skill_config = gdata("guild_skill_data", "data_info", [v]); if (skill_config != null) { for (var n in skill_config.attr_list) { var m = skill_config.attr_list[n]; if (activity_attr_dic[m[0]] == null) { activity_attr_dic[m[0]] = 0; } activity_attr_dic[m[0]] = activity_attr_dic[m[0]] + m[1]; } } } //这里是判断所有的数据 this.attr_value_list = activity_attr_dic; this.updateSkillAttrNameAndVal(); //这里计算一下总战力 // local total_power = PartnerCalculate.calculatePower(self.attr_value_list) // self.total_power_value:setString(math.floor( total_power )) }, //单元选中 changeSelectedItem: function changeSelectedItem(index, force) { if (this.selected_item && !force) { if (this.selected_item.index == index) return; } this.selected_item = this.item_list[index]; if (this.selected_item == null) return; if (this.selected_item.node) { this.selected.setPosition(this.selected_item.x, this.selected_item.y); // this.selected.x = this.selected_item.x; // this.selected.y = this.selected_item.y; } //做显示属性切换 var config = this.selected_item.config; if (config) { var attr_key = null; var attr_name = null; for (var i in config.attr_list) { var v = config.attr_list[i]; if (v instanceof Array && v.length >= 2) { var show_object = this.singe_att_list[Number(i) + 1]; if (show_object) { attr_key = v[0]; attr_name = gdata("attr_data", "data_key_to_name", [attr_key]); if (attr_name) { show_object.attr_title.node.active = true; show_object.attr_title.string = attr_name; //如果是百分比数值 show_object.attr_value.node.active = true; show_object.attr_value.string = v[1]; if (PartnerCalculate.isShowPerByStr(attr_key) == true) { show_object.attr_value.string = "+" + v[1] * 0.1 + "%"; } else { show_object.attr_value.string = "+" + v[1]; } } } } } this.setUpgradeCost(); } }, //点亮消耗 setUpgradeCost: function setUpgradeCost() { if (this.selected_item == null || this.selected_item.config == null || this.selected_item.data == null) return; var config = this.selected_item.config; var data = this.selected_item.data; if (config.lev >= 20 && data.status == GuildskillConst.status.activity) { this.cost_container.active = false; if (this.max_lev_label == null) { self.max_lev_label = Utils.createLabel(28, 175, null, 338, 96, Utils.TI18N("该技能已满级!"), this.main_panel, 0, cc.v2(0.5, 0.5)); } this.max_lev_label.active = true; } else { this.cost_container.active = true; if (this.max_lev_label) this.max_lev_label.active = false; if (config.loss) { var base_cost = {}; var item_config = null; if (this.upgrade_cost_list == null) { this.upgrade_cost_list = {}; } this.upgrade_cost_list.base_list = {}; // 基础消耗 this.upgrade_cost_list.item_list = {}; // 物品 this.upgrade_cost_list.asset_list = {}; // 资产物品 if (base_cost && base_cost[0] && base_cost[1]) { item_config = Utils.getItemConfig(base_cost[0]); if (item_config) {} var asset_key = gdata("item_data", "data_assets_id2label", [base_cost[0]]); if (asset_key) { this.upgrade_cost_list.base_list[asset_key] = { need_num: base_cost[1], condition_status: false, item: self.cost_item_value }; } } //因为第一个已经被提出掉了,所以这不做处理了 for (var k in this.backpack_item_list) { this.backpack_item_list[k].setVisible(false); } var index = 1; var _x = 94; var _y = 80; for (var i in config.loss) { var v = config.loss[i]; if (v[0] != null && v[1] != null) { var backpack_item = this.backpack_item_list[index]; if (backpack_item == null) { backpack_item = ItemsPool.getInstance().getItem("backpack_item"); backpack_item.initConfig(false, 1, false, false); backpack_item.show(); this.backpack_item_list[index] = backpack_item; backpack_item.setParent(this.cost_container); _x = -300 + (index - 1) * (BackPackItem.Width + 28) + BackPackItem.Width * 0.5; backpack_item.setPosition(_x, _y); backpack_item.setNumBgPos(cc.v2(0, -74), cc.v2(0.5, 0.5), cc.v2(0, 0), cc.v2(0.5, 0.5)); } backpack_item.setData({ bid: v[0], num: 0 }); backpack_item.setVisible(true); index = index + 1; var asset_key = gdata("item_data", "data_assets_id2label", [v[0]]); if (asset_key != null) { this.upgrade_cost_list.asset_list[asset_key] = { need_num: v[1], condition_status: false, item: backpack_item }; } else { this.upgrade_cost_list.item_list[v[0]] = { need_num: v[1], condition_status: false, item: backpack_item }; } } } this.setUpgradeCostStatus(); } } }, //更新消耗状态 //null的话就标识全部判断,0标识判断基础,1标识判断扩展资产,2标识判断物品 setUpgradeCostStatus: function setUpgradeCostStatus(type) { //这里是资产 for (var k in this.upgrade_cost_list.base_list) { var v = this.upgrade_cost_list.base_list[k]; if (v.need_num && v.item) { var sum = this.role_vo[k] || 0; if (sum >= v.need_num) { v.condition_status = true; v.item.color = new cc.Color(0x68, 0x45, 0x2a, 0xff); } else { v.condition_status = false; v.item.color = new cc.Color(0xd9, 0x50, 0x14, 0xff); } v.item.string = v.need_num; } } //这里是扩展资产 for (var k in this.upgrade_cost_list.asset_list) { var v = this.upgrade_cost_list.asset_list[k]; if (v.item && v.item.setNeedNum) { var sum = this.role_vo[k] || 0; v.item.setNeedNum(v.need_num, sum); if (sum < v.need_num) v.condition_status = false;else v.condition_status = true; } } //这里是需求道具 this.auto_buy_item_price = 0; this.auto_buy_item_bid = 0; for (var k in this.upgrade_cost_list.item_list) { var sum = BackpackController.getInstance().getModel().getBackPackItemNumByBid(k); var v = this.upgrade_cost_list.item_list[k]; if (v.item && v.item.setNeedNum) { v.item.setNeedNum(v.need_num, sum); if (sum < v.need_num) { this.auto_buy_item_price = this.auto_buy_item_price + this.getItemPrice(k) * (v.need_num - sum); this.auto_buy_item_bid = k; v.condition_status = true; } else { v.condition_status = true; } } } this.checkUpgradeCostStatus(); }, //获取物品价格 getItemPrice: function getItemPrice(bid) { for (var i in Config.exchange_data.data_shop_exchange_guild) { var v = Config.exchange_data.data_shop_exchange_guild[i]; if (v.item_bid == bid) return v.price; } return 0; }, //设置更新状态 checkUpgradeCostStatus: function checkUpgradeCostStatus() { if (this.upgrade_cost_list == null) return; if (this.selected_item == null || this.selected_item.config == null) return; var config = this.selected_item.config; var condition_status = true; for (var k in this.upgrade_cost_list) { var list = this.upgrade_cost_list[k]; for (var n in list) { var item = list[n]; if (item.condition_status == false) { condition_status = false; break; } } } var condition_type = 0; //1:消耗不足 2:满足 3:条件不足 if (this.role_vo.guild_lev >= config.guild_lev) { if (condition_status == false) condition_type = 1;else condition_type = 2; } else condition_type = 3; if (this.condition_type != condition_type) { this.condition_type = condition_type; if (condition_type == 1) { // this.check_box.active = false; this.condition_value.active = false; Utils.setGreyButton(this.handle_btn); this.handle_btn_label_outline.enabled = false; Utils.setGreyButton(this.handle_btn.getComponent(cc.Button)); this.handle_btn_label.string = Utils.TI18N("消耗不足"); } else if (condition_type == 2) { // if (this.auto_buy_item_price > 0) // this.check_box.active = true; // else // this.check_box.active = false; this.condition_value.active = false; Utils.setGreyButton(this.handle_btn, false); this.handle_btn_label_outline.enabled = true; Utils.setGreyButton(this.handle_btn.getComponent(cc.Button), false); this.handle_btn_label_outline.color = new cc.Color(0xc4, 0x5a, 0x14, 0xff); this.handle_btn_label.string = Utils.TI18N("点亮"); } else if (condition_type == 3) { // this.check_box.active = false; this.condition_value.active = true; this.condition_value.string = cc.js.formatStr(Utils.TI18N("需要公会到达%s级"), config.guild_lev); Utils.setGreyButton(this.handle_btn, true); this.handle_btn_label_outline.enabled = false; Utils.setGreyButton(this.handle_btn.getComponent(cc.Button)); this.handle_btn_label.string = Utils.TI18N("条件不足"); } } this.updateAutoBuyInfo(); }, updateAutoBuyInfo: function updateAutoBuyInfo() {}, //物品增删的时候处理 changeNeedItemInfo: function changeNeedItemInfo(list) { if (this.upgrade_cost_list == null || this.upgrade_cost_list.item_list == null) return; if (list == null || Utils.next(list) == null) return; var list_dict = {}; for (var i in list) { var vo = list[i]; if (vo.base_id) list_dict[vo.base_id] = true; } var need_update = false; this.auto_buy_item_price = 0; for (var k in this.upgrade_cost_list.item_list) { if (list_dict[k] == true) { need_update = true; var sum = BackpackController.getInstance().getModel().getBackPackItemNumByBid(k); if (v.item && v.item.setNeedNum) { v.item.setNeedNum(v.need_num, sum); if (sum < v.need_num) { this.auto_buy_item_price = this.auto_buy_item_price + this.getItemPrice(k) * (v.need_num - sum); v.condition_status = true; } else { v.condition_status = true; } } } } if (need_update == true) this.checkUpgradeCostStatus(); }, //标签页对应的伙伴职业类型 getType: function getType(index) { if (index == 1) { return GuildskillConst.index.physics; } else if (index == 2) { return GuildskillConst.index.magic; } else if (index == 3) { return GuildskillConst.index.defence; } else if (index == 4) { return GuildskillConst.index.assist; } }, closeCallBack: function closeCallBack() { this.ctrl.openGuildSkillMainWindow(false); this.handleUpgradeEffect(false); this.handleLevUpgradeEffect(false); // if (this.selected) { // this.selected.stopAllActions(); // } if (this.fight_label) { this.fight_label.deleteMe(); this.fight_label = null; } for (var k in this.backpack_item_list) { this.backpack_item_list[k].deleteMe(); this.backpack_item_list[k] = null; } this.backpack_item_list = {}; if (this.role_vo) { if (this.update_role_assets_event != null) { this.role_vo.unbind(this.update_role_assets_event); this.update_role_assets_event = null; } } } }); module.exports = GuildskillMainWindow; cc._RF.pop();