|
|
- CommonSkillTips = CommonSkillTips or BaseClass(BaseView)
- local CommonSkillTips = CommonSkillTips
- --[[
- self.data = {
- skill_id = 0,
- skill_lv = 1,
- title_name = "界面标题",--界面标题
- skill_name = "技能名",
- active_des = "激活状态",
- need_fight = false,是否需要显示战力,0未激活1已激活
- -------------------------
- tab_title_1 = "技能效果",
- tab_title_2 = "内容标题栏2(激活条件)",
- content_1 = "技能描述1(技能效果描述)",
- content_2 = "技能描述2(技能激活条件)",
- is_pet_skill = false,--是否是宠物技能,单独对宠物技能界面做些处理
- }
- --]]
- function CommonSkillTips:__init()
- self.base_file = "common"
- self.layout_file = "CommonSkillTips"
- self.layer_name = "Activity"
- self.destroy_imm = true
- self.use_background = true
- self.change_scene_close = true
- self.append_to_ctl_queue = false --是否要添加进界面堆栈
- self.need_show_money = false --是否要显示顶部的金钱栏
- self.click_bg_toClose = true
- self.is_set_zdepth = true
- self.blur_activity_bg = true
- self:AddPreLoadList("common", {"CommonSkillTipsDesItem"})
- self.model = PetModel:getInstance()
- self.item_list = {}
- self.load_callback = function ()
- self:LoadSuccess()
- self:AddEvent()
- end
- self.open_callback = function ( )
- self:OpenSuccess()
- end
- self.destroy_callback = function ( )
- self:DestroySuccess()
- end
- end
-
- function CommonSkillTips:Open(data)
- self.data = data
- BaseView.Open(self)
- end
-
- function CommonSkillTips:SetShow( data )
- self.data = data
- self:UpdateView()
- end
-
- function CommonSkillTips:LoadSuccess()
- local nodes = {
- "title:tmp","skillName:tmp","activedFlag:img:obj","conSkill:img",
- "close:obj", "lb_fight:txt", "skillTypeImg:img",
- "desc_scroll/Viewport/desc_con", "desc_scroll:scroll", "bg:raw",
-
- }
- self:GetChildren(nodes)
-
- lua_resM:setOutsideRawImage(self, self.bg_raw, GameResPath.GetViewBigBg("common_skill_tip_bg"), false)
- end
-
- function CommonSkillTips:AddEvent()
- local function call_back( target )
- if target == self.close_obj then
- self:Close()
- end
- end
- AddClickEvent(self.close_obj,call_back,false)
- end
-
- function CommonSkillTips:OpenSuccess()
- self:UpdateView()
- end
-
- function CommonSkillTips:UpdateView()
- if (not self.data) or (not self.data.skill_id) then return end
- local skill_conf = SkillManager:getInstance():getSkillFromConfig(self.data.skill_id)
-
- --宠物技能尚未同步至技能表,这里暂时不能因为没有技能配置而跳过界面刷新
- if self.data.is_pet_skill then skill_conf = {} end
-
- if not skill_conf then return end
- lua_resM:setOutsideImageSprite(self, self.conSkill_img, GameResPath.GetSkillIcon(self.data.skill_id),false)
- self:UpdateSkillDescData(skill_conf)
- self.title_tmp.text = self.data.title_name or "技能"
- self.skillName_tmp.text = self.data.skill_name or Trim(skill_conf.name)
-
- if self.data.need_show_lock_state then
- if self.data.is_lock then
- lua_resM:setImageSprite(self, self.activedFlag_img, "common_asset","active_state_2")
- else
- lua_resM:setImageSprite(self, self.activedFlag_img, "common_asset","active_state_1")
- end
- self.activedFlag_obj:SetActive(true)
- else
- self.activedFlag_obj:SetActive(false)
- end
-
- if self.data.need_fight then
- local _,fight = GetSkillAttrBySkill( self.data.skill_id, self.data.skill_lv or 1, true ,self.data.need_fight == 1)
- self.lb_fight_txt.text = "f" .. fight
- else
- self.lb_fight_txt.text = ""
- end
- if self.data.skill_type then
- lua_resM:setImageSprite(self, self.skillTypeImg_img, "common_asset", "warSoul_skill_type_img"..self.data.skill_type,true)
- end
-
- -- self.tab_title_1_tmp.text = self.data.tab_title_1 or "技能效果"
- -- self.tab_title_2_tmp.text = self.data.tab_title_2 or "激活条件"
- -- -------------------------
- -- if self.data.content_1 then
- -- self.content_1_tmp.text = self.data.content_1
- -- else
- -- local skill_lv = self.data.skill_lv or 1
- -- if skill_conf.lvs and skill_conf.lvs[skill_lv] then
- -- self.content_1_tmp.text = Trim(skill_conf.lvs[skill_lv].desc or "")
- -- else
- -- self.content_1_tmp.text = ""
- -- end
- -- end
- -- self.content_2_tmp.text = self.data.content_2 or "无"
- end
-
- -- 加载属性信息
- -- (只是将动态加载标题和内容节点的逻辑拿了过来,方便以后进行拓展,具体的界面数据内容都是临时的,非正式数据结构体!)
- function CommonSkillTips:UpdateSkillDescData(skill_conf)
- if not self.desc_list then
- self.desc_list = {}
- -- 技能效果
- self.desc_list[#self.desc_list+1] = {title = "技能效果"}
- local label1 = ""
- if self.data.content_1 then
- label1 = self.data.content_1
- else
- local skill_lv = self.data.skill_lv or 1
- if skill_conf.lvs and skill_conf.lvs[skill_lv] then
- label1 = Trim(skill_conf.lvs[skill_lv].desc or "")
- end
- end
- self.desc_list[#self.desc_list+1] = {label = label1}
- -- 激活条件
- self.desc_list[#self.desc_list+1] = {title = "学习条件"}
-
- self.desc_list[#self.desc_list+1] = {label = self.data.content_2 or "暂无学习条件", isShowBg = self.data.isShowBg == nil and true or self.data.isShowBg, isShowIcon = self.data.isShowIcon == nil and true or self.data.isShowIcon}
- end
- self:UpdateDescItems()
- end
-
- function CommonSkillTips:UpdateDescItems(reset_pos)
- local item, height = nil, 0
- for k, v in ipairs(self.desc_list) do
- item = self.item_list[k]
- if not item then
- item = CommonSkillTipsDesItem.New(self.desc_con)
- self.item_list[k] = item
- end
- item:SetVisible(true)
- item:SetAnchoredPosition(0, -height)
- height = height + item:SetData(v)
- end
- -- 设置滚动容器的滚动条件
- self.desc_scroll_scroll.enabled = height > self.desc_scroll.sizeDelta.y
- SetSizeDeltaY(self.desc_con, height + 37)
- end
-
- function CommonSkillTips:DestroySuccess( )
- for k, v in pairs(self.item_list) do
- v:DeleteMe()
- v = nil
- end
- self.item_list = nil
- end
|