|
|
- SkillUIDetailItem = SkillUIDetailItem or BaseClass(BaseItem)
-
- SkillUIDetailItem.UIType =
- {
- PreViewMode = 1,
- NonePreView = 2,
- }
-
- function SkillUIDetailItem:__init(parent_wnd, prefab_asset, layer_name)
- self.base_file = "skillUI"
- self.layout_file = "SkillUIDetailItem"
-
-
- self.model = SkillManager:getInstance()
- self.skillui_model = SkillUIModel:getInstance()
- self.mainVo = RoleManager.Instance.mainRoleInfo
-
- self.skill_vo = false
-
- self.is_pre_view = false
- self.ui_type = SkillUIDetailItem.UIType.PreViewMode
-
- self.attr_one_item_list = {}
- self.need_goods_id = false
- self.showing_effect = false
- self.show_skill_preview = false
- self.select_level = false
-
- self.show_item_list = {}
-
- self:Load()
- end
-
- --清除界面
- function SkillUIDetailItem:__delete()
- self:Remove()
-
- end
-
- function SkillUIDetailItem:Load_callback()
- self:LoadSuccess()
- self:InitEvent()
- end
-
- function SkillUIDetailItem:Remove()
- if self.base_item then
- UIObjPool:PushItem(UIObjPool.UIType.AwardItem, self.base_item)
- end
- self:ClearUIEffect(self.effect_con)
- self:ClearUIEffect(self.effect_con2)
-
- for i,v in ipairs(self.show_item_list) do
- v:DeleteMe()
- end
- end
-
- function SkillUIDetailItem:LoadSuccess()
-
- local nodes = {
- "priview_btn:obj:img",
-
- "base_con_one/power:txt",
- "base_con_one/name:tmp",
- "base_con_one/cd:tmp",
- "base_con_one/effect_con",
- "base_con_one:obj",
- "base_con_one/level:tmp",
- "base_con_one/des_group/des:tmp",
- "base_con_one/des_group/cur_level:obj",
- "base_con_one/des_group:obj",
-
- "attrlist_group/can_not_up:obj",
-
- "base_con_one/ScrollViewSkill:obj",
- "base_con_one/ScrollViewSkill/Viewport/skill_level_list_con",
-
- "base_con_two:obj",
- "base_con_two/power2:txt",
- "base_con_two/name2:tmp",
- "base_con_two/des_group2:obj",
- "base_con_two/des_group2/des2:tmp",
- "base_con_two/icon2:img",
- "base_con_two/effect_con2",
-
- "priview_group:obj",
- "level_max:obj",
- "attrlist_group:obj",
- "learn_group/daily_light_learn:obj",
- "learn_group/pre_condition:obj",
- "learn_group/item_learn:obj",
- "learn_group/vip_condition:obj",
- "attrlist_group/ScrollViewTwo/Viewport/attr_two_con",
- "attrlist_group/ScrollViewTwo:obj",
-
- "priview_group/play_btn:obj",
- "priview_group/skill_role_con:raw",
- "learn_group/daily_light_learn/daily_light_des:tmp",
- "learn_group/daily_light_learn/dialy_light_btn:obj",
- "learn_group/item_learn/item_name:tmp",
- "learn_group/vip_condition/vip_btn:obj",
- "learn_group/vip_condition/vip_btn/vip_des:tmp",
- "learn_group/pre_condition/pre_condition_text:tmp",
- "learn_group/item_learn/go_way_btn:obj",
- "learn_group/item_learn/go_way_btn/go_way_btn_text:tmp",
- "learn_group/item_learn/item_con",
- "learn_group/item_learn/learn_btn:obj",
- "learn_group/item_learn/learn_btn/learn_btn_txt:tmp",
- "priview_group/priew_text:obj",
-
- "auto_change_daily_btn/auto_change_daily_select:obj",
- "auto_change_daily_btn:obj",
- "learn_group/daily_light_learn/dialy_light_btn/daily:obj",
-
- }
- self:GetChildren(nodes)
-
- self:UpdateAutoChangeDailySkillState()
-
- self.daily_obj:SetActive(false)
-
- if self.need_refreshData then
- self:SetData(self.skill_vo, self.ui_type, self.is_pre_view)
- end
- end
-
- function SkillUIDetailItem:InitEvent()
- local function onBtnClickHandler(target)
- if self.priview_btn_obj == target then
- --self.is_pre_view = not self.is_pre_view
- -- self:SwitchViewModel()
- -- if self.click_callback then
- -- self.click_callback(self.is_pre_view)
- -- end
- elseif self.play_btn_obj == target then
-
-
- elseif self.up_preview_btn_obj == target then
- --self.skillui_model:Fire(SkillUIModel.OPEN_SKILL_UPLEVEL_PREVIEW, self.skill_vo)
-
- elseif self.learn_btn_obj == target then
- if self.skill_vo and self.skill_vo.id then
- self.model:Fire(SkillManager.REQUEST_CCMD_EVENT,21001, self.skill_vo.id )
- end
- elseif self.dialy_light_btn_obj == target then
- self.skillui_model:Fire(SkillUIModel.CLOSE_SKILL_UPLEVEL_PREVIEW)
- OpenFun.Open(147, 0)
-
- elseif self.vip_btn_obj == target then
- self.skillui_model:Fire(SkillUIModel.CLOSE_SKILL_UPLEVEL_PREVIEW)
- OpenFun.Open(158, 0)
-
- elseif self.go_way_btn_obj == target then
- if self.need_goods_id then
- --商店获取途径
- local goods = self.skill_vo:GetNextConditionByKey("goods")
- if goods and goods[1][1] and goods[1][2] then
- local basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(goods[1][1])
- local goods_num = GoodsModel:getInstance():GetTypeGoodsNum(goods[1][1]) or 0
- local get_str = HtmlColorTxt(goods_num, goods_num < goods[1][2] and ColorUtil.RED_DARK or ColorUtil.GREEN_DARK).."/".. goods[1][2]
- local cfg = ShopModel:getInstance():GetShopTypeIdBuyCFG(basic.type_id)
- if cfg and TableSize(cfg) > 0 and string.find(get_str, ColorUtil.RED_DARK) then
- ShopModel:getInstance():Fire(ShopModel.OPEN_SHOP_BUY_TIP_VIEW,basic.type_id)
- else
- Message.show("参与各项活动概率获得哦!")
- end
- else
- Message.show("参与各项活动概率获得哦!")
- end
- end
- elseif self.pre_condition_obj == target then
- if self.skill_vo and self.skill_vo:IsSpecialSkill() then
- self.skillui_model:Fire(SkillUIModel.CLOSE_SKILL_UPLEVEL_PREVIEW)
- OpenFun.Open(144, 0)
- elseif self.skill_vo and SevenDayTargetModel:GetInstance():IsSevenDayTargetSkill(self.skill_vo.id) then
- self.skillui_model:Fire(SkillUIModel.CLOSE_SKILL_UPLEVEL_PREVIEW)
- SevenDayTargetModel:getInstance():Fire(SevenDayTargetModel.OPEN_SEVEN_DAY_TARGET_MAIN_VIEW)
- elseif self.skill_vo and self.skill_vo:IsForbidJumpSkill() then
- if not SupremeVipModel:getInstance():IsForeverSupremeVip() then
- self.skillui_model:Fire(SkillUIModel.CLOSE_SKILL_UPLEVEL_PREVIEW)
- if SupremeVipModel:getInstance():IsMomentSupremeVip() then
- OpenFun.Open(451,6)
- else
- OpenFun.Open(451,5)
- end
- end
- end
- elseif self.auto_change_daily_btn_obj == target then
- local b = self.skillui_model:IsAutoChangeDailySkillid()
- b = not b
- self.skillui_model:SetAutoChangeDailyState(b)
- self:UpdateAutoChangeDailySkillState()
- end
- end
-
- AddClickEvent(self.play_btn_obj,onBtnClickHandler)
- AddClickEvent(self.up_preview_btn_obj,onBtnClickHandler)
- AddClickEvent(self.priview_btn_obj,onBtnClickHandler)
- AddClickEvent(self.learn_btn_obj, onBtnClickHandler)
- AddClickEvent(self.dialy_light_btn_obj, onBtnClickHandler)
- AddClickEvent(self.go_way_btn_obj, onBtnClickHandler)
- AddClickEvent(self.vip_btn_obj, onBtnClickHandler)
- AddClickEvent(self.pre_condition_obj, onBtnClickHandler)
- AddClickEvent(self.auto_change_daily_btn_obj, onBtnClickHandler)
-
-
-
-
- local function onUpdateSkillList()
- if self.skill_vo then
- local id = self.skill_vo.id
- self.skill_vo = self.model:getSkill(id)
- self:UpdateSkillInfo(self.skillui_model.is_level_up)
- --如果当前是1级,则播放升级特效
- if self.skill_vo.level == 1 and self.skillui_model.is_level_up then
- self:AddEffect()
- end
- self.skillui_model.is_level_up = false
- end
- end
- self:BindEvent(self.model,SkillManager.UPDATE_SKILL_LIST, onUpdateSkillList)
-
- local function onChangeBagListHandler()
- self:UpdateLearnGroup()
- end
- self:BindEvent(GoodsModel:getInstance(),GoodsModel.CHANGE_BAGLIST,onChangeBagListHandler)
-
- local function onClickSkillItem(view_index, skill_id, pos)
- if view_index == SkillUIModel.Click_SkillItem.SkillLevelShow then
- if self.show_item_list[pos] then
- self.select_level = self.show_item_list[pos]:GetSkillLevel()
- self:UpdateAttr(false, true)
- for i,v in ipairs(self.show_item_list) do
- v:SetSelect(v:GetSkillLevel() == self.select_level)
- end
- end
- end
- end
- self:BindEvent(self.skillui_model,SkillUIModel.CLICK_SKILL_ITEM, onClickSkillItem)
-
- end
-
- function SkillUIDetailItem:SetData(vo, ui_type, is_pre_view)
- self.skill_vo = vo
- self.ui_type = ui_type or self.ui_type
- self.is_pre_view = is_pre_view or self.is_pre_view
- self.select_level = false
- if self.is_loaded then
- self:UpdateSkillInfo()
- else
- self.need_refreshData = true
- end
- end
-
- function SkillUIDetailItem:UpdateSkillInfo(is_up)
- local skill_vo = self.skill_vo
- local cd = skill_vo:getCd()
- local ui_type = self.ui_type
- if not self:CanPreview(self.skill_vo) then
- ui_type = SkillUIDetailItem.UIType.NonePreView
- end
-
- local show_special = self.model:IsShowSpecialSkill(self.skill_vo.id)
- self.base_con_two_obj:SetActive(show_special)
- self.base_con_one_obj:SetActive(not show_special)
-
- self.cd_tmp.text = cd == 0 and " " or string.format("冷却:%s", HtmlColorTxt((cd / 1000) .. "s", "#fdffc2"))
- self.des_tmp.text = skill_vo:GetDesc(1)
- self.power_txt.text = skill_vo:GetPower()
- self.name_tmp.text = skill_vo:getName()
- self.level_tmp.text = ""
- self.power2_txt.text = "f" .. skill_vo:GetPower()
- self.name2_tmp.text = skill_vo:getName()
- self.des2_tmp.text = skill_vo:GetDesc(1)
-
- lua_resM:setOutsideImageSprite(self,self.icon2_img,GameResPath.GetSkillIcon(skill_vo.id), false)
- lua_resM:setOutsideImageSprite(self,self.icon_img,GameResPath.GetSkillIcon(skill_vo.id), false)
- --self.priview_btn_obj:SetActive(ui_type == SkillUIDetailItem.UIType.PreViewMode)
- self.priview_btn_obj:SetActive(false)
- --self:SwitchViewModel()
- self:UpdateAttr(is_up)
- self:UpdateLearnGroup()
-
- end
-
- function SkillUIDetailItem:UpdateAttr(is_up, update_select)
- local skill_vo = self.skill_vo
- local attrs = skill_vo:GetSkillAttrList(nil, true)
- local level = skill_vo.level
-
- if self.ui_type == SkillUIDetailItem.UIType.PreViewMode and not self.is_pre_view then
- self.attrlist_group_obj:SetActive(true)
- self.des_group_obj:SetActive(true)
- else
- self.attrlist_group_obj:SetActive(false)
- self.des_group_obj:SetActive(false)
- end
-
- --self.cur_level_obj:SetActive(level == 1)
- self.cur_level_obj:SetActive(false)
- local attr_temp = false
- local attr_temp_show = false
- if #attrs > 10 then
- attr_temp = {}
- attr_temp_show = {}
- if level >= #attrs - 4 then
- for i= #attrs - 4, #attrs do
- table.insert(attr_temp, attrs[i])
- table.insert(attr_temp_show, attrs[i])
- end
- else
- if level <= 1 then
- table.insert(attr_temp_show, {level = 1,})
- end
- local start = level > 1 and level or 2
- for i= start, start + 4 do
- table.insert(attr_temp, attrs[i])
- table.insert(attr_temp_show, attrs[i])
- end
- end
- else
- attr_temp = {}
- attr_temp_show = {}
- for i,v in ipairs(attrs) do
- if v.level ~= 1 then
- table.insert(attr_temp, v)
- end
- table.insert(attr_temp_show, v)
- end
- end
-
- for i,v in ipairs(self.attr_one_item_list) do
- v:ClearAllUIEffect()
- v:SetVisible(false)
- end
- if not self.select_level then
- self.select_level = self.skill_vo.level ~= 0 and self.skill_vo.level or 1
- end
- self.ScrollViewTwo_obj:SetActive(false)
- self.can_not_up_obj:SetActive(#attr_temp == 0)
- for i,v in ipairs(attr_temp) do
- local item = self.attr_one_item_list[i]
- if not item then
- item = SkillUIAttrOne.New(self.attr_two_con,nil,self.layer_name)
- self.attr_one_item_list[i] = item
- end
- local lv_str = (v.level) <= level and HtmlColorTxt(string.format("突破%d", v.level), "#ffffff") or HtmlColorTxt(string.format("突破%d", v.level), "#8b8b8b")
- local text_str = (v.level) <= level and HtmlColorTxt(v.des, "#ffffff") or HtmlColorTxt(v.des, "#8b8b8b")
- local b_cur = (v.level)== level
- local b_toggle = (v.level) <= level
- item:SetVisible(true)
- item:SetData(lv_str, text_str, b_cur, b_toggle, i)
- item:WillShowEffect((v.level)== level and is_up)
- item:SetSelect(v.level == self.select_level)
- end
- self.ScrollViewTwo_obj:SetActive(true)
- if not update_select then
- self:UpdateShowListItem(attr_temp_show)
- end
- end
-
- function SkillUIDetailItem:UpdatePreView()
-
- local skill_vo = self.skill_vo
- local model_id, texture_id = self.mainVo:GetRoleClotheTextureId()
- local weapon_model_id, weapon_texture_id = self.mainVo:GetWeaponClotheId()
- local head_model_id, head_clothe_id = self.mainVo:GetRoleHeadId()
-
- local skill_preview_callback = function (case)
- if case == 1 then
- self.play_btn_obj:SetActive(false)
-
- elseif case == 2 then
- self.play_btn_obj:SetActive(true)
- end
- end
-
- local ab_name = ""
- local res_name = ""
- local show_root = false
- if self.show_skill_preview then
- ab_name = "icon_skillui_skill_ui_bg_1"
- res_name = "skill_ui_bg_1.png"
- show_root = true
- self.play_btn_obj:SetActive(true)
- self.priew_text_obj:SetActive(true)
- else
- ab_name = "icon_skillui_skill_ui_bg_3"
- res_name = "skill_ui_bg_3.png"
- show_root = false
- self.play_btn_obj:SetActive(false)
- self.priew_text_obj:SetActive(false)
- end
-
- local data = {
- career = self.mainVo.career,
- clothe_res_id = self.mainVo:GetRoleClotheId(),
- weapon_res_id = weapon_model_id,
- weapon_clothe_id = weapon_texture_id,
- type = SceneBaseType.MainRole,
- fashion_model_id = model_id,
- texture_id = texture_id,
- callBack = call_back,
- wing_id = self.mainVo.wing_id,
- image_id = self.mainVo.image_id,
- head_wear_id = head_model_id,
- head_clothe_id =head_clothe_id,
- position = Vector3(-100, 100, 45),
- skill_id = skill_vo.id,
- size = Vector2(1200 *1.4 * 0.5 ,720*1.4 * 0.5),
- skill_preview = true,
- scale = 84,
- raycast_size = Vector2(100, 100),
- skill_preview_callback = skill_preview_callback,
- use_bloom = true,
- can_rotate = false,
- action_name_list = {"idle"},
- show_root = show_root,
- camera_args =
- {
- orthographic = false,
- fieldOfView = 90,
- localPosition = Vector3(0,255,0),
- localRotation = Vector3(15,0,0),
- },
- rotate = Vector3(0, 45, 0),
- using_sprite_bg =
- {
- ab_name = ab_name,
- asset_name = res_name,
- position = Vector3(2, -445, 2000),
- scale = Vector3(518, 518, 518),
- rotation = Vector3(15, 0, 0),
- }
- }
- lua_resM:SetRoleModelByRT(self,self.skill_role_con,data)
-
- end
-
- function SkillUIDetailItem:SwitchViewModel()
- local skill_vo = self.skill_vo
- local is_pre_view = self.is_pre_view
- local ui_type = self.ui_type
- if not self:CanPreview(self.skill_vo) then
- ui_type = SkillUIDetailItem.UIType.NonePreView
- is_pre_view = false
- end
- local b = is_pre_view and ui_type == SkillUIDetailItem.UIType.PreViewMode
- lua_resM:setImageSprite(self, self.priview_btn_img, "skillui_asset",b and "skill_ui_6" or "skill_ui_22", false)
- --self.self.priview_group_obj:SetActive(b)
- self.show_skill_preview = b
- self.attrlist_group_obj:SetActive(not b)
- self.des_group_obj:SetActive(not b)
- --self:UpdatePreView( )
- end
-
-
- function SkillUIDetailItem:UpdateLearnGroup()
- local skill_vo = self.skill_vo
- local is_max = skill_vo:IsMaxLevel()
-
- self.level_max_obj:SetActive(false)
- self.item_learn_obj:SetActive(false)
- self.pre_condition_obj:SetActive(false)
- self.daily_light_learn_obj:SetActive(false)
- self.vip_condition_obj:SetActive(false)
- self.auto_change_daily_btn_obj:SetActive(self.skill_vo:IsDailyLightSkill())
- self.need_goods_id = false
- if is_max then
- self.level_max_obj:SetActive(true)
- else
- if self.skill_vo:IsSpecialSkill() and not SevenDayTargetModel:GetInstance():IsSevenDayTargetSkill(self.skill_vo.id) then
- self.pre_condition_obj:SetActive(true)
- self.pre_condition_text_tmp.text = HtmlColorTxt("<u>魂力突破</u>", "#0ce148")
- self.pre_condition_text_tmp.text = string.format("提升 %s 可升级 %s", HtmlColorTxt("魂力突破", "#FFE27D"), HtmlColorTxt("<u>前往培养</u>", "#0ce148"))
- elseif self.skill_vo:IsDailyLightSkill() then
- self.daily_light_learn_obj:SetActive(true)
- local item = self.skillui_model:GetDailySkillItem(skill_vo.id, skill_vo.level + 1)
- local str = skill_vo.level == 0 and "可获得" or "可升级"
- if item then
- self.daily_light_des_tmp.text = string.format("激活 %s %s %s", HtmlColorTxt(Trim(item.name), "#9C6CFF"), str, HtmlColorTxt("<u>前往激活</u>", "#2CF86F"))
- else
- self.daily_light_des_tmp.text = "暂时无法获取"
- end
- elseif SevenDayTargetModel:GetInstance():IsSevenDayTargetSkill(skill_vo.id) then
- self.pre_condition_obj:SetActive(true)
- self.pre_condition_text_tmp.text = "<u>七日目标任务获取</u>"
- elseif self.skill_vo:IsForbidJumpSkill() then
- self.pre_condition_obj:SetActive(true)
- self.pre_condition_text_tmp.text = string.format("激活 %s 可获得 %s", HtmlColorTxt("二阶贵族", "#FFE27D"), HtmlColorTxt("<u>前往获得</u>", "#0ce148"))
- else
- local vip = skill_vo:GetNextConditionByKey("vip")
- local turn = skill_vo:GetNextConditionByKey("turn")
- local level = skill_vo:GetNextConditionByKey("level")
- local goods = skill_vo:GetNextConditionByKey("goods")
- if self.base_item then
- self.base_item:SetVisible(false)
- end
-
- if skill_vo:CanUpButGoods() then
- self.item_learn_obj:SetActive(true)
- if not self.base_item then
- self.base_item = UIObjPool:PopItem(UIObjPool.UIType.AwardItem, self.item_con)
- self.base_item:SetItemSize(78, 78)
- end
-
- if goods then
- self.base_item:SetVisible(true)
- print(">>>>>>>>>>>>>>道具id", goods[1][1], goods[1][2])
- local basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(goods[1][1])
- self.need_goods_id = goods[1][1]
- self.base_item:SetData(goods[1][1], goods[1][2])
- self.item_name_tmp.text = Language.substitute("<color={0}>{1}</color>", WordManager.GetGoodsColor(basic.color), Trim(basic.goods_name))
- local goods_num = GoodsModel:getInstance():GetTypeGoodsNum(goods[1][1]) or 0
- local get_str = HtmlColorTxt(goods_num, goods_num < goods[1][2] and ColorUtil.RED_DARK or ColorUtil.GREEN_DARK).."/".. goods[1][2]
- self.base_item:SetNumStr("")
- self.base_item:IsGetGoods(true,get_str,true)
- self.go_way_btn_obj.gameObject:SetActive(true)
- local cfg = ShopModel:getInstance():GetShopTypeIdBuyCFG(basic.type_id)
- local str = ""
- if cfg and TableSize(cfg) > 0 then
- local shop_cfg = false
- for k,v in pairs(cfg) do
- shop_cfg = v
- break
- end
- str = HtmlColorTxt( string.format("<u>%s</u>", ShopModel:getInstance():GetShopTabName(shop_cfg.shop_type)), "#0ce148")
- else
- str = HtmlColorTxt("<u>运营活动</u>", "#0ce148")
- end
- self.go_way_btn_text_tmp.text = str
- else
- self.base_item:SetVisible(false)
- self.item_name_tmp.text = ""
- self.go_way_btn_obj.gameObject:SetActive(false)
- end
- else
-
- if vip then
- self.vip_condition_obj:SetActive(true)
- local str = skill_vo.level == 0 and "可获得" or "可升级"
- self.vip_des_tmp.text = string.format("达到 %s %s", HtmlColorTxt("<u>VIP"..vip .. "</u>", "#2cf86f"), str)
-
- elseif level then
- local str = skill_vo.level == 0 and "可学习" or "可升级"
- self.pre_condition_obj:SetActive(true)
- if turn and turn > 0 then
- self.pre_condition_text_tmp.text = string.format("达到 %s %s", HtmlColorTxt(turn.."转".. level .. "级", "#2cf86f"), str)
- else
- self.pre_condition_text_tmp.text = string.format("达到 %s %s", HtmlColorTxt(level.."级", "#2cf86f"), str)
- end
- end
- end
-
- end
-
- self.learn_btn_txt_tmp.text = skill_vo.level == 0 and "学习技能" or "升级技能"
- end
- end
-
- function SkillUIDetailItem:SetClickCallBack(cb)
- self.click_callback = cb
- end
-
- function SkillUIDetailItem:CanPreview(skill_vo)
- return skill_vo and skill_vo:GetSkillType()== SkillVo.SkillType.Initiative and Config.CareerFightMovies[skill_vo.id]
- end
-
- function SkillUIDetailItem:AddEffect()
- if not self.showing_effect then
- local function call_back( )
- self.showing_effect = false
- end
- self:ClearUIEffect(self.effect_con)
- self:ClearUIEffect(self.effect_con2)
- if self.skill_vo and not self.model:IsShowSpecialSkill(self.skill_vo.id)then
- self:AddUIEffect("ui_jinjieshuxing", self.effect_con, self.layer_name, Vector3(-170,0,0), 1, false, 0.75, false, call_back)
- else
- self:AddUIEffect("ui_jinjieshuxing", self.effect_con2, self.layer_name, Vector3(-170,0,0), 1, false, 0.75, false, call_back)
- end
-
- self.showing_effect = true
- end
- end
-
- function SkillUIDetailItem:UpdateShowListItem(list)
- if self.skill_vo and not self.model:IsShowSpecialSkill(self.skill_vo.id)then
- for i,v in ipairs(self.show_item_list) do
- v:SetVisible(false)
- end
- if not list or #list == 0 or not self.skill_vo then return end
-
- local idx = false
- local is_one = #list == 1
- SetAnchoredPositionX(self.ScrollViewSkill, is_one and (140 - 45 ) or -28)
- SetSizeDeltaX(self.skill_level_list_con, is_one and 300 or (165 * #list - 55) )
- for i, v in ipairs(list) do
- local skill_vo = SkillVo.New(self.skill_vo.id)
- skill_vo.level = v.level
- local item = self.show_item_list[i]
- if not item then
- item = SkillUIItem.New(self.skill_level_list_con,nil,self.maskID)
- self.show_item_list[i] = item
- end
- item:SetVisible(true)
- item:SetUseFor("SkillLevelShow")
- item:SetData(skill_vo, i, SkillUIModel.Click_SkillItem.SkillLevelShow, false)
- item:CanDrag(false)
- item:SetLockInfo(true)
- item:SetAnchoredPosition( is_one and 100 or (55 + 165 * (i - 1)), -45)
- item:SetSelect(skill_vo.level == self.select_level)
- item:SetLock(skill_vo.level > self.skill_vo.level)
- if i == #list then
- item:ShowNext(false)
- else
- item:ShowNext(skill_vo.level <= self.skill_vo.level and 1 or 0)
- end
-
- if not idx and (skill_vo.level == self.skill_vo.level or self.skill_vo.level == 0) then
- idx = i
- end
- end
- idx = idx or 1
- if idx < 2 then
- idx = 0
- elseif idx > #list - 2 then
- idx = #list - 3
- else
- idx = idx -2
- end
- SetAnchoredPositionX(self.skill_level_list_con, idx * (- 165))
- end
- end
-
- function SkillUIDetailItem:UpdateAutoChangeDailySkillState()
- local b = self.skillui_model:IsAutoChangeDailySkillid()
- self.auto_change_daily_select_obj:SetActive(b)
- end
|