源战役客户端
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 

85 righe
2.2 KiB

LightItem = LightItem or BaseClass(BaseItem)
local LightItem = LightItem
function LightItem:__init()
self.base_file = "light"
self.layout_file = "LightItem"
self.model = LightModel:GetInstance()
self:Load()
end
function LightItem:Load_callback()
self.nodes = {
"mark_image:obj","name_text:txt","click_con:obj","red_image:obj","select_image:obj",
"wear_image:obj","active_image2:obj","lock_image:obj","up_image:obj","head:img",
}
self:GetChildren(self.nodes)
self:AddEvents()
if self.need_refreshData then
self:UpdateView()
end
end
function LightItem:AddEvents( )
local function onClick(target,x,y)
if target == self.click_con_obj then
self.call_back(self.data.id)
end
end
AddClickEvent(self.click_con_obj,onClick)
local function on_ans_update_red_dot( )
self:RedDotRefresh()
end
self:BindEvent(NewMainRoleModel:getInstance(), NewMainRoleModel.ANS_UPDATE_RED_DOT, on_ans_update_red_dot)
end
function LightItem:RedDotRefresh( )
self.red_image_obj:SetActive(self.model:GetLightOneRed(false,self.data.id))
end
function LightItem:UpdateView( )
if not self.data then
return
end
local can_active = self.model:CanLightActive( false,self.data.id )
local is_active = self.model:GetLightIsActive( self.data.id )
self.wear_image_obj:SetActive(self.model:GetLightUsingSkin() == self.data.id)
self.mark_image_obj:SetActive(not is_active and (not can_active))
self.lock_image_obj:SetActive((not is_active) and (not can_active))
self.select_image_obj:SetActive(self.data.id == self.select_id)
self.active_image2_obj:SetActive(can_active)
self.up_image_obj:SetActive(self.model:CanLightUpGrade( false,self.data.id ))
lua_resM:setImageSprite(self, self.head_img, "lighticon_asset", "light_icon_" .. self.index,true)
self:RedDotRefresh()
local conf = self.model:GetLightConfOne( self.data.id )
if conf then
self.name_text_txt.text = Trim(conf.name)
end
end
function LightItem:GetId( )
return self.fashion_id or 0
end
function LightItem:SetData(index, data, call_back,select_id)
self.index = index
self.data = data
self.call_back = call_back
self.select_id = select_id
if self.is_loaded then
self.need_refreshData = false
self:UpdateView()
else
self.need_refreshData = true
end
end
function LightItem:__delete( )
end