源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

127 lines
3.6 KiB

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