SocialityAddFriendItem = SocialityAddFriendItem or BaseClass(BaseItem)
|
|
function SocialityAddFriendItem:__init()
|
|
self.base_file = "sociality"
|
|
self.layout_file = "SocialityAddFriendItem"
|
|
self.model = SocialityModel:getInstance()
|
|
self:Load()
|
|
end
|
|
|
|
function SocialityAddFriendItem:Load_callback()
|
|
self.name_con = self:GetChild("name_con")
|
|
self.role_name = self:GetChild("name_con/name"):GetComponent("TextMeshProUGUI")
|
|
self.vip = self:GetChild("vip")
|
|
self.addBtn = self:GetChild("addBtn").gameObject
|
|
self.headCon = self:GetChild("headCon")
|
|
self.sex = self:GetChild("name_con/sex"):GetComponent("Image")
|
|
self.checkImg = self:GetChild("checkImg")
|
|
|
|
self.attackPower = self:GetChild("attackText"):GetComponent("TextMeshProUGUI")
|
|
self.roleItem = HeadRoleItem.New(self.headCon)
|
|
self.roleItem:SetItemSize(73,73)
|
|
|
|
self.vipItem = RoleVipItem.New(self.vip)
|
|
|
|
self:InitEvent()
|
|
self:LoadSuccess()
|
|
end
|
|
function SocialityAddFriendItem:LoadSuccess( ... )
|
|
if self.needUpdate then
|
|
self:SetData(self.info)
|
|
end
|
|
end
|
|
|
|
function SocialityAddFriendItem:InitEvent()
|
|
local function onClickBtnHandler(target)
|
|
if target == self.addBtn then
|
|
if self.info and not self.has_click then
|
|
self.has_click = true
|
|
self.model:Fire(SocialityModel.REQUEST_CCMD_EVENT, 14003, self.info.role_id)
|
|
end
|
|
end
|
|
end
|
|
AddClickEvent(self.addBtn,onClickBtnHandler)
|
|
|
|
|
|
local function update_add_friend_btn_state()
|
|
self:UpdateAddBtnState()
|
|
end
|
|
self:BindEvent(self.model,SocialityModel.UPDATE_ADD_FRIEND_BTN_STATE,update_add_friend_btn_state)
|
|
end
|
|
|
|
function SocialityAddFriendItem:UpdateAddBtnState( )
|
|
local is_friend = self.model:IsRelaviveType(self.info.role_id,Config.ConfigSocial.RelativeType.friend)
|
|
if is_friend then
|
|
self.addBtn:SetActive(false)
|
|
self.checkImg.gameObject:SetActive(true)
|
|
else
|
|
self.addBtn:SetActive(true)
|
|
self.checkImg.gameObject:SetActive(false)
|
|
end
|
|
end
|
|
|
|
function SocialityAddFriendItem:SetData(info)
|
|
self.info = info
|
|
if not info then return end
|
|
if self.is_loaded then
|
|
|
|
local head_data = {
|
|
vo = {
|
|
id = info.role_id,
|
|
server_id = info.ser_id,
|
|
career = info.career,
|
|
sex = info.sex,
|
|
turn = info.turn,
|
|
picture_ver = info.picture_ver,
|
|
picture = info.picture,
|
|
profile_photo_id = info.profile_photo_id,
|
|
dress_board_id = info.dress_board,
|
|
level = info.lv,
|
|
empty_head = false, -- 是否是空数据头像
|
|
}
|
|
}
|
|
self.roleItem:SetData(head_data)
|
|
|
|
self:UpdateAddBtnState()
|
|
|
|
self.has_click = false
|
|
|
|
self.attackPower.text = tostring(info.power)
|
|
-- self.levelTxt.text = info.lv
|
|
|
|
self.vipItem:SetData(info.vip,info.sup_vip_type)
|
|
if info.vip > 0 then
|
|
SetAnchoredPositionX(self.name_con,53)
|
|
else
|
|
SetAnchoredPositionX(self.name_con,13)
|
|
end
|
|
|
|
self.role_name.text = info.role_name
|
|
local sex_res = info.sex == 1 and "com_boy" or "com_girl"
|
|
lua_resM:setImageSprite(self, self.sex, "common_asset", sex_res, true)
|
|
SetAnchoredPositionX(self.sex.transform,self.role_name.preferredWidth+4)
|
|
|
|
|
|
|
|
else
|
|
self.needUpdate = true
|
|
end
|
|
end
|
|
|
|
function SocialityAddFriendItem:__delete( )
|
|
if self.roleItem then
|
|
self.roleItem:DeleteMe()
|
|
self.roleItem = nil
|
|
end
|
|
|
|
if self.vipItem then
|
|
self.vipItem:DeleteMe()
|
|
self.vipItem = nil
|
|
end
|
|
end
|