local UIFriendRechargeMain = UIViewClass() local FriendRechargePurchaseState = "FriendRechargePurchaseState" local subViewList = { [1] = Const_UI_Lua.UIEnum.UIFriendRechargeInvite, [2] = Const_UI_Lua.UIEnum.UIFriendRechargeLevelReward, [3] = Const_UI_Lua.UIEnum.UIFriendRechargeTask, } function UIFriendRechargeMain:OnOpened(context) self.activityType = MDL.OperationActivity.ActivityType.FriendRecharge self.activityId = MDL.FriendRecharge.GetFriendRechargeActivityID() CTL.RedPoint.RemoveRedPoint(CTL.RedPoint.RedPointKey.FriendRecharge_Invited) self.activityInfo = MDL.OperationActivity.GetOperationActivityInfo(self.activityType, self.activityId) self:RegistSystemEvent(EventID.UI_FriendRecharger_OpenView, self.InitFriendRechargeMain) self:RegistSystemEvent(EventID.UI_FriendRecharger_LevelUp, self.LevelUpRefresh) -- 升级弹窗 self:RegistSystemEvent(EventID.UI_FriendRecharger_Purchase, self.OpenPurchaseView) -- 金兰弹窗 self:RegistSystemEvent(EventID.UI_FriendRecharger_RefreshInviteList, self.RefreshFriendRechargeRedPoint) self:RegistSystemEvent(CTL.RedPoint.RedPointKey.FriendRecharge_Invite, self.RefreshFriendRechargeRedPoint) self:RegistSystemEvent(CTL.RedPoint.RedPointKey.FriendRecharge_Task, self.RefreshFriendRechargeRedPoint) self:RegistSystemEvent(CTL.RedPoint.RedPointKey.FriendRecharge_Level, self.RefreshFriendRechargeRedPoint) self:RegistSystemEvent(EventID.UI_OperationActivity_CloseView, self.OnCloseActivitySelf) if MDL.Guild.IsHasGuild() then MDL.Guild.GetGuildInfoReq() end MDL.FriendRecharge.GetFriendRechargeFriendInfoRequest(self.activityId) UIManager.CloseView(Const_UI_Lua.UIEnum.UIActivitiesRemind) end function UIFriendRechargeMain:OnBackButtonPressed() self:OnButtonClicked(self.UITemplateTitlePanel.btn_close) end function UIFriendRechargeMain:OnButtonClicked(comp) if comp == self.UITemplateTitlePanel.btn_close then MDL.FriendRecharge.SelectFriendRechargeTabIndex = 0 MDL.FriendRecharge.SelectFriendRechargeTaskTabIndex = -1 self:CloseView(true) elseif comp == self.UITemplateTitlePanel.btn_Home then MDL.FriendRecharge.SelectFriendRechargeTabIndex = 0 MDL.FriendRecharge.SelectFriendRechargeTaskTabIndex = -1 CTL.HomeMain.CloseViewBackHomeMain() elseif comp == self.UITemplateTitlePanel.btn_Info then UIManager.OpenView(Const_UI_Lua.UIEnum.UICommonNoteView, {id = LuaConst.NoteID.FriendRecharge}) elseif comp == self.group_Button[1].btn_Invite then self:OpenFriendRechargeSubView(1) elseif comp == self.group_Button[2].btn_Reward then self:OpenFriendRechargeSubView(2) if not self.rechargeBaseInfo.isUnlock then self:ChangeModel(self.isTeam) end elseif comp == self.group_Button[3].btn_Task then self:OpenFriendRechargeSubView(3) if not self.rechargeBaseInfo.isUnlock then self:ChangeModel(self.isTeam) end end end function UIFriendRechargeMain:InitFriendRechargeMain() self.rechargeBaseInfo = MDL.FriendRecharge.GetRechargeBaseInfo() self.state_Button:SetState(MDL.FriendRecharge.GetPurchaseState() and 1 or 0) if self.rechargeBaseInfo.isUnlock then self.isTeam = MDL.FriendRecharge.GetRechargeType() == MDL.FriendRecharge.RechargeType.FRTeam else self.isTeam = true end self.backGroundCfg = MDL.OperationActivity.ActivityBaseData[self.activityType]:GetDataByActivityID(self.activityId) self.teamBackGround2Cfg = MDL.OperationActivity.FriendRechargeBackGround2:GetDataByActivityID_ModeType(self.activityId, 1) self.soloBackGround2Cfg = MDL.OperationActivity.FriendRechargeBackGround2:GetDataByActivityID_ModeType(self.activityId, 2) UIUtils.SetLabelText(self.UITemplateTitlePanel.lab_Title, Const_IDS[self.backGroundCfg.TownName]) UIUtils.SetLabelText(self.UITemplateTitlePanel.lab_Title, Const_IDS.IDS_FriendRecharge_Title1) if MDL.FriendRecharge.GetPurchaseState() then if MDL.FriendRecharge.SelectFriendRechargeTabIndex > 1 then self:OpenFriendRechargeSubView(MDL.FriendRecharge.SelectFriendRechargeTabIndex, true) else self:OpenFriendRechargeSubView(2, true) end else UIUtils.SetActive(self.group_Invite, true) if MDL.FriendRecharge.SelectFriendRechargeTabIndex > 0 then self:OpenFriendRechargeSubView(MDL.FriendRecharge.SelectFriendRechargeTabIndex, true) else self:OpenFriendRechargeSubView(1, true) end end if MDL.FriendRecharge.ShowPurchaseView then self:OpenPurchaseView() end self:RefreshFriendRechargeRedPoint() local activityInfo = MDL.OperationActivity.GetOperationActivityInfo(self.activityType, self.activityId) local startTime = os.date(UTL.Time.FormatDateEnum.YMDHM, activityInfo.startTime) local endFuncTime = os.date(UTL.Time.FormatDateEnum.YMDHM, activityInfo.endTime) UIUtils.SetLabel(self.lab_Time, startTime .. "-" .. endFuncTime) if self.rechargeBaseInfo.isUnlock and not PersistentData.PlayerData:Get(FriendRechargePurchaseState..self.activityId) then self:OpenPurchaseView() end self:ChangeModel(self.isTeam) UIUtils.SetActive(self.group_Left, true) end function UIFriendRechargeMain:OpenFriendRechargeSubView(subViewIndex, isInit) if self.rechargeBaseInfo.isUnlock and subViewIndex == 1 then return end if not isInit and MDL.FriendRecharge.SelectFriendRechargeTabIndex == subViewIndex then return end for k,v in ipairs(self.group_Button) do if k == subViewIndex then v.state_Select:SetState(1) else v.state_Select:SetState(0) end end self.subView_FriendRecharge:CloseAll() self.subView_FriendRecharge:OpenView(GetViewClass(subViewList[subViewIndex]), {activityId = self.activityId, activityType = self.activityType, parentPanel = self}) MDL.FriendRecharge.SelectFriendRechargeTabIndex = subViewIndex if MDL.FriendRecharge.SelectFriendRechargeTabIndex ~= 3 then MDL.FriendRecharge.SelectFriendRechargeTaskTabIndex = -1 end end function UIFriendRechargeMain:LevelUpRefresh(oldLevel, newLevel) if newLevel ~= oldLevel then --是否播放升级表现 UIManager.OpenView(Const_UI_Lua.UIEnum.UIFriendRechargerLevelUp, {oldLevel = oldLevel, newLevel = newLevel}) end end function UIFriendRechargeMain:OpenPurchaseView(memberInfo) UIManager.OpenView(Const_UI_Lua.UIEnum.UIFriendRechargePurchase, {activityId = self.activityId, activityType = self.activityType, memberInfo = memberInfo}) MDL.FriendRecharge.SetFriendRechargePurchaseState() self:InitFriendRechargeMain() end function UIFriendRechargeMain:ChangeModel(isTeam) self.state_Switch:SetState(isTeam and 0 or 1) if isTeam then UIUtils.SetLabel(self.txt_Times, string.FormatByIdsId(Const_IDS.IDS_FairTournament_PickRate, self.teamBackGround2Cfg.RebateNum)) else UIUtils.SetLabel(self.txt_Times, string.FormatByIdsId(Const_IDS.IDS_FairTournament_PickRate, self.soloBackGround2Cfg.RebateNum)) end end function UIFriendRechargeMain:RefreshFriendRechargeRedPoint() self.group_Button[1].btn_Invite:SetRedPoint(CTL.RedPoint.GetRedPointActive(CTL.RedPoint.RedPointKey.FriendRecharge_Invite)) self.group_Button[2].btn_Reward:SetRedPoint(CTL.RedPoint.GetRedPointActive(CTL.RedPoint.RedPointKey.FriendRecharge_Level)) self.group_Button[3].btn_Task:SetRedPoint(CTL.OACommon.IsHasTaskRedPoint(self.activityId)) end -- 界面打开时活动结束 function UIFriendRechargeMain:OnCloseActivitySelf(viewClassPath, activityId) if viewClassPath == self.__viewClassPath then if self.activityId and activityId == self.activityId then self:CloseView(true) end end end return UIFriendRechargeMain