local UIAchievementRemind = UIViewClass() local EventSystem = require('Event/EventSystem') local TIME_OFFSET = 1.5 ------------------------------- 系统函数 ---------------------------- function UIAchievementRemind:OnOpened(context) self:SetPushStyle(LuaConst.PushStyleEnum.NOTCLOSE) self:StartRepeatFunc(self.OnUpdateFun, TIME_OFFSET) self:ShowCompleteAchievement() end function UIAchievementRemind:OnClosed() -- 防止被强制关闭的时候 清空成就队列 CTL.Achievement.WipeShowCompleteAchievements() end function UIAchievementRemind:OnUpdateFun(deltaTime, timeSinceUpdate) self:ShowCompleteAchievement() end ---------------------------------------------------------------------- function UIAchievementRemind:ShowCompleteAchievement() local achievementData = CTL.Achievement.GetShowCompleteAchievement() if not achievementData then self:CloseView() return end local childAchievementCfg = DataSheetManager.AchievementType:GetDataByMainType_ChildType(achievementData.configData.MainType, achievementData.configData.ChildType) if not childAchievementCfg then logging.error(LTAG.ERROR, "新解锁成就异常 主类型", achievementData.configData.MainType, " 子类型", achievementData.configData.ChildType) self:CloseView() return end UIUtils.SetImageByAssetBundle(self.img_AchieventIcon, childAchievementCfg.Icon) local itemName, itemDes = CTL.Achievement.GetAchievementTitleAndDesc(achievementData) UIUtils.SetLabel(self.txt_AchieventTitle, itemName) UIUtils.SetLabel(self.txt_AchieventInfo, itemDes) UIUtils.SetLabel(self.txt_Score, achievementData.configData.ChildScore) self.group_RewardMain:PlayAnim() CTL.Sound.PlayGameSound("UI_achievement_get") end return UIAchievementRemind