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

90 lines
2.6 KiB

RoleHeadShowItem = RoleHeadShowItem or BaseClass(BaseItem)
function RoleHeadShowItem:__init()
self.base_file = "newMainRole"
self.layout_file = "RoleHeadShowItem"
self.mainVo = RoleManager.Instance.mainRoleInfo
self.model = NewMainRoleModel:getInstance()
self.lock_state = false
self:Load()
end
--清除界面
function RoleHeadShowItem:__delete()
if self.event_id then
GlobalEventSystem:UnBind(self.event_id)
self.event_id = nil
end
if self.refresh_activate_id then
self.model:UnBind(self.refresh_activate_id)
self.refresh_activate_id = nil
end
end
function RoleHeadShowItem:Load_callback()
local node = {
"head:raw","select:obj","lock:obj", "activatable:obj", "equiped:obj"
}
self:GetChildren(node)
SetLocalScale(self.head.transform, 0.7,0.7,0.7)
self:InitEvent()
self:UpdateView()
self:SetSelect(self.select_state)
end
function RoleHeadShowItem:InitEvent()
local function onBtnClickHandler(target, x, y)
if target == self.gameObject then
if self.callback then
self.callback(self.index, self.data, self.lock_state)
end
end
end
AddClickEvent(self.gameObject, onBtnClickHandler, 2)
end
function RoleHeadShowItem:SetData(index, data, callback)
self.data = data
self.index = index
self.callback = callback or nil
-- 获取锁定状态
self.lock_state = self.data and self.data.status and self.data.status ~= 2 or false
if self.is_loaded then
self:UpdateView()
end
end
function RoleHeadShowItem:UpdateView( )
if not self.data then return end
lua_resM:setOutsideRawImage(self, self.head_raw, GameResPath.GetHeadIcon(self.data.photo_id), true)
self:RefreshActivate()
self:RefreshEquipFlag()
self:SetLock()
end
-- 刷新头像锁定标识
function RoleHeadShowItem:SetLock()
self.lock_state = self.data and self.data.status and self.data.status == 0 or false
self.lock_obj:SetActive(self.lock_state)
end
-- 刷新头像激活标识
function RoleHeadShowItem:RefreshActivate( )
local status = self.data and self.data.status or 0
self.activatable_obj:SetActive(status == 1)
end
-- 刷新头像佩戴标识
function RoleHeadShowItem:RefreshEquipFlag( )
if not self.is_loaded then return end
local cur_head_id = RoleManager.Instance.mainRoleInfo.profile_photo_id
self.equiped_obj:SetActive(cur_head_id == self.data.photo_id)
end
function RoleHeadShowItem:SetSelect(bool)
self.select_state = bool
if self.is_loaded then
self.select_obj:SetActive(bool)
end
end