require("Base/BasePanel") MainPanel = Inherit(BasePanel) local this = MainPanel --local isPassChapter = {} -- local endTime = 0 local GlobalActConfig = ConfigManager.GetConfig(ConfigName.GlobalActivity) -- local ActGroupsConfig = ConfigManager.GetConfig(ConfigName.ActivityGroups) -- local shopItemConfig = ConfigManager.GetConfig(ConfigName.StoreConfig) -- local GlobalSysConfig = ConfigManager.GetConfig(ConfigName.GlobalSystemConfig) local mainPlanePoint = ConfigManager.GetConfig(ConfigName.MainPlanePoint) local tequanCardConfig = ConfigManager.GetConfig(ConfigName.TequanCardConfig) -- 主界面需要隐藏的功能 this.btnFunHide = {} this.btnFunGray = {} this.runHorseData = {} this.operateIcon = {} this.multiple = 0 --显示信息次数 this.isOpen = false this.SystemInfo = "" local orginLayer this.patFaceCallList = Stack.New() local timePressStarted local curMianTaskData = {} -- local canGetMsg = true local moveTranList --当前拖动的游戏物体 local dragGo = nil --local isCanDragMsg = true local activitys = {} local activityTabs = {} -- local activeSelfTabs = {} local moveSceneList = { [1] = 1, } local isOpen = true --收/缩 local isStart = false --动画是否开启 local CrossService = false --跨服天梯是否解锁 --初始化组件(用于子类重写) function this:InitComponent() orginLayer = 0 self.bg = Util.GetGameObject(self.gameObject, "bg") self.sceneTran = Util.GetGameObject(self.gameObject, "scene"):GetComponent("RectTransform") self.bgTran = Util.GetGameObject(self.gameObject, "bg"):GetComponent("RectTransform") self.ctrl = Util.GetGameObject(self.gameObject, "scene/ctrl") ---------------RightDown---------------- -- 邮件 this.btnRoot = Util.GetGameObject(self.gameObject, "RightDown/btnRoot") this.btnYouJian = Util.GetGameObject(self.gameObject, "RightDown/btnRoot/btnYouJian") this.mailRedPoint = Util.GetGameObject(this.btnYouJian, "redPoint") -- 日常 this.btnDailyMission = Util.GetGameObject(self.gameObject, "RightDown/btnRoot/btnDailyMission") this.DailyRedPoint = Util.GetGameObject(this.btnDailyMission, "redPoint") -- 好友 this.btnFriend = Util.GetGameObject(self.gameObject, "RightDown/btnRoot/btnfriend") this.friendRed = Util.GetGameObject(this.btnFriend, "redPoint") -- 排行 this.btnRank = Util.GetGameObject(self.gameObject, "RightDown/btnRoot/btnRank") this.rankRed = Util.GetGameObject(this.btnRank, "redPoint") --adb18适龄 this.btn18adb = Util.GetGameObject(this.gameObject, "RightDown/btn18adb") this.adb_ageTip = Util.GetGameObject(this.gameObject, "RightDown/btn18adb/adb_ageTip") ---------------LeftDown---------------- this.leftDown = Util.GetGameObject(this.gameObject, "LeftDown") --手札 this.btnBattlePass = Util.GetGameObject(this.gameObject, "LeftDown/btnZhanZhengXueYuan") this.btnBattlePassRedPoint = Util.GetGameObject(this.btnBattlePass, "redPoint") -------------------场景中的按钮------------------------ -- 按钮 local layer1 = Util.GetGameObject(this.gameObject, "scene/layer1") this.btnEquipInformationCenter = Util.GetGameObject(layer1, "btnEquipInformationCenter")--启明星科技 this.btnShangdian = Util.GetGameObject(layer1, "btnShangdian")--超市 this.btnheishi = Util.GetGameObject(layer1, "btnheishi")--黑市 this.btnzhihuan = Util.GetGameObject(layer1, "btnzhihuan")--医院 this.btnElementDrawCard = Util.GetGameObject(layer1, "btnElementDrawCard")--俱乐部 this.btnRecruit = Util.GetGameObject(layer1, "btnRecruit")--猎头公司 this.btnTower = Util.GetGameObject(layer1, "btnTower")--神之塔 this.btnJingjichang = Util.GetGameObject(layer1, "btnJingjichang")--地下竞技场 this.btnColorfulWorld = Util.GetGameObject(layer1, "btnColorfulWorld")--时空战场 this.btnFenjie = Util.GetGameObject(layer1, "btnFenjie")--人事管理处 this.btnhecheng = Util.GetGameObject(layer1, "btnhecheng")--实验室 this.btnEquipCompound = Util.GetGameObject(layer1, "btnEquipCompound")--研究所 this.btnInfiniteWar = Util.GetGameObject(layer1, "btnInfiniteWar")--无限战争 this.btnBase = Util.GetGameObject(layer1, "btnBase")--能源基地 this.btnPowerCenter = Util.GetGameObject(layer1, "btnPowerCenter")--异能中心 this.operateIcon = { [FUNCTION_OPEN_TYPE.InvestigateCenter] = this:AddFuncItem(this.btnEquipInformationCenter, 1000), [FUNCTION_OPEN_TYPE.SHOP] = this:AddFuncItem(this.btnShangdian, 1000), [FUNCTION_OPEN_TYPE.BlackShop] = this:AddFuncItem(this.btnheishi, 1000), [FUNCTION_OPEN_TYPE.HeroExchange] = this:AddFuncItem(this.btnzhihuan, 700), [FUNCTION_OPEN_TYPE.ELEMENT_RECURITY] = this:AddFuncItem(this.btnElementDrawCard, 140), [FUNCTION_OPEN_TYPE.RECURITY] = this:AddFuncItem(this.btnRecruit, 600), [FUNCTION_OPEN_TYPE.CLIMB_TOWER] = this:AddFuncItem(this.btnTower, 75), [FUNCTION_OPEN_TYPE.ARENA] = this:AddFuncItem(this.btnJingjichang, 0), [FUNCTION_OPEN_TYPE.TRIAL] = this:AddFuncItem(this.btnColorfulWorld, -200), [FUNCTION_OPEN_TYPE.HERO_RESOLVE] = this:AddFuncItem(this.btnFenjie, -550), [FUNCTION_OPEN_TYPE.ASSEMBLE] = this:AddFuncItem(this.btnhecheng, -900), [FUNCTION_OPEN_TYPE.COMPOUND] = this:AddFuncItem(this.btnEquipCompound, -800), [FUNCTION_OPEN_TYPE.laddersChallenge] = this:AddFuncItem(this.btnInfiniteWar, 0), [FUNCTION_OPEN_TYPE.EnergyBase] = this:AddFuncItem(this.btnBase, 140), [FUNCTION_OPEN_TYPE.PowerCenter] = this:AddFuncItem(this.btnPowerCenter, -800), } this.operateNewText = { [FUNCTION_OPEN_TYPE.InvestigateCenter] = this:InsertNewText(this.btnEquipInformationCenter), [FUNCTION_OPEN_TYPE.SHOP] = this:InsertNewText(this.btnShangdian), [FUNCTION_OPEN_TYPE.BlackShop] = this:InsertNewText(this.btnheishi), [FUNCTION_OPEN_TYPE.HeroExchange] = this:InsertNewText(this.btnzhihuan), [FUNCTION_OPEN_TYPE.ELEMENT_RECURITY] = this:InsertNewText(this.btnElementDrawCard), [FUNCTION_OPEN_TYPE.RECURITY] = this:InsertNewText(this.btnRecruit), [FUNCTION_OPEN_TYPE.CLIMB_TOWER] = this:InsertNewText(this.btnTower), [FUNCTION_OPEN_TYPE.ARENA] = this:InsertNewText(this.btnJingjichang), [FUNCTION_OPEN_TYPE.TRIAL] = this:InsertNewText(this.btnColorfulWorld), [FUNCTION_OPEN_TYPE.HERO_RESOLVE] = this:InsertNewText(this.btnFenjie), [FUNCTION_OPEN_TYPE.ASSEMBLE] = this:InsertNewText(this.ASSEMBLE), [FUNCTION_OPEN_TYPE.COMPOUND] = this:InsertNewText(this.btnEquipCompound), [FUNCTION_OPEN_TYPE.laddersChallenge] = this:InsertNewText(this.btnInfiniteWar), [FUNCTION_OPEN_TYPE.EnergyBase] = this:InsertNewText(this.btnBase), [FUNCTION_OPEN_TYPE.PowerCenter] = this:InsertNewText(this.btnPowerCenter), } -- 红点 this.rpShangdian = Util.GetGameObject(this.btnShangdian, "redPoint")--超市 this.rpElementDrawCard = Util.GetGameObject(this.btnElementDrawCard, "redPoint")--俱乐部 this.rpRecruit = Util.GetGameObject(this.btnRecruit, "redPoint")--猎头公司 this.rpTower = Util.GetGameObject(this.btnTower,"redPoint") --神之塔 this.rpJingjichang = Util.GetGameObject(this.btnJingjichang, "redPoint")--地下竞技场 this.rpColorfulWorld = Util.GetGameObject(this.btnColorfulWorld, "redPoint")--时空战场 this.rpFenjie = Util.GetGameObject(this.btnFenjie, "redPoint")--人事管理处 this.rpEquipCompound = Util.GetGameObject(this.btnEquipCompound,"redPoint") --研究所 this.rpBlackShop = Util.GetGameObject(this.btnheishi, "redPoint")--黑市 this.rpEnergyBase = Util.GetGameObject(this.btnBase, "redPoint")--能源基地 this.rpPowerCenter = Util.GetGameObject(this.btnPowerCenter, "redPoint")--异能中心 this.PlayerHeadFrameView = SubUIManager.Open(SubUIConfig.PlayerHeadFrameView, self.gameObject.transform) this.BtView = SubUIManager.Open(SubUIConfig.BtView, self.transform) this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.transform) this.ChatTipView = SubUIManager.Open(SubUIConfig.ChatTipView, self.transform, 1) this.GuideTaskView = SubUIManager.Open(SubUIConfig.GuideTaskView, self.transform, this.sortingOrder,this.btnRoot.transform,this.leftDown.transform) moveTranList = {} for i = 1, #moveSceneList do table.insert(moveTranList, Util.GetGameObject(self.gameObject, "scene/layer" .. i):GetComponent("RectTransform")) end -- 主线任务显示 this.mainTask = Util.GetGameObject(self.gameObject, "RightDown/mainTask") -- this.titleText = Util.GetGameObject(self.gameObject, "RightDown/mainTask/progressLayout/titleText"):GetComponent("Text") -- this.progressText = Util.GetGameObject(self.gameObject, "RightDown/mainTask/progressLayout/progressText"):GetComponent("Text") -- this.getRewardButton = Util.GetGameObject(self.gameObject, "RightDown/mainTask/getRewardButton") this.mainTaskGRewardImage = Util.GetGameObject(self.gameObject, "RightDown/mainTask/getRewardButton/getRewardImage") this.mainTaskJumpImage = Util.GetGameObject(self.gameObject, "RightDown/mainTask/getRewardButton/jumpImage") this.mainTask:SetActive(false)-- 删除 this.GuideEffectGo = poolManager:LoadAsset("GuideEffect", PoolManager.AssetType.GameObject) this.GuideEffectGo.transform:SetParent(this.mainTaskGRewardImage.transform) this.GuideEffectGo.transform.localPosition = Vector3.zero this.GuideEffectGo.transform.localScale = Vector3.one Util.GetGameObject(this.GuideEffectGo, "GameObject"):SetActive(false) this.GuideJumpEffectGo = poolManager:LoadAsset("GuideEffect", PoolManager.AssetType.GameObject) this.GuideJumpEffectGo.transform:SetParent(this.mainTaskJumpImage.transform) this.GuideJumpEffectGo.transform.localPosition = Vector3.zero this.GuideJumpEffectGo.transform.localScale = Vector3.one Util.GetGameObject(this.GuideJumpEffectGo, "GameObject"):SetActive(false) this.GuideJumpEffectGo:SetActive(false) this.btnFunHide[FUNCTION_OPEN_TYPE.DAILY_TASK] = this.btnDailyMission this.btnFunHide[FUNCTION_OPEN_TYPE.EMAIL] = this.btnYouJian this.btnFunHide[FUNCTION_OPEN_TYPE.GOODFRIEND] = this.btnFriend this.btnFunHide[FUNCTION_OPEN_TYPE.ALLRANKING] = this.btnRank ---------------RightUp---------------- this.activityTabPrefab = Util.GetGameObject(self.gameObject, "activityTabPrefab") this.MiddleGrid = Util.GetGameObject(self.gameObject, "MiddleGrid") this.RightUpVertical = Util.GetGameObject(self.gameObject, "RightUpVertical") this.LeftUpVertical = Util.GetGameObject(self.gameObject, "LeftUpVertical") this.retractPos = Util.GetGameObject(self.gameObject, "RightUpVertical/retractPos") this.btnRetract = Util.GetGameObject(self.gameObject, "btnRetract") this.btnRetractIcon = Util.GetGameObject(self.gameObject, "btnRetract/icon"):GetComponent("Image") ---------------白天黑夜场景---------------- this.dayScene = Util.GetGameObject(this.gameObject, "scene/layer1/mainSceneBack/Day") this.nightScene = Util.GetGameObject(this.gameObject, "scene/layer1/mainSceneBack/Night") -- 重新设置背景位置,使关联场景背景正确 this:SetPos(self.bgTran.anchoredPosition) this.taskGuideFinger = Util.GetGameObject(this.GuideTaskView.gameObject, "button/tipButtom")--任务引导 this.battleGuideFinger = Util.GetGameObject(this.BtView.gameObject, "Down/btnJieLing/tipButtom")--闯关引导 this.InitPictureQuality() end local isRetract--收/缩 local isRetractStart = false --动画是否开启 --绑定事件(用于子类重写) function this:BindEvent() self.trigger = Util.GetEventTriggerListener(self.ctrl) self.moveTween = self.bg:GetComponent(typeof(UITweenSpring)) if not self.moveTween then self.moveTween = self.bg:AddComponent(typeof(UITweenSpring)) end self.moveTween.enabled = false --确定拖动边界 local uiRoot = UIManager.uiRoot.transform:Find("UIRoot") local uiRootRectTransform = uiRoot:GetComponent("RectTransform") local sizeDeltaY = uiRootRectTransform.sizeDelta.y local height = 2160 --主场景的图是按照这个尺寸来做的 local scale = sizeDeltaY / height local scaleV3 = Vector3.New(scale, scale, 0) self.bgTran.localScale = scaleV3 for i = 1, #moveSceneList do moveTranList[i].localScale = scaleV3 end local boundary = (self.bgTran.rect.width * scale - uiRootRectTransform.sizeDelta.x) / 2 self.leftBoundary = boundary self.rightBoundary = -boundary self.moveTween.OnUpdate = function (v2) this:MoveOffset(v2) end self.moveTween.MomentumAmount = 1 self.moveTween.Strength = 1 self.trigger.onBeginDrag = self.trigger.onBeginDrag + self.handleOnBeginDrag self.trigger.onDrag = self.trigger.onDrag + self.handleOnDrag self.trigger.onEndDrag = self.trigger.onEndDrag + self.handleOnEndDrag -- --GM工具 -- Util.AddClick(this.headPos, function() -- if AppConst.isOpenGM then -- UIManager.OpenPanel(UIName.GMPanel) -- else -- UIManager.OpenPanel(UIName.SettingPanel) -- end -- end) --猎头公司 this:AddButtonEventTriggerListener(this.btnRecruit, function() this.FunctionClickEvent(FUNCTION_OPEN_TYPE.RECURITY, function () UIManager.OpenPanel(UIName.RecruitPanel) end) this.ScenceBtnClick(FUNCTION_OPEN_TYPE.RECURITY) end) --俱乐部 this:AddButtonEventTriggerListener(this.btnElementDrawCard, function() this.FunctionClickEvent(FUNCTION_OPEN_TYPE.ELEMENT_RECURITY, function () UIManager.OpenPanel(UIName.CompoundHeroPanel) end) this.ScenceBtnClick(FUNCTION_OPEN_TYPE.ELEMENT_RECURITY) end) --实验室 this:AddButtonEventTriggerListener(this.btnhecheng, function() this.FunctionClickEvent(FUNCTION_OPEN_TYPE.ASSEMBLE, function () UIManager.OpenPanel(UIName.AssemblePanel) end) end) --医院 this:AddButtonEventTriggerListener(this.btnzhihuan, function() this.FunctionClickEvent(FUNCTION_OPEN_TYPE.HeroExchange, function () UIManager.OpenPanel(UIName.HeroExchangePanel) end) end) --地下竞技场 this:AddButtonEventTriggerListener(this.btnJingjichang, function() -- JumpManager.GoJump(8001) if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.ARENA) then UIManager.OpenPanel(UIName.ArenaMainPanel) else local tip = ActTimeCtrlManager.GetFuncTip(FUNCTION_OPEN_TYPE.ARENA) PopupTipPanel.ShowTip(tip) end this.ScenceBtnClick(FUNCTION_OPEN_TYPE.ARENA) end) --时空战场 this:AddButtonEventTriggerListener(this.btnColorfulWorld, function() if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.TRIAL) or ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.PEOPLE_MIRROR) or ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.MINSKBATTLE) or ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.ALAMEIN_WAR) then PlayerManager.carbonType = 2 UIManager.OpenPanel(UIName.CarbonTypePanelV2) else PopupTipPanel.ShowTip(ActTimeCtrlManager.GetFuncTip(FUNCTION_OPEN_TYPE.TRIAL)) end end) --人事管理处 this:AddButtonEventTriggerListener(this.btnFenjie, function() JumpManager.GoJump(24001) this.ScenceBtnClick(FUNCTION_OPEN_TYPE.HERO_RESOLVE) end) --超市 this:AddButtonEventTriggerListener(this.btnShangdian, function() JumpManager.GoJumpAppoint(JumpType.Store, {SHOP_TYPE.ITEM_SHOP}) this.ScenceBtnClick(FUNCTION_OPEN_TYPE.SHOP) end) --黑市 this:AddButtonEventTriggerListener(this.btnheishi, function() JumpManager.GoJump(7801) this.ScenceBtnClick(FUNCTION_OPEN_TYPE.SHOP) end) --研究所 this:AddButtonEventTriggerListener(this.btnEquipCompound, function() if ActTimeCtrlManager.IsQualifiled(66) then UIManager.OpenPanel(UIName.CompoundPanel) end this.ScenceBtnClick(FUNCTION_OPEN_TYPE.COMPOUND) end) --神之塔 this:AddButtonEventTriggerListener(this.btnTower, function() JumpManager.GoJump(8401) end) --启明星科技 this:AddButtonEventTriggerListener(this.btnEquipInformationCenter, function () -- JumpManager.GoJump(80011) -- if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.InvestigateCenter) then -- UIManager.OpenPanel(UIName.FormationCenterPanel) -- else -- UIManager.OpenPanel(UIName.FormationCenterActivePanel) -- end this.FunctionClickEvent(FUNCTION_OPEN_TYPE.InvestigateCenter, function () UIManager.OpenPanel(UIName.FormationCenterPanel) end) this.ScenceBtnClick(FUNCTION_OPEN_TYPE.InvestigateCenter) end) --无限战争 this:AddButtonEventTriggerListener(this.btnInfiniteWar, function () if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.laddersChallenge) then UIManager.OpenPanel(UIName.LaddersTypePanel) else PopupTipPanel.ShowTip(ActTimeCtrlManager.SystemOpenTip(FUNCTION_OPEN_TYPE.laddersChallenge)) end end) --能源基地 this:AddButtonEventTriggerListener(this.btnBase, function() this.FunctionClickEvent(FUNCTION_OPEN_TYPE.EnergyBase, function () local info = EnergyBaseManager.GetFacilityInfos() if info then UIManager.OpenPanel(UIName.EnergyBaseMainPanel) else EnergyBaseManager.SetBaseEnergyInfoData(function () UIManager.OpenPanel(UIName.EnergyBaseMainPanel) end) end end) this.ScenceBtnClick(FUNCTION_OPEN_TYPE.EnergyBase) end) --异能中心 this:AddButtonEventTriggerListener(this.btnPowerCenter, function() this.FunctionClickEvent(FUNCTION_OPEN_TYPE.PowerCenter, function () UIManager.OpenPanel(UIName.PowerCenterPanel) end) this.ScenceBtnClick(FUNCTION_OPEN_TYPE.PowerCenter) end) --日常任务 Util.AddClick(this.btnDailyMission, function() UIManager.OpenPanel(UIName.MissionDailyPanel) end) --邮件 Util.AddClick(this.btnYouJian, function() UIManager.OpenPanel(UIName.MailMainPanel) end) --排行 Util.AddClick(this.btnRank, function() if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.ALLRANKING) then local types = {} local activiteIds = {} for i = 1, #RankKingList do if RankKingList[i].isRankingMainPanelShow then table.insert(types,RankKingList[i].rankType) table.insert(activiteIds,RankKingList[i].activiteId) end end NetManager.RankFirstRequest(types,activiteIds,function (msg) UIManager.OpenPanel(UIName.RankingListMainPanel,msg) end) else local tip = ActTimeCtrlManager.GetFuncTip(FUNCTION_OPEN_TYPE.ALLRANKING) PopupTipPanel.ShowTip(tip) end this.ScenceBtnClick(FUNCTION_OPEN_TYPE.ALLRANKING) end) -- 好友 Util.AddClick(this.btnFriend, function() UIManager.OpenPanel(UIName.GoodFriendMainPanel) end) --手札 Util.AddClick(this.btnBattlePass, function() UIManager.OpenPanel(UIName.BattlePassPanel) end) --收缩按钮 Util.AddClick(this.btnRetract, function () if isRetractStart then return end isStart = true if this.timeRetract then this.timeRetract:Stop() this.timeRetract = nil end if isOpen then isOpen = false this.MiddleGrid:GetComponent("Animator"):Play("X1_UI_MainPanel_GridClose") this.RightUpVertical:GetComponent("Animator"):Play("X1_UI_MainPanel_RightVerticalClose") this.LeftUpVertical:GetComponent("Animator"):Play("X1_UI_MainPanel_LeftVerticalClose") this.timeRetract = Timer.New(function () this.MiddleGrid:SetActive(false) this.RightUpVertical:SetActive(false) this.LeftUpVertical:SetActive(false) this.timeRetract:Stop() this.btnRetractIcon.sprite = Util.LoadSprite("X1_zhucheng_huodong_zhankai") isStart = false end, 0.25, -1, true) this.timeRetract:Start() else isOpen = true this.MiddleGrid:SetActive(true) this.RightUpVertical:SetActive(true) this.LeftUpVertical:SetActive(true) this.MiddleGrid:GetComponent("Animator"):Play("X1_UI_MainPanel_GridOpen") this.RightUpVertical:GetComponent("Animator"):Play("X1_UI_MainPanel_RightVerticalOpen") this.LeftUpVertical:GetComponent("Animator"):Play("X1_UI_MainPanel_LeftVerticalOpen") this.timeRetract = Timer.New(function () this.timeRetract:Stop() this.btnRetractIcon.sprite = Util.LoadSprite("X1_zhucheng_huodong_shouqi") isStart = false end, 0.25, -1, true) this.timeRetract:Start() end end) Util.AddClick(this.btn18adb, function () this.adb_ageTip:SetActive(not this.adb_ageTip.activeSelf) end) this.BindRedPoint() --[[ -- --特权 -- Util.AddClick(this.vipPrivilegeBtn, function() -- UIManager.OpenPanel(UIName.VipPanelV2) -- end) -- --逐胜之巅 -- Util.AddClick(this.zhuShengBtn,function () -- UIManager.OpenPanel(UIName.ArenaTopMatchPanel) -- end) -- --秘盒 -- this:AddButtonEventTriggerListener(this.btnSecretBox, function() -- this.FunctionClickEvent(FUNCTION_OPEN_TYPE.SECRETBOX, function () -- UIManager.OpenPanel(UIName.SecretBoxPanel) -- end) -- this.ScenceBtnClick(FUNCTION_OPEN_TYPE.SECRETBOX) -- end) -- -- 打开怪兽来袭界面t -- this:AddButtonEventTriggerListener(this.btnMonster, function() -- JumpManager.GoJump(1011) -- this.ScenceBtnClick(FUNCTION_OPEN_TYPE.MONSTER_COMING) -- end) -- -- 场景中的外敌 -- this:AddButtonEventTriggerListener(this.btnWaiDi, function () -- this.FunctionClickEvent(FUNCTION_OPEN_TYPE.FIGHT_ALIEN, function () -- UIManager.OpenPanel(UIName.AlienMainPanel) -- end) -- this.ScenceBtnClick(FUNCTION_OPEN_TYPE.FIGHT_ALIEN) -- end) -- -- 异妖 -- this:AddButtonEventTriggerListener(this.btnYiYao, function () -- this.FunctionClickEvent(FUNCTION_OPEN_TYPE.DIFFER_DEMONS, function () -- UIManager.OpenPanel(UIName.DiffMonsterPanel) -- end) -- this.ScenceBtnClick(FUNCTION_OPEN_TYPE.DIFFER_DEMONS) -- end) ]] end -- 添加事件监听(用于子类重写) function this:AddListener() Game.GlobalEvent:AddEvent(GameEvent.Player.OnChangeName, this.RefreshChangeName) Game.GlobalEvent:AddEvent(GameEvent.FunctionCtrl.OnFunctionOpen, this.InitFuncShow) Game.GlobalEvent:AddEvent(GameEvent.FunctionCtrl.OnFunctionClose, this.InitFuncShow) Game.GlobalEvent:AddEvent(GameEvent.Activity.OnActivityOpenOrClose, this.RefreshActivityBtn) Game.GlobalEvent:AddEvent(GameEvent.Activity.OnPatFaceRedRefresh, this.RefreshShowPatPaceActivity) Game.GlobalEvent:AddEvent(GameEvent.Adventure.OnEnemyListChanged, this.OnAlienListChanged) Game.GlobalEvent:AddEvent(GameEvent.EightDay.GetRewardSuccess, this.RefreshEightGiftPreview) Game.GlobalEvent:AddEvent(GameEvent.FiveAMRefresh.ServerNotifyRefresh, this.RefreshEightGiftPreview) -- Game.GlobalEvent:AddEvent(GameEvent.Questionnaire.OnQuestionnaireChange, this.OnQuestionnaireCallBack) -- Game.GlobalEvent:AddEvent(GameEvent.Activity.OnActivityProgressStateChange, this.RefreshGiftBtnShow) -- Game.GlobalEvent:AddEvent(GameEvent.Player.OnPlayerLvChange, this.RefreshPlayerInfoShow) Game.GlobalEvent:AddEvent(GameEvent.MianGuide.RefreshGuide, this.ShowGuide) Game.GlobalEvent:AddEvent(GameEvent.Battle.OnBattleUIEnd, this.RefreshInBattle) Game.GlobalEvent:AddEvent(GameEvent.Main.ActivityRefresh, this.RefreshActivityShow) end -- 移除事件监听(用于子类重写) function this:RemoveListener() Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnChangeName, this.RefreshChangeName) Game.GlobalEvent:RemoveEvent(GameEvent.FunctionCtrl.OnFunctionOpen, this.InitFuncShow) Game.GlobalEvent:RemoveEvent(GameEvent.FunctionCtrl.OnFunctionClose, this.InitFuncShow) Game.GlobalEvent:RemoveEvent(GameEvent.Activity.OnActivityOpenOrClose, this.RefreshActivityBtn) Game.GlobalEvent:RemoveEvent(GameEvent.Activity.OnPatFaceRedRefresh, this.RefreshShowPatPaceActivity) Game.GlobalEvent:RemoveEvent(GameEvent.Adventure.OnEnemyListChanged, this.OnAlienListChanged) Game.GlobalEvent:RemoveEvent(GameEvent.EightDay.GetRewardSuccess, this.RefreshEightGiftPreview) Game.GlobalEvent:RemoveEvent(GameEvent.FiveAMRefresh.ServerNotifyRefresh, this.RefreshEightGiftPreview) -- Game.GlobalEvent:RemoveEvent(GameEvent.Activity.OnActivityProgressStateChange, this.RefreshGiftBtnShow) -- Game.GlobalEvent:RemoveEvent(GameEvent.Questionnaire.OnQuestionnaireChange, this.OnQuestionnaireCallBack) -- Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnPlayerLvChange, this.RefreshPlayerInfoShow) Game.GlobalEvent:RemoveEvent(GameEvent.MianGuide.RefreshGuide, this.ShowGuide) Game.GlobalEvent:RemoveEvent(GameEvent.Battle.OnBattleUIEnd, this.RefreshInBattle) Game.GlobalEvent:RemoveEvent(GameEvent.Main.ActivityRefresh, this.RefreshActivityShow) end -- 改变层级 function this:OnSortingOrderChange() self.sceneTran.gameObject:GetComponent("Canvas").sortingOrder = self.sortingOrder - 4 Util.AddParticleSortLayer(this.sceneTran.gameObject, self.sortingOrder - orginLayer) -- Util.AddParticleSortLayer(this.vipPrivilegeBtn, self.sortingOrder - orginLayer) if orginLayer < 100 then Util.AddParticleSortLayer(self.GuideEffectGo, self.sortingOrder) Util.AddParticleSortLayer(self.GuideJumpEffectGo, self.sortingOrder) else Util.AddParticleSortLayer(self.GuideEffectGo, self.sortingOrder - orginLayer) Util.AddParticleSortLayer(self.GuideJumpEffectGo, self.sortingOrder - orginLayer) end orginLayer = self.sortingOrder this.BtView:SetOrderStatus({ sortOrder = self.sortingOrder }) Util.GetGameObject(this.battleGuideFinger,"icon"):GetComponent("Canvas").sortingOrder = self.canvas.sortingOrder + 55 Util.SetParticleSortLayer(Util.GetGameObject(this.battleGuideFinger,"icon/ring"), self.canvas.sortingOrder + 55) Util.SetParticleSortLayer(Util.GetGameObject(this.battleGuideFinger,"icon/glow"), self.canvas.sortingOrder + 55) Util.SetParticleSortLayer(Util.GetGameObject(this.battleGuideFinger,"icon/diliang"), self.canvas.sortingOrder + 55) Util.GetGameObject(this.taskGuideFinger,"icon"):GetComponent("Canvas").sortingOrder = self.canvas.sortingOrder + 55 Util.SetParticleSortLayer(Util.GetGameObject(this.taskGuideFinger,"icon/ring"), self.canvas.sortingOrder + 55) Util.SetParticleSortLayer(Util.GetGameObject(this.taskGuideFinger,"icon/glow"), self.canvas.sortingOrder + 55) Util.SetParticleSortLayer(Util.GetGameObject(this.taskGuideFinger,"icon/diliang"), self.canvas.sortingOrder + 55) end function this:OnOpen() this.btn18adb:SetActive(GetChannelConfig().Button_Logon_AgeTipsAbd) activitys = DynamicActivityManager.GetActivityTableDataByPageInde(0) this.CreatActivity() PVEActivityManager.InfoList() end --界面打开时调用(用于子类重写) function this:OnShow() if Time.timeScale ~= 1 then Time.timeScale = 1 end if not isOpen then isStart = true if this.timeRetract then this.timeRetract:Stop() this.timeRetract = nil end isOpen = true this.MiddleGrid:SetActive(true) this.RightUpVertical:SetActive(true) this.LeftUpVertical:SetActive(true) this.MiddleGrid:GetComponent("Animator"):Play("X1_UI_MainPanel_GridOpen") this.RightUpVertical:GetComponent("Animator"):Play("X1_UI_MainPanel_RightVerticalOpen") this.LeftUpVertical:GetComponent("Animator"):Play("X1_UI_MainPanel_LeftVerticalOpen") this.timeRetract = Timer.New(function () this.timeRetract:Stop() this.btnRetractIcon.sprite = Util.LoadSprite("X1_zhucheng_huodong_shouqi") isStart = false end, 0.25, -1, true) this.timeRetract:Start() end CheckRedPointStatus(RedPointType.PrivilegeTurn) --特权转盘 timePressStarted = Time.realtimeSinceStartup SoundManager.PlayMusic(SoundConfig.BGM_Main) this.PlayerHeadFrameView:OnShow(true) this.UpView:OnOpen({ showType = UpViewOpenType.ShowRight, panelType = PanelType.Main }) this.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.MainCity }) this.GuideTaskView:RefreshAgainRequest() this.RefreshInBattle() -- ArenaTopMatchManager.RequestTopMatchBaseInfo()--巅峰赛数据 -- NetManager.CarChallengeProgressIndication()--梦魇入侵数据 -- PlayerManager.RefreshreceivedList() -- 刷新功能显示 this.InitFuncShow() this.RefreshActivityShow() this.RetractShow() -- 主界面time创建 -- endTime = ActivityGiftManager.GetTaskEndTime(ActivityTypeDef.SupremeHero) this.TimeFormat() if not this._TimeCounter then this._TimeCounter = Timer.New(this.TimeFormat, 1, -1, true) this._TimeCounter:Start() end -- if AdventureManager.drop ~= nil and AdventureManager.offlineTime ~= 0 then -- if AdventureManager.isFirstEnterGetReward and #AdventureManager.drop.itemlist > 0 then -- UIManager.OpenPanel(UIName.AdventureProgressPopup) -- AdventureManager.isFirstEnterGetReward = false -- end -- end -- 开始定时刷新聊天数据 this.ChatTipView:StartCheck() local patBool = true local patFaceAllData = PatFaceManager.GetPatFaceAllDataTabs() if GuideManager.IsInMainGuide() or UIManager.IsOpen(UIName.GuidePanel) then else if PlayerManager.level >= 10 and VipManager.GetVipLevel() == 0 then --读取本地是否弹过 local isEject = PlayerPrefs.GetInt(PlayerManager.uid .. "FirstRechargePanelisEject") == 0 if isEject then PlayerPrefs.SetInt(PlayerManager.uid .. "FirstRechargePanelisEject", 1) UIManager.OpenPanel(UIName.FirstRechargePanel) end end -- 刷新拍脸 if patFaceAllData and #patFaceAllData > 0 and not UIManager.IsOpen(UIName.PatFacePanel) then if FirstRechargeManager.IsShowFirstChatge() then FirstRechargeManager.PlayerPrefsSetStrItemId(1) --发送埋点数据 patBool = false UIManager.OpenPanel(UIName.FirstRechargePanel,nil,function() end) end end end if AdventureManager.fightAreaMax then AdventureManager.GetIsMaxTime() end if patFaceAllData and #patFaceAllData > 0 and not UIManager.IsOpen(UIName.PatFacePanel) and patBool == true then if PatFaceManager.GetPatFaceback() == 1 then PatFaceManager.PatFaceback(0) PatFaceManager.OpenPatFaceLS() end end GuildManager.CheckGuildTip()-- 检测公会tip this.CheckRedPoint() AircraftCarrierManager.InitTimer() this.SetMainIconPos() this.btnBattlePass:SetActive(ActTimeCtrlManager.SingleFuncState(107)) this.ShowGuide() end --界面关闭时调用(用于子类重写) function this:OnClose() -- 关闭定时刷新数据 this.ChatTipView:StopCheck() PatFaceManager.isLogin = false --if patFaceCallList then -- patFaceCallList:Clear() --end end --界面销毁时调用(用于子类重写) function this:OnDestroy() for k,v in ipairs(activitys) do -- if v.RpType > 0 then -- if v.RpType == 21000 then -- ClearRedPointObject(RedPointType.AdjutantActivity, activityTabs[k].redpot) -- else -- ClearRedPointObject(v.RpType, activityTabs[k].redpot) -- end -- activityTabs[k].go.gameObject:SetActive(false) -- end if v.RpType > 0 then if v.Id == 178 then ClearRedPointObject(RedPointType.AdjutantActivity, activityTabs[k].redpot) elseif v.Id == 1000 then ClearRedPointObject(RedPointType.EightTheLogin_2, activityTabs[k].redpot) elseif v.Id == 15 then ClearRedPointObject(RedPointType.IncentivePlan, activityTabs[k].redpot) elseif v.Id == 2002 then --自选招募 ClearRedPointObject(RedPointType.SelfRecruit, activityTabs[k].redpot) elseif v.Id == 4003 then ClearRedPointObject(RedPointType.Association, activityTabs[k].redpot) else ClearRedPointObject(v.RpType, activityTabs[k].redpot) end elseif v.RpType == -1 then if v.Id == 801 then ClearRedPointObject(RedPointType.ValuePack, activityTabs[k].redpot) elseif v.Id == 1500 then ClearRedPointObject(RedPointType.ThousandDraw, activityTabs[k].redpot) elseif v.Id == 1201 then ClearRedPointObject(RedPointType.NightmareInvasion, activityTabs[k].redpot) elseif v.Id == 400 then ClearRedPointObject(RedPointType.CardActivity, activityTabs[k].redpot) elseif v.Id == 9017 then ClearRedPointObject(RedPointType.Chaos_MainIcon, activityTabs[k].redpot) elseif v.Id == 2000 then ClearRedPointObject(RedPointType.Discount, activityTabs[k].redpot) elseif v.Id == 2001 then ClearRedPointObject(RedPointType.Tokens, activityTabs[k].redpot) elseif v.Id == 2005 then ClearRedPointObject(RedPointType.PrivilegeCardPage, activityTabs[k].redpot) elseif v.Id == 2006 then ClearRedPointObject(RedPointType.PrivilegeTurn, activityTabs[k].redpot) elseif v.Id == 2007 then ClearRedPointObject(RedPointType.PrivilegeCardThreePage, activityTabs[k].redpot) elseif v.Id == ActivityTypeDef.LevelLiJin then --万元礼金 ClearRedPointObject(RedPointType.WanYuan, activityTabs[k].redpot) elseif v.Id == 2011 then --再充 ClearRedPointObject(RedPointType.AgainRecharge, activityTabs[k].redpot) elseif v.Id == 4000 then ClearRedPointObject(RedPointType.Festival, activityTabs[k].redpot) elseif v.Id == 4004 then ClearRedPointObject(RedPointType.PhoneBuilding, activityTabs[k].redpot) elseif v.Id == 4000 then ClearRedPointObject(RedPointType.Festival, activityTabs[k].redpot) elseif v.Id == 4004 then ClearRedPointObject(RedPointType.PhoneBuilding, activityTabs[k].redpot) elseif v.Id == 4000 then ClearRedPointObject(RedPointType.Festival, activityTabs[k].redpot) elseif v.Id == 4004 then ClearRedPointObject(RedPointType.PhoneBuilding, activityTabs[k].redpot) elseif v.Id == 4000 then ClearRedPointObject(RedPointType.Festival, activityTabs[k].redpot) elseif v.Id == 4004 then ClearRedPointObject(RedPointType.PhoneBuilding, activityTabs[k].redpot) else ClearRedPointObject(RedPointType.PatFace, activityTabs[k].redpot) end end activityTabs[k].go.gameObject:SetActive(false) end activitys = {} activityTabs = {} -- activeSelfTabs = {} SubUIManager.Close(this.UpView) SubUIManager.Close(this.BtView) SubUIManager.Close(this.PlayerHeadFrameView) SubUIManager.Close(this.HorseRaceLampView) SubUIManager.Close(this.ChatTipView) SubUIManager.Close(this.GuideTaskView) -- 清除红点 this.ClearRedPoint() -- 计时器 if this._TimeCounter then this._TimeCounter:Stop() this._TimeCounter = nil end end local isCanShowMainTaskJumpEffect = true function this:Update() if curMianTaskData and curMianTaskData.state == 0 then if isCanShowMainTaskJumpEffect then if Time.realtimeSinceStartup - timePressStarted > 5 then isCanShowMainTaskJumpEffect = false this.GuideJumpEffectGo:SetActive(true) end end if Input.GetMouseButtonDown(0) then timePressStarted = Time.realtimeSinceStartup isCanShowMainTaskJumpEffect = true this.GuideJumpEffectGo:SetActive(false) end end end function this:AddFuncItem(btnGO, pos) return {go = btnGO, open = Util.GetGameObject(btnGO, "open"), lock = Util.GetGameObject(btnGO, "lock"), pos = pos} end function this:InsertNewText(btn) local xinText = Util.GetGameObject(btn, "new") return xinText end function this:handleOnBeginDrag(eventData) dragGo = self this.moveTween.enabled = true this.moveTween.Momentum = Vector3.zero this.moveTween.IsUseCallBack = false end function this:handleOnDrag(eventData) this.moveTween:LerpMomentum(eventData.delta) this:MoveOffset(eventData.delta) end function this:handleOnEndDrag(eventData) dragGo = nil this.moveTween.IsUseCallBack = true this:MoveOffset(eventData.delta) end --相对于当前位置移动 检查边界 function this:MoveOffset(v2) local av2 = this.bgTran.anchoredPosition local dv2 = Vector2.New(math.clamp(v2.x + av2.x, this.rightBoundary, this.leftBoundary), av2.y) if v2.x + av2.x < this.rightBoundary or v2.x + av2.x > this.leftBoundary then self.moveTween:Rebound(1, 0.1) end this:SetPos(dv2) end --移动到指定位置 检查边界 function this:MoveToPos(v2) local dv2 = Vector2.New(math.clamp(v2.x, this.rightBoundary, this.leftBoundary), v2.y) this:SetPos(dv2) end --设置位置 不会检查边界 function this:SetPos(v2) self.bgTran.anchoredPosition = Vector2.New(v2.x, 0) for i = 1, #moveSceneList do moveTranList[i].anchoredPosition = Vector2.New(v2.x, 0) end end --按钮增加拖动和点击 function this:AddButtonEventTriggerListener(go, onClick) local trigger = Util.GetEventTriggerListener(go) trigger.onBeginDrag = trigger.onBeginDrag + this.handleOnBeginDrag trigger.onDrag = trigger.onDrag + this.handleOnDrag trigger.onEndDrag = trigger.onEndDrag + this.handleOnEndDrag trigger.onPointerClick = trigger.onPointerClick + function() if go == dragGo then --已经拖动,就不用执行点击了 return end if onClick ~= nil then onClick() end end end -- 创建活动 function this.CreatActivity() ActivityGiftManager.SetRedState(0) for k,v in ipairs(activitys) do repeat if not activityTabs[k] then activityTabs[k] = {} local root if v.ShowType == 1 then root = this.RightUpVertical elseif v.ShowType == 2 then root = this.MiddleGrid elseif v.ShowType == 3 then root = this.LeftUpVertical else break end activityTabs[k].go = newObjToParent(this.activityTabPrefab,root) activityTabs[k].img = Util.GetGameObject(activityTabs[k].go, "icon"):GetComponent("Image") activityTabs[k].timeImg = Util.GetGameObject(activityTabs[k].go, "Image_1") activityTabs[k].timeText = Util.GetGameObject(activityTabs[k].timeImg, "time"):GetComponent("Text") activityTabs[k].redpot = Util.GetGameObject(activityTabs[k].go, "redPoint") activityTabs[k].name = Util.GetGameObject(activityTabs[k].go, "Image_2/name"):GetComponent("Text") activityTabs[k].effect = Util.GetGameObject(activityTabs[k].go, "effect") end activityTabs[k].go.gameObject.name = "tab"..v.Id activityTabs[k].go.gameObject:SetActive(false) if v.ShowTime == 0 then activityTabs[k].timeImg.gameObject:SetActive(false) else activityTabs[k].timeImg.gameObject:SetActive(true) end this.BindBtnRedPoint(activityTabs[k].redpot, v) --设置图片文字 if v.ActiveType > 0 then local activityId = ActivityGiftManager.IsActivityTypeOpen(v.ActiveType) if activityId and activityId > 0 and ActivityGiftManager.IsQualifiled(v.ActiveType) and v.ActiveType ~= 42 then local tempConfig = ConfigManager.TryGetConfigDataByThreeKey(ConfigName.ActivityGroups, "ActId", GlobalActConfig[activityId].ShowArt, "PageType", 0, "ActiveType", v.ActiveType) if not tempConfig then tempConfig = ConfigManager.TryGetConfigDataByThreeKey(ConfigName.ActivityGroups, "ActId", activityId, "PageType", 0, "ActiveType", v.ActiveType) end if tempConfig then activityTabs[k].img.sprite = Util.LoadSprite(tempConfig.Icon[1]) activityTabs[k].name.text = GetLanguageStrById(tempConfig.Sesc) activityTabs[k].effect:SetActive(tempConfig.ShowEffect == 1) else activityTabs[k].img.sprite = Util.LoadSprite(v.Icon[1]) activityTabs[k].name.text = GetLanguageStrById(v.Sesc) activityTabs[k].effect:SetActive(v.ShowEffect == 1) end else activityTabs[k].img.sprite = Util.LoadSprite(v.Icon[1]) activityTabs[k].name.text = GetLanguageStrById(v.Sesc) activityTabs[k].effect:SetActive(v.ShowEffect == 1) end else activityTabs[k].img.sprite = Util.LoadSprite(v.Icon[1]) activityTabs[k].name.text = GetLanguageStrById(v.Sesc) activityTabs[k].effect:SetActive(v.ShowEffect == 1) end activityTabs[k].img:SetNativeSize() Util.AddOnceClick(activityTabs[k].go,function() if v.ActiveType > 0 then this:TabBtnAction(v.ActiveType, 1, v) elseif v.FunType > 0 then this:TabBtnAction(v.FunType, 2, v) else this:TabBtnAction(v.ActId, 0, v) end this.CloseGuide() end) until true end end --绑定活动按钮红点 function this.BindBtnRedPoint(redpoint, data) if data.RpType > 0 then if data.Id == 178 then BindRedPointObject(RedPointType.AdjutantActivity, redpoint) elseif data.Id == 1000 then BindRedPointObject(RedPointType.EightTheLogin_2, redpoint) elseif data.Id == 15 then BindRedPointObject(RedPointType.IncentivePlan, redpoint) elseif data.Id == 2002 then BindRedPointObject(RedPointType.SelfRecruit, redpoint) elseif data.Id == 4003 then BindRedPointObject(RedPointType.Association, redpoint) elseif data.Id == 8001 then BindRedPointObject(RedPointType.SeasonalActivity, redpoint) else BindRedPointObject(data.RpType, redpoint) end elseif data.RpType == -1 then if data.Id == 801 then BindRedPointObject(RedPointType.ValuePack, redpoint) elseif data.Id == 1500 then BindRedPointObject(RedPointType.ThousandDraw, redpoint) elseif data.Id == 1201 then BindRedPointObject(RedPointType.NightmareInvasion, redpoint) elseif data.Id == 400 then BindRedPointObject(RedPointType.CardActivity, redpoint) elseif data.Id == 9015 then redpoint:SetActive(false) elseif data.Id == 9017 then BindRedPointObject(RedPointType.Chaos_MainIcon, redpoint) elseif data.Id == 2000 then BindRedPointObject(RedPointType.Discount, redpoint) elseif data.Id == 2001 then BindRedPointObject(RedPointType.Tokens, redpoint) elseif data.Id == 2005 then BindRedPointObject(RedPointType.PrivilegeCardPage, redpoint) elseif data.Id == 2006 then BindRedPointObject(RedPointType.PrivilegeTurn, redpoint) elseif data.Id == 2007 then BindRedPointObject(RedPointType.PrivilegeCardThreePage, redpoint) elseif data.Id == ActivityTypeDef.LevelLiJin then BindRedPointObject(RedPointType.WanYuan, redpoint) elseif data.Id == 2011 then BindRedPointObject(RedPointType.AgainRecharge, redpoint) elseif data.Id == 2015 then redpoint:SetActive(false) elseif data.Id == 4000 then BindRedPointObject(RedPointType.Festival, redpoint) elseif data.Id == 4004 then BindRedPointObject(RedPointType.PhoneBuilding, redpoint) else BindRedPointObject(RedPointType.PatFace, redpoint) end elseif data.RpType == 0 then redpoint:SetActive(false) end end function this:TabBtnAction(id, actType, data) if actType == 1 then if id == ActivityTypeDef.FirstRecharge then UIManager.OpenPanel(UIName.FirstRechargePanel) elseif id == ActivityTypeDef.SevenDayCarnival then UIManager.OpenPanel(UIName.SevenDayCarnivalPanelV2, SevenDayCarnivalManager.GetPriorityDayNumber()) elseif id == ActivityTypeDef.WarPowerSort then UIManager.OpenPanel(UIName.WarPowerSortPanel) elseif id == ActivityTypeDef.DailyRecharge or id == ActivityTypeDef.DailyRecharge_2 then UIManager.OpenPanel(UIName.DailyRechargePanel) if id == ActivityTypeDef.DailyRecharge then local state = DailyRechargeManager.DailyRechargeExist() activityTabs[data].go:SetActive(state) end elseif id == ActivityTypeDef.Pray then UIManager.OpenPanel(UIName.PrayMainPanel) elseif id == ActivityTypeDef.DemonSlayer then UIManager.OpenPanel(UIName.DemonSlayerPanel) elseif id == ActivityTypeDef.TreasureOfSomeBody then UIManager.OpenPanel(UIName.GrowthManualPanel,2,1) elseif id == ActivityTypeDef.TreasureStore then ActivityGiftManager.SetRedState(1) CheckRedPointStatus(RedPointType.MunitionsMerchant) UIManager.OpenPanel(UIName.TreasureStorePopup, ActivityTypeDef.TreasureStore) elseif id == ActivityTypeDef.DynamicAct then local dynamicAct = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.DynamicAct) local curindex = 1 if dynamicAct then curindex = GlobalActConfig[dynamicAct].ShowArt end UIManager.OpenPanel(UIName.DynamicActivityPanel,curindex) elseif id == ActivityTypeDef.SupremeHero then UIManager.OpenPanel(UIName.SupremeHeroPopup) elseif id == ActivityTypeDef.NiuZhuan then UIManager.OpenPanel(UIName.NiuZhuanQianKunPanel) elseif id == ActivityTypeDef.NiuQi then UIManager.OpenPanel(UIName.NiuQiChongTianPanel,data) elseif id == ActivityTypeDef.FuXingGaoZhao then UIManager.OpenPanel(UIName.FuXingGaoZhaoPanel) elseif id == ActivityTypeDef.EightDayGift then UIManager.OpenPanel(UIName.EightDayGiftPanel) elseif id == 78 then local tabIndex = 7 if ActivityGiftManager.IsQualifiled(ActivityTypeDef.LifeMemebr) and not not ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.LifeMemebr) then tabIndex = 12 end UIManager.OpenPanel(UIName.OperatingPanel,{tabIndex = tabIndex, extraParam = 2, showType = 2}) elseif id == ActivityTypeDef.AdjutantCurrent then UIManager.OpenPanel(UIName.AdjutantActivityPanel) elseif id == ActivityTypeDef.SignInDays then UIManager.OpenPanel(UIName.SignInDays) elseif id == 4001 then UIManager.OpenPanel(UIName.FestivalActivityPanel) elseif id == ActivityTypeDef.ArtilleryDrills then UIManager.OpenPanel(UIName.ArtilleryDrillsPanel) elseif id == ActivityTypeDef.SelfRecruit then UIManager.OpenPanel(UIName.SelfRecruitMainPanel,ActivityTypeDef.SelfRecruit,1) elseif id == ActivityTypeDef.LevelLiJin then local allData = OperatingManager.GetWanYuanLiBao(ActivityTypeDef.LoginLiJin) local index = 1 if allData == nil then index = 2 end UIManager.OpenPanel(UIName.WanYuanPanel,index) elseif id == 500 then UIManager.OpenPanel(UIName.AgainRechargePanel) elseif id == 50000 then UIManager.OpenPanel(UIName.CardActivityPanel) elseif id == 201 then local url = ConfigManager.GetConfigDataByKey(ConfigName.SpecialConfig, "Key", "Hanbok_Questionnaire_URL").Value UnityEngine.Application.OpenURL(url) elseif id == 202 then UIManager.OpenPanel(UIName.OpenServiceGiftPanel) elseif id == 6001 then UIManager.OpenPanel(UIName.TreasureStorePopup, ActivityTypeDef.OpenServiceShop) elseif id == 6002 then UIManager.OpenPanel(UIName.DailyFlashBuyPanel) elseif id == 213 then UIManager.OpenPanel(UIName.CustomerService_qianqian) elseif id == 800 then UIManager.OpenPanel(UIName.SeasonalActivity) elseif id == 210 then UIManager.OpenPanel(UIName.QuestionnairePanel) elseif id == 211 then UIManager.OpenPanel(UIName.AssociationPanel) elseif id == 212 then if AppConst.isSDKLogin then SDKMgr:LoginPanel_Btn1() end elseif id == 213 then UIManager.OpenPanel(UIName.CustomerService_qianqian) elseif id == 6004 then UIManager.OpenPanel(UIName.NewcomerDiscountsPanel) end elseif actType == 2 then if id == FUNCTION_OPEN_TYPE.SERVER_START_GIFT then UIManager.OpenPanel(UIName.CourtesyDressPanel) elseif id == JumpType.recharge then UIManager.OpenPanel(UIName.MainRechargePanel) elseif id == FUNCTION_OPEN_TYPE.EXPERT then UIManager.OpenPanel(UIName.ExpertPanel) elseif id == JumpType.Welfare then UIManager.OpenPanel(UIName.OperatingPanel) elseif id == FUNCTION_OPEN_TYPE.LUCKYTURN then UIManager.OpenPanel(UIName.LuckyTurnTablePanel) elseif id == FUNCTION_OPEN_TYPE.Achiecement then UIManager.OpenPanel(UIName.AchievementPanel) elseif id == FUNCTION_OPEN_TYPE.GUILD_BATTLE then JumpManager.GoJump(75001) elseif id == FUNCTION_OPEN_TYPE.ARENA then UIManager.OpenPanel(UIName.ArenaTopMatchPanel) elseif id == 105 then UIManager.OpenPanel(UIName.UpGradePackagePanel) elseif id == 94 then local tabIndex = 7 if ActivityGiftManager.IsQualifiled(ActivityTypeDef.LifeMemebr) and not not ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.LifeMemebr) then tabIndex = 12 end UIManager.OpenPanel(UIName.OperatingPanel,{tabIndex = tabIndex, extraParam = 2, showType = 2}) elseif id == 95 then UIManager.OpenPanel(UIName.TimeLimitSkinPanel) elseif id == FUNCTION_OPEN_TYPE.ValuePack then UIManager.OpenPanel(UIName.ValuePackPanel) elseif id == JumpType.MinskBattle then JumpManager.GoJump(76001) elseif id == JumpType.TopMatch then JumpManager.GoJump(57001) elseif id == FUNCTION_OPEN_TYPE.ThousandDraw then UIManager.OpenPanel(UIName.ThousandDrawPanel) elseif id == FUNCTION_OPEN_TYPE.laddersChallenge then NetManager.RequestArenaRankData(1, function() UIManager.OpenPanel(UIName.LaddersMainPanel) end) elseif id == FUNCTION_OPEN_TYPE.PVEActivity then UIManager.OpenPanel(UIName.PVEActivityPanel) elseif id == JumpType.ChaosZz then NetManager.CampSimpleInfoGetReq(function (msg) if msg.camp ~= 0 then NetManager.CampWarInfoGetReq(function (msg) UIManager.OpenPanel(UIName.ChaosMainPanel, msg) end) else UIManager.OpenPanel(UIName.ChaosSelectCampPanel, msg) end end) elseif id == 202 then UIManager.OpenPanel(UIName.PrivilegeCardPanel) elseif id == 203 then UIManager.OpenPanel(UIName.PrivilegeTurnTable,TreasureType.PrivilegeOne) elseif id == 204 then UIManager.OpenPanel(UIName.PrivilegeCardThreePanel) elseif id == 200 then UIManager.OpenPanel(UIName.DiscountTaskPanel) elseif id == 201 then UIManager.OpenPanel(UIName.TokensPanel) elseif id == 205 then local index = 1 local type = {300, 306, 305, 303, 308, 304, 307, 309, 302, 301} for i = 1, #type do local activityId = ActivityGiftManager.GetActivityIdByType(type[i]) if activityId > 0 then index = i break end end UIManager.OpenPanel(UIName.ChongBangPanel, index) elseif id == 206 then--BT奇葩资源阁 if AppConst.isSDKLogin then SDKMgr:Relation(1) end elseif id == 207 then--BT奇葩超级折扣 if AppConst.isSDKLogin then SDKMgr:Relation(2) end elseif id == 208 then if AppConst.isSDKLogin then SDKMgr:LoginPanel_Btn1() end elseif id == FUNCTION_OPEN_TYPE.ExchangeAction then UIManager.OpenPanel(UIName.ExchangeActionPanel) elseif id == 209 then UIManager.OpenPanel(UIName.PhoneBuildingPanel) end else end end -- 刷新功能显示 function this.InitFuncShow(funcType) --判断开服有礼是否全部领完 -- if not funcType or funcType == FUNCTION_OPEN_TYPE.SERVER_START_GIFT then -- -- if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.SERVER_START_GIFT) then -- -- if not ActivityGiftManager.onlineOpen and not ActivityGiftManager.sevenDayOpen and not ActivityGiftManager.chapterOpen then -- -- else -- -- end -- -- else -- -- end -- if funcType == FUNCTION_OPEN_TYPE.SERVER_START_GIFT then -- return -- end -- end -- 需要显示隐藏的功能检测 if funcType then if this.btnFunHide[funcType] then ActTimeCtrlManager.SetFuncLockState(this.btnFunHide[funcType], funcType, false) return end else for i, v in pairs(this.btnFunHide) do ActTimeCtrlManager.SetFuncLockState(v, i, false) end end -- 新版解锁图标 if funcType then if this.operateIcon[funcType] then local isOpen if funcType == FUNCTION_OPEN_TYPE.TRIAL then isOpen = ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.TRIAL) or ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.PEOPLE_MIRROR) or ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.MINSKBATTLE) or ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.ALAMEIN_WAR) -- elseif funcType == FUNCTION_OPEN_TYPE.laddersChallenge then -- isOpen = ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.laddersChallenge) -- and CrossService -- elseif funcType == FUNCTION_OPEN_TYPE.InvestigateCenter then -- isOpen = true else isOpen = ActTimeCtrlManager.SingleFuncState(funcType) end Util.SetGray(this.operateIcon[funcType].lock,true) Util.SetGray(Util.GetGameObject(this.operateIcon[funcType].lock.transform.parent, "Text"), true) this.operateIcon[funcType].lock:SetActive(not isOpen) this.operateIcon[funcType].open:SetActive(isOpen) return end else for i, v in pairs(this.operateIcon) do local isOpen if i == FUNCTION_OPEN_TYPE.TRIAL then isOpen = ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.TRIAL) or ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.PEOPLE_MIRROR) or ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.MINSKBATTLE) or ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.ALAMEIN_WAR) -- elseif i == FUNCTION_OPEN_TYPE.laddersChallenge then -- isOpen = ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.laddersChallenge) -- and CrossService -- elseif i == FUNCTION_OPEN_TYPE.InvestigateCenter then -- isOpen = true else isOpen = ActTimeCtrlManager.SingleFuncState(i) end Util.SetGray(Util.GetGameObject(v.lock.transform.parent, "Text"), not isOpen) v.lock:SetActive(not isOpen) v.open:SetActive(isOpen) end end end -- 时间格式化 function this.TimeFormat() for k, v in pairs(activitys) do local isShow = DynamicActivityManager.IsQualifiled(v.Id) --Log("v.ActId______________________"..v.ActId) if isShow then if v.ActId == 666 then local giftList = {} giftList = OperatingManager.GetInfoList() if #giftList > 0 then local time = giftList[1].endTime - GetTimeStamp() if time < 1 then OperatingManager.RemoveItemInfoByType(GoodsTypeDef.DirectPurchaseGift, giftList[1].goodsId) activityTabs[k].go.gameObject:SetActive(false) else activityTabs[k].go.gameObject:SetActive(true) activityTabs[k].timeText.text = TimeToHMS(time) end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.Id == 9017 then if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.ChaosZZ) then if ChaosManager.isOpen then local time = ActTimeCtrlManager.GetActLeftTime(FUNCTION_OPEN_TYPE.ChaosZZ) activityTabs[k].go.gameObject:SetActive(true) if time >= 86400 then activityTabs[k].timeText.text = TimeToDH(time) else activityTabs[k].timeText.text = TimeToHMS(time) end else activityTabs[k].go.gameObject:SetActive(false) end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.ActId == 510001 then local id = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.SelfRecruit) if id and id > 0 then --local time = ActTimeCtrlManager.GetActLeftTime(FUNCTION_OPEN_TYPE.ChaosZZ) activityTabs[k].go.gameObject:SetActive(true) -- if time >= 86400 then -- activityTabs[k].timeText.text = TimeToDH(time) -- else -- activityTabs[k].timeText.text = TimeToHMS(time) -- end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.ActId == 203 then local id = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.LevelLiJin) local loginId = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.LoginLiJin) -- local id = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.LevelLiJin) -- RefreShWanYuanRedPoint if (id and id > 0) or (loginId and loginId>0) then if PrivilegeTurnManager:GetWanYuanShowState() then activityTabs[k].go.gameObject:SetActive(true) else activityTabs[k].go.gameObject:SetActive(false) end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.ActId == 500 then if FirstRechargeManager.GetFirstRewardState() then if FirstRechargeManager.GetAgainReceiveAll() then activityTabs[k].go.gameObject:SetActive(false) else activityTabs[k].go.gameObject:SetActive(true) end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.Id == 2005 then if ActTimeCtrlManager.SingleFuncState(202) then activityTabs[k].go.gameObject:SetActive(true) else activityTabs[k].go.gameObject:SetActive(false) end -- activityTabs[k].go.gameObject:SetActive(true) elseif v.Id == 2006 then if ActTimeCtrlManager.SingleFuncState(203) then activityTabs[k].go.gameObject:SetActive(true) else activityTabs[k].go.gameObject:SetActive(false) end elseif v.Id == 2007 then if ActTimeCtrlManager.SingleFuncState(204) then local data = tequanCardConfig[3] local show = true for index, value in ipairs(data.BuyRule) do local showData = tequanCardConfig[value] if PrivilegeManager.GetPrivilegeOpenStatusById(showData.PrivilegeID) == false then show = false break end end activityTabs[k].go.gameObject:SetActive(show) else activityTabs[k].go.gameObject:SetActive(false) end elseif v.ActId == 112 then -- if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.EnergyBase) then -- activityTabs[k].go.gameObject:SetActive(true) -- else -- activityTabs[k].go.gameObject:SetActive(false) -- end activityTabs[k].go.gameObject:SetActive(true) elseif v.ActId == 112 then -- if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.EnergyBase) then -- activityTabs[k].go.gameObject:SetActive(true) -- else -- activityTabs[k].go.gameObject:SetActive(false) -- end activityTabs[k].go.gameObject:SetActive(true) elseif v.ActId == 668 then -- 加入对月卡的判断 local isMonthCardActive = OperatingManager.IsMonthCardActive() local isOpen_128 = OperatingManager.IsBaseOpen(GoodsTypeDef.MONTHCARD_128) local isOpen_328 = OperatingManager.IsBaseOpen(GoodsTypeDef.MONTHCARD_328) activityTabs[k].go.gameObject:SetActive(isMonthCardActive and (isOpen_128 or isOpen_328)) -- if isMonthCardActive then local cardType = nil if isOpen_328 then cardType = GoodsTypeDef.MONTHCARD_328 end if not cardType and isOpen_128 then cardType = GoodsTypeDef.MONTHCARD_128 end if cardType then local data = OperatingManager.GetGiftGoodsInfo(cardType) if data then local time = data.endTime - PlayerManager.serverTime if time < 1 then activityTabs[k].go.gameObject:SetActive(false) else activityTabs[k].go.gameObject:SetActive(true) activityTabs[k].timeImg.gameObject:SetActive(false) -- if OperatingManager.GetGoodsBuyTime(GoodsTypeDef.MONTHCARD_128) > 0 and OperatingManager.GetGoodsBuyTime(GoodsTypeDef.MONTHCARD_328) > 0 then -- activityTabs[k].timeImg.gameObject:SetActive(false) -- elseif time >= 86400 then -- activityTabs[k].timeText.text = TimeToDH(time) -- else -- activityTabs[k].timeText.text = TimeToHMS(time) -- end end end end -- end elseif v.ActId == 667 then local limitSkinGift = OperatingManager.GetTimeLimitSkinInfoList() if not limitSkinGift then activityTabs[k].go.gameObject:SetActive(false) else local time = limitSkinGift.endTime - GetTimeStamp() if time > 0 then activityTabs[k].go.gameObject:SetActive(true) activityTabs[k].timeText.text = TimeToFelaxible(time) local canGet = BagManager.GetTotalItemNum(1221) > 0 and BagManager.GetTotalItemNum(1222) > 0 and BagManager.GetTotalItemNum(1223) > 0 and BagManager.GetTotalItemNum(1224) > 0 activityTabs[k].redpot:SetActive(canGet) else activityTabs[k].go.gameObject:SetActive(false) end end elseif v.ActId == 6301 then local ActData = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.FuXingGaoZhao) if ActData then activityTabs[k].timeText.transform.parent.gameObject:SetActive(ActData.value == 0) activityTabs[k].go.gameObject:SetActive(ActData.value ~= 2) if ActData.value == 0 then local data = string.split(ConfigManager.GetConfigDataByKey(ConfigName.SpecialConfig,"Id",109).Value,"#") local time = ActData.startTime + tonumber(data[1])*86400 - GetTimeStamp() activityTabs[k].timeText.text = TimeToFelaxible(time) if time <= 0 then activityTabs[k].go.gameObject:SetActive(false) end end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.ShowTime == 1 and activityTabs[k].go.gameObject.activeSelf then if v.ActiveType > 0 then local isOpen = ActivityGiftManager.IsActivityTypeOpen(v.ActiveType) if isOpen and isOpen > 0 and ActivityGiftManager.IsQualifiled(v.ActiveType) then if v.ActiveType == 42 then if ActivityGiftManager.GetRewardState(42) ~= 3 then local endTime = ActivityGiftManager.GetTaskEndTime(ActivityTypeDef.SupremeHero) if endTime - PlayerManager.serverTime > 0 then local time = endTime - PlayerManager.serverTime if time>= 86400 then activityTabs[k].timeText.text = TimeToDH(time) else activityTabs[k].timeText.text = TimeToHMS(time) end else activityTabs[k].go.gameObject:SetActive(false) end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.FunType and v.FunType == 41 then if v.Id == 209 then activityTabs[k].go.gameObject:SetActive(DailyRechargeManager.DailyRechargeExist() and not Util.GetGameObject(this.RightUpVertical, "tab4").activeSelf) else activityTabs[k].go.gameObject:SetActive(DailyRechargeManager.DailyRechargeExist() and not Util.GetGameObject(this.RightUpVertical, "tab209").activeSelf) end elseif v.ActiveType == 201 then activityTabs[k].go.gameObject:SetActive(true) elseif v.ActiveType == 202 then activityTabs[k].go.gameObject:SetActive(true) elseif v.ActiveType == ActivityTypeDef.SignInDays then activityTabs[k].go.gameObject:SetActive(true) elseif v.ActiveType == 210 then activityTabs[k].go.gameObject:SetActive(true) elseif v.ActiveType == 211 then activityTabs[k].go.gameObject:SetActive(true) else local info = ActivityGiftManager.GetActivityTypeInfo(v.ActiveType) local extraTime = 0 if ConfigManager.GetConfigDataByKey(ConfigName.GlobalActivity,"Type",v.ActiveType).GapTime and ConfigManager.GetConfigDataByKey(ConfigName.GlobalActivity,"Type",v.ActiveType).GapTime > 0 then extraTime = ConfigManager.GetConfigDataByKey(ConfigName.GlobalActivity,"Type",v.ActiveType).GapTime*86400 end local tempTime = info.endTime - GetTimeStamp() if tempTime - extraTime > 0 then activityTabs[k].timeText.text = TimeToFelaxible(tempTime - extraTime) elseif tempTime > 0 and tempTime < extraTime then activityTabs[k].timeText.text = TimeToFelaxible(tempTime) else activityTabs[k].go.gameObject:SetActive(false) end end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.FunType == FUNCTION_OPEN_TYPE.ARENA then local isOpen = ActTimeCtrlManager.SingleFuncState(v.FunType) local baseInfo = ArenaTopMatchManager.GetBaseData() if not isOpen or not baseInfo or not baseInfo.battleStage or baseInfo.battleStage == TOP_MATCH_STAGE.OVER then activityTabs[k].go.gameObject:SetActive(false) elseif baseInfo.battleStage == TOP_MATCH_STAGE.CLOSE then local startTime = ArenaTopMatchManager.GetTopMatchTime() local tempTime = startTime - PlayerManager.serverTime -- 当日五点开始显示 if tempTime > 0 and tempTime < 16 * 60 * 60 then activityTabs[k].go.gameObject:SetActive(true) activityTabs[k].timeText.text = GetLanguageStrById(11211)..TimeToHMS(tempTime) else activityTabs[k].go.gameObject:SetActive(false) end else activityTabs[k].go.gameObject:SetActive(true) activityTabs[k].timeText.text = GetLanguageStrById(11212) end elseif v.FunType == FUNCTION_OPEN_TYPE.GUILD_BATTLE then local timeDown = GuildBattleManager.overTime-GetTimeStamp() if timeDown <= 0 then activityTabs[k].go.gameObject:SetActive(false) else activityTabs[k].go.gameObject:SetActive(true) activityTabs[k].timeText.text = TimeToHMS(timeDown) end elseif v.FunType == FUNCTION_OPEN_TYPE.MINSKBATTLE then if GuildCarDelayManager.endTime then if GuildCarDelayManager.endTime - GetTimeStamp() > 0 then activityTabs[k].timeText.text = TimeToHMS(GuildCarDelayManager.endTime - GetTimeStamp()) activityTabs[k].go.gameObject:SetActive(true) else activityTabs[k].go.gameObject:SetActive(false) end end elseif v.FunType == FUNCTION_OPEN_TYPE.TOP_MATCH then local isActive = ArenaTopMatchManager.IsTopMatchActive() if isActive then local tmData = ArenaTopMatchManager.GetBaseData() if tmData then if tmData.progress == -1 then--即将开启 activityTabs[k].go.gameObject:SetActive(false) elseif tmData.progress == -2 then--已结束 activityTabs[k].go.gameObject:SetActive(false) else local startTime, endTime = ArenaTopMatchManager.GetTopMatchTime() local leftTime = endTime - GetTimeStamp() if leftTime <= 0 then activityTabs[k].go.gameObject:SetActive(false) else activityTabs[k].go.gameObject:SetActive(true) activityTabs[k].timeText.text = TimeToHMS(leftTime) end end end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.FunType == FUNCTION_OPEN_TYPE.laddersChallenge then if LaddersArenaManager.GetStage() ~= 2 or LaddersArenaManager.Enterable() == -1 then activityTabs[k].go.gameObject:SetActive(false) else local peakednessTime= LaddersArenaManager.GetLeftTime()-435600 if peakednessTime > 0 then --九境巅峰时间定死为两天 activityTabs[k].timeText.text = TimeToHMS(peakednessTime) activityTabs[k].go.gameObject:SetActive(true) else activityTabs[k].go.gameObject:SetActive(false) end end elseif v.FunType == FUNCTION_OPEN_TYPE.PVEActivity then if PVEActivityManager.ActivityList() and #PVEActivityManager.ActivityList() > 0 then activityTabs[k].go.gameObject:SetActive(true) else activityTabs[k].go.gameObject:SetActive(false) end elseif v.FunType == FUNCTION_OPEN_TYPE.ValuePack then elseif v.FunType == FUNCTION_OPEN_TYPE.ExchangeAction then local state = false local allAct = ActivityGiftManager.GetActivityTypeInfoList(ActivityTypeDef.Exchange) for i = 1, #allAct do if ActivityGiftManager.IsQualifiledForId(allAct[i].activityId) and not not ActivityGiftManager.GetActivityInfoByType(allAct[i].activityId) then state = true break end end activityTabs[k].go.gameObject:SetActive(state) else activityTabs[k].go.gameObject:SetActive(false) end end else activityTabs[k].go.gameObject:SetActive(false) end end end --为限时折扣写的 function this:GetInfoList() local giftList = {} local infoList = OperatingManager.GetGiftGoodsInfoList(GoodsTypeDef.DirectPurchaseGift)--拿取所有类型5礼包信息(包含需要的礼包) local infoList2 = ConfigManager.GetAllConfigsDataByKey(ConfigName.RechargeCommodityConfig,"ShowType",21) for index, value in pairs(infoList) do for i = 1, #infoList2 do if infoList2[i].Id == value.goodsId then table.insert(giftList,value) end end end return giftList end --更改姓名刷新 function this.RefreshChangeName() if NameManager.GetRoleName() ~= "" then PlayerManager.nickName = NameManager.GetRoleName() end end --后台推送 function this.RefreshActivityBtn(context) for k, v in ipairs(activitys) do local ishow = DynamicActivityManager.IsQualifiled(v.Id) if ishow then if v.ActiveType > 0 and v.ActiveType == context.type then local activityId = ActivityGiftManager.IsActivityTypeOpen(v.ActiveType) if activityId and activityId > 0 and ActivityGiftManager.IsQualifiled(v.ActiveType) then if v.FunType and v.FunType == 41 then if v.Id == 209 then activityTabs[k].go.gameObject:SetActive(DailyRechargeManager.DailyRechargeExist() and not Util.GetGameObject(this.RightUpVertical, "tab4").activeSelf) else activityTabs[k].go.gameObject:SetActive(DailyRechargeManager.DailyRechargeExist() and not Util.GetGameObject(this.RightUpVertical, "tab209").activeSelf) end elseif v.ActiveType == 20000 then local tempConfig = ConfigManager.TryGetConfigDataByThreeKey(ConfigName.ActivityGroups,"ActId",GlobalActConfig[activityId].ShowArt,"PageType",0,"ActiveType:",v.ActiveType) if not tempConfig then tempConfig = ConfigManager.TryGetConfigDataByDoubleKey(ConfigName.ActivityGroups,"ActId",activityId,"PageType",0) end if tempConfig then activityTabs[k].img.sprite = Util.LoadSprite(tempConfig.Icon[1]) activityTabs[k].name.text = tempConfig.Sesc end activityTabs[k].go.gameObject:SetActive(context.status == 1) end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.FunType > 0 and v.FunType == context.type then if ActTimeCtrlManager.SingleFuncState(v.FunType) then if v.FunType and v.FunType == 41 then if v.Id == 209 then activityTabs[k].go.gameObject:SetActive(DailyRechargeManager.DailyRechargeExist() and not Util.GetGameObject(this.RightUpVertical, "tab4").activeSelf) else activityTabs[k].go.gameObject:SetActive(DailyRechargeManager.DailyRechargeExist() and not Util.GetGameObject(this.RightUpVertical, "tab209").activeSelf) end else activityTabs[k].go.gameObject:SetActive(context.status == 1) end else activityTabs[k].go.gameObject:SetActive(false) end end else activityTabs[k].go.gameObject:SetActive(false) end end isRefeshIcon = true end --客户端自己Show刷新 function this.RefreshActivityShow() this.RefreshEightGiftPreview() for k, v in ipairs(activitys) do local isShow = DynamicActivityManager.IsQualifiled(v.Id) -- if v.Id == 2008 then -- LogError(v.Id .. tostring(isShow)) -- end if isShow then if v.ActiveType < 1 and v.FunType < 1 then if v.ActId == 666 then --限时折扣 local giftList = {} giftList = OperatingManager.GetInfoList() if #giftList > 0 then local time = giftList[1].endTime - GetTimeStamp() if time < 1 then OperatingManager.RemoveItemInfoByType(GoodsTypeDef.DirectPurchaseGift, giftList[1].goodsId) activityTabs[k].go.gameObject:SetActive(false) else activityTabs[k].go.gameObject:SetActive(true) end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.ActId == 668 then --超值基金 -- 加入对月卡的判断 local isMonthCardActive = OperatingManager.IsMonthCardActive() local isOpen_128 = OperatingManager.IsBaseOpen(GoodsTypeDef.MONTHCARD_128) local isOpen_328 = OperatingManager.IsBaseOpen(GoodsTypeDef.MONTHCARD_328) activityTabs[k].go.gameObject:SetActive(isMonthCardActive and (isOpen_128 or isOpen_328)) if isMonthCardActive then local cardType = nil if isOpen_328 then cardType = GoodsTypeDef.MONTHCARD_328 end if not cardType and isOpen_128 then cardType = GoodsTypeDef.MONTHCARD_328 end if cardType then local data = OperatingManager.GetGiftGoodsInfo(cardType) if data then local time = data.endTime - PlayerManager.serverTime if time < 1 then activityTabs[k].go.gameObject:SetActive(false) else activityTabs[k].go.gameObject:SetActive(true) end end end end end elseif v.ActiveType > 0 then local activityId = ActivityGiftManager.IsActivityTypeOpen(v.ActiveType) local state = ActivityGiftManager.IsQualifiled(v.ActiveType) if v.Id == 209 or v.Id == 4 or v.Id == 2008 then state = ActivityGiftManager.IsQualifiled(v.ActiveType, activityId) end -- if v.Id == 2008 then -- LogError(v.Id..":"..tostring(activityId)..":"..tostring(state)) -- end if activityId and activityId > 0 and state then if v.ActiveType == 42 then if ActivityGiftManager.GetRewardState(42) ~= 3 then local endTime = ActivityGiftManager.GetTaskEndTime(ActivityTypeDef.SupremeHero) if endTime - PlayerManager.serverTime > 0 then activityTabs[k].go.gameObject:SetActive(true) if GuideManager.IsInMainGuide() or UIManager.IsOpen(UIName.GuidePanel) then else local isEject = PlayerPrefs.GetInt(PlayerManager.uid .. "SupremeHeroPopupisEject") == 0 if isEject then PlayerPrefs.SetInt(PlayerManager.uid .. "SupremeHeroPopupisEject", 1) UIManager.OpenPanel(UIName.SupremeHeroPopup) end end else activityTabs[k].go.gameObject:SetActive(false) end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.FunType and v.FunType == 41 then if v.Id == 209 then activityTabs[k].go.gameObject:SetActive(DailyRechargeManager.DailyRechargeExist() and not Util.GetGameObject(this.RightUpVertical, "tab4").activeSelf) else activityTabs[k].go.gameObject:SetActive(DailyRechargeManager.DailyRechargeExist() and not Util.GetGameObject(this.RightUpVertical, "tab209").activeSelf) end elseif v.ActiveType == 201 then activityTabs[k].go.gameObject:SetActive(ActivityGiftManager.IsQualifiled(v.ActiveType)) elseif v.ActiveType == 202 then activityTabs[k].go.gameObject:SetActive(ActivityGiftManager.IsQualifiled(v.ActiveType)) local data = ActivityGiftManager.GetActivityTypeInfo(202) if data then if data.mission[1].state == 1 then activityTabs[k].go.gameObject:SetActive(false) end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.ActiveType == ActivityTypeDef.SignInDays then activityTabs[k].go.gameObject:SetActive(true) -- elseif v.ActiveType == ActivityTypeDef.SignInDays then -- activityTabs[k].go.gameObject:SetActive(true) elseif v.ActiveType == 210 then activityTabs[k].go.gameObject:SetActive(GetActivityState(4002)) elseif v.ActiveType == 211 then activityTabs[k].go.gameObject:SetActive(GetActivityState(4003)) elseif v.ActiveType == 212 then activityTabs[k].go.gameObject:SetActive(GetActivityState(4005)) elseif v.ActiveType == 213 then activityTabs[k].go.gameObject:SetActive(GetActivityState(v.Id)) elseif v.ActiveType == 6004 then activityTabs[k].go.gameObject:SetActive(OperatingManager.GetNewcomerDiscountsIsSellout()) else activityTabs[k].go.gameObject:SetActive(true) end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.FunType > 0 then if ActTimeCtrlManager.SingleFuncState(v.FunType) then if v.FunType == FUNCTION_OPEN_TYPE.TOP_MATCH then local isActive = ArenaTopMatchManager.IsTopMatchActive() if isActive then local tmData = ArenaTopMatchManager.GetBaseData() if tmData.progress == -1 then--即将开启 activityTabs[k].go.gameObject:SetActive(false) elseif tmData.progress == -2 then--已结束 activityTabs[k].go.gameObject:SetActive(false) else activityTabs[k].go.gameObject:SetActive(true) end else activityTabs[k].go.gameObject:SetActive(false) end elseif v.FunType == FUNCTION_OPEN_TYPE.ThousandDraw then activityTabs[k].go.gameObject:SetActive(true) NetManager.ThousandDrawInfo(function (msg) activityTabs[k].go.gameObject:SetActive(msg.round > 0) end) elseif v.FunType == FUNCTION_OPEN_TYPE.laddersChallenge then if LaddersArenaManager.GetStage() ~= 2 or LaddersArenaManager.Enterable() == -1 then activityTabs[k].go.gameObject:SetActive(false) else activityTabs[k].go.gameObject:SetActive(true) end -- elseif v.FunType == FUNCTION_OPEN_TYPE.GUILD_BATTLE then -- activityTabs[k].go.gameObject:SetActive(true) elseif v.FunType == FUNCTION_OPEN_TYPE.PVEActivity then if PVEActivityManager.ActivityList() and #PVEActivityManager.ActivityList() > 0 then activityTabs[k].go.gameObject:SetActive(true) else activityTabs[k].go.gameObject:SetActive(false) end elseif v.FunType == 200 then activityTabs[k].go.gameObject:SetActive(true) elseif v.FunType == 205 then local state = false for i = 300, 309 do local activityId = ActivityGiftManager.GetActivityIdByType(i) if not state and activityId > 0 then state = true end end activityTabs[k].go.gameObject:SetActive(state) elseif v.FunType == 208 then activityTabs[k].go.gameObject:SetActive(GetActivityState(v.Id)) elseif v.FunType == 209 then activityTabs[k].go.gameObject:SetActive(GetActivityState(4004)) else activityTabs[k].go.gameObject:SetActive(true) end else activityTabs[k].go.gameObject:SetActive(false) end else activityTabs[k].go.gameObject:SetActive(false) end else activityTabs[k].go.gameObject:SetActive(false) end end end --刷新拍脸活动 function this.RefreshShowPatPaceActivity() PatFaceManager.RefreshPatface() end --外敌数据变化检测主界面npc显示状态 function this.OnAlienListChanged() this.InitFuncShow(FUNCTION_OPEN_TYPE.FIGHT_ALIEN) end --八日登录奖励预览 function this.RefreshEightGiftPreview() local state = false local getRewardState = ActivityGiftManager.sevenDayGetRewardState for i, v in pairs(getRewardState) do if v == 0 then state = true end end end --设置收缩按钮 function this.SetRetract() if this.timeRetract then this.timeRetract:Stop() this.timeRetract = nil end if isRetract then isRetract = false PlayerPrefs.SetInt(PlayerManager.uid.."isRetract", 1) this.RightUpGrid:GetComponent("Animator"):Play("X1_UI_MainPanel_GridClose") this.RightUpVertical:GetComponent("Animator"):Play("X1_UI_MainPanel_VerticalClose") this.timeRetract = Timer.New(function () this.RightUpGrid:SetActive(false) this.RightUpVertical:SetActive(false) this.timeRetract:Stop() this.btnRetractIcon.sprite = Util.LoadSprite("X1_zhucheng_huodong_zhankai") isRetractStart = false end, 0.25, -1, true) this.timeRetract:Start() else isRetract = true PlayerPrefs.SetInt(PlayerManager.uid.."isRetract", 0) this.RightUpGrid:SetActive(true) this.RightUpVertical:SetActive(true) this.RightUpGrid:GetComponent("Animator"):Play("X1_UI_MainPanel_GridOpen") this.RightUpVertical:GetComponent("Animator"):Play("X1_UI_MainPanel_VerticalOpen") this.timeRetract = Timer.New(function () this.timeRetract:Stop() this.btnRetractIcon.sprite = Util.LoadSprite("X1_zhucheng_huodong_shouqi") isRetractStart = false end, 0.25, -1, true) this.timeRetract:Start() end end --点击时检测功能 function this.FunctionClickEvent(funcId, callback) if not funcId or funcId == 0 or not callback then return end local isOpen = ActTimeCtrlManager.SingleFuncState(funcId) if isOpen then if callback then callback() end else PopupTipPanel.ShowTip(ActTimeCtrlManager.GetFuncTip(funcId)) end end -- 所有按钮的额外点击事件 function this.ScenceBtnClick(funcId) if ActTimeCtrlManager.IsQualifiled(funcId) then if funcId == FUNCTION_OPEN_TYPE.GUILD then this.operateNewText[FUNCTION_OPEN_TYPE.GUILD]:SetActive(false) this.BtView:CheckMainCityNew() end end FunctionOpenMananger.CleadNewText(funcId) end -- 绑定红点 function this.BindRedPoint() BindRedPointObject(RedPointType.Mail, this.mailRedPoint) BindRedPointObject(RedPointType.DailyTaskMain, this.DailyRedPoint) BindRedPointObject(RedPointType.Shop, this.rpShangdian) BindRedPointObject(RedPointType.Arena, this.rpJingjichang) BindRedPointObject(RedPointType.Friend, this.friendRed) BindRedPointObject(RedPointType.RankingSort, this.rankRed) BindRedPointObject(RedPointType.Recruit, this.rpRecruit) BindRedPointObject(RedPointType.BattlePassMission,this.btnBattlePassRedPoint) BindRedPointObject(RedPointType.ClimbTower,this.rpTower) BindRedPointObject(RedPointType.SpaceTimeBattlefield,this.rpColorfulWorld) BindRedPointObject(RedPointType.ResearchInstitute,this.rpEquipCompound) BindRedPointObject(RedPointType.BlackShop, this.rpBlackShop) BindRedPointObject(RedPointType.EnergyMain, this.rpEnergyBase) BindRedPointObject(RedPointType.PowerCenter, this.rpPowerCenter) -- BindRedPointObject(RedPointType.VipPrivilege, this.vipRedPoint) -- BindRedPointObject(RedPointType.Setting, this.headRedpot) -- BindRedPointObject(RedPointType.Alien, this.rpAlien) -- BindRedPointObject(RedPointType.SecretBox, this.rpSecretBox) -- BindRedPointObject(RedPointType.DiffMonster, this.rpYiYao) -- BindRedPointObject(RedPointType.SupremeHero, this.supremeRedPoint) -- BindRedPointObject(RedPointType.LuckyTurn, this.luckyTurnRedPoint) -- BindRedPointObject(RedPointType.FindFairy, this.findFairyRedPoint) -- BindRedPointObject(RedPointType.Achievement_Main, this.AchievementRedPoint) -- BindRedPointObject(RedPointType.DynamicActivity, this.DynamicActivityRedPoint) -- BindRedPointObject(RedPointType.Adjutant, this.btnFuguanRedPoint) end -- 清除红点 function this.ClearRedPoint() ClearRedPointObject(RedPointType.Mail, this.mailRedPoint) ClearRedPointObject(RedPointType.DailyTaskMain, this.DailyRedPoint) ClearRedPointObject(RedPointType.Shop, this.rpShangdian) ClearRedPointObject(RedPointType.Arena, this.rpJingjichang) ClearRedPointObject(RedPointType.Friend, this.friendRed) ClearRedPointObject(RedPointType.RankingSort, this.rankRed) ClearRedPointObject(RedPointType.Recruit, this.rpRecruit) ClearRedPointObject(RedPointType.BattlePassMission,this.btnBattlePassRedPoint) ClearRedPointObject(RedPointType.ClimbTower,this.rpTower) ClearRedPointObject(RedPointType.SpaceTimeBattlefield,this.rpColorfulWorld) ClearRedPointObject(RedPointType.ResearchInstitute,this.rpEquipCompound) ClearRedPointObject(RedPointType.BlackShop, this.rpBlackShop) ClearRedPointObject(RedPointType.EnergyMain, this.rpEnergyBase) ClearRedPointObject(RedPointType.PowerCenter, this.rpPowerCenter) -- ClearRedPointObject(RedPointType.VipPrivilege, this.vipRedPoint) -- ClearRedPointObject(RedPointType.Setting, this.headRedpot) -- ClearRedPointObject(RedPointType.SecretBox, this.rpSecretBox) -- ClearRedPointObject(RedPointType.Alien, this.rpAlien) -- ClearRedPointObject(RedPointType.DiffMonster, this.rpYiYao) -- ClearRedPointObject(RedPointType.SupremeHero, this.supremeRedPoint) -- ClearRedPointObject(RedPointType.LuckyTurn, this.luckyTurnRedPoint) -- ClearRedPointObject(RedPointType.FindFairy, this.findFairyRedPoint) -- ClearRedPointObject(RedPointType.Achievement_Main, this.AchievementRedPoint) -- ClearRedPointObject(RedPointType.DynamicActivity, this.DynamicActivityRedPoint) -- ClearRedPointObject(RedPointType.Adjutant, this.btnFuguanRedPoint) end -- 检测红点 function this.CheckRedPoint() CheckRedPointStatus(RedPointType.RankingSort) CheckRedPointStatus(RedPointType.ClimbTowerFreeTime) CheckRedPointStatus(RedPointType.BattlePassMission) CheckRedPointStatus(RedPointType.TreasureOfSl) CheckRedPointStatus(RedPointType.DynamicActTask) CheckRedPointStatus(RedPointType.ExchangeAction) CheckRedPointStatus(RedPointType.Operating) CheckRedPointStatus(RedPointType.ThousandDraw) CheckRedPointStatus(RedPointType.BlackShop) CheckRedPointStatus(RedPointType.AdjutantActivity) CheckRedPointStatus(RedPointType.LifeMemeberEveryDay) CheckRedPointStatus(RedPointType.NightmareInvasion) CheckRedPointStatus(RedPointType.LifeMemeberFree) CheckRedPointStatus(RedPointType.CardActivity) CheckRedPointStatus(RedPointType.BoxPool) CheckRedPointStatus(RedPointType.OpenService) CheckRedPointStatus(RedPointType.Expert_UpLv) CheckRedPointStatus(RedPointType.Expert_AdventureExper) CheckRedPointStatus(RedPointType.Expert_AreaExper) CheckRedPointStatus(RedPointType.Expert_UpStarExper) CheckRedPointStatus(RedPointType.Expert_EquipExper) CheckRedPointStatus(RedPointType.Expert_FightExper) CheckRedPointStatus(RedPointType.Expert_EnergyExper) CheckRedPointStatus(RedPointType.Expert_AccumulativeRecharge) CheckRedPointStatus(RedPointType.Expert_Talisman) CheckRedPointStatus(RedPointType.Expert_SoulPrint) CheckRedPointStatus(RedPointType.Expert_WeekCard) CheckRedPointStatus(RedPointType.HERO_STAR_GIFT) CheckRedPointStatus(RedPointType.Expert_FindTreasure) CheckRedPointStatus(RedPointType.Expert_LuckyTurn) CheckRedPointStatus(RedPointType.Expert_Recruit) CheckRedPointStatus(RedPointType.Expert_SecretBox) CheckRedPointStatus(RedPointType.Expert_UpLv) CheckRedPointStatus(RedPointType.ContinuityRecharge) CheckRedPointStatus(RedPointType.OpenServiceShop) CheckRedPointStatus(RedPointType.Discount) CheckRedPointStatus(RedPointType.Tokens) CheckRedPointStatus(RedPointType.PrivilegeCardPage) CheckRedPointStatus(RedPointType.PrivilegeCardThreePage) CheckRedPointStatus(RedPointType.PrivilegeTurn) CheckRedPointStatus(RedPointType.SeasonalActivity_Reward) CheckRedPointStatus(RedPointType.SeasonalActivity_Task) CheckRedPointStatus(RedPointType.Festival_rpLogin) CheckRedPointStatus(RedPointType.Festival_rpRecharge) CheckRedPointStatus(RedPointType.Festival_rpTask) CheckRedPointStatus(RedPointType.PhoneBuilding) CheckRedPointStatus(RedPointType.EnergyMain_BaseUpLv) CheckRedPointStatus(RedPointType.EnergyMain_BuildUpLv) CheckRedPointStatus(RedPointType.EnergyMain_RobotBuy) CheckRedPointStatus(RedPointType.PowerCenter) CheckRedPointStatus(RedPointType.EightTheLogin_2) end --收缩按钮的显隐 function this.RetractShow() local isShowActivity = 0 for i = 1, this.MiddleGrid.transform.childCount do if this.MiddleGrid.transform:GetChild(i - 1).gameObject.activeSelf then isShowActivity = isShowActivity + 1 end end for i = 1, this.RightUpVertical.transform.childCount do if this.RightUpVertical.transform:GetChild(i - 1).gameObject.activeSelf then isShowActivity = isShowActivity + 1 end end this.btnRetract:SetActive(isShowActivity > 1) end local isSunDay = false --是否是白天 --设置主界面按钮位置 function this.SetMainIconPos() local time = System.DateTime.Now.Hour if time >= 7 and time < 19 then isSunDay = true else isSunDay = false end this.dayScene:SetActive(isSunDay) this.nightScene:SetActive(not isSunDay) this.btnShangdian:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.SHOP) this.btnheishi:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.BlackShop) this.btnEquipInformationCenter:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.InvestigateCenter) this.btnzhihuan:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.HeroExchange) this.btnhecheng:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.ASSEMBLE) this.btnRecruit:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.RECURITY) this.btnFenjie:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.HERO_RESOLVE) this.btnColorfulWorld:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.TRIAL) this.btnElementDrawCard:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.ELEMENT_RECURITY) this.btnJingjichang:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.ARENA) this.btnEquipCompound:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.COMPOUND) this.btnTower:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.CLIMB_TOWER) this.btnInfiniteWar:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.laddersChallenge) this.btnBase:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.EnergyBase) this.btnPowerCenter:GetComponent("RectTransform").localPosition = this.GetBtnPos(FUNCTION_OPEN_TYPE.PowerCenter) end --获取按钮位置 function this.GetBtnPos(type) local pos local data = {} for index, value in ConfigPairs(mainPlanePoint) do if value.Type == type then data = value end end if isSunDay then pos = data.DayCoordinates else pos = data.NightCoordinates end return Vector3(pos[1],pos[2],0) end --弱引导 function this.ShowGuide() this.taskGuideFinger:SetActive(GuideManager.isShowGuide) this.battleGuideFinger:SetActive(false) GuideManager.isShowGuide = false if this.guideTimer then this.guideTimer:Stop() this.guideTimer = nil end local time = 5 this.guideTimer = Timer.New(function() if time < 0 then if this.guideTimer then this.guideTimer:Stop() this.guideTimer = nil end local task, battle = GuideManager.RefreshGuide() this.taskGuideFinger:SetActive(task) this.battleGuideFinger:SetActive(battle) GuideManager.isShowGuide = battle end time = time - 1 if GuideManager.IsInMainGuide() or UIManager.IsOpen(UIName.GuidePanel) then if this.guideTimer then this.guideTimer:Stop() this.guideTimer = nil end end end, 1, -1, true) this.guideTimer:Start() end --关闭弱引导 function this.CloseGuide() this.taskGuideFinger:SetActive(false) this.battleGuideFinger:SetActive(false) GuideManager.isShowGuide = false if this.guideTimer then this.guideTimer:Stop() this.guideTimer = nil end end --刷新战斗中图标 function this.RefreshInBattle() Util.GetGameObject(this.btnTower, "open/Inbattle"):SetActive(false) Util.GetGameObject(this.btnInfiniteWar, "open/Inbattle"):SetActive(false) Util.GetGameObject(this.btnJingjichang, "open/Inbattle"):SetActive(false) Util.GetGameObject(this.btnColorfulWorld, "open/Inbattle"):SetActive(false) if BattleManager.IsInBackBattle() then if BattleManager.battleType == BATTLE_TYPE.Climb_Tower or BattleManager.battleType == BATTLE_TYPE.Climb_Tower_Advance then Util.GetGameObject(this.btnTower, "open/Inbattle"):SetActive(true) elseif BattleManager.battleType == BATTLE_TYPE.Ladders_Challenge then Util.GetGameObject(this.btnInfiniteWar, "open/Inbattle"):SetActive(true) elseif BattleManager.battleType == BATTLE_TYPE.BACK then Util.GetGameObject(this.btnJingjichang, "open/Inbattle"):SetActive(true) elseif BattleManager.battleType == BATTLE_TYPE.DAILY_CHALLENGE or BattleManager.battleType == BATTLE_TYPE.GUILD_CAR_DELAY or BattleManager.battleType == BATTLE_TYPE.REDCLIFF or BattleManager.battleType == BATTLE_TYPE.ALAMEIN_WAR then Util.GetGameObject(this.btnColorfulWorld, "open/Inbattle"):SetActive(true) end end end function this.InitPictureQuality() local level = PlayerPrefs.GetInt("Picture_quality"..PlayerManager.uid) if level ~= nil and level ~= "" and level ~= 0 then if level == 1 then AppConst.GameFrameRate = 15 elseif level == 2 then AppConst.GameFrameRate = 30 elseif level == 3 then AppConst.GameFrameRate = 60 end end end return MainPanel