95 lines
3.1 KiB
Lua
95 lines
3.1 KiB
Lua
local UIWidgetBase = require_ex('Common/Core/UIWidgetBase')
|
||
|
||
|
||
|
||
|
||
|
||
|
||
BusinessCardPersonalInfoNode = HL.Class('BusinessCardPersonalInfoNode', UIWidgetBase)
|
||
|
||
|
||
BusinessCardPersonalInfoNode.m_id = HL.Field(HL.Number) << 0
|
||
|
||
|
||
BusinessCardPersonalInfoNode.m_preview = HL.Field(HL.Boolean) << false
|
||
|
||
|
||
|
||
|
||
BusinessCardPersonalInfoNode._OnFirstTimeInit = HL.Override() << function(self)
|
||
self.view.btnOther.onClick:RemoveAllListeners()
|
||
self.view.btnOther.onClick:AddListener(function()
|
||
if self.m_id == GameInstance.player.roleId then
|
||
FriendUtils.FRIEND_CELL_INIT_FUNC.onSelfClick(self.view.tipRect, self.m_id)
|
||
elseif GameInstance.player.friendSystem.friendInfoDic:ContainsKey(self.m_id) then
|
||
|
||
FriendUtils.FRIEND_CELL_INIT_FUNC.onBusinessCardFriendPlayerClick(self.view.tipRect, self.m_id)
|
||
else
|
||
FriendUtils.FRIEND_CELL_INIT_FUNC.onBusinessCardStrangerPlayerClick(self.view.tipRect, self.m_id)
|
||
end
|
||
end)
|
||
|
||
self.view.playerUidTxtButton.onClick:RemoveAllListeners()
|
||
self.view.playerUidTxtButton.onClick:AddListener(function()
|
||
Unity.GUIUtility.systemCopyBuffer = self.view.playerUidTxt.text
|
||
Notify(MessageConst.SHOW_TOAST, Language.LUA_COPY_UID_SUCCESS)
|
||
end)
|
||
end
|
||
|
||
|
||
|
||
|
||
|
||
BusinessCardPersonalInfoNode.InitBusinessCardPersonalInfoNodeByRoleId = HL.Method(HL.Number, HL.Boolean) << function(self, roleId, preview)
|
||
self:_FirstTimeInit()
|
||
|
||
self.m_preview = preview
|
||
self.m_id = roleId
|
||
if self.m_id == GameInstance.player.roleId then
|
||
self.view.redDot:InitRedDot("NewAvatarInfo")
|
||
else
|
||
self.view.redDot.gameObject:SetActiveIfNecessary(false)
|
||
end
|
||
|
||
local success, playerInfo = GameInstance.player.friendSystem:TryGetFriendInfo(roleId)
|
||
if not success then
|
||
logger.error("获取玩家信息失败,roleId: " .. roleId)
|
||
return
|
||
end
|
||
|
||
local click = not preview and function()
|
||
|
||
UIManager:Open(PanelId.FriendHeadSelectedPopUp)
|
||
end or false
|
||
|
||
self.view.commonPlayerHead:InitCommonPlayerHeadByRoleId(roleId, click)
|
||
|
||
|
||
|
||
local stateName = string.isEmpty(playerInfo.remakeName) and "NoRemarks" or "Remarks"
|
||
local name = string.format(Language.LUA_FRIEND_NAME, playerInfo.name, playerInfo.shortId)
|
||
self.view.nameTxt.text = name
|
||
self.view.remarkTxt.text = playerInfo.remakeName
|
||
|
||
if FriendUtils.isPsnPlatform() then
|
||
stateName = stateName .. (string.isEmpty(playerInfo.psName) and "NoPsAccount" or "Ps")
|
||
self.view.layoutName:SetState(stateName)
|
||
self.view.psNameTxt.text = playerInfo.psName
|
||
else
|
||
self.view.psNameRoot.gameObject:SetActiveIfNecessary(false)
|
||
self.view.psNameTxt.gameObject:SetActiveIfNecessary(false)
|
||
if not string.isEmpty(playerInfo.remakeName) then
|
||
self.view.layoutName:SetState(stateName)
|
||
else
|
||
self.view.layoutName:SetState(stateName)
|
||
end
|
||
end
|
||
|
||
self.view.playerUidTxt.text = playerInfo.platformRoleId
|
||
self.view.timeText.text = os.date(Language.LUA_BUSINESS_CARD_TIME, playerInfo.createTime)
|
||
end
|
||
|
||
HL.Commit(BusinessCardPersonalInfoNode)
|
||
return BusinessCardPersonalInfoNode
|
||
|