Initial version - 1.2.0.60
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
This commit is contained in:
@@ -0,0 +1,192 @@
|
||||
local FriendIdCardCtrl = class("FriendIdCardCtrl", BaseCtrl)
|
||||
local LocalData = require("GameCore.Data.LocalData")
|
||||
FriendIdCardCtrl._mapNodeConfig = {
|
||||
goBlur = {},
|
||||
RectCard = {},
|
||||
imgSaveBtn = {},
|
||||
goTip = {},
|
||||
btnCloseCard = {
|
||||
sComponentName = "UIButton",
|
||||
callback = "OnBtnClick_CloseIdCard"
|
||||
},
|
||||
btnSaveCard = {
|
||||
sComponentName = "UIButton",
|
||||
callback = "OnBtnClick_OpenAskPermission"
|
||||
},
|
||||
txtTicketTitle = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "Friend_Ticket_Title"
|
||||
},
|
||||
txtNameCard = {sComponentName = "TMP_Text"},
|
||||
txtUidCard = {sComponentName = "TMP_Text"},
|
||||
txtUidTitle = {sComponentName = "TMP_Text", sLanguageId = "Friend_UID"},
|
||||
txtTitleTitle = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "Friend_TitleTag"
|
||||
},
|
||||
txtTitleCard = {sComponentName = "TMP_Text"},
|
||||
txtProfileCard = {sComponentName = "TMP_Text"},
|
||||
imgPlayerHeadCard = {sComponentName = "Image"},
|
||||
txtRankCard = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "MainView_RANK"
|
||||
},
|
||||
txtWorldClassCard = {sComponentName = "TMP_Text"},
|
||||
goHonorTitleCard = {
|
||||
nCount = 3,
|
||||
sCtrlName = "Game.UI.FriendEx.HonorTitleCtrl"
|
||||
},
|
||||
txtMainline = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "MainLine_Progress"
|
||||
},
|
||||
txtMainlineProgress = {sComponentName = "TMP_Text"},
|
||||
txtAchievement = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "Friend_Card_Achievement"
|
||||
},
|
||||
txtAchievementCount = {sComponentName = "TMP_Text"},
|
||||
txtDisc = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "Friend_Card_Disc"
|
||||
},
|
||||
txtDiscCount = {sComponentName = "TMP_Text"},
|
||||
txtChar = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "Friend_Card_Char"
|
||||
},
|
||||
txtCharCount = {sComponentName = "TMP_Text"},
|
||||
txtCardCloseTip = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "StarTower_Book_Close_Tip"
|
||||
},
|
||||
txtCardCloseTipShadow = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "StarTower_Book_Close_Tip"
|
||||
},
|
||||
txtSaveCard = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "Friend_Save_Card_Button"
|
||||
}
|
||||
}
|
||||
function FriendIdCardCtrl:OnInit()
|
||||
self._mapNode.goTip:SetActive(false)
|
||||
self._mapNode.imgSaveBtn:SetActive(false)
|
||||
self._mapNode.RectCard:SetActive(false)
|
||||
self._mapNode.goBlur:SetActive(false)
|
||||
local wait = function()
|
||||
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
|
||||
self._mapNode.goBlur:SetActive(true)
|
||||
local innerWait = function()
|
||||
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
|
||||
self.gameObject.transform.parent.parent:GetComponent("Animator"):Play("FriendPanel_IdCard_in", -1, 0)
|
||||
self:Refresh()
|
||||
end
|
||||
cs_coroutine.start(innerWait)
|
||||
end
|
||||
cs_coroutine.start(wait)
|
||||
end
|
||||
function FriendIdCardCtrl:Refresh()
|
||||
self._mapNode.RectCard:SetActive(true)
|
||||
self._mapNode.imgSaveBtn:SetActive(true)
|
||||
self._mapNode.goTip:SetActive(true)
|
||||
NovaAPI.SetTMPText(self._mapNode.txtNameCard, PlayerData.Base:GetPlayerNickName())
|
||||
NovaAPI.SetTMPText(self._mapNode.txtUidCard, PlayerData.Base:GetPlayerId())
|
||||
self:RefreshTitle()
|
||||
self:RefreshHead()
|
||||
self:RefreshHonorTitle()
|
||||
NovaAPI.SetTMPText(self._mapNode.txtProfileCard, PlayerData.Base:GetPlayerSignature())
|
||||
NovaAPI.SetTMPText(self._mapNode.txtWorldClassCard, PlayerData.Base:GetWorldClass())
|
||||
self:RefreshMainlineProgress()
|
||||
NovaAPI.SetTMPText(self._mapNode.txtAchievementCount, PlayerData.Achievement:GetAchievementAllTypeCount().nCompleted)
|
||||
local tbDisc = PlayerData.Disc:GetDiscIdList()
|
||||
NovaAPI.SetTMPText(self._mapNode.txtDiscCount, #tbDisc)
|
||||
local tbChar = PlayerData.Char:GetCharIdList()
|
||||
NovaAPI.SetTMPText(self._mapNode.txtCharCount, #tbChar)
|
||||
end
|
||||
function FriendIdCardCtrl:RefreshTitle()
|
||||
local nPre, nSuf = PlayerData.Base:GetPlayerTitle()
|
||||
if nPre == 0 or nSuf == 0 then
|
||||
NovaAPI.SetTMPText(self._mapNode.txtTitleCard, "")
|
||||
return
|
||||
end
|
||||
local sTitle = orderedFormat(ConfigTable.GetUIText("FriendPanel_PlayerTitle") or "", ConfigTable.GetData("Title", nPre).Desc, ConfigTable.GetData("Title", nSuf).Desc)
|
||||
NovaAPI.SetTMPText(self._mapNode.txtTitleCard, sTitle)
|
||||
end
|
||||
function FriendIdCardCtrl:RefreshHead()
|
||||
local nHeadId = PlayerData.Base:GetPlayerHeadId()
|
||||
local mapCfg = ConfigTable.GetData("PlayerHead", nHeadId)
|
||||
if mapCfg ~= nil then
|
||||
self:SetPngSprite(self._mapNode.imgPlayerHeadCard, mapCfg.Icon)
|
||||
end
|
||||
end
|
||||
function FriendIdCardCtrl:RefreshHonorTitle()
|
||||
local tbCurHonorTitle = PlayerData.Base:GetPlayerHonorTitle()
|
||||
for i = 1, 3 do
|
||||
if tbCurHonorTitle[i] ~= nil and tbCurHonorTitle[i].Id ~= 0 and tbCurHonorTitle[i] ~= nil then
|
||||
local honorData = ConfigTable.GetData("Honor", tbCurHonorTitle[i].Id)
|
||||
local level
|
||||
if honorData.Type == GameEnum.honorType.Character then
|
||||
local affinityData = PlayerData.Char:GetCharAffinityData(honorData.Params[1])
|
||||
level = affinityData.Level
|
||||
end
|
||||
self._mapNode.goHonorTitleCard[i]:SetHonotTitle(honorData.Id, i == 1, level)
|
||||
end
|
||||
self._mapNode.goHonorTitleCard[i].gameObject:SetActive(tbCurHonorTitle[i] ~= nil and tbCurHonorTitle[i].Id ~= 0)
|
||||
end
|
||||
end
|
||||
function FriendIdCardCtrl:RefreshMainlineProgress()
|
||||
local curStoryId = PlayerData.Avg:GetLastestStoryId()
|
||||
local storyConfig = ConfigTable.GetData_Story(curStoryId)
|
||||
local nChapter = storyConfig.Chapter
|
||||
local title = nChapter .. "-" .. storyConfig.Index
|
||||
NovaAPI.SetTMPText(self._mapNode.txtMainlineProgress, title)
|
||||
end
|
||||
function FriendIdCardCtrl:SaveIdCard()
|
||||
local compCapture = self.gameObject:GetComponent("UICapture")
|
||||
if compCapture ~= nil then
|
||||
local await = function(bRes)
|
||||
local sTip
|
||||
if bRes == true then
|
||||
local curPlatform = CS.ClientManager.Instance.Platform
|
||||
if curPlatform == "ios" or curPlatform == "android" then
|
||||
sTip = ConfigTable.GetUIText("Friend_Save_Card_Mobile")
|
||||
else
|
||||
sTip = ConfigTable.GetUIText("Friend_Save_Card_Pc")
|
||||
end
|
||||
else
|
||||
sTip = ConfigTable.GetUIText("Friend_Card_Save_Failed")
|
||||
end
|
||||
EventManager.Hit(EventId.OpenMessageBox, sTip)
|
||||
end
|
||||
compCapture:CaptureUIRect(await)
|
||||
end
|
||||
end
|
||||
function FriendIdCardCtrl:OnBtnClick_CloseIdCard()
|
||||
self.gameObject:SetActive(false)
|
||||
end
|
||||
function FriendIdCardCtrl:OnBtnClick_OpenAskPermission()
|
||||
local bSavePermission = LocalData.GetPlayerLocalData("SavePermission" .. tostring(PlayerData.Base:GetPlayerId()))
|
||||
if bSavePermission == true then
|
||||
self:SaveIdCard()
|
||||
return
|
||||
end
|
||||
local confirmCallback = function()
|
||||
self:SaveIdCard()
|
||||
end
|
||||
local againCallback = function(isSelect)
|
||||
if isSelect == true then
|
||||
LocalData.SetPlayerLocalData("SavePermission" .. tostring(PlayerData.Base:GetPlayerId()), true)
|
||||
end
|
||||
end
|
||||
local msg = {
|
||||
nType = AllEnum.MessageBox.Confirm,
|
||||
sContent = ConfigTable.GetUIText("Friend_Save_Card_Permission_Tips"),
|
||||
callbackConfirm = confirmCallback,
|
||||
callbackAgain = againCallback,
|
||||
sAgain = ConfigTable.GetUIText("SavePermission_Tips_NeverAgain"),
|
||||
bBlur = false
|
||||
}
|
||||
EventManager.Hit(EventId.OpenMessageBox, msg)
|
||||
end
|
||||
return FriendIdCardCtrl
|
||||
Reference in New Issue
Block a user