源战役客户端
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 
 

120 rader
3.2 KiB

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