SkillUIAttrOne = SkillUIAttrOne or BaseClass(BaseItem)
|
|
|
|
function SkillUIAttrOne:__init(parent_wnd, prefab_asset, layer_name)
|
|
self.base_file = "skillUI"
|
|
self.layout_file = "SkillUIAttrOne"
|
|
self.layer_name = "Top"
|
|
self.lv_str = ""
|
|
self.text_str = ""
|
|
self.b_cur = false
|
|
self.b_toggle = false
|
|
self.pos = false
|
|
self.showing_effect = false
|
|
self.will_show_effect = false
|
|
self.is_select = false
|
|
self:Load()
|
|
end
|
|
|
|
function SkillUIAttrOne:Load_callback()
|
|
local nodes = {
|
|
"toggle:obj",
|
|
"cur:obj",
|
|
"text:tmp",
|
|
"lv_text:tmp" ,
|
|
"effect_con",
|
|
"bg:obj",
|
|
"toggle_bg:obj",
|
|
"select:obj",
|
|
}
|
|
self:GetChildren(nodes)
|
|
if self.need_refreshData then
|
|
self:SetData(self.lv_str, self.text_str, self.b_cur, self.b_toggle, self.pos)
|
|
self:WillShowEffect(self.will_show_effect)
|
|
self:SetSelect(self.is_select)
|
|
end
|
|
end
|
|
|
|
function SkillUIAttrOne:SetData(lv_str, text_str, b_cur, b_toggle, pos)
|
|
self.lv_str = lv_str
|
|
self.text_str = text_str
|
|
self.b_cur = b_cur
|
|
self.b_toggle = b_toggle
|
|
self.pos = pos
|
|
if self.is_loaded then
|
|
self.lv_text_tmp.text = lv_str
|
|
self.text_tmp.text = text_str
|
|
--self.cur_obj:SetActive(self.b_cur)
|
|
self.cur_obj:SetActive(false)
|
|
self.toggle_obj:SetActive(self.b_toggle)
|
|
self.toggle_bg_obj:SetActive(not self.b_toggle)
|
|
self.bg_obj:SetActive(self.pos % 2 == 1)
|
|
|
|
-- local w = self.lv_text_tmp.preferredWidth
|
|
-- if w <= 40 then
|
|
-- SetAnchoredPositionX(self.text, 97)
|
|
-- SetSizeDeltaX(self.text, 240)
|
|
-- else
|
|
-- SetAnchoredPositionX(self.text, 97 + w - 40)
|
|
-- SetSizeDeltaX(self.text, 280 - w)
|
|
-- end
|
|
SetSizeDeltaY(self.transform, self.text_tmp.preferredHeight+28)
|
|
SetSizeDeltaY(self.bg, self.text_tmp.preferredHeight+28)
|
|
SetSizeDeltaY(self.select, self.text_tmp.preferredHeight+34)
|
|
|
|
if self.text_tmp.preferredHeight > 30 then
|
|
SetLocalScale(self.effect_con, 1, 1.6, 1.6)
|
|
else
|
|
SetLocalScale(self.effect_con, 1, 1.2, 1.2)
|
|
end
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function SkillUIAttrOne:__delete()
|
|
self:ClearAllUIEffect()
|
|
end
|
|
|
|
function SkillUIAttrOne:WillShowEffect(show)
|
|
self.will_show_effect = show
|
|
if self.is_loaded then
|
|
if self.will_show_effect then
|
|
self.will_show_effect = false
|
|
self:AddEffect()
|
|
end
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function SkillUIAttrOne:ClearAllUIEffect()
|
|
if self.is_loaded then
|
|
self:ClearUIEffect(self.effect_con)
|
|
end
|
|
end
|
|
|
|
function SkillUIAttrOne:WillShowEffect(show)
|
|
self.will_show_effect = show
|
|
if self.is_loaded then
|
|
if self.will_show_effect then
|
|
self.will_show_effect = false
|
|
self:AddEffect()
|
|
end
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function SkillUIAttrOne:SetSelect(is_select)
|
|
self.is_select = is_select
|
|
if self.is_loaded then
|
|
self.select_obj:SetActive(self.is_select)
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function SkillUIAttrOne:AddEffect()
|
|
if not self.showing_effect then
|
|
local function call_back( )
|
|
self.showing_effect = false
|
|
end
|
|
self:ClearUIEffect(self.effect_con)
|
|
self:AddUIEffect("ui_jinjieshuxing", self.effect_con, self.layer_name, Vector3(-170,0,0), 1, false, 0.75, false, call_back)
|
|
self.showing_effect = true
|
|
end
|
|
end
|
|
|