diff --git a/Assets/ManagedResources/Prefabs/UI/FightLevel/FightLevelChapterPanel.prefab b/Assets/ManagedResources/Prefabs/UI/FightLevel/FightLevelChapterPanel.prefab index ddd6c79f1e..3358555804 100644 --- a/Assets/ManagedResources/Prefabs/UI/FightLevel/FightLevelChapterPanel.prefab +++ b/Assets/ManagedResources/Prefabs/UI/FightLevel/FightLevelChapterPanel.prefab @@ -1,5 +1,297 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &816672168 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 816672169} + - component: {fileID: 816672173} + - component: {fileID: 816672172} + - component: {fileID: 816672171} + - component: {fileID: 816672170} + m_Layer: 5 + m_Name: rewardBtn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &816672169 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 816672168} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.99978596, y: 0.99978596, z: 0.99978596} + m_Children: + - {fileID: 1731241073} + - {fileID: 2097978075} + m_Father: {fileID: 2461825146493731649} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -85.29999, y: -443} + m_SizeDelta: {x: 126, y: 126} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &816672173 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 816672168} + m_CullTransparentMesh: 0 +--- !u!114 &816672172 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 816672168} + 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: 56e562f2e809ff74f93897fff77286b0, 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!114 &816672171 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 816672168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 3 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 816672172} + m_OnClick: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!95 &816672170 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 816672168} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 6ffe000b5a58aac48a9d130543849d76, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!1 &1731241072 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1731241073} + - component: {fileID: 1731241075} + - component: {fileID: 1731241074} + m_Layer: 5 + m_Name: red + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1731241073 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1731241072} + 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: 816672169} + m_RootOrder: 0 + 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: 43.1, y: 43.6} + m_SizeDelta: {x: 30, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1731241075 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1731241072} + m_CullTransparentMesh: 0 +--- !u!114 &1731241074 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1731241072} + 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 &2097978074 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2097978075} + - component: {fileID: 2097978077} + - component: {fileID: 2097978076} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2097978075 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2097978074} + 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: 816672169} + m_RootOrder: 1 + 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: 0, y: -80} + m_SizeDelta: {x: 160, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2097978077 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2097978074} + m_CullTransparentMesh: 0 +--- !u!114 &2097978076 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2097978074} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, 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_FontData: + m_Font: {fileID: 12800000, guid: 6fa15837529b0e640af6620b07d3207d, type: 3} + m_FontSize: 28 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u53EF\u9886\u53D6" --- !u!1 &178302883200831386 GameObject: m_ObjectHideFlags: 0 @@ -583,6 +875,7 @@ RectTransform: - {fileID: 5508371999346995973} - {fileID: 2461572105942810881} - {fileID: 5508372000661152921} + - {fileID: 816672169} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua b/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua index 4761582868..8d460d950c 100644 --- a/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua +++ b/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua @@ -959,6 +959,8 @@ RedPointType = { FightLevel = 802,--山河社稷图入口 JourneyWithWind = 804,--缥缈之旅 FightLevelTrial = 8021,--山河试炼 + FightLevelBoxReward = 8022,--山河社稷图宝箱奖励 + FightLevelDailyReward = 8023,--山河试炼每日奖励 --化虚坛 Huaxutan = 803,--化虚坛主界面红点 Huaxutan_CompoundHero = 8031,--化虚坛英雄合成红点 diff --git a/Assets/ManagedResources/~Lua/Logic/GameEvent.lua b/Assets/ManagedResources/~Lua/Logic/GameEvent.lua index b945e3a2d7..cbaefbddbe 100644 --- a/Assets/ManagedResources/~Lua/Logic/GameEvent.lua +++ b/Assets/ManagedResources/~Lua/Logic/GameEvent.lua @@ -482,6 +482,7 @@ GameEvent = { --山河社稷图 FightLevel={ MainLevelInfoRefresh = "FightLevel.MainLevelInfoRefresh",--主关卡详情界面属性 + DailyRewardStateChange = "FightLevel.DailyRewardStateChange",--每日奖励状态变化 }, --心魔试炼 MonsterCamp={ diff --git a/Assets/ManagedResources/~Lua/Modules/FightLevel/FightLevelChapterPanel.lua b/Assets/ManagedResources/~Lua/Modules/FightLevel/FightLevelChapterPanel.lua index c7f2de00bf..41c72efc4c 100644 --- a/Assets/ManagedResources/~Lua/Modules/FightLevel/FightLevelChapterPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/FightLevel/FightLevelChapterPanel.lua @@ -19,6 +19,11 @@ function FightLevelChapterPanel:InitComponent() this.prb, nil, Vector2.New(1080, 1865.8), 1, 1, Vector2.New(0,0)) this.ScrollView.moveTween.MomentumAmount = 1 this.ScrollView.moveTween.Strength = 1 + + -- 奖励按钮 + self.rewardBtn = Util.GetGameObject(self.gameObject, "rewardBtn") + self.rewardRedPot = Util.GetGameObject(self.gameObject, "rewardBtn/red") + self.rewardTip = Util.GetGameObject(self.gameObject, "rewardBtn/Text"):GetComponent("Text") end --绑定事件(用于子类重写) @@ -33,6 +38,23 @@ function FightLevelChapterPanel:BindEvent() Util.AddClick(self.sortBtn, function() UIManager.OpenPanel(UIName.RankingSingleListPanel,rankKingList[15],1) end) + Util.AddClick(self.rewardBtn, function() + -- 请求领取奖励 + FightLevelManager.RequestGetDailyReward() + end) +end +--添加事件监听(用于子类重写) +function FightLevelChapterPanel:AddListener() + Game.GlobalEvent:AddEvent(GameEvent.FightLevel.DailyRewardStateChange, self.SetDailyRewardShow, self) + + BindRedPointObject(RedPointType.FightLevelDailyReward, self.rewardRedPot) +end + +--移除事件监听(用于子类重写) +function FightLevelChapterPanel:RemoveListener() + Game.GlobalEvent:RemoveEvent(GameEvent.FightLevel.DailyRewardStateChange, self.SetDailyRewardShow, self) + + ClearRedPointObject(RedPointType.FightLevelDailyReward, self.rewardRedPot) end function FightLevelChapterPanel:OnSortingOrderChange() orginLayer = self.sortingOrder @@ -125,6 +147,17 @@ function this.SingleChapterDataShow(go, data) end end) end + +-- 设置日常奖励显示 +function FightLevelChapterPanel:SetDailyRewardShow() + local data = FightLevelManager.GetDailyRewardData() + if data and data.state == 0 then + self.rewardTip.text = "可领取" + else + self.rewardTip.text = "明日刷新" + end +end + --界面关闭时调用(用于子类重写) function FightLevelChapterPanel:OnClose() end diff --git a/Assets/ManagedResources/~Lua/Modules/FightLevel/FightLevelManager.lua b/Assets/ManagedResources/~Lua/Modules/FightLevel/FightLevelManager.lua index 193ff8320a..cf2243c706 100644 --- a/Assets/ManagedResources/~Lua/Modules/FightLevel/FightLevelManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/FightLevel/FightLevelManager.lua @@ -84,8 +84,11 @@ function this.UpdataChapterData(msg,_isShowChapterOpenPopup) table.sort(singleHardStageChapter.reward, function(a,b) return a.id < b.id end) allChapterData[msg.chapter[i].chapterId] = singleHardStageChapter end - CheckRedPointStatus(RedPointType.FightLevel) + CheckRedPointStatus(RedPointType.FightLevelBoxReward) PracticeManager.StarNum = FightLevelManager.GetAllChapterStars() + + -- 设置每日奖励数据 + this.SetDailyRewardData({state = 0}) end end --获取整个章节信息 @@ -349,4 +352,38 @@ function this.CheckTrialRedPoint() end --===================================================================== +-- 设置山河社稷图每日奖励数据 +local _DailyRewardData = {} +function this.SetDailyRewardData(data) + _DailyRewardData = {} + _DailyRewardData.state = data.state -- 0 未领取 1 已领取 + -- 刷新红点状态 + CheckRedPointStatus(RedPointType.FightLevelDailyReward) +end +function this.GetDailyRewardData() + return _DailyRewardData +end +-- 请求领取每日奖励 +function this.RequestGetDailyReward() + -- + if not _DailyRewardData.state or _DailyRewardData.state ~= 0 then + PopupTipPanel.ShowTip("今日已领取,请明日再来!") + return + end + _DailyRewardData.state = 1 + -- 刷新红点状态 + CheckRedPointStatus(RedPointType.FightLevelDailyReward) + -- 触发状态改变 + Game.GlobalEvent:DispatchEvent(GameEvent.FightLevel.DailyRewardStateChange) + +end + +-- 检测红点状态 +function this.CheckDailyRewardRed() + if _DailyRewardData.state and _DailyRewardData.state == 0 then + return true + end +end + + return this \ No newline at end of file diff --git a/Assets/ManagedResources/~Lua/Modules/FightLevel/FightLevelSingleChapterPanel.lua b/Assets/ManagedResources/~Lua/Modules/FightLevel/FightLevelSingleChapterPanel.lua index 4dab55632f..aad6a2a8dc 100644 --- a/Assets/ManagedResources/~Lua/Modules/FightLevel/FightLevelSingleChapterPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/FightLevel/FightLevelSingleChapterPanel.lua @@ -316,7 +316,7 @@ function this.SetlevelBox(_rewardBoxDatas) NetManager.GetHardStageChapterReward(chapterData.chapterId,missionConfigData.Id,function(msg) --自己刷新一下宝箱数据 FightLevelManager.SetChapterBoxRewardData(chapterData.chapterId,missionConfigData.Id,1) - CheckRedPointStatus(RedPointType.FightLevel) + CheckRedPointStatus(RedPointType.FightLevelBoxReward) UIManager.OpenPanel(UIName.RewardItemPopup,msg.drop, 1,function()--isBackBattle true时 为回放不走回调 if chapterData.reward and LengthOfTable(chapterData.reward) > 0 then this.SetlevelBox(chapterData.reward) diff --git a/Assets/ManagedResources/~Lua/Modules/Player/RedpotManager.lua b/Assets/ManagedResources/~Lua/Modules/Player/RedpotManager.lua index a91dc77001..337b3b3180 100644 --- a/Assets/ManagedResources/~Lua/Modules/Player/RedpotManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Player/RedpotManager.lua @@ -307,6 +307,11 @@ function this.InitRedPointAllRelate() RPData:SetParent(RedPointType.QiJieShiLian, RedPointType.JumpServer_MainCity) --玉虚论道 RPData:SetParent(RedPointType.WorldArena_reward, RedPointType.JumpServer_MainCity) + -- 山河社稷图 + RPData:SetParent(RedPointType.FightLevelBoxReward, RedPointType.FightLevel) + RPData:SetParent(RedPointType.FightLevelDailyReward, RedPointType.FightLevel) + + for k,v in ConfigPairs(ConfigManager.GetConfig(ConfigName.ActivityGroups)) do if v.RpType > 0 and v.RpTypeParent > 0 then RPData:SetParent(v.RpType,v.RpTypeParent) @@ -498,7 +503,9 @@ function this.RegisterRedCheckFunc() RPData:AddCheckFunc(RedPointType.QinglongSerectTreasure, QinglongSerectTreasureManager.GetQinglongSerectTreasureRedPot) RPData:AddCheckFunc(RedPointType.QinglongSerectTreasureTrail, QinglongSerectTreasureManager.GetSerectTreasureTrailRedPot) - RPData:AddCheckFunc(RedPointType.FightLevel, FightLevelManager.GetChapterRewardBoxRedPoint) + -- 山河社稷图相关 + RPData:AddCheckFunc(RedPointType.FightLevelBoxReward, FightLevelManager.GetChapterRewardBoxRedPoint, FUNCTION_OPEN_TYPE.FIGHTLEVEL) + RPData:AddCheckFunc(RedPointType.FightLevelDailyReward, FightLevelManager.CheckDailyRewardRed, FUNCTION_OPEN_TYPE.FIGHTLEVEL) RPData:AddCheckFunc(RedPointType.JourneyWithWind, ActivityGiftManager.JourneyWithWindAllRedPointState) RPData:AddCheckFunc(RedPointType.WeekGiftPage,OperatingManager.CheckWeekGiftPageRedPoint)