local UIRebelStrikeAim = UIViewClass() function UIRebelStrikeAim:OnOpened(context) self:RegistSystemEvent(EventID.UI_UpdateRebelStrike_LineInfo, self.UpdateInfo) local isInCD = MDL.RebelStrike.GetRefreshCD() > 0 if isInCD then --在刷新CD时间内,不请求刷新 self:UpdateInfo() else MDL.RebelStrike.RefreshLineInfoReq() end UIUtils.SetLabelText(self.Refer_Bg.txt_Title, Const_IDS["IDS_RebelStrike_Title2"]) end function UIRebelStrikeAim:UpdateInfo() local info = MDL.RebelStrike.GetLineInfoList() self.LoopScroll_Diary:ReloadAll(info) self:RefreshBtnLabel() end function UIRebelStrikeAim:OnCellInit(scrollRect, index, cellTable, data) if index % 2 == 0 then UIUtils.SetActive(cellTable.img_Bg_Light, false) else UIUtils.SetActive(cellTable.img_Bg_Light, true) end local mapInfo = DataSheetManager.LevelInfoData:GetDataByLevelID(data.mapId) if mapInfo then UIUtils.SetLabel(cellTable.txt_ServerlineNum, UIUtils.GetLocalizedTxt(Const_IDS[mapInfo.LevelNameIDS]) .." " .. string.FormatByIdsId(Const_IDS.IDS_MapLine, data.lineId)) end cellTable.txt_HeroEnemyNum.text = data.eliteNum > 0 and data.eliteNum or UTL.Color.FormatRedColor(0) cellTable.txt_LittleEnemyNum.text = data.normalNum > 0 and data.normalNum or UTL.Color.FormatRedColor(0) local isLineFull = data.playerNum >= data.maxNum cellTable.txt_PlayerNum.text = isLineFull and UTL.Color.FormatRedColor(string.format("%d/%d", data.playerNum, data.maxNum)) or string.format("%d/%d", data.playerNum, data.maxNum) cellTable.btn_Go:SetGray(isLineFull) end function UIRebelStrikeAim:OnCellClicked(scrollRect, index, cellTable, target, data) if target == cellTable.btn_Go then CTL.RebelStrike.GoToTarget(data.mapId, data.lineId) end end function UIRebelStrikeAim:RefreshBtnLabel() local cdTime = MDL.RebelStrike.GetRefreshCD() if cdTime > 0 then self.btn_Refresh:SetGray(true) UIUtils.SetGray(self.txt_Refresh, true) self.cdTimer:ResetAndBeginCustomTimer(false, cdTime, 0, UIUtils.GetLocalizedTxt(Const_IDS.IDS_RebelStrike_CD)) self:StartRepeatFunc(self.OnUpdateFun, cdTime) else self.btn_Refresh:SetGray(false) UIUtils.SetGray(self.txt_Refresh, false) self.cdTimer:EndTimer() UIUtils.SetLabelText(self.txt_Refresh, Const_IDS.IDS_TeamUI_TeamRefresh) end end function UIRebelStrikeAim:OnUpdateFun(deltaTime, timeSinceUpdate) self:StopRepeatFunc(self.OnUpdateFun) self:RefreshBtnLabel() end function UIRebelStrikeAim:OnBackButtonPressed() self:OnButtonClicked(self.Refer_Bg.btn_Close) end function UIRebelStrikeAim:OnButtonClicked(comp) if comp == self.btn_Refresh then MDL.RebelStrike.RefreshLineInfoReq() elseif comp == self.Refer_Bg.btn_Close then if self.context.isPushView == true then self:CloseView(true) else self:CloseView() end end end return UIRebelStrikeAim