"use strict"; cc._RF.push(module, 'f4da4gTuMBIoIwB4xQ+5azD', 'cmp.element.ectype'); // Scripts/mod/pve/element/cmp/cmp.element.ectype.js "use strict"; var BridgeWindow = require("bridge.window"); var ElementController = require("element_controller"); var ElementEvent = require("element_event"); var NxExpand = require("nx.fx.sv.expand"); var NxSpine = require("nx.fx.spine"); var ItemLay = require("cmp.common.itemlayout"); var RoleController = require("role_controller"); var HeroController = require("hero_controller"); var PartnerConst = require("partner_const"); var HeroEvent = require("hero_event"); cc.Class({ "extends": BridgeWindow, properties: { list: { "default": null, type: NxExpand }, backNd: { "default": null, type: cc.Node }, //left roleSp: { "default": null, type: NxSpine }, bossCamp: { "default": null, type: cc.Node }, bossName: { "default": null, type: cc.Label }, bossDesc: { "default": null, type: cc.Label }, skills: { "default": null, type: ItemLay }, fabSkill: { "default": null, type: cc.Prefab }, //right count: { "default": null, type: cc.Node }, buyCount: { "default": null, type: cc.Node }, powerNum: { "default": null, type: cc.Node } }, // LIFE-CYCLE CALLBACKS: onLoad: function onLoad() { this.ctrl = ElementController.getInstance(); this.model = this.ctrl.getModel(); this.bindGEvent(ElementEvent.Update_Element_Customs_Event, this.refreshList.bind(this)); this.bindGEvent(ElementEvent.Update_Element_Count_Event, this.checkBuyCount.bind(this)); //针对当前阵容更新战力 this.bindGEvent(HeroEvent.Update_Tag_Fun_Form, this.updateList.bind(this)); }, updateList: function updateList(power) { this.model.setEleCurPower(power); nx.gui.setString(this.powerNum, "", power || RoleController.getInstance().getRoleVo().power); this.refreshList(); }, start: function start() {}, onOpenConfigs: function onOpenConfigs(params) { if (nx.dt.objEmpty(params)) return; this.group = params.group; this.type = params.type; var base_data = game.configs.element_temple_data.data_base[this.type]; nx.gui.setString(this.backNd, "", base_data.name); this.group_data = game.configs.element_temple_data.data_customs[this.group]; // this.refreshList(); var power = RoleController.getInstance().getRoleVo().power; this.checkBuyCount(); this.updateList(power); }, onClickChallenge: function onClickChallenge() { HeroController.getInstance().openFormGoFightPanel(true, PartnerConst.GetElemForm[this.type] || 13, null, 2); }, refreshList: function refreshList() { var data_list = []; for (var i in this.group_data) { data_list.push(this.group_data[i]); } this.list.rebuild(data_list); this.setBaseInfo(); }, setBaseInfo: function setBaseInfo() { var _this = this; var monster_data = game.configs.element_temple_data.data_monster[this.group]; if (!monster_data) return; nx.gui.setString(this.bossName, "", monster_data.name); nx.gui.setString(this.bossDesc, "", monster_data.attr_desc); var eff_path = PathTool.getSpinePath(monster_data.bust_id, "show", false); this.roleSp.load(eff_path, function (e) { if (!e) { _this.roleSp.action("action1", true); } else { _this.roleSp.stop(); } }); var skills = []; if (monster_data.skill_list.length > 0) { skills = monster_data.skill_list; } this.skills.rebuild(skills); var pt_cfg = game.configs.partner_data.data_partner_base[monster_data.head_id]; if (pt_cfg.camp_type) { var camp_res = cc.js.formatStr("coms/images/camps%s", pt_cfg.camp_type); nx.gui.setSpriteFrame(this.bossCamp, "", camp_res); } }, checkBuyCount: function checkBuyCount() { var last_count = this.model.getTodayLeftBuyCount(); nx.gui.setString(this.buyCount, "", last_count); var challenge_count = this.model.getLeftChallengeCount(); var str = cc.js.formatStr("%s/%s", challenge_count, game.configs.element_temple_data.data_const.refresh_number.val); nx.gui.setString(this.count, "", str); }, onPreClosed: function onPreClosed() { this.skills.rebuild([]); this.list.rebuild([]); }, onClickBuyCount: function onClickBuyCount() { var _this2 = this; var challenge_count = this.model.getLeftChallengeCount(); if (challenge_count >= game.configs.element_temple_data.data_const.refresh_number.val) { return nx.tbox("tip_eleChangeNumEnough"); } if (this.model.getTodayLeftBuyCount() > 0) { var normal_buy_count = this.model.getNormalBuyCount(); var buy_cfg = game.configs.element_temple_data.data_buy_count[normal_buy_count + 1]; var privilege_status = RoleController.getInstance().getModel().checkPrivilegeStatus(4); // 特權激活狀態 var str = ""; if (buy_cfg) { str = cc.js.formatStr(nx.text.getKey("lab_guildsecretarea_tips_34"), 3, buy_cfg.cost); } else if (privilege_status) { var buy_count = this.model.getPrivilegeBuyCount(); var pri_cost = game.configs.element_temple_data.data_privilege[buy_count + 1]; if (pri_cost) { str = cc.js.formatStr(nx.text.getKey("lab_guildsecretarea_tips_34"), 3, pri_cost); } } nx.mbox(str, ["cancel", "confirm"], function (_key, _box) { _box.close(); if (_key == "confirm") { _this2.ctrl.sender25003(); } }); } else { nx.tbox("tip_eleBuyNumOver"); } } }); cc._RF.pop();