源战役客户端
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.
 
 
 
 
 

138 lines
3.1 KiB

DailyRechargeJipsawItem = DailyRechargeJipsawItem or BaseClass(BaseItem)
local DailyRechargeJipsawItem = DailyRechargeJipsawItem
function DailyRechargeJipsawItem:__init()
self.base_file = "dailyRecharge"
self.layout_file = "DailyRechargeJipsawItem"
self.model = RechargeActivityModel:getInstance()
self.size = false
self.uv_rect = false
self.data = false
self.index = -1
self.is_select = false
self.action_breath_light = false
self:Load()
end
function DailyRechargeJipsawItem:Load_callback()
self.nodes = {
"pos:txt", "res:raw:obj","select:img:obj",
}
self:GetChildren(self.nodes)
self.canvas_com = self.select:GetComponent("CanvasGroup")
if self.need_refreshData then
self:SetData(self.data, self.index)
self:SetSize(self.size)
self:SetUIRect(self.uv_rect)
self:SetSelect(self.is_select)
end
self:InitEvent()
end
function DailyRechargeJipsawItem:SetData(data, index)
self.data = data
self.index = index
if self.is_loaded then
self.need_refreshData = false
self:UpdateView()
else
self.need_refreshData = true
end
end
function DailyRechargeJipsawItem:__delete( )
self:StopShowTipsAni()
end
function DailyRechargeJipsawItem:InitEvent()
local function onClickHandler(target)
if self.res_obj == target then
if self.call_back then
self.call_back(self.data, self.index)
end
end
end
AddClickEvent(self.res_obj,onClickHandler)
end
function DailyRechargeJipsawItem:UpdateView()
local d = self.data
lua_resM:setOutsideRawImage(self, self.res_raw, d.res_path)
self.pos_txt.text = d.pic_pos
end
function DailyRechargeJipsawItem:SetSize(size)
self.size = size
if self.is_loaded then
if self.size then
SetSizeDelta(self.transform, size.x, size.y)
SetSizeDelta(self.res, size.x, size.y)
SetSizeDelta(self.select, size.x, size.y)
end
else
self.need_refreshData = true
end
end
function DailyRechargeJipsawItem:SetUIRect(uv_rect)
self.uv_rect = uv_rect
if self.is_loaded then
if self.uv_rect then
self.res_raw.uvRect = UnityEngine.Rect.New(self.uv_rect.x, self.uv_rect.y, self.uv_rect.w, self.uv_rect.h)
end
else
self.need_refreshData = true
end
end
function DailyRechargeJipsawItem:ShowTipsAni(show_ani)
self.show_ani = show_ani
if self.is_loaded then
if self.show_ani then
self.action_breath_light = ActionBreathLight.New()
self.action_breath_light:Init(self.select)
else
self:StopShowTipsAni()
end
else
self.need_refreshData = true
end
end
function DailyRechargeJipsawItem:StopShowTipsAni()
if self.action_breath_light then
self.action_breath_light:DeleteMe()
self.action_breath_light = false
self.canvas_com.alpha = 1
end
end
function DailyRechargeJipsawItem:SetClickCallBack(call_back)
self.call_back = call_back
end
function DailyRechargeJipsawItem:SetIdx(index)
self.index = index
end
function DailyRechargeJipsawItem:GetIndex()
return self.index
end
function DailyRechargeJipsawItem:GetPicPos()
return self.data.pic_pos
end
function DailyRechargeJipsawItem: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