From b05227f79e88b77c1c1db91d2f690c8deccee8a3 Mon Sep 17 00:00:00 2001 From: ZhangBiao Date: Wed, 8 Sep 2021 17:32:48 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=B8=83=E7=95=8C=E8=AF=95=E7=82=BC?= =?UTF-8?q?=E3=80=91=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UI/GeneralPanel/GeneralBigPopup.prefab | 166 +++++++++++++++++- .../View/GeneralBigPopup_QiJieTreasure.lua | 52 ++++-- .../QiJieShiLian/QiJieShiLianManager.lua | 21 ++- .../QiJieShiLian/QiJieShiLianPanel.lua | 2 +- 4 files changed, 217 insertions(+), 24 deletions(-) diff --git a/Assets/ManagedResources/Prefabs/UI/GeneralPanel/GeneralBigPopup.prefab b/Assets/ManagedResources/Prefabs/UI/GeneralPanel/GeneralBigPopup.prefab index 3635795fa7..f91969830a 100644 --- a/Assets/ManagedResources/Prefabs/UI/GeneralPanel/GeneralBigPopup.prefab +++ b/Assets/ManagedResources/Prefabs/UI/GeneralPanel/GeneralBigPopup.prefab @@ -1070,8 +1070,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 537, y: -876} - m_SizeDelta: {x: 900, y: 220} + m_AnchoredPosition: {x: 1640, y: -909} + m_SizeDelta: {x: 860, y: 240} m_Pivot: {x: 0.5, y: 1} --- !u!222 &4020010267193748239 CanvasRenderer: @@ -1096,8 +1096,8 @@ MonoBehaviour: m_Padding: m_Left: 0 m_Right: 0 - m_Top: 10 - m_Bottom: 0 + m_Top: 20 + m_Bottom: 20 m_ChildAlignment: 4 m_StartCorner: 0 m_StartAxis: 0 @@ -5166,6 +5166,86 @@ MonoBehaviour: m_LineSpacing: 1 m_Text: +3000 LanguageIndex: 0 +--- !u!1 &2745934847910045992 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5679208345219554580} + - component: {fileID: 898174505682050683} + - component: {fileID: 1092158762136799767} + m_Layer: 0 + m_Name: Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5679208345219554580 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2745934847910045992} + 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: 2906290828729966335} + 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: -74} + m_SizeDelta: {x: 100, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &898174505682050683 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2745934847910045992} + m_CullTransparentMesh: 0 +--- !u!114 &1092158762136799767 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2745934847910045992} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ebfe0e44da74fbd44b1b744995de2324, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.94117653, g: 0.7058824, b: 0.4156863, 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: 4b73e9e4512d17e4daeea351e090d33c, type: 3} + m_FontSize: 35 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 45 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: + LanguageIndex: 0 --- !u!1 &2756625957159874447 GameObject: m_ObjectHideFlags: 0 @@ -11264,7 +11344,9 @@ RectTransform: 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_Children: + - {fileID: 6054039771210168076} + - {fileID: 5679208345219554580} m_Father: {fileID: 4876008424185025167} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -13756,6 +13838,80 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 +--- !u!1 &7565446059117307301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6054039771210168076} + - component: {fileID: 2702920023671916456} + - component: {fileID: 3250461338066787877} + m_Layer: 0 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6054039771210168076 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7565446059117307301} + 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: 2906290828729966335} + 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: 0, y: 25} + m_SizeDelta: {x: 150, y: 150} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2702920023671916456 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7565446059117307301} + m_CullTransparentMesh: 0 +--- !u!114 &3250461338066787877 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7565446059117307301} + 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: 0, g: 0, b: 0, 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: 0} + 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 &7632829776038823929 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/ManagedResources/~Lua/Modules/GeneralPanel/View/GeneralBigPopup_QiJieTreasure.lua b/Assets/ManagedResources/~Lua/Modules/GeneralPanel/View/GeneralBigPopup_QiJieTreasure.lua index d37271ff3c..84fdeb0fc6 100644 --- a/Assets/ManagedResources/~Lua/Modules/GeneralPanel/View/GeneralBigPopup_QiJieTreasure.lua +++ b/Assets/ManagedResources/~Lua/Modules/GeneralPanel/View/GeneralBigPopup_QiJieTreasure.lua @@ -1,41 +1,67 @@ -local this = {} +local QiJieTreasure = {} --传入父脚本模块 local parent --传入特效层级 local sortingOrder=0 -local XiuXianSkillConfig = ConfigManager.GetConfig(ConfigName.XiuXianSkillConfig) --初始化组件(用于子类重写) -function this:InitComponent(gameObject) - this.TextPre = Util.GetGameObject(this.addList, "TextPre") +function QiJieTreasure:InitComponent(gameObject) + self.GameObject = Util.GetGameObject(gameObject,"Scroll") + self.itemPre = Util.GetGameObject(gameObject, "Pre") + + local rootHight = self.GameObject.transform.rect.height + local width = self.GameObject.transform.rect.width + self.ScrollView = SubUIManager.Open(SubUIConfig.ScrollFitterView, self.GameObject.transform, + self.itemPre, Vector2.New(width, rootHight), 1, 0) + self.ScrollView.moveTween.MomentumAmount = 1 + self.ScrollView.moveTween.Strength = 2 + self.ScrollView.elastic = false end --绑定事件(用于子类重写) -function this:BindEvent() +function QiJieTreasure:BindEvent() end --添加事件监听(用于子类重写) -function this:AddListener() +function QiJieTreasure:AddListener() end --移除事件监听(用于子类重写) -function this:RemoveListener() +function QiJieTreasure:RemoveListener() end --界面打开时调用(用于子类重写) -function this:OnShow(_parent,...) +function QiJieTreasure:OnShow(_parent,...) parent=_parent sortingOrder = _parent.sortingOrder - local _args = {...} - local data = _args[1] + self.dataList = QiJieShiLianManager.FormatTreasureData() + for i = 1, #self.dataList do + for j = 1, #self.dataList[i] do + LogGreen("名字:"..self.dataList[i][j].Name) + end + end + self.ScrollView:SetData(self.dataList, function(index, go) + self:SetSingleData(index,go,self.dataList[index]) + end) +end + +function QiJieTreasure:SetSingleData(index,_go,_data) + for i = 1, 4 do + local obj = Util.GetGameObject(_go,"Pre ("..i..")") + if _data[i] then + obj:SetActive(true) + else + obj:SetActive(false) + end + end end --界面关闭时调用(用于子类重写) -function this:OnClose() +function QiJieTreasure:OnClose() end --界面销毁时调用(用于子类重写) -function this:OnDestroy() +function QiJieTreasure:OnDestroy() end -return this \ No newline at end of file +return QiJieTreasure \ No newline at end of file diff --git a/Assets/ManagedResources/~Lua/Modules/QiJieShiLian/QiJieShiLianManager.lua b/Assets/ManagedResources/~Lua/Modules/QiJieShiLian/QiJieShiLianManager.lua index 3b83e7d9a6..9e51c0b8e2 100644 --- a/Assets/ManagedResources/~Lua/Modules/QiJieShiLian/QiJieShiLianManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/QiJieShiLian/QiJieShiLianManager.lua @@ -132,15 +132,26 @@ function this.MixTreasureServerAndLocalData(func) end end -function this.FormatTreasureData() - local num = math.ceil( LengthOfTable(this.treasureList)/4 ) +--把1维的List换成2维的。并且增加稀有度条件 +function this.FormatTreasureData(_tabNum) + local list = {} + for k,v in pairs(this.treasureList) do + list[k] = v + end + if _tabNum and _tabNum ~= 0 then + for k,v in pairs(list) do + if v.Quality ~= _tabNum then + table.remove(list,k) + end + end + end + local num = math.ceil( LengthOfTable(list)/4 ) local dataList = {} for i = 1, num do dataList[i] = {} for j = 1, 4 do - if this.treasureList[(i-1)*4+j] then - dataList[i][j] = this.treasureList[(i-1)*4+j] - -- LogRed("Id:"..tostring(this.treasureList[(i-1)*4+j].Id)) + if list[(i-1)*4+j] then + dataList[i][j] = list[(i-1)*4+j] else return dataList end diff --git a/Assets/ManagedResources/~Lua/Modules/QiJieShiLian/QiJieShiLianPanel.lua b/Assets/ManagedResources/~Lua/Modules/QiJieShiLian/QiJieShiLianPanel.lua index 00d5efdd46..af31020feb 100644 --- a/Assets/ManagedResources/~Lua/Modules/QiJieShiLian/QiJieShiLianPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/QiJieShiLian/QiJieShiLianPanel.lua @@ -87,7 +87,7 @@ function QiJieShiLianPanel:BindEvent() end) Util.AddClick(self.giftBtn,function() QiJieShiLianManager.MixTreasureServerAndLocalData(function () - UIManager.OpenPanel(UIName.GeneralBigPopup,GENERAL_POPUP_TYPE.QiJieTreasure,QiJieShiLianManager.FormatTreasureData()) + UIManager.OpenPanel(UIName.GeneralBigPopup,GENERAL_POPUP_TYPE.QiJieTreasure) end) end) Util.AddClick(self.treasureBtn,function()