local UIAchievementTip = UIViewClass() local EventSystem = require('Event/EventSystem') local achievement = require 'Proto.achievement_pb' ------------------------------- 系统函数 ---------------------------- function UIAchievementTip:OnOpened(context) local panelCmps if UIManager.IsViewOpened(Const_UI_Lua.UIEnum.UIChannelChatMain) then panelCmps = self.PanelWithChat else panelCmps = self.PanelWithoutChat end local isShowChatPanel = UIManager.IsViewOpened(Const_UI_Lua.UIEnum.UIChannelChatMain) UIUtils.SetActive(self.PanelWithChat.gameObject, isShowChatPanel) UIUtils.SetActive(self.PanelWithoutChat.gameObject, not isShowChatPanel) local playName = context.playerName local achievementId = context.achievementId local achievementItem = MDL.Achievement.GetAchievementItemByID(tonumber(achievementId)) local childAchievementCfg = DataSheetManager.AchievementType:GetDataByMainType_ChildType(achievementItem.configData.MainType, achievementItem.configData.ChildType) UIUtils.SetImageByAssetBundle(panelCmps.img_AchieventIcon, childAchievementCfg.Icon) local itemName, itemDes = CTL.Achievement.GetAchievementTitleAndDesc(achievementItem) UIUtils.SetLabel(panelCmps.txt_AchieventTitle, itemName) UIUtils.SetLabel(panelCmps.txt_AchieventInfo, itemDes) UIUtils.SetLabel(panelCmps.lab_Player, string.FormatByIdsId(Const_IDS["IDS_Achievement_Share_Player"], playName)) UIUtils.SetLabel(panelCmps.txt_Score, achievementItem.configData.ChildScore) UIUtils.SetActive(panelCmps.group_NotReach, achievementItem.state == achievement.Doing) UIUtils.SetActive(panelCmps.group_Already, achievementItem.state ~= achievement.Doing) if achievementItem.state ~= achievement.Doing then UIUtils.SetLabel(panelCmps.txt_Time, os.date(UTL.Time.FormatDateEnum.YMDHM, achievementItem.achieveTime)) end end function UIAchievementTip:OnButtonClicked(comp) if comp == self.btn_Close then self:CloseView() end end ---------------------------------------------------------------------- return UIAchievementTip