local UIGoldenHeroStoryStar = UIViewClass() function UIGoldenHeroStoryStar:OnOpened(context) self.activityId = context.activityId self.LevelCfg = context.LevelCfg self:RegistSystemEvent(EventID.UI_GoldenHeroStory_RefreshStoryStarPanel, self.InitView) self:RegistSystemEvent(EventID.UI_OperationActivity_CloseView, self.OnCloseActivitySelf) self.cfgList = {} self.serverDataList = {} self:InitView() end function UIGoldenHeroStoryStar:OnCloseActivitySelf(viewClassPath, activityId) if viewClassPath == self.__viewClassPath then if self.activityId and activityId == self.activityId then self:CloseView() end end end function UIGoldenHeroStoryStar:OnBackButtonPressed() self:OnButtonClicked(self.btn_Close) end function UIGoldenHeroStoryStar:OnButtonClicked(comp) if comp == self.btn_Close then self:CloseView() elseif comp == self.group_Star[1].item.event_Click then if self.serverDataList[1].state == 1 then MDL.GoldenHeroStory.GoldHeroFBAchievementAwardRequest(self.activityId, self.cfgList[1].LeveGoalID) else UTL.ItemTips.ShowCommonTipsById(self.cfgList[1].Item_Table[1].ItemID) end elseif comp == self.group_Star[2].item.event_Click then if self.serverDataList[2].state == 1 then MDL.GoldenHeroStory.GoldHeroFBAchievementAwardRequest(self.activityId, self.cfgList[2].LeveGoalID) else UTL.ItemTips.ShowCommonTipsById(self.cfgList[2].Item_Table[1].ItemID) end elseif comp == self.group_Star[3].item.event_Click then if self.serverDataList[3].state == 1 then MDL.GoldenHeroStory.GoldHeroFBAchievementAwardRequest(self.activityId, self.cfgList[3].LeveGoalID) else UTL.ItemTips.ShowCommonTipsById(self.cfgList[3].Item_Table[1].ItemID) end end end function UIGoldenHeroStoryStar:InitView() for k,v in ipairs(self.LevelCfg.LevelGoalID) do local levelGoalServerData = MDL.GoldenHeroStory.GetLevelGoalDataByActivityID_LevelID_LevelGoalID(self.activityId, self.LevelCfg.ID, v) local levelGoalCfg = DataSheetManager.GoldHeroActivityLevelGoal:GetDataByLeveGoalID(v) UIUtils.SetActive(self.group_Star[k].img_Bright.gameObject, levelGoalServerData.state > 0) -- 目标完成标识 UIUtils.SetLabel(self.group_Star[k].txt_StarInfo, string.format(UIUtils.GetLocalizedTxt(Const_IDS[levelGoalCfg.GoalDes]), levelGoalCfg.CountTotalNum, 0)) -- 任务目标 if levelGoalCfg.CountType == 1 then UIUtils.SetLabel(self.group_Star[k].txt_Progress, levelGoalServerData.count.."/"..levelGoalCfg.CountTotalNum) -- 进度 else local curValue = 0 if levelGoalServerData.state > 0 then curValue = levelGoalCfg.CountTotalNum end UIUtils.SetLabel(self.group_Star[k].txt_Progress, curValue.."/"..levelGoalCfg.CountTotalNum) -- 进度 end UTL.Item.SetItemCell(self.group_Star[k].item, levelGoalCfg.Item_Table[1].ItemID, levelGoalCfg.Item_Table[1].ItemNum) UIUtils.SetActive(self.group_Star[k].img_End.gameObject, levelGoalServerData.state == 2) -- 已领取标识 if levelGoalServerData.state == 1 then self.group_Star[k].effect:PlayUIEffect() else self.group_Star[k].effect:StopUIEffect() end table.insert(self.cfgList, levelGoalCfg) table.insert(self.serverDataList, levelGoalServerData) end end return UIGoldenHeroStoryStar