diff --git a/Assets/ManagedResources/Prefabs/UI/Arena/ArenaTypePanel.prefab b/Assets/ManagedResources/Prefabs/UI/Arena/ArenaTypePanel.prefab index d2abf65eb7..4cd7d84247 100644 --- a/Assets/ManagedResources/Prefabs/UI/Arena/ArenaTypePanel.prefab +++ b/Assets/ManagedResources/Prefabs/UI/Arena/ArenaTypePanel.prefab @@ -2768,6 +2768,7 @@ RectTransform: - {fileID: 2385239086109421239} - {fileID: 1428837792570774017} - {fileID: 7712958004665515125} + - {fileID: 7547531893067107369} m_Father: {fileID: 2857972376571971649} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -3713,6 +3714,80 @@ MonoBehaviour: m_LineSpacing: 1 m_Text: "\uFF08\u5269\u4F59\u65F6\u95F4\uFF1A05:02:53\uFF09" LanguageIndex: 0 +--- !u!1 &7522880641492123688 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7547531893067107369} + - component: {fileID: 8406271168967774699} + - component: {fileID: 7353228421727760806} + m_Layer: 0 + m_Name: redpot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7547531893067107369 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7522880641492123688} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 5676066250249380744} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 260, y: 151} + m_SizeDelta: {x: 30, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8406271168967774699 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7522880641492123688} + m_CullTransparentMesh: 0 +--- !u!114 &7353228421727760806 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7522880641492123688} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: f9ea4c4aff328ff4abcc21aae0a4fa10, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 --- !u!1 &7998630011325784670 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/ManagedResources/~Lua/Modules/Arena/ArenaTypePanel.lua b/Assets/ManagedResources/~Lua/Modules/Arena/ArenaTypePanel.lua index 627b74cec2..df28abc81d 100644 --- a/Assets/ManagedResources/~Lua/Modules/Arena/ArenaTypePanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/Arena/ArenaTypePanel.lua @@ -2,7 +2,8 @@ local ArenaTypePanel = Inherit(BasePanel) local this = ArenaTypePanel - +local state=0 +local tipStr=nil --初始化组件(用于子类重写) function ArenaTypePanel:InitComponent() this.spLoader = SpriteLoader.New() @@ -21,10 +22,12 @@ function ArenaTypePanel:InitComponent() this.TopMatch_Name = Util.GetGameObject(this.btnTopMatch, "Name"):GetComponent("Text") this.TopMatch_Season = Util.GetGameObject(this.TopMatch_Normal, "Season/Text"):GetComponent("Text") this.TopMatch_SeasonTime = Util.GetGameObject(this.TopMatch_Normal, "Season/Time"):GetComponent("Text") + this.TopMatch_StageObj = Util.GetGameObject(this.TopMatch_Normal, "Stage") + this.TopMatch_BestRankObj = Util.GetGameObject(this.TopMatch_Normal, "BestRank") this.TopMatch_Stage = Util.GetGameObject(this.TopMatch_Normal, "Stage/Text"):GetComponent("Text") this.TopMatch_Rank = Util.GetGameObject(this.TopMatch_Normal, "MyRank/Text"):GetComponent("Text") this.TopMatch_BestRank = Util.GetGameObject(this.TopMatch_Normal, "BestRank/Text"):GetComponent("Text") - + this.TopMatch_Red = Util.GetGameObject(this.btnTopMatch, "bg/redpot") this.TopMatch_Lock = Util.GetGameObject(this.btnTopMatch, "lock") this.TopMatch_Lock_Title = Util.GetGameObject(this.TopMatch_Lock, "Season"):GetComponent("Text") this.TopMatch_Lock_Time = Util.GetGameObject(this.TopMatch_Lock, "Season/Time"):GetComponent("Text") @@ -41,20 +44,18 @@ function ArenaTypePanel:BindEvent() JumpManager.GoJump(8001) end) Util.AddClick(this.btnTopMatch, function() - --local isActive = ArenaTopMatchManager.IsTopMatchActive() - --local data = ArenaTopMatchManager.GetBaseData() - --if not isActive and data.progress == -2 then - -- PopupTipPanel.ShowTip("本赛季巅峰赛已结束") - -- return - --end - --JumpManager.GoJump(57001) - local isOpen = ActTimeCtrlManager.IsSwitchOpen(FUNCTION_OPEN_TYPE.TOP_MATCH) - if not isOpen then - PopupTipPanel.ShowTip("巅峰赛暂未开放") - return + -- local isOpen = ActTimeCtrlManager.IsSwitchOpen(FUNCTION_OPEN_TYPE.TOP_MATCH) + -- if not isOpen then + -- PopupTipPanel.ShowTip("巅峰赛暂未开放") + -- return + -- end + --UIManager.OpenPanel(UIName.ArenaTopMatchPanel) + if state<1 then + PopupTipPanel.ShowTip(tipStr) + return end - UIManager.OpenPanel(UIName.ArenaTopMatchPanel) + UIManager.OpenPanel(UIName.JumpServerHightLadderPanel) end) Util.AddClick(this.btnBack, function() PlaySoundWithoutClick(SoundConfig.Sound_UICancel) @@ -68,6 +69,8 @@ function ArenaTypePanel:BindEvent() end) BindRedPointObject(RedPointType.Arena_Type_Normal, this.btnArenaRedpot) + BindRedPointObject(RedPointType.JumpServer_HightLadder, this.TopMatch_Red) + end --添加事件监听(用于子类重写) @@ -101,15 +104,24 @@ function ArenaTypePanel:OnShow() this.RefreshArenaShow() end) end) - -- 巅峰战 - ArenaTopMatchManager.RequestTopMatchBaseInfo(function() + --罗浮争锋 + JumpServerManager.GetWorldArenaInfoRequest(function() this.RefreshTopMatchShow() -- 计时器 if this.TimeCounter then return end this.TimeCounter = Timer.New(this.TimeUpdate, 1, -1, true) this.TimeCounter:Start() this.TimeUpdate() - end) + end) + -- 巅峰战 + -- ArenaTopMatchManager.RequestTopMatchBaseInfo(function() + -- this.RefreshTopMatchShow() + -- -- 计时器 + -- if this.TimeCounter then return end + -- this.TimeCounter = Timer.New(this.TimeUpdate, 1, -1, true) + -- this.TimeCounter:Start() + -- this.TimeUpdate() + -- end) end -- 刷新竞技场显示 @@ -132,33 +144,83 @@ end -- 刷新巅峰战显示 function this.RefreshTopMatchShow() - local isOpen = ActTimeCtrlManager.IsSwitchOpen(FUNCTION_OPEN_TYPE.TOP_MATCH) - if isOpen then - this.TopMatch_Normal:SetActive(true) - this.TopMatch_Lock:SetActive(false) - local serData = ActTimeCtrlManager.GetSerDataByTypeId(FUNCTION_OPEN_TYPE.TOP_MATCH) + -- local isOpen = ActTimeCtrlManager.IsSwitchOpen(FUNCTION_OPEN_TYPE.TOP_MATCH) + -- if isOpen then + -- this.TopMatch_Normal:SetActive(true) + -- this.TopMatch_Lock:SetActive(false) + -- local serData = ActTimeCtrlManager.GetSerDataByTypeId(FUNCTION_OPEN_TYPE.TOP_MATCH) + -- if serData then + -- local startDate = os.date("%m.%d", serData.startTime) + -- local endDate = os.date("%m.%d", serData.endTime) + -- this.TopMatch_Season.text = string.format("%s-%s", startDate, endDate) + -- else + -- this.TopMatch_Season.text = "暂未开放" + -- end + + -- local tmData = ArenaTopMatchManager.GetBaseData() + -- local titleName, stageName = ArenaTopMatchManager.GetCurTopMatchName() + -- this.TopMatch_Name.text = titleName + -- this.TopMatch_Stage.text = stageName + -- this.TopMatch_Rank.text = tmData.myrank <= 0 and Language[10036] or ArenaTopMatchManager.GetRankNameByRank(tmData.myrank) + -- this.TopMatch_BestRank.text = tmData.maxRank <= 0 and Language[10086] or this.GetRankName(tmData.maxRank) + -- else + -- this.TopMatch_Normal:SetActive(false) + -- this.TopMatch_Lock:SetActive(true) + + -- local titleName, stageName = ArenaTopMatchManager.GetCurTopMatchName() + -- this.TopMatch_Name.text = titleName + + -- this.TopMatch_Lock_Title.text = string.format("%s解锁", ActTimeCtrlManager.GetSwitchOpenTip(FUNCTION_OPEN_TYPE.TOP_MATCH)) + -- end + + this.TopMatch_Name.text = "罗浮争锋" + --判断功能是否开启 + + if not ActTimeCtrlManager.IsQualifiled(FUNCTION_OPEN_TYPE.JumpServer_HightLadder) then + state = -1 + tipStr = ActTimeCtrlManager.GetFuncTip( FUNCTION_OPEN_TYPE.JumpServer_HightLadder) + end + --判断世界等级是否够 + local conFigWorldLevel = ConfigManager.GetConfigData(ConfigName.MServerArenaSetting,1).WorldLevel + if PlayerManager.worldLeve < conFigWorldLevel then --如果世界等级不足 + state = -2 + tipStr = string.format("世界等级到达%s后开启!",conFigWorldLevel) + end + --判断是否在赛季中 + if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.JumpServer_HightLadder) == false then --如果未解锁 + state = -3 + tipStr = "赛季过渡中!" + end + if not JumpServerManager.GetHightLadderDataIsStart() then + state = -4 + tipStr = string.format("开服第%s周开放!",ConfigManager.GetConfigData(ConfigName.MServerArenaSetting,1).OpenWeek) + elseif not JumpServerManager.GetHightLadderDataIsGroup() then + state = -5 + tipStr = "未划分跨服分组,无法参与!" + else + state = 1 + tipStr = "" + end + if state<1 then + this.TopMatch_Normal:SetActive(false) + this.TopMatch_Lock:SetActive(true) + this.TopMatch_Name.text = "未达到开启条件" + this.TopMatch_Lock_Title.text = tipStr + else + local serData = ActTimeCtrlManager.GetSerDataByTypeId(FUNCTION_OPEN_TYPE.JumpServer_HightLadder) if serData then local startDate = os.date("%m.%d", serData.startTime) local endDate = os.date("%m.%d", serData.endTime) this.TopMatch_Season.text = string.format("%s-%s", startDate, endDate) + this.TopMatch_StageObj:SetActive(false) + this.TopMatch_BestRankObj:SetActive(false) + local rank=JumpServerManager.GetHightLadderDataMyRank() <= 1000 and JumpServerManager.GetHightLadderDataMyRank() or "1000+" + this.TopMatch_Rank.text=rank else this.TopMatch_Season.text = "暂未开放" end - - local tmData = ArenaTopMatchManager.GetBaseData() - local titleName, stageName = ArenaTopMatchManager.GetCurTopMatchName() - this.TopMatch_Name.text = titleName - this.TopMatch_Stage.text = stageName - this.TopMatch_Rank.text = tmData.myrank <= 0 and Language[10036] or ArenaTopMatchManager.GetRankNameByRank(tmData.myrank) - this.TopMatch_BestRank.text = tmData.maxRank <= 0 and Language[10086] or this.GetRankName(tmData.maxRank) - else - this.TopMatch_Normal:SetActive(false) - this.TopMatch_Lock:SetActive(true) - - local titleName, stageName = ArenaTopMatchManager.GetCurTopMatchName() - this.TopMatch_Name.text = titleName - - this.TopMatch_Lock_Title.text = string.format("%s解锁", ActTimeCtrlManager.GetSwitchOpenTip(FUNCTION_OPEN_TYPE.TOP_MATCH)) + this.TopMatch_Normal:SetActive(true) + this.TopMatch_Lock:SetActive(false) end end @@ -190,7 +252,7 @@ function this.TimeUpdate() end this.Arena_SeasonTime.text = string.format(Language[10090], TimeToHMS(leftTime)) - local isOpen = ActTimeCtrlManager.IsSwitchOpen(FUNCTION_OPEN_TYPE.TOP_MATCH) + local isOpen = ActTimeCtrlManager.IsSwitchOpen(FUNCTION_OPEN_TYPE.JumpServer_HightLadder) if isOpen then local isActive = ArenaTopMatchManager.IsTopMatchActive() local startTime, endTime = ArenaTopMatchManager.GetTopMatchTime() @@ -233,6 +295,7 @@ end function ArenaTypePanel:OnDestroy() this.spLoader:Destroy() ClearRedPointObject(RedPointType.Arena_Type_Normal, this.btnArenaRedpot) + ClearRedPointObject(RedPointType.JumpServer_HightLadder, this.TopMatch_Red) -- SubUIManager.Close(this.UpView) if this.TimeCounter then this.TimeCounter:Stop() diff --git a/Assets/ManagedResources/~Lua/Modules/JumpServer/JumpServerPanel.lua b/Assets/ManagedResources/~Lua/Modules/JumpServer/JumpServerPanel.lua index 1d85cf6348..94578280ee 100644 --- a/Assets/ManagedResources/~Lua/Modules/JumpServer/JumpServerPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/JumpServer/JumpServerPanel.lua @@ -3,26 +3,26 @@ JumpServerPanel = Inherit(BasePanel) local specialConfig = ConfigManager.GetConfig(ConfigName.SpecialConfig) local globalSys = ConfigManager.GetConfig(ConfigName.GlobalSystemConfig) local type = { - [JumpServer_Type.HightLadder] = { - id = JumpServer_Type.HightLadder, --跨服天梯 - funcId = FUNCTION_OPEN_TYPE.JumpServer_HightLadder, - sort = 1, - bg = "r_Dungeon_rendi_03", - name = "k_kuafuwanfa_luofuzhengfeng", - live = "m_chsm_0035_png", - livePos = Vector2(274.5, -408.1), - liveSize = Vector2(1612, 1802), - tipBg = "r_Dungeon_juqingdian", - resetTime = string.format("%s",specialConfig[97].Value), - tip = string.format("%s",specialConfig[97].Value), - redPointType = RedPointType.JumpServer_HightLadder, - tipStr = "", - state = 0 - }, + -- [JumpServer_Type.HightLadder] = { + -- id = JumpServer_Type.HightLadder, --跨服天梯 + -- funcId = FUNCTION_OPEN_TYPE.JumpServer_HightLadder, + -- sort = 2, + -- bg = "r_Dungeon_rendi_03", + -- name = "k_kuafuwanfa_luofuzhengfeng", + -- live = "m_chsm_0035_png", + -- livePos = Vector2(274.5, -408.1), + -- liveSize = Vector2(1612, 1802), + -- tipBg = "r_Dungeon_juqingdian", + -- resetTime = string.format("%s",specialConfig[97].Value), + -- tip = string.format("%s",specialConfig[97].Value), + -- redPointType = RedPointType.JumpServer_HightLadder, + -- tipStr = "", + -- state = 0 + -- }, [JumpServer_Type.YuXuLunDao] = { id = JumpServer_Type.YuXuLunDao, funcId = FUNCTION_OPEN_TYPE.JumpServer_YuXu, - sort = 2, + sort = 1, bg = "r_Dungeon_rendi_01", name = "y_yuxulundao_yuxurukou_zh", live = "lingjijuyuan", diff --git a/Assets/ManagedResources/~Lua/Modules/Player/RedpotManager.lua b/Assets/ManagedResources/~Lua/Modules/Player/RedpotManager.lua index 76c0717663..2b05a41eee 100644 --- a/Assets/ManagedResources/~Lua/Modules/Player/RedpotManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Player/RedpotManager.lua @@ -280,7 +280,8 @@ function this.InitRedPointAllRelate() --跨服天梯 RPData:SetParent(RedPointType.JumpServer_HightLadder_HaveMianFeiPanel, RedPointType.JumpServer_HightLadder) RPData:SetParent(RedPointType. JumpServer_HightLadder_Worship, RedPointType.JumpServer_HightLadder) - RPData:SetParent(RedPointType. JumpServer_HightLadder, RedPointType.JumpServer_MainCity) + --RPData:SetParent(RedPointType. JumpServer_HightLadder, RedPointType.JumpServer_MainCity) + RPData:SetParent(RedPointType. JumpServer_HightLadder, RedPointType.Arena) --鸿蒙阵 RPData:SetParent(RedPointType.HongMeng_Evory,RedPointType.HongMeng) RPData:SetParent(RedPointType.HongMeng_OpenBox,RedPointType.HongMeng)