"use strict"; cc._RF.push(module, 'b601dVzkfxIrZtwSOKV5K3D', 'skill_tips_window'); // Scripts/mod/tips/view/skill_tips_window.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里是描述这个窗体的作用的 //
Create: 2019-04-02 18:15:31 // -------------------------------------------------------------------- var PathTool = require("pathtool"); var TipsConst = require("tips_const"); var Skill_tipsWindow = cc.Class({ "extends": BaseView, ctor: function ctor() { this.prefabPath = PathTool.getPrefabPath("tips", "skill_tips"); this.viewTag = SCENE_TAG.dialogue; //该窗体所属ui层级,全屏ui需要在ui层,非全屏ui在dialogue层,这个要注意 this.win_type = WinType.Full; //是否是全屏窗体 WinType.Full, WinType.Big, WinType.Mini, WinType.Tips }, // 初始化一些配置数据,可以用于声明一些变量之类的 initConfig: function initConfig() { this.tips_controller = require("tips_controller").getInstance(); }, // 预制体加载完成之后的回调,可以在这里捕获相关节点或者组件 openCallBack: function openCallBack() { var self = this; self.background = self.root_wnd.getChildByName("background"); self.main_panel = self.root_wnd.getChildByName("main_panel"); self.container = self.main_panel.getChildByName("container"); //-- 背景,需要动态设置尺寸 self.container_init_size = self.container.getContentSize(); self.base_panel = self.container.getChildByName("base_panel"); self.base_panel_height = self.base_panel.getContentSize().height; self.skill_icon_sp = self.base_panel.getChildByName("skill_icon").getComponent(cc.Sprite); self.skill_name_lb = self.base_panel.getChildByName("name").getComponent(cc.Label); self.skill_type_lb = self.base_panel.getChildByName("skill_type").getComponent(cc.Label); self.line = self.container.getChildByName("line"); self.line_2 = self.container.getChildByName("line2"); self.skill_desc_lb = self.container.getChildByName("desc").getComponent(cc.Label); self.extend_desc_rt = self.container.getChildByName("extend_desc").getComponent(cc.RichText); self.buff_desc_rt = self.container.getChildByName("buff_desc").getComponent(cc.RichText); self.next_skill_rt = self.container.getChildByName("next_skill_txt").getComponent(cc.RichText); }, // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent registerEvent: function registerEvent() { this.background.on("touchend", function (event) { Utils.playButtonSound(2); this.tips_controller.closeTIpsByType(TipsConst.type.SKILL); }.bind(this)); }, // 预制体加载完成之后,添加到对应主节点之后的回调,也就是一个窗体的正式入口,可以设置一些数据了 openRootWnd: function openRootWnd(data) { this.updateVo(data.skill_vo, data.is_lock, data.not_show_next, data.hide_flag); }, // --[[ // @功能:设置技能信息 // @参数:Config.Skill , Config.RoleCareerSkill // @返回值: // ]] updateVo: function updateVo(skill_vo, is_lock, not_show_next, hide_flag) { var self = this; self.skill_vo = skill_vo; var level = skill_vo.level || 1; // -- 技能名字 if (!hide_flag) { self.skill_name_lb.string = skill_vo.name + " Lv." + level; } else { self.skill_name_lb.string = skill_vo.name; } this.loadRes(PathTool.getIconPath("skillicon", skill_vo.icon), function (res) { this.skill_icon_sp.spriteFrame = res; }.bind(this)); self.skill_type_lb.node.active = true; if (skill_vo.type == "active_skill") { self.skill_type_lb.string = "类型:主动技能"; } else { self.skill_type_lb.string = "类型:被动技能"; } // -- 统计最大高度 var total_height = 4 + self.base_panel_height; //说明 var skill_des_height = 0; if (self.skill_vo.des != "") { self.skill_desc_lb.string = self.skill_vo.des; self.skill_desc_lb._updateRenderData(true); skill_des_height = self.skill_desc_lb.node.getContentSize().height; total_height = total_height + skill_des_height + 2; } //冷却时间 var extend_desc_height = 0; if (!hide_flag) { var extend_str = ""; if (self.skill_vo.cd == 0) { extend_str = "无冷却时间"; } else { extend_str = "冷却" + self.skill_vo.cd + "回合"; } if (self.skill_vo.fire_cd != 0) { extend_str += ",第" + self.skill_vo.fire_cd + "回合释放"; } self.extend_desc_rt.string = extend_str; extend_desc_height = self.extend_desc_rt.node.getContentSize().height; } total_height = total_height + extend_desc_height + 18; var buff_desc_str = ""; var buff_desc_height = 0; if (self.skill_vo.buff_des && self.skill_vo.buff_des[0] && Utils.next(self.skill_vo.buff_des[0])) { self.line.active = true; var buff_config = Config.skill_data.data_get_buff; for (var i = 0; i < self.skill_vo.buff_des[0].length; ++i) { //i, v in ipairs(self.skill_vo.buff_des[1]) do var v = self.skill_vo.buff_des[0][i]; var config = buff_config[v]; if (i != 0) { buff_desc_str += "
"; } if (config) { buff_desc_str += "【" + config.name + "】
" + config.desc + " "; } } } if (buff_desc_str != "") { self.buff_desc_rt.string = buff_desc_str; buff_desc_height = self.buff_desc_rt.node.getContentSize().height; total_height = total_height + self.buff_desc_rt.node.getContentSize().height + 10; } // -- 下级描述 if (self.skill_vo.open_desc != "" && !not_show_next && !hide_flag) { self.line_2.active = true; var next_skill_des = ""; if (is_lock) { //-- 未开启 next_skill_des = StringUtil.parse(self.skill_vo.open_desc); } else if (self.skill_vo.next_id == 0) { // -- 已满级 next_skill_des = "技能已满级"; } else { next_skill_des = StringUtil.parse(self.skill_vo.skill_desc); } self.next_skill_rt.string = next_skill_des; total_height = total_height + self.next_skill_rt.node.getContentSize().height + 25; } total_height = total_height + 20; self.container.setContentSize(cc.size(self.container_init_size.width, total_height)); self.base_panel.y = -4; self.skill_desc_lb.node.y = self.base_panel.y - self.base_panel.height - 2; //-4-self.base_panel_height-2 self.extend_desc_rt.node.y = self.skill_desc_lb.node.y - self.skill_desc_lb.node.height - 18; //-4 -self.base_panel_height - 2 -skill_des_height - 18 if (self.line.active) { self.line.y = -30 - self.base_panel_height - skill_des_height - extend_desc_height; } if (buff_desc_str != "") { self.buff_desc_rt.node.y = -38 - self.base_panel_height - skill_des_height - extend_desc_height; } if (self.line_2.active) { self.line_2.y = -44 - self.base_panel_height - skill_des_height - extend_desc_height - buff_desc_height; // :setPositionY(total_height-44-self.base_panel_height-skill_des_height-extend_desc_height-buff_desc_height) } if (self.next_skill_rt.string != "") { self.next_skill_rt.node.y = -52 - self.base_panel_height - skill_des_height - extend_desc_height - buff_desc_height; // :setPositionY(total_height) } }, // 关闭窗体回调,需要在这里调用该窗体所属controller的close方法没用于置空该窗体实例对象 closeCallBack: function closeCallBack() { this.tips_controller.closeTIpsByType(TipsConst.type.SKILL); } }); cc._RF.pop();