local ChatHistoryItemCtrl = class("ChatHistoryItemCtrl", BaseCtrl) ChatHistoryItemCtrl._mapNodeConfig = { imgBg = {}, imgBgSelect = {}, goUnComplete = {}, imgComplete = {}, txtComplete = {sComponentName = "TMP_Text"}, txtChatContent = {sComponentName = "TMP_Text", nCount = 2}, redDotUnStart = {}, redDotUnderway = {} } ChatHistoryItemCtrl._mapEventConfig = {} local max_content_length = 15 function ChatHistoryItemCtrl:SetData(chatData) self.nChatId = chatData.nChatId local nProcess = 1 local chatMsg = PlayerData.Phone:GetChatMsg(chatData, nProcess) local sContent = "" if chatMsg ~= nil then sContent = ProcAvgTextContentFallback(self._panel.sTxtLan, self._panel.sVoLan, self._panel.bIsPlayerMale, chatMsg.param[3], chatMsg.param[7], chatMsg.param[8], chatMsg.param[9]) sContent = ProcAvgTextContent(sContent, GetLanguageIndex(Settings.sCurrentTxtLanguage)) local nMsgType = chatMsg.param[1] if nMsgType == AllEnum.PhoneMsgType.ReceiveImgMsg or nMsgType == AllEnum.PhoneMsgType.ReplyImgMsg then local nImgType = tonumber(chatMsg.param[4]) if nImgType == 0 then sContent = ConfigTable.GetUIText("Phone_Char_Emoji_Preview") elseif nImgType == 1 then sContent = ConfigTable.GetUIText("Phone_Char_Image_Preview") end end end for _, v in ipairs(self._mapNode.txtChatContent) do NovaAPI.SetTMPText(v, sContent) end NovaAPI.SetTMPText(self._mapNode.txtComplete, sContent) self.nChatStatus = chatData.nStatus self._mapNode.goUnComplete.gameObject:SetActive(self.nChatStatus ~= AllEnum.PhoneChatState.Complete) self._mapNode.imgComplete.gameObject:SetActive(self.nChatStatus == AllEnum.PhoneChatState.Complete) self._mapNode.redDotUnStart.gameObject:SetActive(self.nChatStatus == AllEnum.PhoneChatState.New) self._mapNode.redDotUnderway.gameObject:SetActive(self.nChatStatus == AllEnum.PhoneChatState.UnComplete) self:SetSelect(false) end function ChatHistoryItemCtrl:SetSelect(bSelect) self._mapNode.imgBgSelect.gameObject:SetActive(bSelect) self._mapNode.imgBg.gameObject:SetActive(not bSelect and self.nChatStatus ~= AllEnum.PhoneChatState.Complete) self._mapNode.txtComplete.gameObject:SetActive(not bSelect and self.nChatStatus == AllEnum.PhoneChatState.Complete) end function ChatHistoryItemCtrl:Awake() end function ChatHistoryItemCtrl:OnEnable() end function ChatHistoryItemCtrl:OnDisable() end function ChatHistoryItemCtrl:OnDestroy() end return ChatHistoryItemCtrl