From 77500089ff49ee482dd9b2eea96fbd0f412e414d Mon Sep 17 00:00:00 2001 From: Devin Date: Tue, 16 Nov 2021 19:47:53 +0100 Subject: [PATCH] Add item filtering --- Assets/Scenes/NewShop.unity | 60 +++++++++++++++++++ .../Shop/Components/ShopViewFilterButton.cs | 19 ++++++ .../Components/ShopViewFilterButton.cs.meta | 11 ++++ Assets/Scripts/Shop/Model/Item.cs | 3 +- Assets/Scripts/Shop/View/ShopView.cs | 12 +++- 5 files changed, 103 insertions(+), 2 deletions(-) create mode 100644 Assets/Scripts/Shop/Components/ShopViewFilterButton.cs create mode 100644 Assets/Scripts/Shop/Components/ShopViewFilterButton.cs.meta diff --git a/Assets/Scenes/NewShop.unity b/Assets/Scenes/NewShop.unity index 23b2798..6651271 100644 --- a/Assets/Scenes/NewShop.unity +++ b/Assets/Scenes/NewShop.unity @@ -7466,6 +7466,7 @@ GameObject: - component: {fileID: 1763223521} - component: {fileID: 1763223520} - component: {fileID: 1763223519} + - component: {fileID: 1763223522} m_Layer: 5 m_Name: ArmorButton m_TagString: Untagged @@ -7573,6 +7574,20 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1763223517} m_CullTransparentMesh: 0 +--- !u!114 &1763223522 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1763223517} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a5001818e381b2c4890a9f8b1d8c943e, type: 3} + m_Name: + m_EditorClassIdentifier: + view: {fileID: 2131558515} + filter: 1 --- !u!1 &1778605631 GameObject: m_ObjectHideFlags: 0 @@ -7742,6 +7757,7 @@ GameObject: - component: {fileID: 1779774930} - component: {fileID: 1779774929} - component: {fileID: 1779774928} + - component: {fileID: 1779774931} m_Layer: 5 m_Name: AllButton m_TagString: Untagged @@ -7849,6 +7865,20 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1779774926} m_CullTransparentMesh: 0 +--- !u!114 &1779774931 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1779774926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a5001818e381b2c4890a9f8b1d8c943e, type: 3} + m_Name: + m_EditorClassIdentifier: + view: {fileID: 2131558515} + filter: 100 --- !u!1 &1808186922 GameObject: m_ObjectHideFlags: 0 @@ -8437,6 +8467,7 @@ GameObject: - component: {fileID: 1918696020} - component: {fileID: 1918696019} - component: {fileID: 1918696018} + - component: {fileID: 1918696021} m_Layer: 5 m_Name: PotionButton m_TagString: Untagged @@ -8544,6 +8575,20 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1918696016} m_CullTransparentMesh: 0 +--- !u!114 &1918696021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1918696016} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a5001818e381b2c4890a9f8b1d8c943e, type: 3} + m_Name: + m_EditorClassIdentifier: + view: {fileID: 2131558515} + filter: 2 --- !u!1 &1941898337 GameObject: m_ObjectHideFlags: 0 @@ -9342,6 +9387,7 @@ GameObject: - component: {fileID: 1982954965} - component: {fileID: 1982954964} - component: {fileID: 1982954963} + - component: {fileID: 1982954966} m_Layer: 5 m_Name: WeaponButton m_TagString: Untagged @@ -9449,6 +9495,20 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1982954961} m_CullTransparentMesh: 0 +--- !u!114 &1982954966 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1982954961} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a5001818e381b2c4890a9f8b1d8c943e, type: 3} + m_Name: + m_EditorClassIdentifier: + view: {fileID: 2131558515} + filter: 0 --- !u!1 &2071906703 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Shop/Components/ShopViewFilterButton.cs b/Assets/Scripts/Shop/Components/ShopViewFilterButton.cs new file mode 100644 index 0000000..fd007f2 --- /dev/null +++ b/Assets/Scripts/Shop/Components/ShopViewFilterButton.cs @@ -0,0 +1,19 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; +/// +/// Simple component that expands the button by making it set the selected filter of a selected shop view +/// +[RequireComponent(typeof(Button))] +public class ShopViewFilterButton : MonoBehaviour +{ + [SerializeField] private ShopView view; + [SerializeField] private ItemType filter; + // Start is called before the first frame update + void Start() + { + Debug.Assert(view,this); + GetComponent