From d601794a17ffafbd6a13fc070c7969b3b87bbd9a Mon Sep 17 00:00:00 2001 From: ZhangBiao Date: Thu, 24 Sep 2020 20:47:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E7=95=8C=E9=99=8D=E9=AD=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UI/DemonSlayer/DemonSlayerPanel.prefab | 142 +++++++++++++++++- .../~Lua/Common/GlobalDefine.lua | 1 + .../Modules/DemonSlayer/DemonSlayerPanel.lua | 69 ++++++--- 3 files changed, 192 insertions(+), 20 deletions(-) diff --git a/Assets/ManagedResources/Prefabs/UI/DemonSlayer/DemonSlayerPanel.prefab b/Assets/ManagedResources/Prefabs/UI/DemonSlayer/DemonSlayerPanel.prefab index 9cd28e5465..ef66801b2e 100644 --- a/Assets/ManagedResources/Prefabs/UI/DemonSlayer/DemonSlayerPanel.prefab +++ b/Assets/ManagedResources/Prefabs/UI/DemonSlayer/DemonSlayerPanel.prefab @@ -108,6 +108,7 @@ RectTransform: - {fileID: 2607440008911085651} - {fileID: 7862053694005184299} - {fileID: 4321201285116647711} + - {fileID: 6500217216412514337} - {fileID: 1521978834825353981} - {fileID: 4586004887215018052} m_Father: {fileID: 0} @@ -577,6 +578,143 @@ MonoBehaviour: m_ChildForceExpandHeight: 0 m_ChildControlWidth: 0 m_ChildControlHeight: 0 +--- !u!1 &1960173558101666768 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6500217216412514337} + - component: {fileID: 9085481190610419044} + - component: {fileID: 8277415564737233811} + - component: {fileID: 281930205461826955} + - component: {fileID: 7487000035460458452} + m_Layer: 0 + m_Name: RankList + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6500217216412514337 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960173558101666768} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 95.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 482684183697153721} + m_RootOrder: 3 + 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: 449, y: 763} + m_SizeDelta: {x: 126, y: 126} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9085481190610419044 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960173558101666768} + m_CullTransparentMesh: 0 +--- !u!114 &8277415564737233811 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960173558101666768} + 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: c251917021df94c46b61f34d82cd0661, 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 &281930205461826955 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960173558101666768} + 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: 8277415564737233811} + 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 &7487000035460458452 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960173558101666768} + 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 &1985094837356846046 GameObject: m_ObjectHideFlags: 0 @@ -1320,7 +1458,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 482684183697153721} - m_RootOrder: 4 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -1458,7 +1596,7 @@ RectTransform: m_Children: - {fileID: 8130900309674514050} m_Father: {fileID: 482684183697153721} - m_RootOrder: 3 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1} diff --git a/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua b/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua index ff363d0020..25540f67b8 100644 --- a/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua +++ b/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua @@ -2065,6 +2065,7 @@ rankKingList={ [1] = { bgImage = "r_zjm_paihangbang_banner04", name = Language[1 [8] = { bgImage = "r_zjm_paihangbang_banner01", name = Language[12387] ,rankType = RANK_TYPE.GUILDTRANSCRIPT,activiteId = 0,isRankingMainPanelShow = false}, [9] = { bgImage = "r_zjm_paihangbang_banner01", name = Language[12386] ,rankType = RANK_TYPE.GOLD_EXPER,activiteId = ActivityTypeDef.FindTreasureExper,isRankingMainPanelShow = false}, [10] = { bgImage = "r_zjm_paihangbang_banner01", name = Language[12386] ,rankType = RANK_TYPE.GOLD_EXPER,activiteId = ActivityTypeDef.ExpeditionExper,isRankingMainPanelShow = false}, + [11] = { bgImage = "r_zjm_paihangbang_banner01", name = Language[12167] ,rankType = RANK_TYPE.MONSTER_RANK,activiteId = ActivityTypeDef.DemonSlayer,isRankingMainPanelShow = false}, } SoulPrintSpriteByQuantity={ diff --git a/Assets/ManagedResources/~Lua/Modules/DemonSlayer/DemonSlayerPanel.lua b/Assets/ManagedResources/~Lua/Modules/DemonSlayer/DemonSlayerPanel.lua index 7a236fafd6..af24bcdb7d 100644 --- a/Assets/ManagedResources/~Lua/Modules/DemonSlayer/DemonSlayerPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/DemonSlayer/DemonSlayerPanel.lua @@ -6,8 +6,7 @@ local allData={} local actRankConfig = ConfigManager.GetConfig(ConfigName.ActivityRankingReward) local itemsGrid = {}--item重复利用 local state = 0 -local allRankData={} -local myRankData={} +local allRankData,myRankData local rankImage={ [1] = "r_playerrumble_paiming_01", @@ -19,6 +18,7 @@ local rankImage={ function DemonSlayerPanel:InitComponent() this.btnBack = Util.GetGameObject(self.gameObject,"BackBtn") this.helpBtn = Util.GetGameObject(self.gameObject,"HelpBtn") + this.btnRank = Util.GetGameObject(self.gameObject,"RankList") this.time = Util.GetGameObject(self.gameObject, "rewardContent/time") this.leftTime = Util.GetGameObject(self.gameObject, "rewardContent/time/num"):GetComponent("Text") @@ -45,6 +45,9 @@ function DemonSlayerPanel:BindEvent() local pos = this.helpBtn.transform.localPosition UIManager.OpenPanel(UIName.HelpPopup, HELP_TYPE.DemonSlayer, pos.x, pos.y) end) + Util.AddClick(this.btnRank, function() + UIManager.OpenPanel(UIName.RankingSingleListPanel,rankKingList[11]) + end) end @@ -56,6 +59,14 @@ end function DemonSlayerPanel:RemoveListener() end +-- function DemonSlayerPanel:OnSortingOrderChange() +-- for i, v in pairs(itemsGrid) do +-- for j = 1, #itemsGrid[i] do +-- itemsGrid[i][j]:SetEffectLayer() +-- end +-- end +-- end + --界面打开时调用(用于子类重写) function DemonSlayerPanel:OnOpen() end @@ -68,38 +79,56 @@ end function DemonSlayerPanel:Refresh() local ActInfo = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.DemonSlayer) DemonSlayerPanel:SetState(ActInfo) - DemonSlayerPanel:SetRank() + DemonSlayerPanel:SetRank(ActInfo) DemonSlayerPanel:OnShowData(ActInfo) DemonSlayerPanel:SetTime(ActInfo) end -function DemonSlayerPanel:SetRank() - allRankData={} - myRankData={} +function DemonSlayerPanel:SetRank(ActInfo) if state == 0 then RankingManager.InitData(RANK_TYPE.MONSTER_RANK,function () allRankData,myRankData = RankingManager.GetRankingInfo() + + if not myRankData.rank or (myRankData.rank and myRankData.rank < 1) then--排名对比 <0未上榜 + this.myRank.text = Language[10041] --未上榜 + else + this.myRank.text = myRankData.rank --上榜 + end + + for i = 1, 3 do + local item = Util.GetGameObject(this.pos,"pos"..i.."/name"):GetComponent("Text") + item.text = "虚位以待" + end + end) elseif state == 1 then - -- body + RankingManager.InitData(RANK_TYPE.GOLD_EXPER,function () + allRankData,myRankData = RankingManager.GetRankingInfo() + + if not myRankData.rank or (myRankData.rank and myRankData.rank < 1) then--排名对比 <0未上榜 + this.myRank.text = Language[10041] --未上榜 + else + this.myRank.text = myRankData.rank --上榜 + end + + for i = 1, 3 do + local item = Util.GetGameObject(this.pos,"pos"..i.."/name"):GetComponent("Text") + item.text = allRankData[i].userName + end + + end,ActInfo.activityId) end end function DemonSlayerPanel:SetState(ActInfo) local extraTime = ConfigManager.GetConfigData(ConfigName.GlobalActivity,ActInfo.activityId).GapTime*86400 - - if ActInfo.endTime - GetTimeStamp() > 0 then - local time1 = ActInfo.endTime - GetTimeStamp() - if time1 - extraTime > 0 then - state = 0--7天内 - else - state = 1--2天内 - end + local time1 = ActInfo.endTime - GetTimeStamp() + if time1 - extraTime > 0 then + state = 0--7天内 else - self:ClosePanel() - PopupTipPanel.ShowTip(Language[10029]) + state = 1--2天内 end end @@ -171,7 +200,7 @@ function DemonSlayerPanel:SetTime(ActInfo) this.leftTime.text = TimeToHMS(time) end --计时器 - Timer.New(function () + this.timer = Timer.New(function () if state == 0 then this.time:SetActive(true) local time = ActInfo.endTime - GetTimeStamp() - extraTime @@ -201,6 +230,10 @@ end --界面关闭时调用(用于子类重写) function DemonSlayerPanel:OnClose() sortingOrder = 0 + if this.timer then + this.timer:Stop() + this.timer = nil + end end --界面销毁时调用(用于子类重写)