|
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
|